@markus-global/cli 0.9.6 → 0.9.7-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/skill.d.ts +3 -0
  3. package/dist/commands/skill.d.ts.map +1 -0
  4. package/dist/commands/skill.js +148 -0
  5. package/dist/commands/skill.js.map +1 -0
  6. package/dist/commands/start.d.ts.map +1 -1
  7. package/dist/commands/start.js +17 -1
  8. package/dist/commands/start.js.map +1 -1
  9. package/dist/index.js +2 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/markus.mjs +5522 -2746
  12. package/dist/web-ui/assets/{CommentInput-CBNbViJY.js → CommentInput-CIxUL6dU.js} +1 -1
  13. package/dist/web-ui/assets/{ContentRenderer-DE3pZgeX.js → ContentRenderer-Bb_drUpO.js} +2 -2
  14. package/dist/web-ui/assets/DeliverableShareModal-BEeIlXig.js +1 -0
  15. package/dist/web-ui/assets/Deliverables-CJFzxbLw.js +3 -0
  16. package/dist/web-ui/assets/{Notifications-DnOdXHNc.js → Notifications-Cz2LKhGE.js} +1 -1
  17. package/dist/web-ui/assets/{Search-BxFLlgcf.js → Search-dq45wHQN.js} +1 -1
  18. package/dist/web-ui/assets/Settings-WAXEtxMR.js +8 -0
  19. package/dist/web-ui/assets/{Store-BELkjEqO.js → Store-DOGCOxTK.js} +1 -1
  20. package/dist/web-ui/assets/Team-NM2SsmjN.js +81 -0
  21. package/dist/web-ui/assets/Work-ornw-1Zh.js +11 -0
  22. package/dist/web-ui/assets/{arc-CyhYnNcy.js → arc-D4xcu8MX.js} +1 -1
  23. package/dist/web-ui/assets/{architectureDiagram-3BPJPVTR-BYIYNrCP.js → architectureDiagram-3BPJPVTR-DP3EZPSb.js} +1 -1
  24. package/dist/web-ui/assets/{blockDiagram-GPEHLZMM-Tj8Yz066.js → blockDiagram-GPEHLZMM-BnSHtwXa.js} +1 -1
  25. package/dist/web-ui/assets/{c4Diagram-AAUBKEIU-Ifa4IAJa.js → c4Diagram-AAUBKEIU-DpPSihlY.js} +1 -1
  26. package/dist/web-ui/assets/channel-DSB2MBEK.js +1 -0
  27. package/dist/web-ui/assets/{chunk-2J33WTMH-CNSbz4EK.js → chunk-2J33WTMH-DD5lZIGF.js} +1 -1
  28. package/dist/web-ui/assets/{chunk-4BX2VUAB-DhNtaIHh.js → chunk-4BX2VUAB-D9wu9GG0.js} +1 -1
  29. package/dist/web-ui/assets/{chunk-55IACEB6-WUpOSLP9.js → chunk-55IACEB6-p_n2ARjh.js} +1 -1
  30. package/dist/web-ui/assets/{chunk-727SXJPM-BJV_Jz1H.js → chunk-727SXJPM-BiTqi43c.js} +1 -1
  31. package/dist/web-ui/assets/{chunk-AQP2D5EJ-BHu_5o0Y.js → chunk-AQP2D5EJ-DVPMedje.js} +1 -1
  32. package/dist/web-ui/assets/{chunk-FMBD7UC4-CfxugWTK.js → chunk-FMBD7UC4-B53AqN8D.js} +1 -1
  33. package/dist/web-ui/assets/{chunk-ND2GUHAM-hIFBUDLZ.js → chunk-ND2GUHAM-sACe_lkd.js} +1 -1
  34. package/dist/web-ui/assets/{chunk-QZHKN3VN-DF0OYrsG.js → chunk-QZHKN3VN-B0qDAQUW.js} +1 -1
  35. package/dist/web-ui/assets/classDiagram-4FO5ZUOK-D5cDjaiz.js +1 -0
  36. package/dist/web-ui/assets/classDiagram-v2-Q7XG4LA2-D5cDjaiz.js +1 -0
  37. package/dist/web-ui/assets/{cose-bilkent-S5V4N54A-C3LM31P0.js → cose-bilkent-S5V4N54A-BzZayQQf.js} +1 -1
  38. package/dist/web-ui/assets/{dagre-BM42HDAG-C_m79Kes.js → dagre-BM42HDAG-DjcfWzm_.js} +1 -1
  39. package/dist/web-ui/assets/{diagram-2AECGRRQ-D8liSSSE.js → diagram-2AECGRRQ-CEK9T3rW.js} +1 -1
  40. package/dist/web-ui/assets/{diagram-5GNKFQAL-DqtsU-bB.js → diagram-5GNKFQAL-BJsJPwEI.js} +1 -1
  41. package/dist/web-ui/assets/{diagram-KO2AKTUF-C6zkMDRo.js → diagram-KO2AKTUF-BZlki2qo.js} +1 -1
  42. package/dist/web-ui/assets/{diagram-LMA3HP47-Dx2JnYqj.js → diagram-LMA3HP47-Bkmh3WcY.js} +1 -1
  43. package/dist/web-ui/assets/{diagram-OG6HWLK6-ZI_lN3Ui.js → diagram-OG6HWLK6-4THSXHiA.js} +1 -1
  44. package/dist/web-ui/assets/{erDiagram-TEJ5UH35-DQ5VepuZ.js → erDiagram-TEJ5UH35-CPj2HGe-.js} +1 -1
  45. package/dist/web-ui/assets/{flowDiagram-I6XJVG4X-6GiDnWFL.js → flowDiagram-I6XJVG4X-Bu8HgFqR.js} +1 -1
  46. package/dist/web-ui/assets/{ganttDiagram-6RSMTGT7-D6HROKP8.js → ganttDiagram-6RSMTGT7-C5gs9b9P.js} +1 -1
  47. package/dist/web-ui/assets/{gitGraphDiagram-PVQCEYII-CXm0stFt.js → gitGraphDiagram-PVQCEYII-DxnBgR_T.js} +1 -1
  48. package/dist/web-ui/assets/index-BbQpGkiM.css +1 -0
  49. package/dist/web-ui/assets/index-CiAGgfZx.js +672 -0
  50. package/dist/web-ui/assets/{infoDiagram-5YYISTIA-C1RxESvu.js → infoDiagram-5YYISTIA-D4M-cR8I.js} +1 -1
  51. package/dist/web-ui/assets/{ishikawaDiagram-YF4QCWOH-K65PlAf9.js → ishikawaDiagram-YF4QCWOH-Oiq6jknk.js} +1 -1
  52. package/dist/web-ui/assets/{journeyDiagram-JHISSGLW-_Rs_Vudv.js → journeyDiagram-JHISSGLW-D2gmyCKv.js} +1 -1
  53. package/dist/web-ui/assets/{kanban-definition-UN3LZRKU-Jf6WnoNW.js → kanban-definition-UN3LZRKU-DqjzkO8l.js} +1 -1
  54. package/dist/web-ui/assets/{mermaid.core-C6jfI8lj.js → mermaid.core-N5tL3hIv.js} +5 -5
  55. package/dist/web-ui/assets/{mindmap-definition-RKZ34NQL-CuVR_m6C.js → mindmap-definition-RKZ34NQL-ATHsVy0v.js} +1 -1
  56. package/dist/web-ui/assets/{pieDiagram-4H26LBE5-BiPJBXLU.js → pieDiagram-4H26LBE5-CprLr2Gv.js} +1 -1
  57. package/dist/web-ui/assets/{quadrantDiagram-W4KKPZXB-C4hoAfNv.js → quadrantDiagram-W4KKPZXB-0uN86dlU.js} +1 -1
  58. package/dist/web-ui/assets/{requirementDiagram-4Y6WPE33-BmjjjPuK.js → requirementDiagram-4Y6WPE33-CQmWbZXW.js} +1 -1
  59. package/dist/web-ui/assets/{sankeyDiagram-5OEKKPKP-ts7xFx2o.js → sankeyDiagram-5OEKKPKP-D6kdJsQI.js} +1 -1
  60. package/dist/web-ui/assets/{sequenceDiagram-3UESZ5HK-C3je_x5z.js → sequenceDiagram-3UESZ5HK-1Y79snKt.js} +1 -1
  61. package/dist/web-ui/assets/{stateDiagram-AJRCARHV-CREzVZ-3.js → stateDiagram-AJRCARHV-BqmCPSIN.js} +1 -1
  62. package/dist/web-ui/assets/stateDiagram-v2-BHNVJYJU-DRaoGsBn.js +1 -0
  63. package/dist/web-ui/assets/{timeline-definition-PNZ67QCA-CriALCTC.js → timeline-definition-PNZ67QCA-OG71KAzb.js} +1 -1
  64. package/dist/web-ui/assets/{vennDiagram-CIIHVFJN-Bc9NNe3M.js → vennDiagram-CIIHVFJN-V9c-71bn.js} +1 -1
  65. package/dist/web-ui/assets/{wardley-L42UT6IY-psF9We_q.js → wardley-L42UT6IY-C3A6_LpL.js} +1 -1
  66. package/dist/web-ui/assets/{wardleyDiagram-YWT4CUSO-DNZ9Jdgm.js → wardleyDiagram-YWT4CUSO-B54ZiT7U.js} +1 -1
  67. package/dist/web-ui/assets/{xychartDiagram-2RQKCTM6-COezi66E.js → xychartDiagram-2RQKCTM6-DpWlpUfV.js} +1 -1
  68. package/dist/web-ui/index.html +2 -2
  69. package/package.json +2 -2
  70. package/templates/roles/{SHARED.md → HANDBOOK.md} +17 -7
  71. package/templates/roles/org-manager/ROLE.md +1 -5
  72. package/templates/roles/skill-architect/ROLE.md +1 -1
  73. package/templates/skills/agent-building/SKILL.md +109 -11
  74. package/templates/skills/skill-building/SKILL.md +61 -0
  75. package/templates/skills/team-building/SKILL.md +110 -4
  76. package/dist/web-ui/assets/Deliverables-Cx97uG2f.js +0 -6
  77. package/dist/web-ui/assets/Settings-D0i8Lnsk.js +0 -8
  78. package/dist/web-ui/assets/Team-D_C3tvWh.js +0 -80
  79. package/dist/web-ui/assets/Work-DpRdSwD5.js +0 -11
  80. package/dist/web-ui/assets/channel-B33xJsNY.js +0 -1
  81. package/dist/web-ui/assets/classDiagram-4FO5ZUOK-BePK-BYt.js +0 -1
  82. package/dist/web-ui/assets/classDiagram-v2-Q7XG4LA2-BePK-BYt.js +0 -1
  83. package/dist/web-ui/assets/index-BMzsi3-i.js +0 -670
  84. package/dist/web-ui/assets/index-C9gwAZYM.css +0 -1
  85. package/dist/web-ui/assets/stateDiagram-v2-BHNVJYJU-CZU51KZ-.js +0 -1
@@ -0,0 +1,81 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CiAGgfZx.js","assets/index-BbQpGkiM.css"])))=>i.map(i=>d[i]);
2
+ import{r as C,k as Qx,u as At,z as h_,j as h,q as Oa,$ as d_,a as jf,b as Ef,P as Kt,c as nh,l as K,w as yt,M as u_,A as js,n as Qr,D as _o,i as $x,a0 as f_,a1 as p_,a2 as m_,a3 as Mm,a4 as Tl,o as Lm,h as Rf,d as jx,a5 as Ex,a6 as wc,a7 as g_,a8 as O_,a9 as Nm,aa as x_,Q as b_,V as Rx,U as Ax,F as v_,ab as y_,ac as S_,_ as Mx,m as Dm,ad as Sn,ae as __,af as w_,ag as hd,ah as Im,ai as k_,aj as dd,ak as Bm,al as Wm,am as C_,an as Xm,B as qm,ao as zm,ap as P_,aq as T_,ar as Q_,as as Zm,at as $_,au as j_,av as E_,aw as R_,ax as A_,ay as M_,az as L_,p as N_,aA as oc,aB as ac,aC as D_}from"./index-CiAGgfZx.js";import{r as Vm,p as I_}from"./CommentInput-CIxUL6dU.js";import{ContentRenderer as vu,resolveFormat as B_}from"./ContentRenderer-Bb_drUpO.js";import{c as W_,D as X_}from"./DeliverableShareModal-BEeIlXig.js";function Yn(s,e,t){let r=t.initialDeps??[],i,n=!0;function a(){var o,l,c;let d;t.key&&((o=t.debug)!=null&&o.call(t))&&(d=Date.now());const u=s();if(!(u.length!==r.length||u.some((v,b)=>r[b]!==v)))return i;r=u;let g;if(t.key&&((l=t.debug)!=null&&l.call(t))&&(g=Date.now()),i=e(...u),t.key&&((c=t.debug)!=null&&c.call(t))){const v=Math.round((Date.now()-d)*100)/100,b=Math.round((Date.now()-g)*100)/100,m=b/16,O=(p,x)=>{for(p=String(p);p.length<x;)p=" "+p;return p};console.info(`%c⏱ ${O(b,5)} /${O(v,5)} ms`,`
3
+ font-size: .6rem;
4
+ font-weight: bold;
5
+ color: hsl(${Math.max(0,Math.min(120-120*m,120))}deg 100% 31%);`,t?.key)}return t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(i),n=!1,i}return a.updateDeps=o=>{r=o},a}function Fm(s,e){if(s===void 0)throw new Error("Unexpected undefined");return s}const q_=(s,e)=>Math.abs(s-e)<1.01,z_=(s,e,t)=>{let r;return function(...i){s.clearTimeout(r),r=s.setTimeout(()=>e.apply(this,i),t)}},Ym=s=>{const{offsetWidth:e,offsetHeight:t}=s;return{width:e,height:t}},Z_=s=>s,V_=s=>{const e=Math.max(s.startIndex-s.overscan,0),t=Math.min(s.endIndex+s.overscan,s.count-1),r=[];for(let i=e;i<=t;i++)r.push(i);return r},F_=(s,e)=>{const t=s.scrollElement;if(!t)return;const r=s.targetWindow;if(!r)return;const i=a=>{const{width:o,height:l}=a;e({width:Math.round(o),height:Math.round(l)})};if(i(Ym(t)),!r.ResizeObserver)return()=>{};const n=new r.ResizeObserver(a=>{const o=()=>{const l=a[0];if(l?.borderBoxSize){const c=l.borderBoxSize[0];if(c){i({width:c.inlineSize,height:c.blockSize});return}}i(Ym(t))};s.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()});return n.observe(t,{box:"border-box"}),()=>{n.unobserve(t)}},Um={passive:!0},Hm=typeof window>"u"?!0:"onscrollend"in window,Y_=(s,e)=>{const t=s.scrollElement;if(!t)return;const r=s.targetWindow;if(!r)return;let i=0;const n=s.options.useScrollendEvent&&Hm?()=>{}:z_(r,()=>{e(i,!1)},s.options.isScrollingResetDelay),a=d=>()=>{const{horizontal:u,isRtl:f}=s.options;i=u?t.scrollLeft*(f&&-1||1):t.scrollTop,n(),e(i,d)},o=a(!0),l=a(!1);t.addEventListener("scroll",o,Um);const c=s.options.useScrollendEvent&&Hm;return c&&t.addEventListener("scrollend",l,Um),()=>{t.removeEventListener("scroll",o),c&&t.removeEventListener("scrollend",l)}},U_=(s,e,t)=>{if(e?.borderBoxSize){const r=e.borderBoxSize[0];if(r)return Math.round(r[t.options.horizontal?"inlineSize":"blockSize"])}return s[t.options.horizontal?"offsetWidth":"offsetHeight"]},H_=(s,{adjustments:e=0,behavior:t},r)=>{var i,n;const a=s+e;(n=(i=r.scrollElement)==null?void 0:i.scrollTo)==null||n.call(i,{[r.options.horizontal?"left":"top"]:a,behavior:t})};class G_{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var t,r,i;return((i=(r=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:r.now)==null?void 0:i.call(r))??Date.now()},this.observer=(()=>{let t=null;const r=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(i=>{i.forEach(n=>{const a=()=>{const o=n.target,l=this.indexFromElement(o);if(!o.isConnected){this.observer.unobserve(o);return}this.shouldMeasureDuringScroll(l)&&this.resizeItem(l,this.options.measureElement(o,n,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})}));return{disconnect:()=>{var i;(i=r())==null||i.disconnect(),t=null},observe:i=>{var n;return(n=r())==null?void 0:n.observe(i,{box:"border-box"})},unobserve:i=>{var n;return(n=r())==null?void 0:n.unobserve(i)}}})(),this.range=null,this.setOptions=t=>{Object.entries(t).forEach(([r,i])=>{typeof i>"u"&&delete t[r]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Z_,rangeExtractor:V_,onChange:()=>{},measureElement:U_,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...t}},this.notify=t=>{var r,i;(i=(r=this.options).onChange)==null||i.call(r,this,t)},this.maybeNotify=Yn(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(i=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,i=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,n)=>{this.scrollAdjustments=0,this.scrollDirection=n?this.getScrollOffset()<i?"forward":"backward":null,this.scrollOffset=i,this.isScrolling=n,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,r)=>{const i=new Map,n=new Map;for(let a=r-1;a>=0;a--){const o=t[a];if(i.has(o.lane))continue;const l=n.get(o.lane);if(l==null||o.end>l.end?n.set(o.lane,o):o.end<l.end&&i.set(o.lane,!0),i.size===this.options.lanes)break}return n.size===this.options.lanes?Array.from(n.values()).sort((a,o)=>a.end===o.end?a.index-o.index:a.end-o.end)[0]:void 0},this.getMeasurementOptions=Yn(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,r,i,n,a,o,l)=>(this.prevLanes!==void 0&&this.prevLanes!==o&&(this.lanesChangedFlag=!0),this.prevLanes=o,this.pendingMeasuredCacheIndexes=[],{count:t,paddingStart:r,scrollMargin:i,getItemKey:n,enabled:a,lanes:o,laneAssignmentMode:l}),{key:!1}),this.getMeasurements=Yn(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:t,paddingStart:r,scrollMargin:i,getItemKey:n,enabled:a,lanes:o,laneAssignmentMode:l},c)=>{if(!a)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const g of this.laneAssignments.keys())g>=t&&this.laneAssignments.delete(g);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(g=>{this.itemSizeCache.set(g.key,g.size)}));const d=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1);const u=this.measurementsCache.slice(0,d),f=new Array(o).fill(void 0);for(let g=0;g<d;g++){const v=u[g];v&&(f[v.lane]=g)}for(let g=d;g<t;g++){const v=n(g),b=this.laneAssignments.get(g);let m,O;const p=l==="estimate"||c.has(v);if(b!==void 0&&this.options.lanes>1){m=b;const k=f[m],w=k!==void 0?u[k]:void 0;O=w?w.end+this.options.gap:r+i}else{const k=this.options.lanes===1?u[g-1]:this.getFurthestMeasurement(u,g);O=k?k.end+this.options.gap:r+i,m=k?k.lane:g%this.options.lanes,this.options.lanes>1&&p&&this.laneAssignments.set(g,m)}const x=c.get(v),y=typeof x=="number"?x:this.options.estimateSize(g),_=O+y;u[g]={index:g,start:O,size:y,end:_,key:v,lane:m},f[m]=g}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Yn(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,r,i,n)=>this.range=t.length>0&&r>0?K_({measurements:t,outerSize:r,scrollOffset:i,lanes:n}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Yn(()=>{let t=null,r=null;const i=this.calculateRange();return i&&(t=i.startIndex,r=i.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,r]},(t,r,i,n,a)=>n===null||a===null?[]:t({startIndex:n,endIndex:a,overscan:r,count:i}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const r=this.options.indexAttribute,i=t.getAttribute(r);return i?parseInt(i,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var r;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const i=this.scrollState.index??((r=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:r.index);if(i!==void 0&&this.range){const n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),a=Math.max(0,i-n),o=Math.min(this.options.count-1,i+n);return t>=a&&t<=o}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((a,o)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(o))});return}const r=this.indexFromElement(t),i=this.options.getItemKey(r),n=this.elementsCache.get(i);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(i,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,r)=>{var i;const n=this.measurementsCache[t];if(!n)return;const a=this.itemSizeCache.get(n.key)??n.size,o=r-a;o!==0&&(((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(n,o,this):n.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=o,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(n.index),this.itemSizeCache=new Map(this.itemSizeCache.set(n.key,r)),this.notify(!1))},this.getVirtualItems=Yn(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,r)=>{const i=[];for(let n=0,a=t.length;n<a;n++){const o=t[n],l=r[o];i.push(l)}return i},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const r=this.getMeasurements();if(r.length!==0)return Fm(r[Lx(0,r.length-1,i=>Fm(r[i]).start,t)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(t,r,i=0)=>{if(!this.scrollElement)return 0;const n=this.getSize(),a=this.getScrollOffset();r==="auto"&&(r=t>=a+n?"end":"start"),r==="center"?t+=(i-n)/2:r==="end"&&(t-=n);const o=this.getMaxScrollOffset();return Math.max(Math.min(o,t),0)},this.getOffsetForIndex=(t,r="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const i=this.getSize(),n=this.getScrollOffset(),a=this.measurementsCache[t];if(!a)return;if(r==="auto")if(a.end>=n+i-this.options.scrollPaddingEnd)r="end";else if(a.start<=n+this.options.scrollPaddingStart)r="start";else return[n,r];if(r==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),r];const o=r==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(o,r,a.size),r]},this.scrollToOffset=(t,{align:r="start",behavior:i="auto"}={})=>{const n=this.getOffsetForAlignment(t,r),a=this.now();this.scrollState={index:null,align:r,behavior:i,startedAt:a,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:r="auto",behavior:i="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));const n=this.getOffsetForIndex(t,r);if(!n)return;const[a,o]=n,l=this.now();this.scrollState={index:t,align:o,behavior:i,startedAt:l,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:r="auto"}={})=>{const i=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:r,startedAt:n,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var t;const r=this.getMeasurements();let i;if(r.length===0)i=this.options.paddingStart;else if(this.options.lanes===1)i=((t=r[r.length-1])==null?void 0:t.end)??0;else{const n=Array(this.options.lanes).fill(null);let a=r.length-1;for(;a>=0&&n.some(o=>o===null);){const o=r[a];n[o.lane]===null&&(n[o.lane]=o.end),a--}i=Math.max(...n.filter(o=>o!==null))}return Math.max(i-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(t,{adjustments:r,behavior:i})=>{this.options.scrollToFn(t,{behavior:i,adjustments:r},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const r=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,i=r?r[0]:this.scrollState.lastTargetOffset,n=1,a=i!==this.scrollState.lastTargetOffset;if(!a&&q_(i,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.scrollState=null;return}}else this.scrollState.stableFrames=0,a&&(this.scrollState.lastTargetOffset=i,this.scrollState.behavior="auto",this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const Lx=(s,e,t,r)=>{for(;s<=e;){const i=(s+e)/2|0,n=t(i);if(n<r)s=i+1;else if(n>r)e=i-1;else return i}return s>0?s-1:0};function K_({measurements:s,outerSize:e,scrollOffset:t,lanes:r}){const i=s.length-1,n=l=>s[l].start;if(s.length<=r)return{startIndex:0,endIndex:i};let a=Lx(0,i,n,t),o=a;if(r===1)for(;o<i&&s[o].end<t+e;)o++;else if(r>1){const l=Array(r).fill(0);for(;o<i&&l.some(d=>d<t+e);){const d=s[o];l[d.lane]=d.end,o++}const c=Array(r).fill(t+e);for(;a>=0&&c.some(d=>d>=t);){const d=s[a];c[d.lane]=d.start,a--}a=Math.max(0,a-a%r),o=Math.min(i,o+(r-1-o%r))}return{startIndex:a,endIndex:o}}const Gm=typeof document<"u"?C.useLayoutEffect:C.useEffect;function J_({useFlushSync:s=!0,...e}){const t=C.useReducer(()=>({}),{})[1],r={...e,onChange:(n,a)=>{var o;s&&a?Qx.flushSync(t):t(),(o=e.onChange)==null||o.call(e,n,a)}},[i]=C.useState(()=>new G_(r));return i.setOptions(r),Gm(()=>i._didMount(),[]),Gm(()=>i._willUpdate()),i}function ew(s){return J_({observeElementRect:F_,observeElementOffset:Y_,scrollToFn:H_,...s})}const Km={urgent:"bg-red-500/15 text-red-500",high:"bg-amber-500/15 text-amber-600",normal:"bg-blue-500/15 text-blue-500",low:"bg-surface-overlay text-fg-tertiary"};function tw({notification:s,agentName:e,acknowledging:t,onClose:r,onAcknowledge:i}){const{t:n}=At(["team","common"]);h_(!0);const a=s.priority||"normal",o=s.metadata??{},l=e||(typeof o.agentName=="string"?o.agentName:void 0);return Qx.createPortal(h.jsx("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm",onMouseDown:c=>{c.target===c.currentTarget&&r()},children:h.jsxs("div",{className:"w-full max-w-2xl max-h-[85vh] flex flex-col bg-surface-secondary border border-border-default rounded-2xl shadow-2xl overflow-hidden",children:[h.jsxs("div",{className:"flex items-start gap-3 px-6 py-4 border-b border-border-default shrink-0",children:[h.jsx("div",{className:"w-9 h-9 rounded-lg bg-blue-500/15 text-blue-500 flex items-center justify-center shrink-0",children:h.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),h.jsx("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("h2",{className:"text-base font-semibold text-fg-primary leading-snug",children:s.title}),h.jsxs("div",{className:"flex items-center gap-2 mt-0.5 flex-wrap",children:[l&&h.jsx("p",{className:"text-xs text-fg-tertiary",children:l}),a!=="normal"&&h.jsx("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium ${Km[a]??Km.normal}`,children:a})]})]}),h.jsx("button",{onClick:r,className:"p-1.5 text-fg-tertiary hover:text-fg-primary rounded-md hover:bg-surface-overlay transition-colors shrink-0",title:n("common:close"),children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M18 6L6 18"}),h.jsx("path",{d:"M6 6l12 12"})]})})]}),h.jsx("div",{className:"flex-1 overflow-y-auto px-6 py-5",children:h.jsx("div",{className:"text-sm text-fg-primary leading-relaxed",children:h.jsx(Oa,{content:s.body||""})})}),h.jsxs("div",{className:"flex items-center justify-end gap-2 px-6 py-4 border-t border-border-default shrink-0",children:[h.jsx("button",{onClick:r,className:"px-3.5 py-2 text-sm text-fg-secondary hover:text-fg-primary rounded-lg hover:bg-surface-overlay transition-colors",children:n("common:close")}),h.jsx("button",{onClick:()=>{i()},disabled:t,className:"px-4 py-2 text-sm font-medium text-white bg-blue-600 hover:bg-blue-500 disabled:opacity-50 rounded-lg transition-colors",children:t?n("common:loading"):n("page.notifyUserGotIt",{ns:"team",defaultValue:"Got it"})})]})]})}),document.body)}function xa({children:s,onClose:e,title:t,width:r="w-[440px]"}){return h.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:e,children:h.jsxs("div",{className:`bg-surface-secondary border border-border-default rounded-xl p-6 ${r} shadow-2xl max-h-[90vh] overflow-y-auto`,onClick:i=>i.stopPropagation(),children:[h.jsx("h3",{className:"text-base font-semibold mb-5",children:t}),s]})})}function so({label:s,children:e}){return h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-fg-secondary mb-1.5 font-medium",children:s}),e]})}function sw({onClose:s,onCreate:e}){const{t}=At(["team","common"]),[r,i]=C.useState(""),[n,a]=C.useState("");return h.jsx(xa,{onClose:s,title:t("team:modals.createTeam.title"),children:h.jsxs("div",{className:"space-y-4",children:[h.jsx(so,{label:t("team:modals.createTeam.teamName"),children:h.jsx("input",{value:r,onChange:o=>i(o.target.value),placeholder:t("team:modals.createTeam.teamNamePlaceholder"),className:"input",autoFocus:!0,onKeyDown:o=>{o.key==="Enter"&&r.trim()&&e(r.trim(),n.trim()||void 0)}})}),h.jsx(so,{label:t("team:modals.createTeam.description"),children:h.jsx("textarea",{value:n,onChange:o=>a(o.target.value),placeholder:t("team:modals.createTeam.descriptionPlaceholder"),className:"input",rows:2})}),h.jsx("div",{className:"text-xs text-fg-tertiary",children:t("team:modals.createTeam.hint")}),h.jsx("div",{className:"text-xs text-fg-tertiary bg-brand-500/5 border border-brand-500/20 rounded-lg px-3 py-2",children:h.jsx(d_,{i18nKey:"modals.createTeam.tipTrans",ns:"team",components:{0:h.jsx("span",{className:"text-brand-400 font-medium"}),1:h.jsx("span",{className:"text-brand-400"})}})}),h.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[h.jsx("button",{onClick:s,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated",children:t("common:cancel")}),h.jsx("button",{onClick:()=>r.trim()&&e(r.trim(),n.trim()||void 0),disabled:!r.trim(),className:"px-4 py-2 text-sm bg-brand-600 hover:bg-brand-500 disabled:opacity-40 rounded-lg text-white",children:t("team:modals.createTeam.createTeam")})]})]})})}function rw({onClose:s,onAdd:e}){const{t}=At(["team","common"]),[r,i]=C.useState(""),[n,a]=C.useState("member"),[o,l]=C.useState(""),[c,d]=C.useState(""),[u,f]=C.useState(!1),[g,v]=C.useState(null),[b,m]=C.useState(!1),O=g?.inviteToken?`${window.location.origin}/#invite?token=${g.inviteToken}`:null,p=async()=>{if(d(""),!r.trim()){d(t("team:modals.addHuman.nameRequired"));return}if(!o.trim()){d(t("team:modals.addHuman.emailRequired"));return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o.trim())){d(t("team:modals.addHuman.invalidEmail"));return}f(!0);try{const y=await e(r.trim(),n,o.trim());v({...y,userName:r.trim()})}catch(y){d(y instanceof Error?y.message:String(y))}finally{f(!1)}},x=()=>{O&&(navigator.clipboard.writeText(O),m(!0),setTimeout(()=>m(!1),2e3))};return g?h.jsxs(xa,{onClose:s,title:t("team:modals.addHuman.title"),width:"w-[460px]",children:[h.jsxs("div",{className:"text-center py-4",children:[h.jsx("div",{className:"w-12 h-12 rounded-full bg-green-600/20 flex items-center justify-center mx-auto mb-3",children:h.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-green-500",children:h.jsx("polyline",{points:"20 6 9 17 4 12"})})}),h.jsx("div",{className:"text-base font-medium mb-1",children:t("team:modals.addHuman.memberCreated",{name:g.userName})}),O?h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"text-xs text-fg-secondary mt-1 mb-4",children:t("team:modals.addHuman.inviteHint")}),h.jsxs("div",{className:"bg-surface-primary border border-border-default rounded-lg p-3 text-left mb-3",children:[h.jsx("div",{className:"text-[10px] text-fg-tertiary uppercase mb-1.5",children:t("team:modals.addHuman.inviteLink")}),h.jsx("div",{className:"text-xs text-fg-primary break-all font-mono select-all",children:O})]}),h.jsx("button",{onClick:x,className:`w-full py-2.5 text-sm font-medium rounded-lg transition-colors ${b?"bg-green-600 text-white":"bg-brand-700 hover:bg-brand-600 text-white"}`,children:t(b?"common:copied":"team:modals.addHuman.copyInviteLink")})]}):h.jsx("div",{className:"text-xs text-fg-secondary mt-1",children:t("team:modals.addHuman.memberCreatedNoInvite")})]}),h.jsx("div",{className:"flex justify-end pt-3",children:h.jsx("button",{onClick:s,className:"px-5 py-2 text-sm bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary border border-border-default",children:t("common:done")})})]}):h.jsx(xa,{onClose:s,title:t("team:modals.addHuman.title"),width:"w-[460px]",children:h.jsxs("div",{className:"space-y-4",children:[h.jsxs("div",{className:"text-xs text-fg-secondary bg-surface-primary border border-border-default rounded-lg px-3 py-2.5 leading-relaxed",children:[h.jsx("div",{className:"font-semibold text-fg-primary mb-1",children:t("team:modals.addHuman.sharedInstanceTitle")}),t("team:modals.addHuman.sharedInstanceDesc"),h.jsxs("div",{className:"mt-1.5 text-fg-tertiary",children:[t("team:modals.addHuman.orgHint")," ",h.jsx("a",{href:"#settings/organization",className:"text-brand-500 hover:text-brand-400 underline",children:t("team:modals.addHuman.orgLink")})]})]}),h.jsx(so,{label:t("team:modals.addHuman.name"),children:h.jsx("input",{value:r,onChange:y=>i(y.target.value),placeholder:t("team:modals.addHuman.namePlaceholder"),className:"input",autoFocus:!0})}),h.jsx(so,{label:t("team:modals.addHuman.role"),children:h.jsxs("select",{value:n,onChange:y=>a(y.target.value),className:"input",children:[h.jsx("option",{value:"owner",children:t("common:role.owner")}),h.jsx("option",{value:"admin",children:t("common:role.admin")}),h.jsx("option",{value:"member",children:t("common:role.member")}),h.jsx("option",{value:"guest",children:t("common:role.guest")})]})}),h.jsx(so,{label:t("team:modals.addHuman.emailRequired"),children:h.jsx("input",{value:o,onChange:y=>l(y.target.value),type:"email",placeholder:t("team:modals.addHuman.emailPlaceholder"),className:"input"})}),h.jsx("div",{className:"text-xs text-fg-tertiary bg-brand-500/5 border border-brand-500/20 rounded-lg px-3 py-2",children:t("team:modals.addHuman.inviteFlowHint")}),c&&h.jsx("div",{className:"text-xs text-red-500 bg-red-500/10 border border-red-500/30 rounded-lg px-3 py-2",children:c}),h.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[h.jsx("button",{onClick:s,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated",children:t("common:cancel")}),h.jsx("button",{onClick:p,disabled:u,className:"px-4 py-2 text-sm bg-green-700 hover:bg-green-600 disabled:opacity-50 rounded-lg text-white",children:t(u?"common:saving":"team:modals.addHuman.addMember")})]})]})})}function iw({teamId:s,ungrouped:e,onClose:t,onAdd:r}){const{t:i}=At(["team","common"]);return h.jsx(xa,{onClose:t,title:i("team:modals.addExisting.title"),children:h.jsxs("div",{className:"space-y-3",children:[h.jsx("div",{className:"text-xs text-fg-tertiary",children:i("team:modals.addExisting.hint")}),e.length===0?h.jsx("div",{className:"text-center py-8 text-sm text-fg-tertiary",children:i("team:modals.addExisting.allInTeam")}):h.jsx("div",{className:"space-y-2 max-h-72 overflow-y-auto",children:e.map(n=>h.jsxs("button",{onClick:()=>r(n.id,n.type),className:"w-full flex items-center gap-3 px-4 py-3 rounded-lg border border-border-default hover:border-brand-500 hover:bg-brand-500/10 text-left transition-all",children:[h.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center text-xs font-bold text-white ${n.type==="agent"?"bg-brand-600":"bg-green-600"}`,children:n.name.charAt(0)}),h.jsxs("div",{className:"flex-1",children:[h.jsx("div",{className:"font-medium text-sm",children:n.name}),h.jsxs("div",{className:"text-xs text-fg-tertiary",children:[n.role," · ",n.type==="agent"?i("team:modals.addExisting.typeAgent"):i("team:modals.addExisting.typeHuman")]})]}),n.status&&h.jsx("span",{className:`w-2 h-2 rounded-full ${n.status==="idle"?"bg-green-400":n.status==="working"?"bg-blue-400":"bg-gray-600"}`})]},n.id))}),h.jsx("div",{className:"flex justify-end pt-2",children:h.jsx("button",{onClick:t,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated",children:i("common:close")})})]})})}function nw({onClose:s,onConnected:e}){const{t}=At(["team","common"]),[r,i]=C.useState(""),[n,a]=C.useState(""),[o,l]=C.useState(!1),[c,d]=C.useState(null),[u,f]=C.useState(null),g=async()=>{if(!r.trim()){a(t("team:modals.openClaw.agentNameRequired"));return}const b=r.trim().toLowerCase().replace(/\s+/g,"-");l(!0),a("");try{const m=await fetch("/api/external-agents/register",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({externalAgentId:b,agentName:r.trim(),orgId:"default",capabilities:["general"]})});if(!m.ok){const p=await m.json().catch(()=>({}));throw new Error(p.error??`HTTP ${m.status}`)}const O=await m.json();d({externalAgentId:b,markusAgentId:O.registration?.markusAgentId,token:O.token,gatewayUrl:O.gatewayUrl})}catch(m){a(String(m))}l(!1)},v=(b,m)=>{navigator.clipboard.writeText(b),f(m),setTimeout(()=>f(null),2e3)};return h.jsx(xa,{onClose:s,title:t("team:modals.openClaw.title"),width:"w-[560px]",children:c?(()=>{const b=c.gatewayUrl??`${window.location.origin}/api/gateway`,m=c.token?t("team:modals.openClaw.bearerTokenLine",{token:c.token}):"",O=t("team:modals.openClaw.connectionPromptBody",{gwUrl:b,externalAgentId:c.externalAgentId,tokenSection:m});return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"text-center py-6",children:[h.jsx("div",{className:"text-3xl mb-3 text-green-600",children:"✓"}),h.jsx("div",{className:"text-base text-green-600 font-medium mb-1",children:t("team:modals.openClaw.agentRegistered")}),h.jsx("div",{className:"text-sm text-fg-secondary mt-1",children:h.jsx("strong",{children:r})})]}),h.jsxs("div",{className:"bg-brand-500/10 border border-brand-500/30 rounded-xl p-4",children:[h.jsx("div",{className:"text-xs text-fg-secondary mb-3",children:t("team:modals.openClaw.copyInstruction")}),h.jsx("button",{onClick:()=>v(O,"prompt"),className:`w-full py-2.5 text-sm font-medium rounded-lg transition-colors ${u==="prompt"?"bg-green-600 text-white":"bg-brand-700 hover:bg-brand-600 text-white"}`,children:t(u==="prompt"?"common:copied":"team:modals.openClaw.copyPrompt")})]}),h.jsx("div",{className:"flex justify-end pt-5",children:h.jsx("button",{onClick:()=>{e()},className:"px-5 py-2 text-sm bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary border border-border-default",children:t("team:modals.openClaw.done")})})]})})():h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"text-xs text-fg-secondary mb-4",children:t("team:modals.openClaw.description")}),h.jsxs("div",{className:"space-y-4",children:[h.jsx(so,{label:t("team:modals.openClaw.agentName"),children:h.jsx("input",{className:"input",placeholder:t("team:modals.openClaw.agentNamePlaceholder"),value:r,onChange:b=>i(b.target.value),autoFocus:!0})}),n&&h.jsx("div",{className:"text-xs text-red-500 bg-red-500/10 border border-red-500/30 rounded-lg px-3 py-2",children:n}),h.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[h.jsx("button",{onClick:s,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated",children:t("common:cancel")}),h.jsx("button",{onClick:g,disabled:o,className:"px-4 py-2 text-sm bg-brand-700 hover:bg-brand-600 rounded-lg text-white disabled:opacity-50",children:t(o?"team:modals.openClaw.connecting":"team:modals.openClaw.importAgent")})]})]})]})})}let Ql=new Map;function ow({agents:s,humans:e,authUser:t,onClose:r,onCreate:i}){const{t:n}=At(["team","common"]),[a,o]=C.useState(""),[l,c]=C.useState(new Set),[d,u]=C.useState(""),[f,g]=C.useState(!1),v=C.useMemo(()=>{const p=[];for(const x of s)p.push({id:x.id,name:x.name,type:"agent",subtitle:x.role||"Agent"});for(const x of e)x.id!==t?.id&&p.push({id:x.id,name:x.name,type:"human",subtitle:x.email||x.role||"Human"});return p},[s,e,t]),b=C.useMemo(()=>{if(!d)return v;const p=d.toLowerCase();return v.filter(x=>x.name.toLowerCase().includes(p)||x.subtitle.toLowerCase().includes(p))},[v,d]),m=p=>{c(x=>{const y=new Set(x);return y.has(p)?y.delete(p):y.add(p),y})},O=async()=>{if(!a.trim()||l.size===0)return;g(!0);const p=[...l],x={},y={};for(const _ of p){const k=v.find(w=>w.id===_);k&&(x[_]=k.type,y[_]=k.name)}await i(a.trim(),p,x,y),g(!1)};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:r,children:h.jsxs("div",{className:"bg-surface-elevated rounded-xl border border-border-default shadow-2xl w-[400px] max-w-[90vw] max-h-[80vh] flex flex-col",onClick:p=>p.stopPropagation(),children:[h.jsxs("div",{className:"px-5 py-4 border-b border-border-default",children:[h.jsx("h3",{className:"text-sm font-semibold",children:n("modals.createGroupChat.title")}),h.jsx("p",{className:"text-[11px] text-fg-tertiary mt-0.5",children:n("modals.createGroupChat.subtitle")})]}),h.jsx("div",{className:"px-5 py-3 border-b border-border-default",children:h.jsx("input",{value:a,onChange:p=>o(p.target.value),placeholder:n("modals.createGroupChat.groupNamePlaceholder"),className:"w-full bg-surface-primary border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary placeholder:text-fg-muted outline-none focus:ring-1 focus:ring-brand-500/50",autoFocus:!0})}),h.jsx("div",{className:"px-5 py-2 border-b border-border-default",children:h.jsx("input",{value:d,onChange:p=>u(p.target.value),placeholder:n("modals.createGroupChat.searchPlaceholder"),className:"w-full bg-surface-primary border border-border-default rounded-lg px-3 py-1.5 text-xs text-fg-primary placeholder:text-fg-muted outline-none focus:ring-1 focus:ring-brand-500/50"})}),h.jsxs("div",{className:"flex-1 overflow-y-auto px-3 py-2 min-h-0 max-h-[300px]",children:[b.length===0&&h.jsx("p",{className:"text-xs text-fg-tertiary px-2 py-4 text-center",children:n("modals.createGroupChat.noMembersFound")}),b.map(p=>h.jsxs("button",{onClick:()=>m(p.id),className:`w-full flex items-center gap-2.5 px-2 py-1.5 rounded-lg text-xs mb-0.5 transition-colors ${l.has(p.id)?"bg-brand-500/10 text-brand-500":"text-fg-secondary hover:bg-surface-overlay"}`,children:[h.jsx("div",{className:`w-4 h-4 rounded border flex items-center justify-center shrink-0 transition-colors ${l.has(p.id)?"bg-brand-500 border-brand-500":"border-border-default"}`,children:l.has(p.id)&&h.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("polyline",{points:"20 6 9 17 4 12"})})}),h.jsx(js,{name:p.name,size:20,bgClass:p.type==="agent"?"bg-brand-500/15 text-brand-500":"bg-green-500/15 text-green-600"}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsx("span",{className:"truncate text-[11px] font-medium block",children:p.name}),h.jsx("span",{className:"text-[9px] text-fg-tertiary",children:p.subtitle})]}),h.jsx("span",{className:`text-[8px] px-1.5 py-0.5 rounded-full font-medium ${p.type==="agent"?"bg-brand-500/10 text-brand-500":"bg-green-500/10 text-green-600"}`,children:p.type==="agent"?n("modals.addExisting.typeAgent"):n("modals.addExisting.typeHuman")})]},p.id))]}),h.jsxs("div",{className:"px-5 py-3 border-t border-border-default flex items-center justify-between",children:[h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:n("modals.createGroupChat.selected",{count:l.size})}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:r,className:"px-3 py-1.5 text-xs text-fg-secondary hover:text-fg-primary rounded-lg hover:bg-surface-overlay transition-colors",children:n("common:cancel")}),h.jsx("button",{onClick:O,disabled:!a.trim()||l.size===0||f,className:"px-4 py-1.5 text-xs font-medium text-white bg-brand-600 hover:bg-brand-500 rounded-lg transition-colors disabled:opacity-50 disabled:pointer-events-none",children:n(f?"modals.createGroupChat.creating":"modals.createGroupChat.create")})]})]})]})})}const aw=C.memo(function({authUser:e,agents:t,teams:r,humans:i,tasks:n,externalAgents:a,groupChats:o,chatMode:l,selectedAgent:c,activeChannel:d,activeDmUserId:u,onSelectAgent:f,onSelectChannel:g,onSelectDm:v,onSelectTeam:b,selectedTeamId:m,onRefreshTeams:O,onRefreshAgents:p,onRefreshHumans:x,onRefreshGroupChats:y,onViewProfile:_,onManageGroupMembers:k,unreadByAgent:w,unreadByChannel:S,width:Q,onResizeStart:N,hidden:L,onCollapse:$,initialLoading:j,previewMode:I,focused:V,l2Available:Z}){const{t:z}=At(["team","common"]),J=jf(),T=Ef(Kt.TEAM),A=nh(),B=e?.role==="owner"||e?.role==="admin",q=C.useMemo(()=>new Set(a.map(W=>W.markusAgentId).filter(Boolean)),[a]),[H,te]=C.useState([]),[ue,ke]=C.useState(new Set),[U,D]=C.useState(!1),[se,F]=C.useState(!1),[G,ee]=C.useState(null),[we,Ae]=C.useState(!1),[xe,me]=C.useState(!1),[ge,He]=C.useState(null),[nt,Ct]=C.useState(null),[pt,Xt]=C.useState(null),[wt,Et]=C.useState(!1),[Pt,he]=C.useState(""),[Xe,Oe]=C.useState(null),[Ke,Ne]=C.useState(null),[bt,ot]=C.useState(null),[ir,ts]=C.useState(!1),Ka=C.useRef(null),[Ja,el]=C.useState(null),rn=C.useRef(null),si=C.useRef(null),[Qo,tl]=C.useState(null),ji=(W,le="success")=>{tl({message:W,type:le}),setTimeout(()=>tl(null),3e3)},[nr,Ei]=C.useState(null),[Dn,$o]=C.useState(!1),nn=C.useRef(!1);C.useEffect(()=>{if(I)return;K.governance.getSystemStatus().then(pe=>{nn.current=!0,Ei(pe.globalPaused)}).catch(()=>{nn.current=!0,Ei(!1)});const W=yt.on("system:pause-all",()=>{nn.current&&Ei(!0)}),le=yt.on("system:resume-all",()=>{nn.current&&Ei(!1)});return()=>{W(),le()}},[]),C.useEffect(()=>{if(!I)return;const W=setTimeout(()=>{const le=si.current,pe=rn.current;le&&pe&&pe.scrollTo({top:le.offsetTop-pe.offsetTop-8,behavior:"instant"})},100);return()=>clearTimeout(W)},[I]);const wh=C.useCallback(()=>{nr!==null&&Ri({title:z(nr?"modals.resumeAll.title":"modals.pauseAll.title"),message:z(nr?"modals.resumeAll.message":"modals.pauseAll.message"),confirmLabel:z(nr?"chat.resume":"chat.pause"),onConfirm:async()=>{$o(!0);try{nr?(await K.governance.resumeAll(),Ei(!1)):(await K.governance.pauseAll(),Ei(!0))}catch{}$o(!1)}})},[nr]),[Lr,Ri]=C.useState(null),on=(W,le,pe,je,Ge)=>{Ri({title:W,message:le,onConfirm:pe,confirmLabel:je,checkboxes:Ge})},[or,sl]=C.useState(null),[vr,jo]=C.useState(null),ri=C.useRef(null),Nr=C.useRef(null),[us,Eo]=C.useState(!1),[rl,ie]=C.useState(null),[gt,be]=C.useState(""),Yt=C.useCallback((W,le=176,pe=220)=>{const je=window.innerWidth,Ge=window.innerHeight,tt=8;let Ot=W.clientX,St=W.clientY;return Ot+le>je-tt&&(Ot=Math.max(tt,je-le-tt)),St+pe>Ge-tt&&(St=Math.max(tt,Ge-pe-tt)),Ot=Math.max(tt,Math.min(Ot,je-le-tt)),St=Math.max(tt,Math.min(St,Ge-pe-tt)),{x:Ot,y:St}},[]),[mt,ks]=C.useState(Ql),Ut=C.useMemo(()=>t.map(W=>W.id).sort().join(","),[t]);C.useEffect(()=>{if(!t.length||!T)return;let W=!1;(async()=>{const St=[];await Promise.allSettled(t.map(async Ye=>{if(!Ql.has(Ye.id))try{const{sessions:ns}=await K.sessions.listByAgent(Ye.id,1);if(!ns.length)return;const{messages:Ls}=await K.sessions.getMessages(ns[0].id,1);if(Ls.length){const Mt=Ls[0],xs=Mt.metadata?.segments;let Ht=Mt.content;if(xs&&xs.length>0){const _r=[...xs].reverse().find(Mi=>Mi.type==="text");_r&&_r.type==="text"&&(Ht=_r.content)}const Ts=Ht.replace(/<think>[\s\S]*?(<\/think>|$)/g,"").replace(/<(invoke|function_calls|antml:\w+)\b[\s\S]*?(<\/\1>|$)/g,"").replace(/\n+/g," ").trim().slice(0,80);Ts&&St.push([Ye.id,Ts])}}catch{}})),!W&&St.length&&ks(Ye=>{const ns=new Map(Ye);for(const[Ls,Mt]of St)ns.set(Ls,Mt);return Ql=ns,ns})})();const pe=new Set(t.map(St=>St.id)),je=St=>St.replace(/<think>[\s\S]*?(<\/think>|$)/g,"").replace(/<(invoke|function_calls|antml:\w+)\b[\s\S]*?(<\/\1>|$)/g,"").replace(/\n+/g," ").trim().slice(0,80),Ge=(St,Ye)=>{if(!St||!Ye||!pe.has(St))return;const ns=je(Ye);ns&&ks(Ls=>{const Mt=new Map(Ls);return Mt.set(St,ns),Ql=Mt,Mt})},tt=yt.on("chat:proactive_message",St=>{const Ye=St.payload;Ge(Ye.agentId??"",Ye.message??"")}),Ot=yt.on("chat:message",St=>{const Ye=St.payload,ns=Ye.senderId??Ye.agentId??"",Ls=Ye.text??Ye.message??"";Ge(ns,Ls)});return()=>{W=!0,tt(),Ot()}},[Ut,T]);const gs=C.useCallback(()=>{I||K.teams.list().then(W=>te(W.ungrouped)).catch(()=>{})},[I]);C.useEffect(()=>{gs()},[gs]),C.useEffect(()=>{if(!T)return;const W=yt.on("team:update",gs),le=yt.on("agent:removed",gs);return()=>{W(),le()}},[gs,T]),C.useEffect(()=>{if(!nt&&!pt&&!Xe&&!ir&&!bt)return;const W=()=>{Ct(null),Xt(null),Oe(null),ot(null),ts(!1)},le=setTimeout(()=>document.addEventListener("click",W),0);return()=>{clearTimeout(le),document.removeEventListener("click",W)}},[nt,pt,Xe,ir,bt]);const il=(W,le)=>{on(`${z("common:delete")} "${le}"?`,z("modals.deleteTeam.message"),async pe=>{const je=pe?.deleteMembers??!0,Ge=pe?.purgeFiles??!1;await K.teams.delete(W,je,{purgeFiles:Ge}),O(),gs(),window.dispatchEvent(new CustomEvent("markus:data-changed"))},z("contextMenu.deleteTeam"),[{id:"deleteMembers",label:z("modals.deleteTeam.deleteMembers"),defaultChecked:!0},{id:"purgeFiles",label:z("modals.deleteTeam.purgeFiles"),defaultChecked:!1}])},Ai=async(W,le)=>{try{const je=await(le==="start"?K.teams.startAll:K.teams.stopAll)(W),Ge=je.success?.length??0,tt=je.failed?.length??0;tt>0?ji(z("batchAction.failed",{action:z(`batchAction.operation.${le}`),ok:Ge,fail:tt}),"error"):Ge>0&&ji(z("batchAction.succeeded",{count:Ge,action:z(`batchAction.past.${le}`)}),"success"),p()}catch(pe){ji(z("batchAction.failedToRun",{action:z(`batchAction.operation.${le}`),error:pe instanceof Error?pe.message:String(pe)}),"error")}},Ro=async(W,le,pe)=>{await K.teams.update(W,{managerId:le,managerType:pe}),O()},nl=async W=>{if(!gt.trim()){ie(null);return}await K.teams.update(W,{name:gt.trim()}),ie(null),O()},ol=async(W,le)=>{le==="offline"?await K.agents.start(W):await K.agents.stop(W),p()},zt=(W,le)=>{on(z("modals.removeFromTeam.title"),z("modals.removeFromTeam.message"),async()=>{await K.teams.removeMember(W,le),O(),gs()},z("common:remove"))},Cs=(W,le,pe,je)=>{on(`${z("common:remove")} "${le}"?`,z(pe==="agent"?"modals.removeAgent.message":"modals.removeHuman.message"),async Ge=>{if(pe==="agent"&&je){const tt=o.find(Ot=>Ot.type==="team"&&Ot.teamId===je);tt?.channelKey&&localStorage.setItem("markus_nav_after_remove","channel:"+tt.channelKey)}if(pe==="agent"){const tt=Ge?.purgeFiles??!1;await K.agents.remove(W,{purgeFiles:tt})}else await K.users.remove(W);p(),O(),x?.(),gs(),window.dispatchEvent(new CustomEvent("markus:data-changed"))},z("common:remove"),pe==="agent"?[{id:"purgeFiles",label:z("modals.removeAgent.purgeFiles"),defaultChecked:!1}]:void 0)},Ms=W=>{if(W.isOrgSecretary||W.protected)return!0;if(W.teamId)return!1;const le=(W.role??"").toLowerCase().trim(),pe=(W.name??"").trim();return pe==="Secretary"||pe==="秘书"||le==="secretary"||le.startsWith("secretary")},Os=(W,le,pe)=>{const je=t.find(Ge=>Ge.id===le);je&&Ms(je)||(Nr.current={x:W.clientX,y:W.clientY},ri.current=setTimeout(()=>{sl({agentId:le,fromTeamId:pe}),Eo(!0)},200))},kh=W=>{if(!Nr.current||!ri.current)return;const le=Math.abs(W.clientX-Nr.current.x),pe=Math.abs(W.clientY-Nr.current.y);(le>5||pe>5)&&(us||(clearTimeout(ri.current),ri.current=null))},yr=async()=>{if(ri.current&&(clearTimeout(ri.current),ri.current=null),Nr.current=null,us&&or&&vr){const W=vr==="_ungrouped"?void 0:vr;try{if(or.fromTeamId&&or.fromTeamId!==W&&await K.teams.removeMember(or.fromTeamId,or.agentId),W&&W!==or.fromTeamId){const le=t.find(pe=>pe.id===or.agentId);await K.teams.addMember(W,or.agentId,"agent")}O(),p(),gs()}catch(le){ji(z("batchAction.moveFailed",{error:le instanceof Error?le.message:String(le)}),"error")}}sl(null),jo(null),Eo(!1)},ss=C.useMemo(()=>new Map(r.map(W=>[W.id,W])),[r]),ar=C.useMemo(()=>{const W=new Map,le=[];for(const pe of t)if(pe.teamId&&ss.has(pe.teamId)){const je=W.get(pe.teamId)??[];je.push(pe),W.set(pe.teamId,je)}else le.push(pe);return{byTeam:W,ungrouped:le}},[t,ss]),ii=(W,le)=>{const pe=l==="direct"&&c===W.id,je=q.has(W.id),Ge=W.status==="offline",tt=W.status==="idle"?"bg-green-500":W.status==="working"?"bg-blue-500 animate-pulse":W.status==="error"?"bg-red-500":"bg-gray-600",St=(void 0)?.managerId===W.id,Ye=W.role?.toLowerCase().replace(/[-_]/g," ").trim(),ns=W.name.toLowerCase().trim(),Ls=Ye&&Ye!==ns,Mt=mt.get(W.id)||W.currentActivity?.label?.slice(0,60)||"",xs=W.status==="idle"?z("common:status.online"):W.status==="working"?z("common:status.working"):W.status==="error"?z("common:status.error"):z("common:status.offline");return h.jsx("div",{className:`relative mb-0.5 ${us&&or?.agentId===W.id?"opacity-40":""}`,onPointerDown:Ht=>Os(Ht,W.id,le),onPointerMove:kh,onPointerUp:yr,children:h.jsxs("button",{"data-l1-nav-id":`agent:${W.id}`,onClick:()=>{us||f(W.id)},onContextMenu:Ht=>{if(!B)return;Ht.preventDefault();const Ts=Yt(Ht);Et(!1),he(""),Xt({agentId:W.id,teamId:le,...Ts})},className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs transition-colors select-none ${J?"":"touch-none"} ${Ge?"opacity-50 text-fg-tertiary":"text-fg-primary"} ${Ps(pe)}`,children:[h.jsx(js,{name:W.name,avatarUrl:W.avatarUrl,size:28,bgClass:Ge?"bg-surface-overlay/60 text-fg-tertiary":"bg-surface-overlay text-fg-primary"}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx("span",{className:"truncate font-medium text-[12px] leading-tight",children:W.name}),Ls&&h.jsxs("span",{className:"text-[9px] text-fg-secondary shrink-0 truncate max-w-[80px]",children:["(",W.role,")"]}),St&&h.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"currentColor",className:"text-amber-500 shrink-0",children:h.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),je&&h.jsx("span",{className:"text-[8px] px-1 py-0 rounded bg-brand-500/20 text-brand-400 font-medium shrink-0 leading-relaxed",children:"EXT"}),Ge&&h.jsx("span",{className:"text-[8px] px-1 py-0 rounded bg-gray-500/20 text-gray-400 font-medium shrink-0 leading-relaxed",children:z("common:status.offline")})]}),h.jsx("div",{className:"truncate text-[10px] leading-tight mt-0.5 text-fg-secondary",children:Mt||" "})]}),h.jsxs("span",{className:"flex items-center gap-1.5 shrink-0",children:[(w?.get(W.id)??0)>0&&h.jsx("span",{className:"min-w-[16px] h-[16px] flex items-center justify-center text-[9px] font-semibold text-white bg-red-500 rounded-full px-1 leading-none",children:w.get(W.id)}),W.mailboxDepth!=null&&W.mailboxDepth>0&&h.jsx("span",{className:"text-[8px] text-fg-tertiary bg-surface-overlay rounded-full px-1 leading-relaxed",children:W.mailboxDepth}),h.jsx("span",{title:xs,onClick:Ht=>{Ht.stopPropagation(),_(W.id)},className:`w-2 h-2 rounded-full cursor-pointer transition-transform duration-150 hover:scale-[2] ${tt}`}),J&&B&&h.jsx("span",{role:"button",tabIndex:0,onClick:Ht=>{if(Ht.stopPropagation(),pt?.agentId===W.id)Xt(null);else{const Ts=Yt(Ht);Et(!1),he(""),Xt({agentId:W.id,teamId:le,...Ts})}},className:"w-5 h-5 flex items-center justify-center text-fg-tertiary hover:text-fg-secondary rounded transition-colors",title:z("chat.moreOptions"),children:h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("circle",{cx:"12",cy:"12",r:"1"}),h.jsx("circle",{cx:"12",cy:"5",r:"1"}),h.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})]})]})},W.id)},Sr=(W,le,pe,je)=>{const Ge=us&&vr===W&&or?.fromTeamId!==W,tt=Ja===W,Ot=m===W,St=w?(ar.byTeam.get(W)??[]).reduce((Wt,wr)=>Wt+(w.get(wr.id)??0),0):0,Ye=o.find(Wt=>Wt.type==="team"&&Wt.teamId===W),ns=Ye&&S?S[Ye.channelKey]??0:0,Ls=St+ns,Mt=ar.byTeam.get(W)??[],xs=Mt.filter(Wt=>Wt.status==="offline").length,Ht=Mt.length,Ts=Ht>0&&xs===Ht,_r=xs>0&&!Ts,Mi=Ts?"bg-gray-500":_r?"bg-amber-500":"bg-green-500";return h.jsxs("div",{"data-team-id":W,className:`mb-0.5 rounded-lg transition-all duration-500 ${Ge?"ring-1 ring-brand-500/50 bg-brand-500/5":""} ${tt?"ring-2 ring-brand-500 bg-brand-500/10":""}`,onPointerEnter:()=>{us&&jo(W)},onPointerLeave:()=>{us&&vr===W&&jo(null)},children:[h.jsxs("div",{className:"group/teamhdr flex items-center gap-0.5",children:[h.jsxs("button",{"data-l1-nav-id":`team:${W}`,onClick:()=>{b&&W!=="_ungrouped"&&b(W)},onContextMenu:Wt=>{if(!B||!le)return;Wt.preventDefault();const wr=Yt(Wt);Ct({teamId:W,...wr})},className:`flex-1 flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs transition-colors min-w-0 ${Ts?"opacity-50 text-fg-tertiary":"text-fg-primary"} ${Ps(Ot)}`,children:[h.jsxs("div",{className:`w-7 h-7 rounded-full flex items-center justify-center shrink-0 relative ${Ts?"bg-surface-overlay/60 text-fg-tertiary":"bg-surface-overlay text-fg-primary"}`,children:[le?.avatarUrl?h.jsx("img",{src:le.avatarUrl,alt:je,className:"w-full h-full rounded-full object-cover",onError:Wt=>{Wt.target.style.display="none",Wt.target.nextElementSibling?.classList.remove("hidden")}}):null,h.jsxs("svg",{className:`w-3 h-3 ${le?.avatarUrl?"hidden":""}`,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),h.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),Ht>0&&h.jsx("span",{className:`absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 rounded-full border-2 border-surface-primary ${Mi}`})]}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[rl===W?h.jsx("input",{className:"bg-transparent border-b border-brand-500 text-fg-primary text-[12px] font-medium outline-none w-full",value:gt,onChange:Wt=>be(Wt.target.value),onBlur:()=>nl(W),onKeyDown:Wt=>{Wt.key==="Enter"&&nl(W),Wt.key==="Escape"&&ie(null)},onClick:Wt=>Wt.stopPropagation(),autoFocus:!0}):h.jsx("span",{className:"truncate font-medium text-[12px] leading-tight block",children:je}),h.jsxs("div",{className:"text-[10px] text-fg-secondary leading-tight mt-0.5 flex items-center gap-1.5",children:[z("chat.members_other",{count:pe}),Ts&&h.jsx("span",{className:"text-[8px] px-1 py-0 rounded bg-gray-500/20 text-gray-400 font-medium leading-relaxed",children:z("common:status.offline")}),_r&&h.jsxs("span",{className:"text-[8px] px-1 py-0 rounded bg-amber-500/20 text-amber-500 font-medium leading-relaxed",children:[xs,"/",Ht]})]})]}),Ls>0&&h.jsx("span",{className:"min-w-[16px] h-[16px] flex items-center justify-center text-[9px] font-semibold text-white bg-red-500 rounded-full px-1 leading-none shrink-0",children:Ls}),h.jsx("svg",{className:"w-3.5 h-3.5 text-fg-muted shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:h.jsx("path",{fillRule:"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z",clipRule:"evenodd"})})]}),B&&le&&h.jsx("button",{onClick:Wt=>{if(Wt.stopPropagation(),nt?.teamId===W)Ct(null);else{const wr=Yt(Wt);Ct({teamId:W,...wr})}},className:"w-7 h-7 flex items-center justify-center text-fg-muted hover:text-fg-primary rounded-md hover:bg-white/[0.08] transition-colors shrink-0",title:z("chat.moreOptions"),children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("circle",{cx:"12",cy:"12",r:"1"}),h.jsx("circle",{cx:"12",cy:"5",r:"1"}),h.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})]}),Ge&&us&&h.jsx("div",{className:"text-[9px] text-brand-500 px-4 py-0.5 animate-pulse",children:z("chat.dropHere")})]},W)},Ws=C.useMemo(()=>{const W=new Map,le=[],pe=[],je=[];for(const Ge of o)if(Ge.channelKey.startsWith("dm:a2a:"))je.push(Ge);else if(Ge.type==="custom")pe.push(Ge);else if(Ge.teamId){const tt=W.get(Ge.teamId)??[];tt.push(Ge),W.set(Ge.teamId,tt)}else{const tt=r.find(Ot=>Ge.name.toLowerCase().includes(Ot.name.toLowerCase())||Ot.name.toLowerCase().includes(Ge.name.toLowerCase()));if(tt){const Ot=W.get(tt.id)??[];Ot.push(Ge),W.set(tt.id,Ot)}else le.push(Ge)}return{byTeam:W,unmatched:le,custom:pe,dmChannels:je}},[o,r]),[at,ft]=C.useState(!1),ni=l==="channel"&&Ws.dmChannels.some(W=>W.channelKey===d);C.useEffect(()=>{ni&&ft(!0)},[ni]);const an=C.useMemo(()=>{const W=[];e&&W.push({kind:"dm",id:`dm:${e.id}`,userId:e.id});for(const pe of i)pe.id!==e?.id&&W.push({kind:"dm",id:`dm:${pe.id}`,userId:pe.id});for(const pe of Ws.custom)W.push({kind:"channel",id:`channel:${pe.channelKey}`,channelKey:pe.channelKey});for(const pe of Ws.unmatched)W.push({kind:"channel",id:`channel:${pe.channelKey}`,channelKey:pe.channelKey});const le=ar.ungrouped.length>0?ar.ungrouped:r.length===0?t:[];for(const pe of le)W.push({kind:"agent",id:`agent:${pe.id}`,agentId:pe.id});for(const pe of r)W.push({kind:"team",id:`team:${pe.id}`,teamId:pe.id});if(at)for(const pe of Ws.dmChannels)W.push({kind:"channel",id:`channel:${pe.channelKey}`,channelKey:pe.channelKey});return W},[e,i,Ws,ar,r,t,at]),al=C.useRef(an);al.current=an;const ln=C.useCallback(W=>{W.kind==="dm"?v(W.userId):W.kind==="channel"?g(W.channelKey):W.kind==="agent"?f(W.agentId):W.kind==="team"&&b?.(W.teamId),requestAnimationFrame(()=>{document.querySelector(`[data-l1-nav-id="${W.id}"]`)?.scrollIntoView({block:"nearest"})})},[v,g,f,b]);C.useEffect(()=>{if(I||J||!T||L)return;const W=le=>{const pe=A?.keyboardPane??"content";if(pe==="l0"||pe==="l2"||le.metaKey||le.ctrlKey||le.altKey||$x(le.target))return;const je=le.key.length===1?le.key.toLowerCase():le.key;if(je==="h"||je==="ArrowLeft"){if(pe!=="l1")return;le.preventDefault(),le.stopPropagation(),A?.setL0FocusPageId(Kt.TEAM),A?.setLeftCollapsed(!1),A?.setKeyboardPane("l0");return}if(je==="l"||je==="ArrowRight"){if(pe!=="l1")return;le.preventDefault(),le.stopPropagation(),Z&&A?.setKeyboardPane("l2");return}if(pe!=="l1"&&!(V&&(je==="j"||je==="k"||je==="ArrowDown"||je==="ArrowUp")))return;const Ge=je==="j"||je==="ArrowDown"?1:je==="k"||je==="ArrowUp"?-1:0;if(!Ge)return;le.preventDefault(),le.stopPropagation(),A?.setKeyboardPane("l1");const tt=al.current;if(tt.length===0)return;let Ot=-1;if(l==="dm"){const Ye=u||e?.id;Ye&&(Ot=tt.findIndex(ns=>ns.kind==="dm"&&ns.userId===Ye))}else l==="direct"?Ot=tt.findIndex(Ye=>Ye.kind==="agent"&&Ye.agentId===c):l==="channel"&&(Ot=tt.findIndex(Ye=>Ye.kind==="channel"&&Ye.channelKey===d),Ot<0&&m&&(Ot=tt.findIndex(Ye=>Ye.kind==="team"&&Ye.teamId===m)));Ot<0&&(Ot=Ge>0?-1:0);const St=Math.max(0,Math.min(tt.length-1,Ot+Ge));ln(tt[St])};return document.addEventListener("keydown",W,!0),()=>document.removeEventListener("keydown",W,!0)},[I,J,T,L,A,V,Z,l,u,e?.id,c,d,m,ln]);const Ps=W=>W?V?"bg-brand-500/25 ring-1 ring-inset ring-brand-500/40":"bg-surface-overlay":"hover:bg-surface-overlay/60";return h.jsxs(h.Fragment,{children:[h.jsxs("div",{"data-keyboard-pane":"l1",className:`bg-surface-primary flex flex-col ${Q!=null?"shrink-0":"flex-1 min-w-0"} ${V?"ring-1 ring-inset ring-brand-500/30":""}`,style:L?{display:"none"}:Q!=null?{width:Q}:void 0,children:[h.jsxs("div",{"data-electron-drag":!0,className:"px-4 h-14 flex items-center shrink-0 gap-2",children:[J&&h.jsx(u_,{}),!J&&$&&h.jsx("button",{onClick:$,className:"w-8 h-8 flex items-center justify-center rounded-lg transition-colors shrink-0 bg-brand-500/15 text-brand-500 hover:bg-brand-500/25",children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),h.jsx("line",{x1:"9",y1:"3",x2:"9",y2:"21"})]})}),h.jsx("h2",{className:"text-lg font-semibold",children:z("chat.title")}),B&&h.jsxs("div",{"data-no-drag":!0,className:"ml-auto relative",ref:Ka,children:[h.jsxs("button",{onClick:()=>ts(!ir),className:"flex items-center gap-1 px-2.5 py-1 text-xs font-medium text-fg-secondary hover:text-fg-primary bg-surface-elevated/60 hover:bg-surface-elevated rounded-md transition-colors",children:[h.jsx("span",{className:"text-brand-500",children:"+"})," ",z("chat.manage"),h.jsx("svg",{className:`w-2.5 h-2.5 transition-transform ${ir?"rotate-180":""}`,fill:"currentColor",viewBox:"0 0 20 20",children:h.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})})]}),ir&&h.jsxs("div",{ref:W=>{if(!W)return;const le=W.getBoundingClientRect(),pe=window.innerWidth,je=8;le.right>pe-je&&(W.style.left="auto",W.style.right="0"),le.left<je&&(W.style.left="0",W.style.right="auto")},className:"absolute right-0 top-full mt-1 w-48 max-w-[calc(100vw-1rem)] bg-surface-elevated border border-border-default rounded-lg shadow-xl z-50 overflow-hidden",children:[h.jsxs("button",{onClick:()=>{ts(!1),He("agent")},className:"w-full text-left px-4 py-2.5 text-xs text-fg-secondary hover:bg-surface-elevated transition-colors",children:[h.jsxs("div",{className:"font-medium flex items-center gap-1.5",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("rect",{x:"3",y:"11",width:"18",height:"10",rx:"2"}),h.jsx("circle",{cx:"12",cy:"5",r:"2"}),h.jsx("path",{d:"M12 7v4"}),h.jsx("circle",{cx:"9",cy:"16",r:"1",fill:"currentColor",stroke:"none"}),h.jsx("circle",{cx:"15",cy:"16",r:"1",fill:"currentColor",stroke:"none"})]}),z("chat.addAgent")]}),h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:z("chat.addAgentDesc")})]}),h.jsxs("button",{onClick:()=>{ts(!1),He("team")},className:"w-full text-left px-4 py-2.5 text-xs text-fg-secondary hover:bg-surface-elevated border-t border-border-default transition-colors",children:[h.jsxs("div",{className:"font-medium flex items-center gap-1.5",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("line",{x1:"19",y1:"8",x2:"19",y2:"14"}),h.jsx("line",{x1:"22",y1:"11",x2:"16",y2:"11"})]}),z("chat.newTeam")]}),h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:z("chat.newTeamDesc")})]}),h.jsxs("button",{onClick:()=>{ts(!1),F(!0)},className:"w-full text-left px-4 py-2.5 text-xs text-green-600 hover:bg-surface-elevated border-t border-border-default transition-colors",children:[h.jsxs("div",{className:"font-medium flex items-center gap-1.5",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("path",{d:"M20 8v6"}),h.jsx("path",{d:"M23 11h-6"})]}),z("chat.addHuman")]}),h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:z("chat.addHumanDesc")})]}),h.jsxs("button",{onClick:()=>{ts(!1),me(!0)},className:"w-full text-left px-4 py-2.5 text-xs text-fg-secondary hover:bg-surface-elevated border-t border-border-default transition-colors",children:[h.jsxs("div",{className:"font-medium flex items-center gap-1.5",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z"}),h.jsx("path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"})]}),z("chat.newGroupChat")]}),h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:z("chat.newGroupChatDesc")})]}),nr!==null&&h.jsxs("button",{onClick:()=>{ts(!1),wh()},disabled:Dn,className:`w-full text-left px-4 py-2.5 text-xs hover:bg-surface-elevated border-t border-border-default transition-colors disabled:opacity-50 ${nr?"text-green-600":"text-red-500"}`,children:[h.jsx("div",{className:"font-medium flex items-center gap-1.5",children:nr?h.jsxs(h.Fragment,{children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("polygon",{points:"5 3 19 12 5 21 5 3"})})," ",z("chat.resume")]}):h.jsxs(h.Fragment,{children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})})," ",z("contextMenu.stopAll")]})}),h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:z(nr?"modals.resumeAll.title":"modals.pauseAll.title")})]})]})]})]}),h.jsxs("div",{ref:rn,className:"flex-1 overflow-y-auto px-3 py-2 flex flex-col",children:[h.jsxs("div",{className:"mb-2",children:[h.jsx("p",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wider mb-1.5 px-2.5",children:z("chat.people")}),e&&h.jsxs("button",{"data-l1-nav-id":`dm:${e.id}`,onClick:()=>v(e.id),className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs mb-0.5 transition-colors text-fg-primary ${Ps(l==="dm"&&(u===e.id||!u))}`,children:[h.jsx(js,{name:e.name,avatarUrl:e.avatarUrl,size:28,bgClass:"bg-brand-500/15 text-brand-400"}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsx("div",{className:"truncate font-medium text-[12px] leading-tight",children:e.name}),h.jsx("div",{className:"text-fg-secondary truncate text-[10px] leading-tight mt-0.5",children:z("chat.myNotes")})]}),h.jsx("span",{className:"text-fg-secondary shrink-0",children:h.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),h.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})})]}),i.filter(W=>W.id!==e?.id).map(W=>{const le=e?.id?`dm:${[e.id,W.id].sort().join(":")}`:"",pe=le&&S?S[le]??0:0;return h.jsxs("button",{"data-l1-nav-id":`dm:${W.id}`,onClick:()=>v(W.id),onContextMenu:je=>{if(!B||W.id===e?.id)return;je.preventDefault();const Ge=Yt(je);Oe({userId:W.id,...Ge})},className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs mb-0.5 transition-colors text-fg-primary ${l==="dm"&&u===W.id?V?"bg-brand-500/25 ring-1 ring-inset ring-brand-500/40":"bg-green-500/15":"hover:bg-surface-overlay/60"}`,children:[h.jsx(js,{name:W.name,avatarUrl:W.avatarUrl,size:28,bgClass:"bg-green-500/10 text-green-500"}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsx("div",{className:"truncate font-medium text-[12px] leading-tight",children:W.name}),h.jsx("div",{className:"text-fg-secondary truncate text-[10px] leading-tight mt-0.5",children:W.email||W.role})]}),pe>0?h.jsx("span",{className:"min-w-[16px] h-[16px] flex items-center justify-center text-[9px] font-semibold text-white bg-red-500 rounded-full px-1 leading-none shrink-0",children:pe}):h.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 shrink-0"})]},W.id)})]}),Ws.custom.length>0&&h.jsxs("div",{className:"mb-2",children:[h.jsx("p",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wider mb-1 px-2.5",children:z("chat.groups")}),Ws.custom.map(W=>{const le=l==="channel"&&d===W.channelKey;return h.jsxs("button",{"data-l1-nav-id":`channel:${W.channelKey}`,onClick:()=>g(W.channelKey),onContextMenu:pe=>{pe.preventDefault();const je=Yt(pe);ot({gcId:W.id,...je})},className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs mb-0.5 transition-colors text-fg-primary ${Ps(le)}`,children:[h.jsx("div",{className:"w-7 h-7 rounded-lg flex items-center justify-center shrink-0 bg-surface-overlay text-fg-primary",children:h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsx("span",{className:"truncate font-medium text-[12px] leading-tight block",children:W.name}),h.jsx("div",{className:"text-[10px] text-fg-secondary leading-tight mt-0.5",children:z("chat.members_other",{count:W.memberCount??0})})]})]},W.id)})]}),j?h.jsx("div",{className:"space-y-3 px-1 mb-2",children:[...Array(6)].map((W,le)=>h.jsxs("div",{className:"flex items-center gap-2.5 animate-pulse",children:[h.jsx("div",{className:"w-6 h-6 rounded-lg bg-surface-overlay shrink-0"}),h.jsxs("div",{className:"flex-1 space-y-1.5",children:[h.jsx("div",{className:"h-2.5 bg-surface-overlay rounded w-24"}),h.jsx("div",{className:"h-2 bg-surface-overlay rounded w-36"})]}),h.jsx("div",{className:"w-2 h-2 rounded-full bg-surface-overlay shrink-0"})]},le))}):t.length===0&&r.length===0?h.jsx("p",{className:"text-xs text-fg-tertiary px-1 mb-2",children:z("chat.noAgentsYet")}):null,Ws.unmatched.map(W=>{const le=S?.[W.channelKey]??0;return h.jsxs("button",{"data-l1-nav-id":`channel:${W.channelKey}`,onClick:()=>g(W.channelKey),className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs mb-0.5 transition-colors text-fg-primary ${Ps(l==="channel"&&d===W.channelKey)}`,children:[h.jsx("div",{className:"w-7 h-7 rounded-full flex items-center justify-center shrink-0 bg-surface-overlay text-fg-primary",children:h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsx("span",{className:"truncate font-medium text-[12px] leading-tight block",children:W.name}),h.jsx("div",{className:"text-[10px] text-fg-secondary leading-tight mt-0.5",children:z("chat.groupChat")})]}),le>0?h.jsx("span",{className:"min-w-[16px] h-[16px] flex items-center justify-center text-[9px] font-semibold text-white bg-red-500 rounded-full px-1 leading-none",children:le}):W.memberCount!==void 0&&W.memberCount>0?h.jsx("span",{className:"text-[9px] text-fg-secondary shrink-0",children:W.memberCount}):null]},W.id)}),ar.ungrouped.length>0&&h.jsxs("div",{className:"mb-2",children:[h.jsx("p",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wider mb-1.5 px-2.5",children:z("chat.agents")}),ar.ungrouped.map(W=>ii(W))]}),r.length>0&&h.jsxs("div",{className:"mb-2",ref:si,children:[h.jsx("p",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wider mb-1.5 px-2.5",children:z("chat.teams")}),r.map(W=>{const le=ar.byTeam.get(W.id)??[],pe=W.members?.length||le.length;return Sr(W.id,W,pe,W.name)})]}),r.length===0&&ar.ungrouped.length===0&&t.length>0&&t.map(W=>ii(W)),Ws.dmChannels.length>0&&h.jsxs("div",{className:"mb-2",children:[h.jsxs("button",{onClick:()=>ft(W=>!W),className:"w-full flex items-center gap-1.5 px-2.5 py-1 text-[10px] font-semibold text-fg-muted uppercase tracking-wider hover:text-fg-secondary transition-colors",children:[h.jsx("svg",{className:`w-2.5 h-2.5 transition-transform ${at?"rotate-90":""}`,fill:"currentColor",viewBox:"0 0 20 20",children:h.jsx("path",{fillRule:"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z",clipRule:"evenodd"})}),z("chat.agentDMs"),h.jsx("span",{className:"ml-auto text-[9px] font-normal text-fg-tertiary",children:Ws.dmChannels.length})]}),at&&Ws.dmChannels.map(W=>{const le=l==="channel"&&d===W.channelKey,pe=S?.[W.channelKey]??0,je=W.name.replace(/^DM:\s*/,"");return h.jsxs("button",{"data-l1-nav-id":`channel:${W.channelKey}`,onClick:()=>g(W.channelKey),className:`w-full flex items-center gap-2.5 px-2.5 pl-5 py-1.5 rounded-lg text-xs mb-0.5 transition-colors text-fg-primary ${Ps(le)}`,children:[h.jsx("div",{className:"w-5 h-5 rounded-full flex items-center justify-center shrink-0 bg-surface-overlay/60 text-fg-tertiary text-[9px]",children:h.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}),h.jsx("span",{className:"flex-1 min-w-0 text-left truncate text-[11px] text-fg-secondary",children:je}),pe>0&&h.jsx("span",{className:"min-w-[14px] h-[14px] flex items-center justify-center text-[8px] font-semibold text-white bg-red-500 rounded-full px-0.5 leading-none",children:pe})]},W.id)})]})]})]}),N&&h.jsx("div",{className:"w-1.5 cursor-col-resize shrink-0 group relative flex items-center justify-center",onMouseDown:N,children:h.jsx("div",{className:"w-px h-2/3 border-l border-dashed border-transparent group-hover:border-border-default group-active:border-fg-tertiary transition-colors"})}),nt&&(()=>{const W=ar.byTeam.get(nt.teamId)??[],le=W.some(je=>je.status==="offline"),pe=W.some(je=>je.status!=="offline");return h.jsxs("div",{className:"fixed bg-surface-elevated border border-border-default rounded-lg shadow-xl py-1 z-50 w-44 max-w-[calc(100vw-1rem)] max-h-[calc(100vh-1rem)] overflow-y-auto",style:{left:nt.x,top:nt.y},onClick:je=>je.stopPropagation(),children:[h.jsxs("button",{onClick:()=>{const je=ss.get(nt.teamId);je&&(ie(nt.teamId),be(je.name)),Ct(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),h.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]}),z("contextMenu.renameTeam")]}),le&&h.jsxs("button",{onClick:()=>{Ai(nt.teamId,"start"),Ct(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-green-600 flex items-center gap-2",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("polygon",{points:"5 3 19 12 5 21 5 3"})}),z("contextMenu.startAll")]}),pe&&h.jsxs("button",{onClick:()=>{Ai(nt.teamId,"stop"),Ct(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})}),z("contextMenu.stopAll")]}),h.jsx("div",{className:"border-t border-border-default/50 my-1"}),h.jsxs("button",{onClick:()=>{Ct(null),Qr.navigate(Kt.STORE)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-brand-500 flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),h.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]}),z("chat.addAgent")]}),H.length>0&&h.jsxs("button",{onClick:()=>{Ct(null),ee(nt.teamId)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"8.5",cy:"7",r:"4"}),h.jsx("polyline",{points:"17 11 19 13 23 9"})]}),z("contextMenu.addExisting")]}),h.jsx("div",{className:"border-t border-border-default/50 my-1"}),h.jsxs("button",{onClick:()=>{const je=ss.get(nt.teamId);je&&il(nt.teamId,je.name),Ct(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"3 6 5 6 21 6"}),h.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),z("contextMenu.deleteTeam")]})]})})(),pt&&(()=>{const W=t.find(tt=>tt.id===pt.agentId);if(!W||!B)return null;const pe=(pt.teamId?ss.get(pt.teamId):void 0)?.managerId===W.id,je=W.id===e?.id,Ge=Ms(W);return h.jsxs("div",{className:"fixed bg-surface-elevated border border-border-default rounded-lg shadow-xl py-1 z-50 w-48 max-w-[calc(100vw-1rem)] overflow-y-auto",style:{left:pt.x,top:pt.y,maxHeight:Math.max(160,window.innerHeight-pt.y-8)},onClick:tt=>tt.stopPropagation(),children:[Ge&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"px-3 py-2 text-[10px] leading-snug text-fg-secondary font-medium",children:z("contextMenu.orgSecretaryProtected")}),h.jsx("div",{className:"border-t border-border-default/50 my-1"})]}),h.jsxs("button",{onClick:()=>{Xt(null),_(W.id)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-brand-500 flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"12",cy:"7",r:"4"})]}),z("contextMenu.viewProfile")]}),W.status==="offline"?h.jsxs("button",{onClick:()=>{ol(W.id,"offline"),Xt(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-green-600 flex items-center gap-2",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("polygon",{points:"5 3 19 12 5 21 5 3"})}),z("contextMenu.start")]}):h.jsxs("button",{onClick:()=>{ol(W.id,W.status??"idle"),Xt(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})}),z("contextMenu.stop")]}),!Ge&&pt.teamId&&!pe&&h.jsxs("button",{onClick:()=>{Ro(pt.teamId,W.id,"agent"),Xt(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-amber-600 flex items-center gap-2",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),z("contextMenu.setAsManager")]}),!Ge&&pt.teamId&&h.jsxs("button",{onClick:()=>{zt(pt.teamId,W.id),Xt(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"9 14 4 9 9 4"}),h.jsx("path",{d:"M20 20v-7a4 4 0 0 0-4-4H4"})]}),z("contextMenu.removeFromTeam")]}),!Ge&&(()=>{const tt=r.filter(Ye=>Ye.id!==pt.teamId);if(tt.length===0)return null;const Ot=Pt.trim().toLowerCase(),St=Ot?tt.filter(Ye=>Ye.name.toLowerCase().includes(Ot)):tt;return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"border-t border-border-default/50 my-1"}),h.jsxs("button",{type:"button",onClick:()=>Et(Ye=>!Ye),className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M5 12h14"}),h.jsx("path",{d:"M12 5l7 7-7 7"})]}),h.jsx("span",{className:"flex-1",children:z("contextMenu.moveTo")}),h.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`shrink-0 text-fg-tertiary transition-transform ${wt?"rotate-180":""}`,children:h.jsx("polyline",{points:"6 9 12 15 18 9"})})]}),wt&&h.jsxs("div",{className:"px-2 pb-1.5",onClick:Ye=>Ye.stopPropagation(),children:[h.jsx("input",{autoFocus:!0,value:Pt,onChange:Ye=>he(Ye.target.value),onKeyDown:Ye=>Ye.stopPropagation(),placeholder:z("contextMenu.moveToSearch"),className:"w-full mb-1 px-2 py-1.5 text-xs rounded-md bg-surface-overlay border border-border-default text-fg-primary placeholder:text-fg-tertiary outline-none focus:border-brand-500/50"}),h.jsx("div",{className:"max-h-36 overflow-y-auto rounded-md",children:St.length===0?h.jsx("div",{className:"px-2 py-2 text-[10px] text-fg-tertiary",children:z("contextMenu.moveToEmpty")}):St.map(Ye=>h.jsx("button",{type:"button",onClick:async()=>{pt.teamId&&await K.teams.removeMember(pt.teamId,W.id),await K.teams.addMember(Ye.id,W.id,"agent"),O(),p(),gs(),Xt(null)},className:"w-full text-left px-2 py-1.5 text-xs hover:bg-surface-overlay text-fg-secondary rounded truncate",title:Ye.name,children:Ye.name},Ye.id))})]})]})})(),!Ge&&!je&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"border-t border-border-default/50 my-1"}),h.jsxs("button",{onClick:()=>{Cs(W.id,W.name,"agent",pt.teamId),Xt(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"3 6 5 6 21 6"}),h.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),z("contextMenu.removeFromOrg")]})]})]})})(),Xe&&(()=>{const W=i.find(le=>le.id===Xe.userId);return!W||!B?null:h.jsx("div",{className:"fixed bg-surface-elevated border border-border-default rounded-lg shadow-xl py-1 z-50 w-44 max-w-[calc(100vw-1rem)] max-h-[calc(100vh-1rem)] overflow-y-auto",style:{left:Xe.x,top:Xe.y},onClick:le=>le.stopPropagation(),children:h.jsxs("button",{onClick:()=>{Cs(W.id,W.name,"human"),Oe(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"3 6 5 6 21 6"}),h.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),z("contextMenu.removeFromOrg")]})})})(),U&&h.jsx(sw,{onClose:()=>D(!1),onCreate:async(W,le)=>{try{const{team:pe}=await K.teams.create(W,le);D(!1),O(),el(pe.id),setTimeout(()=>{document.querySelector(`[data-team-id="${pe.id}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})},300),setTimeout(()=>el(null),3e3)}catch(pe){ji(z("chat.failedToCreateTeam",{message:pe instanceof Error?pe.message:String(pe)}),"error")}}}),se&&h.jsx(rw,{onClose:()=>{F(!1),x?.()},onAdd:async(W,le,pe)=>{const{inviteToken:je}=await K.users.create(W,le,void 0,pe);return x?.(),{inviteToken:je}}}),G!==null&&h.jsx(iw,{teamId:G,ungrouped:H,onClose:()=>ee(null),onAdd:async(W,le)=>{await K.teams.addMember(G,W,le),ee(null),O(),gs()}}),we&&h.jsx(nw,{onClose:()=>Ae(!1),onConnected:()=>{Ae(!1),p(),O()}}),bt&&(()=>{const W=o.find(le=>le.id===bt.gcId);return W?h.jsxs("div",{className:"fixed bg-surface-elevated border border-border-default rounded-lg shadow-xl py-1 z-50 w-44 max-w-[calc(100vw-1rem)] max-h-[calc(100vh-1rem)] overflow-y-auto",style:{left:bt.x,top:bt.y},onClick:le=>le.stopPropagation(),children:[W.type==="custom"&&h.jsxs("button",{onClick:()=>{ot(null),k?k(W.channelKey):g(W.channelKey)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),h.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),z("contextMenu.manageMembers")]}),h.jsxs("button",{onClick:async()=>{ot(null),on(z("modals.deleteGroupChat.title"),z("modals.deleteGroupChat.message",{name:W.name}),async()=>{await K.groupChats.delete(W.id),y()},z("modals.deleteGroupChat.confirm"))},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"3 6 5 6 21 6"}),h.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),z("modals.deleteGroupChat.menuLabel")]})]}):null})(),xe&&h.jsx(ow,{agents:t,humans:i,authUser:e,onClose:()=>me(!1),onCreate:async(W,le,pe,je)=>{await K.groupChats.create({name:W,memberIds:le,memberTypes:pe,memberNames:je,creatorId:e?.id,creatorName:e?.name}),me(!1),y()}}),ge&&h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:()=>He(null),children:h.jsxs("div",{className:"bg-surface-elevated rounded-xl border border-border-default shadow-2xl w-[340px] max-w-[90vw] overflow-hidden",onClick:W=>W.stopPropagation(),children:[h.jsxs("div",{className:"px-5 py-4 border-b border-border-default",children:[h.jsx("h3",{className:"text-sm font-semibold",children:z(ge==="agent"?"chat.addAgent":"chat.newTeam")}),h.jsx("p",{className:"text-[11px] text-fg-tertiary mt-0.5",children:z("chat.methodChoiceSubtitle")})]}),h.jsxs("div",{className:"p-3 space-y-2",children:[h.jsxs("button",{onClick:()=>{const W=ge;He(null);const le=t.find(pe=>pe.role==="secretary")??t.find(pe=>pe.name?.toLowerCase().includes("secretary"));le?(f(le.id),Qr.navigate(Kt.TEAM,{agentId:le.id,prefillMessage:z(W==="agent"?"chat.addAgentPrefill":"chat.newTeamPrefill")})):W==="agent"?Qr.navigate(Kt.STORE):D(!0)},className:"w-full flex items-center gap-3 px-4 py-3 rounded-lg border border-brand-500/30 bg-brand-500/5 hover:bg-brand-500/10 transition-colors text-left",children:[h.jsx("div",{className:"w-8 h-8 rounded-full bg-brand-500/15 flex items-center justify-center shrink-0",children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",className:"text-brand-500",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"}),h.jsx("path",{d:"M20 3v4"}),h.jsx("path",{d:"M22 5h-4"})]})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-xs font-medium text-brand-500",children:z("chat.methodSecretary")}),h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:z("chat.methodSecretaryDesc")})]}),h.jsx("span",{className:"text-[9px] px-1.5 py-0.5 rounded-full bg-brand-500/10 text-brand-500 font-medium shrink-0",children:z("chat.recommended")})]}),h.jsxs("button",{onClick:()=>{const W=ge;He(null),W==="agent"?Qr.navigate(Kt.STORE):D(!0)},className:"w-full flex items-center gap-3 px-4 py-3 rounded-lg border border-border-default hover:bg-surface-overlay transition-colors text-left",children:[h.jsx("div",{className:"w-8 h-8 rounded-full bg-surface-overlay flex items-center justify-center shrink-0",children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",className:"text-fg-secondary",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7z"}),h.jsx("circle",{cx:"12",cy:"12",r:"3"})]})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-xs font-medium text-fg-secondary",children:z("chat.methodManual")}),h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:z(ge==="agent"?"chat.methodManualAgentDesc":"chat.methodManualTeamDesc")})]})]})]}),h.jsx("div",{className:"px-5 py-3 border-t border-border-default flex justify-end",children:h.jsx("button",{onClick:()=>He(null),className:"px-3 py-1.5 text-xs text-fg-secondary hover:text-fg-primary rounded-lg hover:bg-surface-overlay transition-colors",children:z("common:cancel")})})]})}),Lr&&h.jsx(_o,{title:Lr.title,message:Lr.message,confirmLabel:Lr.confirmLabel,checkboxes:Lr.checkboxes,onConfirm:W=>{Lr.onConfirm(W),Ri(null)},onCancel:()=>Ri(null)}),Qo&&h.jsx("div",{className:`fixed bottom-6 left-1/2 -translate-x-1/2 z-50 px-4 py-2.5 rounded-lg shadow-xl text-sm font-medium ${Qo.type==="error"?"bg-red-500/10 text-red-500 border border-red-500/30":"bg-surface-elevated/95 text-fg-primary border border-border-default/50"}`,children:Qo.message})]})});function Jm({team:s,agents:e,humans:t,authUser:r,groupChat:i,chatMode:n,selectedAgent:a,activeChannel:o,activeDmUserId:l,teams:c,onSelectAgent:d,onSelectChannel:u,onSelectDm:f,onBack:g,onViewProfile:v,onRefreshAgents:b,onRefreshTeams:m,unreadByAgent:O,width:p,onResizeStart:x,focused:y}){const{t:_}=At(["team","common"]),k=nh(),w=Ef(Kt.TEAM),S=r?.role==="owner"||r?.role==="admin",Q=C.useMemo(()=>e.filter(F=>F.teamId===s.id),[e,s.id]),N=C.useMemo(()=>{const F=new Set((s.members??[]).filter(G=>G.type==="human").map(G=>G.id));return t.filter(G=>F.has(G.id))},[s.members,t]),L=i&&n==="channel"&&o===i.channelKey,$=C.useMemo(()=>{const F=[];i&&F.push({kind:"channel",id:`channel:${i.channelKey}`,channelKey:i.channelKey});for(const G of Q)F.push({kind:"agent",id:`agent:${G.id}`,agentId:G.id});for(const G of N)F.push({kind:"dm",id:`dm:${G.id}`,userId:G.id});return F},[i,Q,N]),j=C.useRef($);j.current=$;const I=C.useCallback(F=>{F.kind==="channel"?u(F.channelKey):F.kind==="agent"?d(F.agentId):f(F.userId),requestAnimationFrame(()=>{document.querySelector(`[data-l2-nav-id="${F.id}"]`)?.scrollIntoView({block:"nearest"})})},[u,d,f]);C.useEffect(()=>{if(!w)return;const F=G=>{if((k?.keyboardPane??"content")!=="l2"||G.metaKey||G.ctrlKey||G.altKey||$x(G.target))return;const we=G.key.length===1?G.key.toLowerCase():G.key;if(we==="h"||we==="ArrowLeft"){G.preventDefault(),G.stopPropagation(),k?.setKeyboardPane("l1");return}if(we==="l"||we==="ArrowRight"){G.preventDefault(),G.stopPropagation();return}const Ae=we==="j"||we==="ArrowDown"?1:we==="k"||we==="ArrowUp"?-1:0;if(!Ae)return;G.preventDefault(),G.stopPropagation();const xe=j.current;if(xe.length===0)return;let me=-1;n==="channel"?me=xe.findIndex(He=>He.kind==="channel"&&He.channelKey===o):n==="direct"?me=xe.findIndex(He=>He.kind==="agent"&&He.agentId===a):n==="dm"&&l&&(me=xe.findIndex(He=>He.kind==="dm"&&He.userId===l)),me<0&&(me=Ae>0?-1:0);const ge=Math.max(0,Math.min(xe.length-1,me+Ae));I(xe[ge])};return document.addEventListener("keydown",F,!0),()=>document.removeEventListener("keydown",F,!0)},[w,k,n,o,a,l,I]);const V=F=>F?y?"bg-brand-500/25 ring-1 ring-inset ring-brand-500/40":"bg-surface-overlay":"hover:bg-surface-overlay/60",[Z,z]=C.useState(null),[J,T]=C.useState(!1),[A,B]=C.useState(""),[q,H]=C.useState(null),te=(F,G,ee,we,Ae)=>{H({title:F,message:G,onConfirm:ee,confirmLabel:we,checkboxes:Ae})},ue=C.useCallback((F,G=176,ee=220)=>{const we=window.innerWidth,Ae=window.innerHeight,xe=8;let me=F.clientX,ge=F.clientY;return me+G>we-xe&&(me=Math.max(xe,we-G-xe)),ge+ee>Ae-xe&&(ge=Math.max(xe,Ae-ee-xe)),me=Math.max(xe,Math.min(me,we-G-xe)),ge=Math.max(xe,Math.min(ge,Ae-ee-xe)),{x:me,y:ge}},[]);C.useEffect(()=>{if(!Z)return;const F=()=>z(null),G=setTimeout(()=>document.addEventListener("click",F),0);return()=>{clearTimeout(G),document.removeEventListener("click",F)}},[Z]);const ke=C.useCallback(async(F,G)=>{G==="offline"?await K.agents.start(F):await K.agents.stop(F),b()},[b]),U=C.useCallback(async F=>{await K.teams.update(s.id,{managerId:F,managerType:"agent"}),m()},[s.id,m]),D=C.useCallback(async F=>{await K.teams.removeMember(s.id,F),m(),b()},[s.id,m,b]),se=C.useCallback(async(F,G)=>{await K.teams.removeMember(s.id,F),await K.teams.addMember(G,F,"agent"),m(),b()},[s.id,m,b]);return h.jsxs(h.Fragment,{children:[h.jsxs("div",{"data-keyboard-pane":"l2",className:`bg-surface-primary flex flex-col shrink-0 ${y?"ring-1 ring-inset ring-brand-500/30":""}`,style:p!=null?{width:p}:{width:260},children:[h.jsxs("div",{className:"px-3 h-14 flex items-center gap-2 shrink-0",children:[h.jsx("button",{onClick:g,className:"w-8 h-8 flex items-center justify-center rounded-lg bg-brand-500/15 text-brand-500 transition-colors shrink-0",title:_("common:back",{defaultValue:"Back"}),children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),h.jsx("line",{x1:"9",y1:"3",x2:"9",y2:"21"})]})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"truncate font-semibold text-sm",children:s.name}),s.description&&h.jsx("div",{className:"truncate text-[10px] text-fg-tertiary",children:s.description})]})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto px-3 py-2 flex flex-col",children:[i&&h.jsxs("div",{className:"mb-3",children:[h.jsx("p",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wider mb-1.5 px-2.5",children:_("chat.groupChat",{defaultValue:"Group Chat"})}),h.jsxs("button",{"data-l2-nav-id":`channel:${i.channelKey}`,onClick:()=>u(i.channelKey),className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs transition-colors text-fg-primary ${V(!!L)}`,children:[h.jsx("div",{className:"w-7 h-7 rounded-lg flex items-center justify-center shrink-0 bg-surface-overlay text-fg-primary",children:h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsx("span",{className:"truncate font-medium text-[12px] leading-tight block",children:s.name}),h.jsx("div",{className:"text-[10px] text-fg-secondary leading-tight mt-0.5",children:_("chat.members_other",{count:i.memberCount||Q.length+N.length})})]})]})]}),Q.length>0&&h.jsxs("div",{className:"mb-3",children:[h.jsxs("p",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wider mb-1.5 px-2.5",children:[_("chat.agents",{defaultValue:"Agents"}),h.jsx("span",{className:"ml-1 text-fg-tertiary font-normal",children:Q.length})]}),Q.map(F=>{const G=n==="direct"&&a===F.id,ee=s.managerId===F.id,we=F.status==="offline",Ae=F.status==="idle"?"bg-green-500":F.status==="working"?"bg-blue-500 animate-pulse":F.status==="error"?"bg-red-500":"bg-gray-600";return h.jsxs("button",{"data-l2-nav-id":`agent:${F.id}`,onClick:()=>d(F.id),onContextMenu:xe=>{if(!S)return;xe.preventDefault();const me=ue(xe);T(!1),B(""),z({agentId:F.id,...me})},className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs mb-0.5 transition-colors ${we?"opacity-50 text-fg-tertiary":"text-fg-primary"} ${V(G)}`,children:[h.jsx(js,{name:F.name,avatarUrl:F.avatarUrl,size:28,bgClass:we?"bg-surface-overlay/60 text-fg-tertiary":"bg-surface-overlay text-fg-primary"}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx("span",{className:"truncate font-medium text-[12px] leading-tight",children:F.name}),ee&&h.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"currentColor",className:"text-amber-500 shrink-0",children:h.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),we&&h.jsx("span",{className:"text-[8px] px-1 py-0 rounded bg-gray-500/20 text-gray-400 font-medium shrink-0 leading-relaxed",children:_("common:status.offline")})]}),h.jsx("div",{className:"truncate text-[10px] leading-tight mt-0.5 text-fg-secondary",children:F.role||" "})]}),(O?.get(F.id)??0)>0&&h.jsx("span",{className:"min-w-[16px] h-[16px] flex items-center justify-center text-[9px] font-semibold text-white bg-red-500 rounded-full px-1 leading-none shrink-0",children:O.get(F.id)}),h.jsx("span",{title:F.status,onClick:xe=>{xe.stopPropagation(),v(F.id)},className:`w-2 h-2 rounded-full cursor-pointer transition-transform duration-150 hover:scale-[2] shrink-0 ${Ae}`})]},F.id)})]}),N.length>0&&h.jsxs("div",{className:"mb-3",children:[h.jsxs("p",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wider mb-1.5 px-2.5",children:[_("chat.people"),h.jsx("span",{className:"ml-1 text-fg-tertiary font-normal",children:N.length})]}),N.map(F=>{const G=F.id===r?.id,ee=n==="dm"&&l===F.id;return h.jsxs("button",{"data-l2-nav-id":`dm:${F.id}`,onClick:()=>f(F.id),className:`w-full flex items-center gap-2.5 px-2.5 py-2 rounded-lg text-xs mb-0.5 transition-colors text-fg-primary ${V(ee)}`,children:[h.jsx(js,{name:F.name,avatarUrl:F.avatarUrl,size:28,bgClass:"bg-green-500/10 text-green-500"}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsxs("div",{className:"truncate font-medium text-[12px] leading-tight",children:[F.name,G?` (${_("chat.you",{defaultValue:"You"})})`:""]}),h.jsx("div",{className:"text-fg-secondary truncate text-[10px] leading-tight mt-0.5",children:F.email||F.role})]}),h.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 shrink-0"})]},F.id)})]}),Q.length===0&&N.length===0&&h.jsx("div",{className:"text-xs text-fg-tertiary text-center py-6 px-2",children:_("chat.noMembers",{defaultValue:"No members in this team yet."})})]})]}),x&&h.jsx("div",{className:"w-1.5 cursor-col-resize shrink-0 group relative flex items-center justify-center",onMouseDown:x,children:h.jsx("div",{className:"w-px h-2/3 border-l border-dashed border-transparent group-hover:border-border-default group-active:border-fg-tertiary transition-colors"})}),Z&&(()=>{const F=Q.find(ee=>ee.id===Z.agentId);if(!F||!S)return null;const G=s.managerId===F.id;return h.jsxs("div",{className:"fixed bg-surface-elevated border border-border-default rounded-lg shadow-xl py-1 z-50 w-48 max-w-[calc(100vw-1rem)] overflow-y-auto",style:{left:Z.x,top:Z.y,maxHeight:Math.max(160,window.innerHeight-Z.y-8)},onClick:ee=>ee.stopPropagation(),children:[h.jsxs("button",{onClick:()=>{z(null),v(F.id)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-brand-500 flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"12",cy:"7",r:"4"})]}),_("contextMenu.viewProfile")]}),F.status==="offline"?h.jsxs("button",{onClick:()=>{ke(F.id,"offline"),z(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-green-600 flex items-center gap-2",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("polygon",{points:"5 3 19 12 5 21 5 3"})}),_("contextMenu.start")]}):h.jsxs("button",{onClick:()=>{ke(F.id,F.status??"idle"),z(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})}),_("contextMenu.stop")]}),!G&&h.jsxs("button",{onClick:()=>{U(F.id),z(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-amber-600 flex items-center gap-2",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),_("contextMenu.setAsManager")]}),h.jsxs("button",{onClick:()=>{D(F.id),z(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"9 14 4 9 9 4"}),h.jsx("path",{d:"M20 20v-7a4 4 0 0 0-4-4H4"})]}),_("contextMenu.removeFromTeam")]}),(()=>{const ee=c.filter(xe=>xe.id!==s.id);if(ee.length===0)return null;const we=A.trim().toLowerCase(),Ae=we?ee.filter(xe=>xe.name.toLowerCase().includes(we)):ee;return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"border-t border-border-default/50 my-1"}),h.jsxs("button",{type:"button",onClick:()=>T(xe=>!xe),className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M5 12h14"}),h.jsx("path",{d:"M12 5l7 7-7 7"})]}),h.jsx("span",{className:"flex-1",children:_("contextMenu.moveTo")}),h.jsx("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`shrink-0 text-fg-tertiary transition-transform ${J?"rotate-180":""}`,children:h.jsx("polyline",{points:"6 9 12 15 18 9"})})]}),J&&h.jsxs("div",{className:"px-2 pb-1.5",onClick:xe=>xe.stopPropagation(),children:[h.jsx("input",{autoFocus:!0,value:A,onChange:xe=>B(xe.target.value),onKeyDown:xe=>xe.stopPropagation(),placeholder:_("contextMenu.moveToSearch"),className:"w-full mb-1 px-2 py-1.5 text-xs rounded-md bg-surface-overlay border border-border-default text-fg-primary placeholder:text-fg-tertiary outline-none focus:border-brand-500/50"}),h.jsx("div",{className:"max-h-36 overflow-y-auto rounded-md",children:Ae.length===0?h.jsx("div",{className:"px-2 py-2 text-[10px] text-fg-tertiary",children:_("contextMenu.moveToEmpty")}):Ae.map(xe=>h.jsx("button",{type:"button",onClick:()=>{se(F.id,xe.id),z(null)},className:"w-full text-left px-2 py-1.5 text-xs hover:bg-surface-overlay text-fg-secondary rounded truncate",title:xe.name,children:xe.name},xe.id))})]})]})})(),h.jsx("div",{className:"border-t border-border-default/50 my-1"}),h.jsxs("button",{onClick:()=>{te(`${_("common:remove")} "${F.name}"?`,_("modals.removeAgent.message"),async ee=>{const we=ee?.purgeFiles??!1;i?.channelKey&&localStorage.setItem("markus_nav_after_remove","channel:"+i.channelKey),await K.agents.remove(F.id,{purgeFiles:we}),b(),z(null)},_("common:remove"),[{id:"purgeFiles",label:_("modals.removeAgent.purgeFiles"),defaultChecked:!1}])},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"3 6 5 6 21 6"}),h.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),_("contextMenu.removeFromOrg")]})]})})(),q&&h.jsx(_o,{title:q.title,message:q.message,confirmLabel:q.confirmLabel,checkboxes:q.checkboxes,onConfirm:F=>{q.onConfirm(F),H(null)},onCancel:()=>H(null)})]})}function yu(){return yu=Object.assign?Object.assign.bind():function(s){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(s[r]=t[r])}return s},yu.apply(null,arguments)}function lw(s,e){if(s==null)return{};var t={};for(var r in s)if({}.hasOwnProperty.call(s,r)){if(e.indexOf(r)!==-1)continue;t[r]=s[r]}return t}let Su=[],Nx=[];(()=>{let s="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<s.length;e++)(e%2?Nx:Su).push(t=t+s[e])})();function cw(s){if(s<768)return!1;for(let e=0,t=Su.length;;){let r=e+t>>1;if(s<Su[r])t=r;else if(s>=Nx[r])e=r+1;else return!0;if(e==t)return!1}}function eg(s){return s>=127462&&s<=127487}const tg=8205;function hw(s,e,t=!0,r=!0){return(t?Dx:dw)(s,e,r)}function Dx(s,e,t){if(e==s.length)return e;e&&Ix(s.charCodeAt(e))&&Bx(s.charCodeAt(e-1))&&e--;let r=ud(s,e);for(e+=sg(r);e<s.length;){let i=ud(s,e);if(r==tg||i==tg||t&&cw(i))e+=sg(i),r=i;else if(eg(i)){let n=0,a=e-2;for(;a>=0&&eg(ud(s,a));)n++,a-=2;if(n%2==0)break;e+=2}else break}return e}function dw(s,e,t){for(;e>1;){let r=Dx(s,e-2,t);if(r<e)return r;e--}return 0}function ud(s,e){let t=s.charCodeAt(e);if(!Bx(t)||e+1==s.length)return t;let r=s.charCodeAt(e+1);return Ix(r)?(t-55296<<10)+(r-56320)+65536:t}function Ix(s){return s>=56320&&s<57344}function Bx(s){return s>=55296&&s<56320}function sg(s){return s<65536?1:2}let kt=class Wx{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){[e,t]=fo(this,e,t);let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(t,this.length,i,1),Zr.from(i,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=fo(this,e,t);let r=[];return this.decompose(e,t,r,0),Zr.from(r,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),i=new la(this),n=new la(e);for(let a=t,o=t;;){if(i.next(a),n.next(a),a=0,i.lineBreak!=n.lineBreak||i.done!=n.done||i.value!=n.value)return!1;if(o+=i.value.length,i.done||o>=r)return!0}}iter(e=1){return new la(this,e)}iterRange(e,t=this.length){return new Xx(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new qx(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Wx.empty:e.length<=32?new is(e):Zr.from(is.split(e,[]))}};class is extends kt{constructor(e,t=uw(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,i){for(let n=0;;n++){let a=this.text[n],o=i+a.length;if((t?r:o)>=e)return new fw(i,o,r,a);i=o+1,r++}}decompose(e,t,r,i){let n=e<=0&&t>=this.length?this:new is(rg(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let a=r.pop(),o=lc(n.text,a.text.slice(),0,n.length);if(o.length<=32)r.push(new is(o,a.length+n.length));else{let l=o.length>>1;r.push(new is(o.slice(0,l)),new is(o.slice(l)))}}else r.push(n)}replace(e,t,r){if(!(r instanceof is))return super.replace(e,t,r);[e,t]=fo(this,e,t);let i=lc(this.text,lc(r.text,rg(this.text,0,e)),t),n=this.length+r.length-(t-e);return i.length<=32?new is(i,n):Zr.from(is.split(i,[]),n)}sliceString(e,t=this.length,r=`
6
+ `){[e,t]=fo(this,e,t);let i="";for(let n=0,a=0;n<=t&&a<this.text.length;a++){let o=this.text[a],l=n+o.length;n>e&&a&&(i+=r),e<l&&t>n&&(i+=o.slice(Math.max(0,e-n),t-n)),n=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],i=-1;for(let n of e)r.push(n),i+=n.length+1,r.length==32&&(t.push(new is(r,i)),r=[],i=-1);return i>-1&&t.push(new is(r,i)),t}}class Zr extends kt{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,i){for(let n=0;;n++){let a=this.children[n],o=i+a.length,l=r+a.lines-1;if((t?l:o)>=e)return a.lineInner(e,t,r,i);i=o+1,r=l+1}}decompose(e,t,r,i){for(let n=0,a=0;a<=t&&n<this.children.length;n++){let o=this.children[n],l=a+o.length;if(e<=l&&t>=a){let c=i&((a<=e?1:0)|(l>=t?2:0));a>=e&&l<=t&&!c?r.push(o):o.decompose(e-a,t-a,r,c)}a=l+1}}replace(e,t,r){if([e,t]=fo(this,e,t),r.lines<this.lines)for(let i=0,n=0;i<this.children.length;i++){let a=this.children[i],o=n+a.length;if(e>=n&&t<=o){let l=a.replace(e-n,t-n,r),c=this.lines-a.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let d=this.children.slice();return d[i]=l,new Zr(d,this.length-(t-e)+r.length)}return super.replace(n,o,l)}n=o+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`
7
+ `){[e,t]=fo(this,e,t);let i="";for(let n=0,a=0;n<this.children.length&&a<=t;n++){let o=this.children[n],l=a+o.length;a>e&&n&&(i+=r),e<l&&t>a&&(i+=o.sliceString(e-a,t-a,r)),a=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Zr))return 0;let r=0,[i,n,a,o]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,n+=t){if(i==a||n==o)return r;let l=this.children[i],c=e.children[n];if(l!=c)return r+l.scanIdentical(c,t);r+=l.length+1}}static from(e,t=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let g of e)r+=g.lines;if(r<32){let g=[];for(let v of e)v.flatten(g);return new is(g,t)}let i=Math.max(32,r>>5),n=i<<1,a=i>>1,o=[],l=0,c=-1,d=[];function u(g){let v;if(g.lines>n&&g instanceof Zr)for(let b of g.children)u(b);else g.lines>a&&(l>a||!l)?(f(),o.push(g)):g instanceof is&&l&&(v=d[d.length-1])instanceof is&&g.lines+v.lines<=32?(l+=g.lines,c+=g.length+1,d[d.length-1]=new is(v.text.concat(g.text),v.length+1+g.length)):(l+g.lines>i&&f(),l+=g.lines,c+=g.length+1,d.push(g))}function f(){l!=0&&(o.push(d.length==1?d[0]:Zr.from(d,c)),c=-1,l=d.length=0)}for(let g of e)u(g);return f(),o.length==1?o[0]:new Zr(o,t)}}kt.empty=new is([""],0);function uw(s){let e=-1;for(let t of s)e+=t.length+1;return e}function lc(s,e,t=0,r=1e9){for(let i=0,n=0,a=!0;n<s.length&&i<=r;n++){let o=s[n],l=i+o.length;l>=t&&(l>r&&(o=o.slice(0,r-i)),i<t&&(o=o.slice(t-i)),a?(e[e.length-1]+=o,a=!1):e.push(o)),i=l+1}return e}function rg(s,e,t){return lc(s,[""],e,t)}class la{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof is?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],n=this.offsets[r],a=n>>1,o=i instanceof is?i.text.length:i.children.length;if(a==(t>0?o:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`
8
+ `,this;e--}else if(i instanceof is){let l=i.text[a+(t<0?-1:0)];if(this.offsets[r]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[a+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof is?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Xx{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new la(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=r?i:t<0?i.slice(i.length-r):i.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class qx{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(kt.prototype[Symbol.iterator]=function(){return this.iter()},la.prototype[Symbol.iterator]=Xx.prototype[Symbol.iterator]=qx.prototype[Symbol.iterator]=function(){return this});let fw=class{constructor(e,t,r,i){this.from=e,this.to=t,this.number=r,this.text=i}get length(){return this.to-this.from}};function fo(s,e,t){return e=Math.max(0,Math.min(s.length,e)),[e,Math.max(e,Math.min(s.length,t))]}function ms(s,e,t=!0,r=!0){return hw(s,e,t,r)}function pw(s){return s>=56320&&s<57344}function mw(s){return s>=55296&&s<56320}function zs(s,e){let t=s.charCodeAt(e);if(!mw(t)||e+1==s.length)return t;let r=s.charCodeAt(e+1);return pw(r)?(t-55296<<10)+(r-56320)+65536:t}function Af(s){return s<=65535?String.fromCharCode(s):(s-=65536,String.fromCharCode((s>>10)+55296,(s&1023)+56320))}function Vr(s){return s<65536?1:2}const _u=/\r\n?|\n/;var Ss=(function(s){return s[s.Simple=0]="Simple",s[s.TrackDel=1]="TrackDel",s[s.TrackBefore=2]="TrackBefore",s[s.TrackAfter=3]="TrackAfter",s})(Ss||(Ss={}));class Kr{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,i=0;t<this.sections.length;){let n=this.sections[t++],a=this.sections[t++];a<0?(e(r,i,n),i+=n):i+=a,r+=n}}iterChangedRanges(e,t=!1){wu(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];i<0?e.push(r,i):e.push(i,r)}return new Kr(e)}composeDesc(e){return this.empty?e:e.empty?this:zx(this,e)}mapDesc(e,t=!1){return e.empty?this:ku(this,e,t)}mapPos(e,t=-1,r=Ss.Simple){let i=0,n=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],l=this.sections[a++],c=i+o;if(l<0){if(c>e)return n+(e-i);n+=o}else{if(r!=Ss.Simple&&c>=e&&(r==Ss.TrackDel&&i<e&&c>e||r==Ss.TrackBefore&&i<e||r==Ss.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==i||t<0?n:n+l;n+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return n}touchesRange(e,t=e){for(let r=0,i=0;r<this.sections.length&&i<=t;){let n=this.sections[r++],a=this.sections[r++],o=i+n;if(a>=0&&i<=t&&o>=e)return i<e&&o>t?"cover":!0;i=o}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+r+(i>=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Kr(e)}static create(e){return new Kr(e)}}class cs extends Kr{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return wu(this,(t,r,i,n,a)=>e=e.replace(i,i+(r-t),a),!1),e}mapDesc(e,t=!1){return ku(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let i=0,n=0;i<t.length;i+=2){let a=t[i],o=t[i+1];if(o>=0){t[i]=o,t[i+1]=a;let l=i>>1;for(;r.length<l;)r.push(kt.empty);r.push(a?e.slice(n,n+a):kt.empty)}n+=a}return new cs(t,r)}compose(e){return this.empty?e:e.empty?this:zx(this,e,!0)}map(e,t=!1){return e.empty?this:ku(this,e,t,!0)}iterChanges(e,t=!1){wu(this,e,t)}get desc(){return Kr.create(this.sections)}filter(e){let t=[],r=[],i=[],n=new ba(this);e:for(let a=0,o=0;;){let l=a==e.length?1e9:e[a++];for(;o<l||o==l&&n.len==0;){if(n.done)break e;let d=Math.min(n.len,l-o);Es(i,d,-1);let u=n.ins==-1?-1:n.off==0?n.ins:0;Es(t,d,u),u>0&&Zi(r,t,n.text),n.forward(d),o+=d}let c=e[a++];for(;o<c;){if(n.done)break e;let d=Math.min(n.len,c-o);Es(t,d,-1),Es(i,d,n.ins==-1?-1:n.off==0?n.ins:0),n.forward(d),o+=d}}return{changes:new cs(t,r),filtered:Kr.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],i=this.sections[t+1];i<0?e.push(r):i==0?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let i=[],n=[],a=0,o=null;function l(d=!1){if(!d&&!i.length)return;a<t&&Es(i,t-a,-1);let u=new cs(i,n);o=o?o.compose(u.map(o)):u,i=[],n=[],a=0}function c(d){if(Array.isArray(d))for(let u of d)c(u);else if(d instanceof cs){if(d.length!=t)throw new RangeError(`Mismatched change set length (got ${d.length}, expected ${t})`);l(),o=o?o.compose(d.map(o)):d}else{let{from:u,to:f=u,insert:g}=d;if(u>f||u<0||f>t)throw new RangeError(`Invalid change range ${u} to ${f} (in doc of length ${t})`);let v=g?typeof g=="string"?kt.of(g.split(r||_u)):g:kt.empty,b=v.length;if(u==f&&b==0)return;u<a&&l(),u>a&&Es(i,u-a,-1),Es(i,f-u,b),Zi(n,i,v),a=f}}return c(e),l(!o),o}static empty(e){return new cs(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let i=0;i<e.length;i++){let n=e[i];if(typeof n=="number")t.push(n,-1);else{if(!Array.isArray(n)||typeof n[0]!="number"||n.some((a,o)=>o&&typeof a!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)t.push(n[0],0);else{for(;r.length<i;)r.push(kt.empty);r[i]=kt.of(n.slice(1)),t.push(n[0],r[i].length)}}}return new cs(t,r)}static createSet(e,t){return new cs(e,t)}}function Es(s,e,t,r=!1){if(e==0&&t<=0)return;let i=s.length-2;i>=0&&t<=0&&t==s[i+1]?s[i]+=e:i>=0&&e==0&&s[i]==0?s[i+1]+=t:r?(s[i]+=e,s[i+1]+=t):s.push(e,t)}function Zi(s,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r<s.length)s[s.length-1]=s[s.length-1].append(t);else{for(;s.length<r;)s.push(kt.empty);s.push(t)}}function wu(s,e,t){let r=s.inserted;for(let i=0,n=0,a=0;a<s.sections.length;){let o=s.sections[a++],l=s.sections[a++];if(l<0)i+=o,n+=o;else{let c=i,d=n,u=kt.empty;for(;c+=o,d+=l,l&&r&&(u=u.append(r[a-2>>1])),!(t||a==s.sections.length||s.sections[a+1]<0);)o=s.sections[a++],l=s.sections[a++];e(i,c,n,d,u),i=c,n=d}}}function ku(s,e,t,r=!1){let i=[],n=r?[]:null,a=new ba(s),o=new ba(e);for(let l=-1;;){if(a.done&&o.len||o.done&&a.len)throw new Error("Mismatched change set lengths");if(a.ins==-1&&o.ins==-1){let c=Math.min(a.len,o.len);Es(i,c,-1),a.forward(c),o.forward(c)}else if(o.ins>=0&&(a.ins<0||l==a.i||a.off==0&&(o.len<a.len||o.len==a.len&&!t))){let c=o.len;for(Es(i,o.ins,-1);c;){let d=Math.min(a.len,c);a.ins>=0&&l<a.i&&a.len<=d&&(Es(i,0,a.ins),n&&Zi(n,i,a.text),l=a.i),a.forward(d),c-=d}o.next()}else if(a.ins>=0){let c=0,d=a.len;for(;d;)if(o.ins==-1){let u=Math.min(d,o.len);c+=u,d-=u,o.forward(u)}else if(o.ins==0&&o.len<d)d-=o.len,o.next();else break;Es(i,c,l<a.i?a.ins:0),n&&l<a.i&&Zi(n,i,a.text),l=a.i,a.forward(a.len-d)}else{if(a.done&&o.done)return n?cs.createSet(i,n):Kr.create(i);throw new Error("Mismatched change set lengths")}}}function zx(s,e,t=!1){let r=[],i=t?[]:null,n=new ba(s),a=new ba(e);for(let o=!1;;){if(n.done&&a.done)return i?cs.createSet(r,i):Kr.create(r);if(n.ins==0)Es(r,n.len,0,o),n.next();else if(a.len==0&&!a.done)Es(r,0,a.ins,o),i&&Zi(i,r,a.text),a.next();else{if(n.done||a.done)throw new Error("Mismatched change set lengths");{let l=Math.min(n.len2,a.len),c=r.length;if(n.ins==-1){let d=a.ins==-1?-1:a.off?0:a.ins;Es(r,l,d,o),i&&d&&Zi(i,r,a.text)}else a.ins==-1?(Es(r,n.off?0:n.len,l,o),i&&Zi(i,r,n.textBit(l))):(Es(r,n.off?0:n.len,a.off?0:a.ins,o),i&&!a.off&&Zi(i,r,a.text));o=(n.ins>l||a.ins>=0&&a.len>l)&&(o||r.length>c),n.forward2(l),a.forward(l)}}}}class ba{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?kt.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?kt.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class qi{constructor(e,t,r,i){this.from=e,this.to=t,this.flags=r,this.goalColumn=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new qi(r,i,this.flags,this.goalColumn)}extend(e,t=e,r=0){if(e<=this.anchor&&t>=this.anchor)return re.range(e,t,void 0,void 0,r);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return re.range(this.anchor,i,void 0,void 0,r)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return re.range(e.anchor,e.head)}static create(e,t,r,i){return new qi(e,t,r,i)}}class re{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:re.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;r<this.ranges.length;r++)if(!this.ranges[r].eq(e.ranges[r],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new re([this.main],0)}addRange(e,t=!0){return re.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,re.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new re(e.ranges.map(t=>qi.fromJSON(t)),e.main)}static single(e,t=e){return new re([re.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,i=0;i<e.length;i++){let n=e[i];if(n.empty?n.from<=r:n.from<r)return re.normalized(e.slice(),t);r=n.to}return new re(e,t)}static cursor(e,t=0,r,i){return qi.create(e,e,(t==0?0:t<0?8:16)|(r==null?7:Math.min(6,r)),i)}static range(e,t,r,i,n){let a=i==null?7:Math.min(6,i);return!n&&e!=t&&(n=t<e?1:-1),n&&(a|=n<0?8:16),t<e?qi.create(t,e,a|32,r):qi.create(e,t,a,r)}static undirectionalRange(e,t){return qi.create(e,t,64,void 0)}static normalized(e,t=0){let r=e[t];e.sort((i,n)=>i.from-n.from),t=e.indexOf(r);for(let i=1;i<e.length;i++){let n=e[i],a=e[i-1];if(n.empty?n.from<=a.to:n.from<a.to){let o=a.from,l=Math.max(n.to,a.to);i<=t&&t--,e.splice(--i,2,n.anchor>n.head?re.range(l,o):re.range(o,l))}}return new re(e,t)}}function Zx(s,e){for(let t of s.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Mf=0;class Le{constructor(e,t,r,i,n){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=Mf++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new Le(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:Lf),!!e.static,e.enables)}of(e){return new cc([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new cc(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new cc(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function Lf(s,e){return s==e||s.length==e.length&&s.every((t,r)=>t===e[r])}class cc{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=Mf++}dynamicSlot(e){var t;let r=this.value,i=this.facet.compareInput,n=this.id,a=e[n]>>1,o=this.type==2,l=!1,c=!1,d=[];for(let u of this.dependencies)u=="doc"?l=!0:u=="selection"?c=!0:(((t=e[u.id])!==null&&t!==void 0?t:1)&1)==0&&d.push(e[u.id]);return{create(u){return u.values[a]=r(u),1},update(u,f){if(l&&f.docChanged||c&&(f.docChanged||f.selection)||Cu(u,d)){let g=r(u);if(o?!ig(g,u.values[a],i):!i(g,u.values[a]))return u.values[a]=g,1}return 0},reconfigure:(u,f)=>{let g,v=f.config.address[n];if(v!=null){let b=Cc(f,v);if(this.dependencies.every(m=>m instanceof Le?f.facet(m)===u.facet(m):m instanceof ws?f.field(m,!1)==u.field(m,!1):!0)||(o?ig(g=r(u),b,i):i(g=r(u),b)))return u.values[a]=b,0}else g=r(u);return u.values[a]=g,1}}}get extension(){return this}}function ig(s,e,t){if(s.length!=e.length)return!1;for(let r=0;r<s.length;r++)if(!t(s[r],e[r]))return!1;return!0}function Cu(s,e){let t=!1;for(let r of e)ca(s,r)&1&&(t=!0);return t}function gw(s,e,t){let r=t.map(l=>s[l.id]),i=t.map(l=>l.type),n=r.filter(l=>!(l&1)),a=s[e.id]>>1;function o(l){let c=[];for(let d=0;d<r.length;d++){let u=Cc(l,r[d]);if(i[d]==2)for(let f of u)c.push(f);else c.push(u)}return e.combine(c)}return{create(l){for(let c of r)ca(l,c);return l.values[a]=o(l),1},update(l,c){if(!Cu(l,n))return 0;let d=o(l);return e.compare(d,l.values[a])?0:(l.values[a]=d,1)},reconfigure(l,c){let d=Cu(l,r),u=c.config.facets[e.id],f=c.facet(e);if(u&&!d&&Lf(t,u))return l.values[a]=f,0;let g=o(l);return e.compare(g,f)?(l.values[a]=f,0):(l.values[a]=g,1)}}}const $l=Le.define({static:!0});class ws{constructor(e,t,r,i,n){this.id=e,this.createF=t,this.updateF=r,this.compareF=i,this.spec=n,this.provides=void 0}static define(e){let t=new ws(Mf++,e.create,e.update,e.compare||((r,i)=>r===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet($l).find(r=>r.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,i)=>{let n=r.values[t],a=this.updateF(n,i);return this.compareF(n,a)?0:(r.values[t]=a,1)},reconfigure:(r,i)=>{let n=r.facet($l),a=i.facet($l),o;return(o=n.find(l=>l.field==this))&&o!=a.find(l=>l.field==this)?(r.values[t]=o.create(r),1):i.config.address[this.id]!=null?(r.values[t]=i.field(this),0):(r.values[t]=this.create(r),1)}}}init(e){return[this,$l.of({field:this,create:e})]}get extension(){return this}}const kn={lowest:4,low:3,default:2,high:1,highest:0};function Ho(s){return e=>new Vx(e,s)}const Ti={highest:Ho(kn.highest),high:Ho(kn.high),default:Ho(kn.default),low:Ho(kn.low),lowest:Ho(kn.lowest)};class Vx{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class oh{of(e){return new Pu(this,e)}reconfigure(e){return oh.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Pu{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class kc{constructor(e,t,r,i,n,a){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=i,this.staticValues=n,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let i=[],n=Object.create(null),a=new Map;for(let f of Ow(e,t,a))f instanceof ws?i.push(f):(n[f.facet.id]||(n[f.facet.id]=[])).push(f);let o=Object.create(null),l=[],c=[];for(let f of i)o[f.id]=c.length<<1,c.push(g=>f.slot(g));let d=r?.config.facets;for(let f in n){let g=n[f],v=g[0].facet,b=d&&d[f]||[];if(g.every(m=>m.type==0))if(o[v.id]=l.length<<1|1,Lf(b,g))l.push(r.facet(v));else{let m=v.combine(g.map(O=>O.value));l.push(r&&v.compare(m,r.facet(v))?r.facet(v):m)}else{for(let m of g)m.type==0?(o[m.id]=l.length<<1|1,l.push(m.value)):(o[m.id]=c.length<<1,c.push(O=>m.dynamicSlot(O)));o[v.id]=c.length<<1,c.push(m=>gw(m,v,g))}}let u=c.map(f=>f(o));return new kc(e,a,u,o,l,n)}}function Ow(s,e,t){let r=[[],[],[],[],[]],i=new Map;function n(a,o){let l=i.get(a);if(l!=null){if(l<=o)return;let c=r[l].indexOf(a);c>-1&&r[l].splice(c,1),a instanceof Pu&&t.delete(a.compartment)}if(i.set(a,o),Array.isArray(a))for(let c of a)n(c,o);else if(a instanceof Pu){if(t.has(a.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(a.compartment)||a.inner;t.set(a.compartment,c),n(c,o)}else if(a instanceof Vx)n(a.inner,a.prec);else if(a instanceof ws)r[o].push(a),a.provides&&n(a.provides,o);else if(a instanceof cc)r[o].push(a),a.facet.extensions&&n(a.facet.extensions,kn.default);else{let c=a.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${a}).`);if(c==a)throw new Error(`Unrecognized extension value in extension set (${a}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(c,o)}}return n(s,kn.default),r.reduce((a,o)=>a.concat(o))}function ca(s,e){if(e&1)return 2;let t=e>>1,r=s.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;s.status[t]=4;let i=s.computeSlot(s,s.config.dynamicSlots[t]);return s.status[t]=2|i}function Cc(s,e){return e&1?s.config.staticValues[e>>1]:s.values[e>>1]}const Fx=Le.define(),Tu=Le.define({combine:s=>s.some(e=>e),static:!0}),Yx=Le.define({combine:s=>s.length?s[0]:void 0,static:!0}),Ux=Le.define(),Hx=Le.define(),Gx=Le.define(),Kx=Le.define({combine:s=>s.length?s[0]:!1});class ei{constructor(e,t){this.type=e,this.value=t}static define(){return new xw}}class xw{of(e){return new ei(this,e)}}class bw{constructor(e){this.map=e}of(e){return new ct(this,e)}}class ct{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new ct(this.type,t)}is(e){return this.type==e}static define(e={}){return new bw(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let i of e){let n=i.map(t);n&&r.push(n)}return r}}ct.reconfigure=ct.define();ct.appendConfig=ct.define();class ls{constructor(e,t,r,i,n,a){this.startState=e,this.changes=t,this.selection=r,this.effects=i,this.annotations=n,this.scrollIntoView=a,this._doc=null,this._state=null,r&&Zx(r,t.newLength),n.some(o=>o.type==ls.time)||(this.annotations=n.concat(ls.time.of(Date.now())))}static create(e,t,r,i,n,a){return new ls(e,t,r,i,n,a)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(ls.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}ls.time=ei.define();ls.userEvent=ei.define();ls.addToHistory=ei.define();ls.remote=ei.define();function vw(s,e){let t=[];for(let r=0,i=0;;){let n,a;if(r<s.length&&(i==e.length||e[i]>=s[r]))n=s[r++],a=s[r++];else if(i<e.length)n=e[i++],a=e[i++];else return t;!t.length||t[t.length-1]<n?t.push(n,a):t[t.length-1]<a&&(t[t.length-1]=a)}}function Jx(s,e,t){var r;let i,n,a;return t?(i=e.changes,n=cs.empty(e.changes.length),a=s.changes.compose(e.changes)):(i=e.changes.map(s.changes),n=s.changes.mapDesc(e.changes,!0),a=s.changes.compose(i)),{changes:a,selection:e.selection?e.selection.map(n):(r=s.selection)===null||r===void 0?void 0:r.map(i),effects:ct.mapEffects(s.effects,i).concat(ct.mapEffects(e.effects,n)),annotations:s.annotations.length?s.annotations.concat(e.annotations):e.annotations,scrollIntoView:s.scrollIntoView||e.scrollIntoView}}function Qu(s,e,t){let r=e.selection,i=ro(e.annotations);return e.userEvent&&(i=i.concat(ls.userEvent.of(e.userEvent))),{changes:e.changes instanceof cs?e.changes:cs.of(e.changes||[],t,s.facet(Yx)),selection:r&&(r instanceof re?r:re.single(r.anchor,r.head)),effects:ro(e.effects),annotations:i,scrollIntoView:!!e.scrollIntoView}}function eb(s,e,t){let r=Qu(s,e.length?e[0]:{},s.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let n=1;n<e.length;n++){e[n].filter===!1&&(t=!1);let a=!!e[n].sequential;r=Jx(r,Qu(s,e[n],a?r.changes.newLength:s.doc.length),a)}let i=ls.create(s,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return Sw(t?yw(i):i)}function yw(s){let e=s.startState,t=!0;for(let i of e.facet(Ux)){let n=i(s);if(n===!1){t=!1;break}Array.isArray(n)&&(t=t===!0?n:vw(t,n))}if(t!==!0){let i,n;if(t===!1)n=s.changes.invertedDesc,i=cs.empty(e.doc.length);else{let a=s.changes.filter(t);i=a.changes,n=a.filtered.mapDesc(a.changes).invertedDesc}s=ls.create(e,i,s.selection&&s.selection.map(n),ct.mapEffects(s.effects,n),s.annotations,s.scrollIntoView)}let r=e.facet(Hx);for(let i=r.length-1;i>=0;i--){let n=r[i](s);n instanceof ls?s=n:Array.isArray(n)&&n.length==1&&n[0]instanceof ls?s=n[0]:s=eb(e,ro(n),!1)}return s}function Sw(s){let e=s.startState,t=e.facet(Gx),r=s;for(let i=t.length-1;i>=0;i--){let n=t[i](s);n&&Object.keys(n).length&&(r=Jx(r,Qu(e,n,s.changes.newLength),!0))}return r==s?s:ls.create(e,s.changes,s.selection,r.effects,r.annotations,r.scrollIntoView)}const _w=[];function ro(s){return s==null?_w:Array.isArray(s)?s:[s]}var qt=(function(s){return s[s.Word=0]="Word",s[s.Space=1]="Space",s[s.Other=2]="Other",s})(qt||(qt={}));const ww=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let $u;try{$u=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function kw(s){if($u)return $u.test(s);for(let e=0;e<s.length;e++){let t=s[e];if(/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||ww.test(t)))return!0}return!1}function Cw(s){return e=>{if(!/\S/.test(e))return qt.Space;if(kw(e))return qt.Word;for(let t=0;t<s.length;t++)if(e.indexOf(s[t])>-1)return qt.Word;return qt.Other}}class vt{constructor(e,t,r,i,n,a){this.config=e,this.doc=t,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=n,a&&(a._state=this);for(let o=0;o<this.config.dynamicSlots.length;o++)ca(this,o<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(r==null){if(t)throw new RangeError("Field is not present in this state");return}return ca(this,r),Cc(this,r)}update(...e){return eb(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:i}=t;for(let o of e.effects)o.is(oh.reconfigure)?(t&&(i=new Map,t.compartments.forEach((l,c)=>i.set(c,l)),t=null),i.set(o.value.compartment,o.value.extension)):o.is(ct.reconfigure)?(t=null,r=o.value):o.is(ct.appendConfig)&&(t=null,r=ro(r).concat(o.value));let n;t?n=e.startState.values.slice():(t=kc.resolve(r,i,this),n=new vt(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let a=e.startState.facet(Tu)?e.newSelection:e.newSelection.asSingle();new vt(t,e.newDoc,a,n,(o,l)=>l.update(o,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:re.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),n=[r.range],a=ro(r.effects);for(let o=1;o<t.ranges.length;o++){let l=e(t.ranges[o]),c=this.changes(l.changes),d=c.map(i);for(let f=0;f<o;f++)n[f]=n[f].map(d);let u=i.mapDesc(c,!0);n.push(l.range.map(u)),i=i.compose(d),a=ct.mapEffects(a,d).concat(ct.mapEffects(ro(l.effects),u))}return{changes:i,selection:re.create(n,t.mainIndex),effects:a}}changes(e=[]){return e instanceof cs?e:cs.of(e,this.doc.length,this.facet(vt.lineSeparator))}toText(e){return kt.of(e.split(this.facet(vt.lineSeparator)||_u))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(ca(this,t),Cc(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let i=e[r];i instanceof ws&&this.config.address[i.id]!=null&&(t[r]=i.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(r){for(let n in r)if(Object.prototype.hasOwnProperty.call(e,n)){let a=r[n],o=e[n];i.push(a.init(l=>a.spec.fromJSON(o,l)))}}return vt.create({doc:e.doc,selection:re.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=kc.resolve(e.extensions||[],new Map),r=e.doc instanceof kt?e.doc:kt.of((e.doc||"").split(t.staticFacet(vt.lineSeparator)||_u)),i=e.selection?e.selection instanceof re?e.selection:re.single(e.selection.anchor,e.selection.head):re.single(0);return Zx(i,r.length),t.staticFacet(Tu)||(i=i.asSingle()),new vt(t,r,i,t.dynamicSlots.map(()=>null),(n,a)=>a.create(n),null)}get tabSize(){return this.facet(vt.tabSize)}get lineBreak(){return this.facet(vt.lineSeparator)||`
9
+ `}get readOnly(){return this.facet(Kx)}phrase(e,...t){for(let r of this.facet(vt.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,i)=>{if(i=="$")return"$";let n=+(i||1);return!n||n>t.length?r:t[n-1]})),e}languageDataAt(e,t,r=-1){let i=[];for(let n of this.facet(Fx))for(let a of n(this,t,r))Object.prototype.hasOwnProperty.call(a,e)&&i.push(a[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return Cw(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:i}=this.doc.lineAt(e),n=this.charCategorizer(e),a=e-r,o=e-r;for(;a>0;){let l=ms(t,a,!1);if(n(t.slice(l,a))!=qt.Word)break;a=l}for(;o<i;){let l=ms(t,o);if(n(t.slice(o,l))!=qt.Word)break;o=l}return a==o?null:re.range(a+r,o+r)}}vt.allowMultipleSelections=Tu;vt.tabSize=Le.define({combine:s=>s.length?s[0]:4});vt.lineSeparator=Yx;vt.readOnly=Kx;vt.phrases=Le.define({compare(s,e){let t=Object.keys(s),r=Object.keys(e);return t.length==r.length&&t.every(i=>s[i]==e[i])}});vt.languageData=Fx;vt.changeFilter=Ux;vt.transactionFilter=Hx;vt.transactionExtender=Gx;oh.reconfigure=ct.define();function ti(s,e,t={}){let r={};for(let i of s)for(let n of Object.keys(i)){let a=i[n],o=r[n];if(o===void 0)r[n]=a;else if(!(o===a||a===void 0))if(Object.hasOwnProperty.call(t,n))r[n]=t[n](o,a);else throw new Error("Config merge conflict for field "+n)}for(let i in e)r[i]===void 0&&(r[i]=e[i]);return r}class Fi{eq(e){return this==e}range(e,t=e){return ju.create(e,t,this)}}Fi.prototype.startSide=Fi.prototype.endSide=0;Fi.prototype.point=!1;Fi.prototype.mapMode=Ss.TrackDel;function Nf(s,e){return s==e||s.constructor==e.constructor&&s.eq(e)}let ju=class tb{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new tb(e,t,r)}};function Eu(s,e){return s.from-e.from||s.value.startSide-e.value.startSide}class Df{constructor(e,t,r,i){this.from=e,this.to=t,this.value=r,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,i=0){let n=r?this.to:this.from;for(let a=i,o=n.length;;){if(a==o)return a;let l=a+o>>1,c=n[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-t;if(l==a)return c>=0?a:o;c>=0?o=l:a=l+1}}between(e,t,r,i){for(let n=this.findIndex(t,-1e9,!0),a=this.findIndex(r,1e9,!1,n);n<a;n++)if(i(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,t){let r=[],i=[],n=[],a=-1,o=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],d=this.from[l]+e,u=this.to[l]+e,f,g;if(d==u){let v=t.mapPos(d,c.startSide,c.mapMode);if(v==null||(f=g=v,c.startSide!=c.endSide&&(g=t.mapPos(d,c.endSide),g<f)))continue}else if(f=t.mapPos(d,c.startSide),g=t.mapPos(u,c.endSide),f>g||f==g&&c.startSide>0&&c.endSide<=0)continue;(g-f||c.endSide-c.startSide)<0||(a<0&&(a=f),c.point&&(o=Math.max(o,g-f)),r.push(c),i.push(f-a),n.push(g-a))}return{mapped:r.length?new Df(i,n,r,o):null,pos:a}}}class xt{constructor(e,t,r,i){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=i}static create(e,t,r,i){return new xt(e,t,r,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:r=!1,filterFrom:i=0,filterTo:n=this.length}=e,a=e.filter;if(t.length==0&&!a)return this;if(r&&(t=t.slice().sort(Eu)),this.isEmpty)return t.length?xt.of(t):this;let o=new sb(this,null,-1).goto(0),l=0,c=[],d=new _i;for(;o.value||l<t.length;)if(l<t.length&&(o.from-t[l].from||o.startSide-t[l].value.startSide)>=0){let u=t[l++];d.addInner(u.from,u.to,u.value)||c.push(u)}else o.rangeIndex==1&&o.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(o.chunkIndex)<t[l].from)&&(!a||i>this.chunkEnd(o.chunkIndex)||n<this.chunkPos[o.chunkIndex])&&d.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!a||i>o.to||n<o.from||a(o.from,o.to,o.value))&&(d.addInner(o.from,o.to,o.value)||c.push(ju.create(o.from,o.to,o.value))),o.next());return d.finishInner(this.nextLayer.isEmpty&&!c.length?xt.empty:this.nextLayer.update({add:c,filter:a,filterFrom:i,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],i=-1;for(let a=0;a<this.chunk.length;a++){let o=this.chunkPos[a],l=this.chunk[a],c=e.touchesRange(o,o+l.length);if(c===!1)i=Math.max(i,l.maxPoint),t.push(l),r.push(e.mapPos(o));else if(c===!0){let{mapped:d,pos:u}=l.map(o,e);d&&(i=Math.max(i,d.maxPoint),t.push(d),r.push(u))}}let n=this.nextLayer.map(e);return t.length==0?n:new xt(r,t,n||xt.empty,i)}between(e,t,r){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let n=this.chunkPos[i],a=this.chunk[i];if(t>=n&&e<=n+a.length&&a.between(n,e-n,t-n,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return va.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return va.from(e).goto(t)}static compare(e,t,r,i,n=-1){let a=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=n),o=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=n),l=ng(a,o,r),c=new Go(a,l,n),d=new Go(o,l,n);r.iterGaps((u,f,g)=>og(c,u,d,f,g,i)),r.empty&&r.length==0&&og(c,0,d,0,0,i)}static eq(e,t,r=0,i){i==null&&(i=999999999);let n=e.filter(d=>!d.isEmpty&&t.indexOf(d)<0),a=t.filter(d=>!d.isEmpty&&e.indexOf(d)<0);if(n.length!=a.length)return!1;if(!n.length)return!0;let o=ng(n,a),l=new Go(n,o,0).goto(r),c=new Go(a,o,0).goto(r);for(;;){if(l.to!=c.to||!Ru(l.active,c.active)||l.point&&(!c.point||!Nf(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,r,i,n=-1){let a=new Go(e,null,n).goto(t),o=t,l=a.openStart;for(;;){let c=Math.min(a.to,r);if(a.point){let d=a.activeForPoint(a.to),u=a.pointFrom<t?d.length+1:a.point.startSide<0?d.length:Math.min(d.length,l);i.point(o,c,a.point,d,u,a.pointRank),l=Math.min(a.openEnd(c),d.length)}else c>o&&(i.span(o,c,a.active,l),l=a.openEnd(c));if(a.to>r)return l+(a.point&&a.to>r?1:0);o=a.to,a.next()}}static of(e,t=!1){let r=new _i;for(let i of e instanceof ju?[e]:t?Pw(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return xt.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=xt.empty;i=i.nextLayer)t=new xt(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}xt.empty=new xt([],[],null,-1);function Pw(s){if(s.length>1)for(let e=s[0],t=1;t<s.length;t++){let r=s[t];if(Eu(e,r)>0)return s.slice().sort(Eu);e=r}return s}xt.empty.nextLayer=xt.empty;class _i{finishChunk(e){this.chunks.push(new Df(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new _i)).add(e,t,r)}addInner(e,t,r){let i=e-this.lastTo||r.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(xt.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=xt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function ng(s,e,t){let r=new Map;for(let n of s)for(let a=0;a<n.chunk.length;a++)n.chunk[a].maxPoint<=0&&r.set(n.chunk[a],n.chunkPos[a]);let i=new Set;for(let n of e)for(let a=0;a<n.chunk.length;a++){let o=r.get(n.chunk[a]);o!=null&&(t?t.mapPos(o):o)==n.chunkPos[a]&&!t?.touchesRange(o,o+n.chunk[a].length)&&i.add(n.chunk[a])}return i}class sb{constructor(e,t,r,i=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let i=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(i)||this.layer.chunkEnd(this.chunkIndex)<e||i.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class va{constructor(e){this.heap=e}static from(e,t=null,r=-1){let i=[];for(let n=0;n<e.length;n++)for(let a=e[n];!a.isEmpty;a=a.nextLayer)a.maxPoint>=r&&i.push(new sb(a,t,r,n));return i.length==1?i[0]:new va(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)fd(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)fd(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),fd(this.heap,0)}}}function fd(s,e){for(let t=s[e];;){let r=(e<<1)+1;if(r>=s.length)break;let i=s[r];if(r+1<s.length&&i.compare(s[r+1])>=0&&(i=s[r+1],r++),t.compare(i)<0)break;s[r]=t,s[e]=i,e=r}}class Go{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=va.from(e,t,r)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){jl(this.active,e),jl(this.activeTo,e),jl(this.activeRank,e),this.minActive=ag(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:i,rank:n}=this.cursor;for(;t<this.activeRank.length&&(n-this.activeRank[t]||i-this.activeTo[t])>0;)t++;El(this.active,t,r),El(this.activeTo,t,i),El(this.activeRank,t,n),e&&El(e,t,this.cursor.from),this.minActive=ag(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),r&&jl(r,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=n,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=n.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(r){this.openStart=0;for(let i=r.length-1;i>=0&&r[i]<e;i--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function og(s,e,t,r,i,n){s.goto(e),t.goto(r);let a=r+i,o=r,l=r-e,c=!!n.boundChange;for(let d=!1;;){let u=s.to+l-t.to,f=u||s.endSide-t.endSide,g=f<0?s.to+l:t.to,v=Math.min(g,a);if(s.point||t.point?(s.point&&t.point&&Nf(s.point,t.point)&&Ru(s.activeForPoint(s.to),t.activeForPoint(t.to))||n.comparePoint(o,v,s.point,t.point),d=!1):(d&&n.boundChange(o),v>o&&!Ru(s.active,t.active)&&n.compareRange(o,v,s.active,t.active),c&&v<a&&(u||s.openEnd(g)!=t.openEnd(g))&&(d=!0)),g>a)break;o=g,f<=0&&s.next(),f>=0&&t.next()}}function Ru(s,e){if(s.length!=e.length)return!1;for(let t=0;t<s.length;t++)if(s[t]!=e[t]&&!Nf(s[t],e[t]))return!1;return!0}function jl(s,e){for(let t=e,r=s.length-1;t<r;t++)s[t]=s[t+1];s.pop()}function El(s,e,t){for(let r=s.length-1;r>=e;r--)s[r+1]=s[r];s[e]=t}function ag(s,e){let t=-1,r=1e9;for(let i=0;i<e.length;i++)(e[i]-r||s[i].endSide-s[t].endSide)<0&&(t=i,r=e[i]);return t}function jr(s,e,t=s.length){let r=0;for(let i=0;i<t&&i<s.length;)s.charCodeAt(i)==9?(r+=e-r%e,i++):(r++,i=ms(s,i));return r}function Au(s,e,t,r){for(let i=0,n=0;;){if(n>=e)return i;if(i==s.length)break;n+=s.charCodeAt(i)==9?t-n%t:1,i=ms(s,i)}return r===!0?-1:s.length}const Mu="ͼ",lg=typeof Symbol>"u"?"__"+Mu:Symbol.for(Mu),Lu=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),cg=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Yi{constructor(e,t){this.rules=[];let{finish:r}=t||{};function i(a){return/^@/.test(a)?[a]:a.split(/,\s*/)}function n(a,o,l,c){let d=[],u=/^@(\w+)\b/.exec(a[0]),f=u&&u[1]=="keyframes";if(u&&o==null)return l.push(a[0]+";");for(let g in o){let v=o[g];if(/&/.test(g))n(g.split(/,\s*/).map(b=>a.map(m=>b.replace(/&/,m))).reduce((b,m)=>b.concat(m)),v,l);else if(v&&typeof v=="object"){if(!u)throw new RangeError("The value of a property ("+g+") should be a primitive value.");n(i(g),v,d,f)}else v!=null&&d.push(g.replace(/_.*/,"").replace(/[A-Z]/g,b=>"-"+b.toLowerCase())+": "+v+";")}(d.length||f)&&l.push((r&&!u&&!c?a.map(r):a).join(", ")+" {"+d.join(" ")+"}")}for(let a in e)n(i(a),e[a],this.rules)}getRules(){return this.rules.join(`
10
+ `)}static newName(){let e=cg[lg]||1;return cg[lg]=e+1,Mu+e.toString(36)}static mount(e,t,r){let i=e[Lu],n=r&&r.nonce;i?n&&i.setNonce(n):i=new Tw(e,n),i.mount(Array.isArray(t)?t:[t],e)}}let hg=new Map;class Tw{constructor(e,t){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let n=hg.get(r);if(n)return e[Lu]=n;this.sheet=new i.CSSStyleSheet,hg.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Lu]=this}mount(e,t){let r=this.sheet,i=0,n=0;for(let a=0;a<e.length;a++){let o=e[a],l=this.modules.indexOf(o);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),l==-1){if(this.modules.splice(n++,0,o),r)for(let c=0;c<o.rules.length;c++)r.insertRule(o.rules[c],i++)}else{for(;n<l;)i+=this.modules[n++].rules.length;i+=o.rules.length,n++}}if(r)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let a="";for(let l=0;l<this.modules.length;l++)a+=this.modules[l].getRules()+`
11
+ `;this.styleTag.textContent=a;let o=t.head||t;this.styleTag.parentNode!=o&&o.insertBefore(this.styleTag,o.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Ui={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},ya={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Qw=typeof navigator<"u"&&/Mac/.test(navigator.platform),$w=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var ys=0;ys<10;ys++)Ui[48+ys]=Ui[96+ys]=String(ys);for(var ys=1;ys<=24;ys++)Ui[ys+111]="F"+ys;for(var ys=65;ys<=90;ys++)Ui[ys]=String.fromCharCode(ys+32),ya[ys]=String.fromCharCode(ys);for(var pd in Ui)ya.hasOwnProperty(pd)||(ya[pd]=Ui[pd]);function jw(s){var e=Qw&&s.metaKey&&s.shiftKey&&!s.ctrlKey&&!s.altKey||$w&&s.shiftKey&&s.key&&s.key.length==1||s.key=="Unidentified",t=!e&&s.key||(s.shiftKey?ya:Ui)[s.keyCode]||s.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Lt(){var s=arguments[0];typeof s=="string"&&(s=document.createElement(s));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var i=t[r];typeof i=="string"?s.setAttribute(r,i):i!=null&&(s[r]=i)}e++}for(;e<arguments.length;e++)rb(s,arguments[e]);return s}function rb(s,e){if(typeof e=="string")s.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)s.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)rb(s,e[t]);else throw new RangeError("Unsupported child node: "+e)}let Ds=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Nu=typeof document<"u"?document:{documentElement:{style:{}}};const Du=/Edge\/(\d+)/.exec(Ds.userAgent),ib=/MSIE \d/.test(Ds.userAgent),Iu=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ds.userAgent),ah=!!(ib||Iu||Du),dg=!ah&&/gecko\/(\d+)/i.test(Ds.userAgent),md=!ah&&/Chrome\/(\d+)/.exec(Ds.userAgent),ug="webkitFontSmoothing"in Nu.documentElement.style,Bu=!ah&&/Apple Computer/.test(Ds.vendor),fg=Bu&&(/Mobile\/\w+/.test(Ds.userAgent)||Ds.maxTouchPoints>2);var Re={mac:fg||/Mac/.test(Ds.platform),windows:/Win/.test(Ds.platform),linux:/Linux|X11/.test(Ds.platform),ie:ah,ie_version:ib?Nu.documentMode||6:Iu?+Iu[1]:Du?+Du[1]:0,gecko:dg,gecko_version:dg?+(/Firefox\/(\d+)/.exec(Ds.userAgent)||[0,0])[1]:0,chrome:!!md,chrome_version:md?+md[1]:0,ios:fg,android:/Android\b/.test(Ds.userAgent),webkit:ug,webkit_version:ug?+(/\bAppleWebKit\/(\d+)/.exec(Ds.userAgent)||[0,0])[1]:0,safari:Bu,safari_version:Bu?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ds.userAgent)||[0,0])[1]:0,tabSize:Nu.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function If(s,e){for(let t in s)t=="class"&&e.class?e.class+=" "+s.class:t=="style"&&e.style?e.style+=";"+s.style:e[t]=s[t];return e}const Pc=Object.create(null);function Bf(s,e,t){if(s==e)return!0;s||(s=Pc),e||(e=Pc);let r=Object.keys(s),i=Object.keys(e);if(r.length-0!=i.length-0)return!1;for(let n of r)if(n!=t&&(i.indexOf(n)==-1||s[n]!==e[n]))return!1;return!0}function Ew(s,e){for(let t=s.attributes.length-1;t>=0;t--){let r=s.attributes[t].name;e[r]==null&&s.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?s.style.cssText=r:s.getAttribute(t)!=r&&s.setAttribute(t,r)}}function pg(s,e,t){let r=!1;if(e)for(let i in e)t&&i in t||(r=!0,i=="style"?s.style.cssText="":s.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(r=!0,i=="style"?s.style.cssText=t[i]:s.setAttribute(i,t[i]));return r}function Rw(s){let e=Object.create(null);for(let t=0;t<s.attributes.length;t++){let r=s.attributes[t];e[r.name]=r.value}return e}class Rr{eq(e){return!1}updateDOM(e,t,r){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var _s=(function(s){return s[s.Text=0]="Text",s[s.WidgetBefore=1]="WidgetBefore",s[s.WidgetAfter=2]="WidgetAfter",s[s.WidgetRange=3]="WidgetRange",s})(_s||(_s={}));class Fe extends Fi{constructor(e,t,r,i){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=i}get heightRelevant(){return!1}static mark(e){return new qa(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Rn(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:n,end:a}=nb(e,t);r=(n?t?-3e8:-1:5e8)-1,i=(a?t?2e8:1:-6e8)+1}return new Rn(e,r,i,t,e.widget||null,!0)}static line(e){return new za(e)}static set(e,t=!1){return xt.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Fe.none=xt.empty;class qa extends Fe{constructor(e){let{start:t,end:r}=nb(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?If(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Pc}eq(e){return this==e||e instanceof qa&&this.tagName==e.tagName&&Bf(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}qa.prototype.point=!1;class za extends Fe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof za&&this.spec.class==e.spec.class&&Bf(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}za.prototype.mapMode=Ss.TrackBefore;za.prototype.point=!0;class Rn extends Fe{constructor(e,t,r,i,n,a){super(t,r,n,e),this.block=i,this.isReplace=a,this.mapMode=i?t<=0?Ss.TrackBefore:Ss.TrackAfter:Ss.TrackDel}get type(){return this.startSide!=this.endSide?_s.WidgetRange:this.startSide<=0?_s.WidgetBefore:_s.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Rn&&Aw(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Rn.prototype.point=!0;function nb(s,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=s;return t==null&&(t=s.inclusive),r==null&&(r=s.inclusive),{start:t??e,end:r??e}}function Aw(s,e){return s==e||!!(s&&e&&s.compare(e))}function io(s,e,t,r=0){let i=t.length-1;i>=0&&t[i]+r>=s?t[i]=Math.max(t[i],e):t.push(s,e)}class Sa extends Fi{constructor(e,t,r){super(),this.tagName=e,this.attributes=t,this.rank=r}eq(e){return e==this||e instanceof Sa&&this.tagName==e.tagName&&Bf(this.attributes,e.attributes)}static create(e){return new Sa(e.tagName,e.attributes||Pc,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return xt.of(e,t)}}Sa.prototype.startSide=Sa.prototype.endSide=-1;function _a(s){let e;return s.nodeType==11?e=s.getSelection?s:s.ownerDocument:e=s,e.getSelection()}function Wu(s,e){return e?s==e||s.contains(e.nodeType!=1?e.parentNode:e):!1}function ha(s,e){if(!e.anchorNode)return!1;try{return Wu(s,e.anchorNode)}catch{return!1}}function da(s){return s.nodeType==3?ka(s,0,s.nodeValue.length).getClientRects():s.nodeType==1?s.getClientRects():[]}function ua(s,e,t,r){return t?mg(s,e,t,r,-1)||mg(s,e,t,r,1):!1}function Hi(s){for(var e=0;;e++)if(s=s.previousSibling,!s)return e}function Tc(s){return s.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(s.nodeName)}function mg(s,e,t,r,i){for(;;){if(s==t&&e==r)return!0;if(e==(i<0?0:wi(s))){if(s.nodeName=="DIV")return!1;let n=s.parentNode;if(!n||n.nodeType!=1)return!1;e=Hi(s)+(i<0?0:1),s=n}else if(s.nodeType==1){if(s=s.childNodes[e+(i<0?-1:0)],s.nodeType==1&&s.contentEditable=="false")return!1;e=i<0?wi(s):0}else return!1}}function wi(s){return s.nodeType==3?s.nodeValue.length:s.childNodes.length}function wa(s,e){let{left:t,right:r}=s;if(t==r)return s;let i=e?t:r;return{left:i,right:i,top:s.top,bottom:s.bottom}}function Mw(s){let e=s.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:s.innerWidth,top:0,bottom:s.innerHeight}}function ob(s,e){let t=e.width/s.offsetWidth,r=e.height/s.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-s.offsetWidth)<1)&&(t=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-s.offsetHeight)<1)&&(r=1),{scaleX:t,scaleY:r}}function Lw(s,e,t,r,i,n,a,o){let l=s.ownerDocument,c=l.defaultView||window;for(let d=s,u=!1;d&&!u;)if(d.nodeType==1){let f,g=d==l.body,v=1,b=1;if(g)f=Mw(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(u=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let p=d.getBoundingClientRect();({scaleX:v,scaleY:b}=ob(d,p)),f={left:p.left,right:p.left+d.clientWidth*v,top:p.top,bottom:p.top+d.clientHeight*b}}let m=0,O=0;if(i=="nearest")e.top<f.top+a?(O=e.top-(f.top+a),t>0&&e.bottom>f.bottom+O&&(O=e.bottom-f.bottom+a)):e.bottom>f.bottom-a&&(O=e.bottom-f.bottom+a,t<0&&e.top-O<f.top&&(O=e.top-(f.top+a)));else{let p=e.bottom-e.top,x=f.bottom-f.top;O=(i=="center"&&p<=x?e.top+p/2-x/2:i=="start"||i=="center"&&t<0?e.top-a:e.bottom-x+a)-f.top}if(r=="nearest"?e.left<f.left+n?(m=e.left-(f.left+n),t>0&&e.right>f.right+m&&(m=e.right-f.right+n)):e.right>f.right-n&&(m=e.right-f.right+n,t<0&&e.left<f.left+m&&(m=e.left-(f.left+n))):m=(r=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:r=="start"==o?e.left-n:e.right-(f.right-f.left)+n)-f.left,m||O)if(g)c.scrollBy(m,O);else{let p=0,x=0;if(O){let y=d.scrollTop;d.scrollTop+=O/b,x=(d.scrollTop-y)*b}if(m){let y=d.scrollLeft;d.scrollLeft+=m/v,p=(d.scrollLeft-y)*v}e={left:e.left-p,top:e.top-x,right:e.right-p,bottom:e.bottom-x},p&&Math.abs(p-m)<1&&(r="nearest"),x&&Math.abs(x-O)<1&&(i="nearest")}if(g)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function ab(s,e=!0){let t=s.ownerDocument,r=null,i=null;for(let n=s.parentNode;n&&!(n==t.body||(!e||r)&&i);)if(n.nodeType==1)!i&&n.scrollHeight>n.clientHeight&&(i=n),e&&!r&&n.scrollWidth>n.clientWidth&&(r=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:r,y:i}}class Nw{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?wi(t):0),r,Math.min(e.focusOffset,r?wi(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let wn=null;Re.safari&&Re.safari_version>=26&&(wn=!1);function lb(s){if(s.setActive)return s.setActive();if(wn)return s.focus(wn);let e=[];for(let t=s;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(s.focus(wn==null?{get preventScroll(){return wn={preventScroll:!0},!0}}:void 0),!wn){wn=!1;for(let t=0;t<e.length;){let r=e[t++],i=e[t++],n=e[t++];r.scrollTop!=i&&(r.scrollTop=i),r.scrollLeft!=n&&(r.scrollLeft=n)}}}let gg;function ka(s,e,t=e){let r=gg||(gg=document.createRange());return r.setEnd(s,t),r.setStart(s,e),r}function no(s,e,t,r){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let n=new KeyboardEvent("keydown",i);n.synthetic=!0,s.dispatchEvent(n);let a=new KeyboardEvent("keyup",i);return a.synthetic=!0,s.dispatchEvent(a),n.defaultPrevented||a.defaultPrevented}function Dw(s){for(;s;){if(s&&(s.nodeType==9||s.nodeType==11&&s.host))return s;s=s.assignedSlot||s.parentNode}return null}function Iw(s,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,wi(t));;)if(r){if(t.nodeType!=1)return!1;let i=t.childNodes[r-1];i.contentEditable=="false"?r--:(t=i,r=wi(t))}else{if(t==s)return!0;r=Hi(t),t=t.parentNode}}function cb(s){return s instanceof Window?s.pageYOffset>Math.max(0,s.document.documentElement.scrollHeight-s.innerHeight-4):s.scrollTop>Math.max(1,s.scrollHeight-s.clientHeight-4)}function hb(s,e){for(let t=s,r=e;;){if(t.nodeType==3&&r>0)return{node:t,offset:r};if(t.nodeType==1&&r>0){if(t.contentEditable=="false")return null;t=t.childNodes[r-1],r=wi(t)}else if(t.parentNode&&!Tc(t))r=Hi(t),t=t.parentNode;else return null}}function db(s,e){for(let t=s,r=e;;){if(t.nodeType==3&&r<t.nodeValue.length)return{node:t,offset:r};if(t.nodeType==1&&r<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[r],r=0}else if(t.parentNode&&!Tc(t))r=Hi(t)+1,t=t.parentNode;else return null}}class $r{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new $r(e.parentNode,Hi(e),t)}static after(e,t){return new $r(e.parentNode,Hi(e)+1,t)}}var It=(function(s){return s[s.LTR=0]="LTR",s[s.RTL=1]="RTL",s})(It||(It={}));const An=It.LTR,Wf=It.RTL;function ub(s){let e=[];for(let t=0;t<s.length;t++)e.push(1<<+s[t]);return e}const Bw=ub("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Ww=ub("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Xu=Object.create(null),Wr=[];for(let s of["()","[]","{}"]){let e=s.charCodeAt(0),t=s.charCodeAt(1);Xu[e]=t,Xu[t]=-e}function fb(s){return s<=247?Bw[s]:1424<=s&&s<=1524?2:1536<=s&&s<=1785?Ww[s-1536]:1774<=s&&s<=2220?4:8192<=s&&s<=8204?256:64336<=s&&s<=65023?4:1}const Xw=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class Yr{get dir(){return this.level%2?Wf:An}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,r,i){let n=-1;for(let a=0;a<e.length;a++){let o=e[a];if(o.from<=t&&o.to>=t){if(o.level==r)return a;(n<0||(i!=0?i<0?o.from<t:o.to>t:e[n].level>o.level))&&(n=a)}}if(n<0)throw new RangeError("Index out of range");return n}}function pb(s,e){if(s.length!=e.length)return!1;for(let t=0;t<s.length;t++){let r=s[t],i=e[t];if(r.from!=i.from||r.to!=i.to||r.direction!=i.direction||!pb(r.inner,i.inner))return!1}return!0}const Dt=[];function qw(s,e,t,r,i){for(let n=0;n<=r.length;n++){let a=n?r[n-1].to:e,o=n<r.length?r[n].from:t,l=n?256:i;for(let c=a,d=l,u=l;c<o;c++){let f=fb(s.charCodeAt(c));f==512?f=d:f==8&&u==4&&(f=16),Dt[c]=f==4?2:f,f&7&&(u=f),d=f}for(let c=a,d=l,u=l;c<o;c++){let f=Dt[c];if(f==128)c<o-1&&d==Dt[c+1]&&d&24?f=Dt[c]=d:Dt[c]=256;else if(f==64){let g=c+1;for(;g<o&&Dt[g]==64;)g++;let v=c&&d==8||g<t&&Dt[g]==8?u==1?1:8:256;for(let b=c;b<g;b++)Dt[b]=v;c=g-1}else f==8&&u==1&&(Dt[c]=1);d=f,f&7&&(u=f)}}}function zw(s,e,t,r,i){let n=i==1?2:1;for(let a=0,o=0,l=0;a<=r.length;a++){let c=a?r[a-1].to:e,d=a<r.length?r[a].from:t;for(let u=c,f,g,v;u<d;u++)if(g=Xu[f=s.charCodeAt(u)])if(g<0){for(let b=o-3;b>=0;b-=3)if(Wr[b+1]==-g){let m=Wr[b+2],O=m&2?i:m&4?m&1?n:i:0;O&&(Dt[u]=Dt[Wr[b]]=O),o=b;break}}else{if(Wr.length==189)break;Wr[o++]=u,Wr[o++]=f,Wr[o++]=l}else if((v=Dt[u])==2||v==1){let b=v==i;l=b?0:1;for(let m=o-3;m>=0;m-=3){let O=Wr[m+2];if(O&2)break;if(b)Wr[m+2]|=2;else{if(O&4)break;Wr[m+2]|=4}}}}}function Zw(s,e,t,r){for(let i=0,n=r;i<=t.length;i++){let a=i?t[i-1].to:s,o=i<t.length?t[i].from:e;for(let l=a;l<o;){let c=Dt[l];if(c==256){let d=l+1;for(;;)if(d==o){if(i==t.length)break;d=t[i++].to,o=i<t.length?t[i].from:e}else if(Dt[d]==256)d++;else break;let u=n==1,f=(d<e?Dt[d]:r)==1,g=u==f?u?1:2:r;for(let v=d,b=i,m=b?t[b-1].to:s;v>l;)v==m&&(v=t[--b].from,m=b?t[b-1].to:s),Dt[--v]=g;l=d}else n=c,l++}}}function qu(s,e,t,r,i,n,a){let o=r%2?2:1;if(r%2==i%2)for(let l=e,c=0;l<t;){let d=!0,u=!1;if(c==n.length||l<n[c].from){let b=Dt[l];b!=o&&(d=!1,u=b==16)}let f=!d&&o==1?[]:null,g=d?r:r+1,v=l;e:for(;;)if(c<n.length&&v==n[c].from){if(u)break e;let b=n[c];if(!d)for(let m=b.to,O=c+1;;){if(m==t)break e;if(O<n.length&&n[O].from==m)m=n[O++].to;else{if(Dt[m]==o)break e;break}}if(c++,f)f.push(b);else{b.from>l&&a.push(new Yr(l,b.from,g));let m=b.direction==An!=!(g%2);zu(s,m?r+1:r,i,b.inner,b.from,b.to,a),l=b.to}v=b.to}else{if(v==t||(d?Dt[v]!=o:Dt[v]==o))break;v++}f?qu(s,l,v,r+1,i,f,a):l<v&&a.push(new Yr(l,v,g)),l=v}else for(let l=t,c=n.length;l>e;){let d=!0,u=!1;if(!c||l>n[c-1].to){let b=Dt[l-1];b!=o&&(d=!1,u=b==16)}let f=!d&&o==1?[]:null,g=d?r:r+1,v=l;e:for(;;)if(c&&v==n[c-1].to){if(u)break e;let b=n[--c];if(!d)for(let m=b.from,O=c;;){if(m==e)break e;if(O&&n[O-1].to==m)m=n[--O].from;else{if(Dt[m-1]==o)break e;break}}if(f)f.push(b);else{b.to<l&&a.push(new Yr(b.to,l,g));let m=b.direction==An!=!(g%2);zu(s,m?r+1:r,i,b.inner,b.from,b.to,a),l=b.from}v=b.from}else{if(v==e||(d?Dt[v-1]!=o:Dt[v-1]==o))break;v--}f?qu(s,v,l,r+1,i,f,a):v<l&&a.push(new Yr(v,l,g)),l=v}}function zu(s,e,t,r,i,n,a){let o=e%2?2:1;qw(s,i,n,r,o),zw(s,i,n,r,o),Zw(i,n,r,o),qu(s,i,n,e,t,r,a)}function Vw(s,e,t){if(!s)return[new Yr(0,0,e==Wf?1:0)];if(e==An&&!t.length&&!Xw.test(s))return mb(s.length);if(t.length)for(;s.length>Dt.length;)Dt[Dt.length]=256;let r=[],i=e==An?0:1;return zu(s,i,i,t,0,s.length,r),r}function mb(s){return[new Yr(0,s,0)]}let gb="";function Fw(s,e,t,r,i){var n;let a=r.head-s.from,o=Yr.find(e,a,(n=r.bidiLevel)!==null&&n!==void 0?n:-1,r.assoc),l=e[o],c=l.side(i,t);if(a==c){let f=o+=i?1:-1;if(f<0||f>=e.length)return null;l=e[o=f],a=l.side(!i,t),c=l.side(i,t)}let d=ms(s.text,a,l.forward(i,t));(d<l.from||d>l.to)&&(d=c),gb=s.text.slice(Math.min(a,d),Math.max(a,d));let u=o==(i?e.length-1:0)?null:e[o+(i?1:-1)];return u&&d==c&&u.level+(i?0:1)<l.level?re.cursor(u.side(!i,t)+s.from,u.forward(i,t)?1:-1,u.level):re.cursor(d+s.from,l.forward(i,t)?-1:1,l.level)}function Yw(s,e,t){for(let r=e;r<t;r++){let i=fb(s.charCodeAt(r));if(i==1)return An;if(i==2||i==4)return Wf}return An}const Ob=Le.define(),xb=Le.define(),bb=Le.define(),vb=Le.define(),Zu=Le.define(),yb=Le.define(),Sb=Le.define(),Xf=Le.define(),qf=Le.define(),_b=Le.define({combine:s=>s.some(e=>e)}),wb=Le.define({combine:s=>s.some(e=>e)}),kb=Le.define();class oo{constructor(e,t,r,i,n,a=!1){this.range=e,this.y=t,this.x=r,this.yMargin=i,this.xMargin=n,this.isSnapshot=a}map(e){return e.empty?this:new oo(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new oo(re.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Rl=ct.define({map:(s,e)=>s.map(e)}),Cb=ct.define();function Fs(s,e,t){let r=s.facet(vb);r.length?r[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const vi=Le.define({combine:s=>s.length?s[0]:!0});let Uw=0;const Jn=Le.define({combine(s){return s.filter((e,t)=>{for(let r=0;r<t;r++)if(s[r].plugin==e.plugin)return!1;return!0})}});class es{constructor(e,t,r,i,n){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=i,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(Jn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Jn.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:r,eventObservers:i,provide:n,decorations:a}=t||{};return new es(Uw++,e,r,i,o=>{let l=[];return a&&l.push(lh.of(c=>{let d=c.plugin(o);return d?a(d):Fe.none})),n&&l.push(n(o)),l})}static fromClass(e,t){return es.define((r,i)=>new e(r,i),t)}}class gd{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(Fs(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Fs(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){Fs(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Pb=Le.define(),zf=Le.define(),lh=Le.define(),Tb=Le.define(),Zf=Le.define(),Za=Le.define(),Qb=Le.define();function Og(s,e){let t=s.state.facet(Qb);if(!t.length)return t;let r=t.map(n=>n instanceof Function?n(s):n),i=[];return xt.spans(r,e.from,e.to,{point(){},span(n,a,o,l){let c=n-e.from,d=a-e.from,u=i;for(let f=o.length-1;f>=0;f--,l--){let g=o[f].spec.bidiIsolate,v;if(g==null&&(g=Yw(e.text,c,d)),l>0&&u.length&&(v=u[u.length-1]).to==c&&v.direction==g)v.to=d,u=v.inner;else{let b={from:c,to:d,direction:g,inner:[]};u.push(b),u=b.inner}}}}),i}const $b=Le.define();function Vf(s){let e=0,t=0,r=0,i=0;for(let n of s.state.facet($b)){let a=n(s);a&&(a.left!=null&&(e=Math.max(e,a.left)),a.right!=null&&(t=Math.max(t,a.right)),a.top!=null&&(r=Math.max(r,a.top)),a.bottom!=null&&(i=Math.max(i,a.bottom)))}return{left:e,right:t,top:r,bottom:i}}const ia=Le.define();class fr{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new fr(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,r=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>r.toA)){if(i.toA<r.fromA)break;r=r.join(i),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(t.length==0)return e;let r=[];for(let i=0,n=0,a=0;;){let o=i<e.length?e[i].fromB:1e9,l=n<t.length?t[n]:1e9,c=Math.min(o,l);if(c==1e9)break;let d=c+a,u=c,f=d;for(;;)if(n<t.length&&t[n]<=u){let g=t[n+1];n+=2,u=Math.max(u,g);for(let v=i;v<e.length&&e[v].fromB<=u;v++)a=e[v].toA-e[v].toB;f=Math.max(f,g+a)}else if(i<e.length&&e[i].fromB<=u){let g=e[i++];u=Math.max(u,g.toB),f=Math.max(f,g.toA),a=g.toA-g.toB}else break;r.push(new fr(d,f,c,u))}return r}}class Qc{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=cs.empty(this.startState.doc.length);for(let n of r)this.changes=this.changes.compose(n.changes);let i=[];this.changes.iterChangedRanges((n,a,o,l)=>i.push(new fr(n,a,o,l))),this.changedRanges=i}static create(e,t,r){return new Qc(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const Hw=[];class Jt{constructor(e,t,r=0){this.dom=e,this.length=t,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return Hw}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Ew(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let r=t;for(let i of this.children){if(i==e)return r;r+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,r){return null}domPosFor(e,t){let r=Hi(this.dom),i=this.length?e>0:t>0;return new $r(this.parent.dom,r+(i?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof hh)return e;return null}static get(e){return e.cmTile}}class ch extends Jt{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,r=null,i,n=e?.node==t?e:null,a=0;for(let o of this.children){if(o.sync(e),a+=o.length+o.breakAfter,i=r?r.nextSibling:t.firstChild,n&&i!=o.dom&&(n.written=!0),o.dom.parentNode==t)for(;i&&i!=o.dom;)i=xg(i);else t.insertBefore(o.dom,i);r=o.dom}for(i=r?r.nextSibling:t.firstChild,n&&i&&(n.written=!0);i;)i=xg(i);this.length=a}}function xg(s){let e=s.nextSibling;return s.parentNode.removeChild(s),e}class hh extends ch{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=Jt.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],r=this,i=0,n=0;;)if(i==r.children.length){if(!t.length)return;r=r.parent,r.breakAfter&&n++,i=t.pop()}else{let a=r.children[i++];if(a instanceof yi)t.push(i),r=a,i=0;else{let o=n+a.length,l=e(a,n);if(l!==void 0)return l;n=o+a.breakAfter}}}resolveBlock(e,t){let r,i=-1,n,a=-1;if(this.blockTiles((o,l)=>{let c=l+o.length;if(e>=l&&e<=c){if(o.isWidget()&&t>=-1&&t<=1){if(o.flags&32)return!0;o.flags&16&&(r=void 0)}(l<e||e==c&&(t<-1?o.length:o.covers(1)))&&(!r||!o.isWidget()&&r.isWidget())&&(r=o,i=e-l),(c>e||e==l&&(t>1?o.length:o.covers(-1)))&&(!n||!o.isWidget()&&n.isWidget())&&(n=o,a=e-l)}}),!r&&!n)throw new Error("No tile at position "+e);return r&&t<0||!n?{tile:r,offset:i}:{tile:n,offset:a}}}class yi extends ch{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let r=new yi(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class po extends ch{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new po(t||document.createElement("div"),e);return(!t||!r)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,r){let i=null,n=-1,a=null,o=-1;function l(d,u){for(let f=0,g=0;f<d.children.length&&g<=u;f++){let v=d.children[f],b=g+v.length;b>=u&&(v.isComposite()?l(v,u-g):(!a||a.isHidden&&(t>0&&!(a.flags&32)||r&&Kw(a,v)))&&(b>u||v.flags&32&&t<=1)?(a=v,o=u-g):(g<u||v.flags&16&&!v.isHidden&&t>=-1)&&(i=v,n=u-g)),g=b}}l(this,e);let c=(t<0?i:a)||i||a;return c?{tile:c,offset:c==i?n:o}:null}coordsIn(e,t,r){let i=this.resolveInline(e,t,!0);return i?i.tile.coordsIn(Math.max(0,i.offset),t,r):Gw(this)}domIn(e,t){let r=this.resolveInline(e,t);if(r){let{tile:i,offset:n}=r;if(this.dom.contains(i.dom))return i.isText()?new $r(i.dom,Math.min(i.dom.nodeValue.length,n)):i.domPosFor(n,i.flags&16?1:i.flags&32?-1:t);let a=r.tile.parent,o=!1;for(let l of a.children){if(o)return new $r(l.dom,0);l==r.tile&&(o=!0)}}return new $r(this.dom,0)}}function Gw(s){let e=s.dom.lastChild;if(!e)return s.dom.getBoundingClientRect();let t=da(e);return t[t.length-1]||null}function Kw(s,e){let t=s.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.top<t.bottom}class Vs extends ch{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let r=new Vs(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Tn extends Jt{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t,r){let i=this.dom.nodeValue.length;e>i&&(e=i);let n=e,a=e,o=0;e==0&&t<0||e==i&&t>=0?Re.chrome||Re.gecko||(e?(n--,o=1):a<i&&(a++,o=-1)):t<0?n--:a<i&&a++;let l=ka(this.dom,n,a).getClientRects();if(!l.length)return null;let c=l[(o?o<0:t>=0)?0:l.length-1];return Re.safari&&!o&&c.width==0&&(c=Array.prototype.find.call(l,d=>d.width)||c),r==null?c:wa(c,(o?o>0:t<0)==r)}static of(e,t){let r=new Tn(t||document.createTextNode(e),e);return t||(r.flags|=2),r}}class Mn extends Jt{constructor(e,t,r,i){super(e,t,i),this.widget=r}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,r){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(r)return wa(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let n=this.dom.getClientRects(),a=null;if(!n.length)return null;let o=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=o?n.length-1:0;a=n[l],!(e>0?l==0:l==n.length-1||a.top<a.bottom);l+=o?-1:1);return wa(a,!o)}}get overrideDOMText(){if(!this.length)return kt.empty;let{root:e}=this;if(!e)return kt.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,r,i,n){return n||(n=e.toDOM(t),e.editable||(n.contentEditable="false")),new Mn(n,r,e,i)}}class $c extends Jt{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!0}get overrideDOMText(){return kt.empty}coordsIn(e,t,r){let i=this.dom.getBoundingClientRect();return r==null?i:wa(i,t>0==r)}}class Jw{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,r){let{tile:i,index:n,beforeBreak:a,parents:o}=this;for(;e||t>0;)if(i.isComposite())if(a){if(!e)break;r&&r.break(),e--,a=!1}else if(n==i.children.length){if(!e&&!o.length)break;r&&r.leave(i),a=!!i.breakAfter,{tile:i,index:n}=o.pop(),n++}else{let l=i.children[n],c=l.breakAfter;(t>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(a=!!c,n++,e-=l.length):(o.push({tile:i,index:n}),i=l,n=0,r&&l.isComposite()&&r.enter(l))}else{let l=i.length;if(n<l&&e){let c=Math.min(e,l-n);r&&r.skip(i,n,n+c),e-=c,n+=c}if(n==l)a=!!i.breakAfter,{tile:i,index:n}=o.pop(),n++;else if(!e)break}return this.tile=i,this.index=n,this.beforeBreak=a,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class ek{constructor(e,t,r,i){this.from=e,this.to=t,this.wrapper=r,this.rank=i}}class tk{constructor(e,t,r){this.cache=e,this.root=t,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,r,i){var n;this.flushBuffer();let a=this.ensureMarks(t,r),o=a.lastChild;if(o&&o.isText()&&!(o.flags&8)&&o.length+e.length<512){this.cache.reused.set(o,2);let l=a.children[a.children.length-1]=new Tn(o.dom,o.text+e);l.parent=a}else a.append(i||Tn.of(e,(n=this.cache.find(Tn))===null||n===void 0?void 0:n.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let r=this.curLine;r.dom!=t.line.dom&&(r.setDOM(this.cache.reused.has(t.line)?Od(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let i=r;for(let o=t.marks.length-1;o>=0;o--){let l=t.marks[o],c=i.lastChild;if(c instanceof Vs&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(Od(l.dom)),i=c;else{if(this.cache.reused.get(l)){let u=Jt.get(l.dom);u&&u.setDOM(Od(l.dom))}let d=Vs.of(l.mark,l.dom);i.append(d),i=d}this.cache.reused.set(l,2)}let n=Jt.get(e.text);n&&this.cache.reused.set(n,2);let a=new Tn(e.text,e.text.nodeValue);a.flags|=8,this.pos=e.range.toB,i.append(a)}addInlineWidget(e,t,r){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let n=this.ensureMarks(t,r);!i&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,r){this.flushBuffer(),this.ensureMarks(t,r).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var r;e||(e=jb);let i=po.start(e,t||((r=this.cache.find(po))===null||r===void 0?void 0:r.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=i)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var r;let i=this.curLine;for(let n=e.length-1;n>=0;n--){let a=e[n],o;if(t>0&&(o=i.lastChild)&&o instanceof Vs&&o.mark.eq(a))i=o,t--;else{let l=Vs.of(a,(r=this.cache.find(Vs,c=>c.mark.eq(a)))===null||r===void 0?void 0:r.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!bg(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Re.ios&&bg(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(xd,0,32)||new Mn(xd.toDOM(),0,xd,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=e.rank*102+e.value.rank,r=new ek(e.from,e.to,e.value,t),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-r.rank||this.wrappers[i-1].to-r.to)<0;)i--;this.wrappers.splice(i,0,r)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let r of this.wrappers){let i=t.lastChild;if(r.from<this.pos&&i instanceof yi&&i.wrapper.eq(r.wrapper))t=i;else{let n=yi.of(r.wrapper,(e=this.cache.find(yi,a=>a.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);t.append(n),t=n}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),r=this.cache.find($c,void 0,1);return r&&(r.flags=t),r||new $c(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class sk{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:n,done:a}=this.cursor.next(this.skipCount);if(this.skipCount=0,a)throw new Error("Ran out of text content when drawing inline views");this.text=i;let o=this.textOff=Math.min(e,i.length);return n?null:i.slice(0,o)}let t=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,t);return this.textOff=t,r}}const jc=[Mn,po,Tn,Vs,$c,yi,hh];for(let s=0;s<jc.length;s++)jc[s].bucket=s;class rk{constructor(e){this.view=e,this.buckets=jc.map(()=>[]),this.index=jc.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,r=this.buckets[t];r.length<6?r.push(e):r[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,r=2){let i=e.bucket,n=this.buckets[i],a=this.index[i];for(let o=0;o<n.length;o++){let l=(o+a)%n.length,c=n[l];if((!t||t(c))&&!this.reused.has(c))return n.splice(l,1),l<a&&this.index[i]--,this.reused.set(c,r),c}return null}findWidget(e,t,r){let i=this.buckets[0];if(i.length)for(let n=0,a=0;;n++){if(n==i.length){if(a)return null;a=1,n=0}let o=i[n];if(!this.reused.has(o)&&(a==0?o.widget.compare(e):o.widget.constructor==e.constructor&&e.updateDOM(o.dom,this.view,o.widget)))return i.splice(n,1),n<this.index[0]&&this.index[0]--,o.widget==e&&o.length==t&&(o.flags&497)==r?(this.reused.set(o,1),o):(this.reused.set(o,2),new Mn(o.dom,t,e,o.flags&-498|r))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class ik{constructor(e,t,r,i,n){this.view=e,this.decorations=i,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new rk(e),this.text=new sk(e.state.doc),this.builder=new tk(this.cache,new hh(e,e.contentDOM),xt.iter(r)),this.cache.reused.set(t,2),this.old=new Jw(t),this.reuseWalker={skip:(a,o,l)=>{if(this.cache.add(a),a.isComposite())return!1},enter:a=>this.cache.add(a),leave:()=>{},break:()=>{}}}run(e,t){let r=t&&this.getCompositionContext(t.text);for(let i=0,n=0,a=0;;){let o=a<e.length?e[a++]:null,l=o?o.fromA:this.old.root.length;if(l>i){let c=l-i;this.preserve(c,!a,!o),i=l,n+=c}if(!o)break;t&&o.fromA<=t.range.fromA&&o.toA>=t.range.toA?(this.forward(o.fromA,t.range.fromA,t.range.fromA<t.range.toA?1:-1),this.emit(n,t.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(t,r),this.text.skip(t.range.toB-t.range.fromB),this.forward(t.range.fromA,o.toA),this.emit(t.range.toB,o.toB)):(this.forward(o.fromA,o.toA),this.emit(n,o.toB)),n=o.toB,i=o.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,r){let i=ak(this.old),n=this.openMarks;this.old.advance(e,r?1:-1,{skip:(a,o,l)=>{if(a.isWidget())if(this.openWidget)this.builder.continueWidget(l-o);else{let c=l>0||o<a.length?Mn.of(a.widget,this.view,l-o,a.flags&496,this.cache.maybeReuse(a)):this.cache.reuse(a);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,i,n),n=i.length)}else if(a.isText())this.builder.ensureLine(null),!o&&l==a.length&&!this.cache.reused.has(a)?this.builder.addText(a.text,i,n,this.cache.reuse(a)):(this.cache.add(a),this.builder.addText(a.text.slice(o,l),i,n)),n=i.length;else if(a.isLine())a.flags&=-2,this.cache.reused.set(a,1),this.builder.addLine(a);else if(a instanceof $c)this.cache.add(a);else if(a instanceof Vs)this.builder.ensureLine(null),this.builder.addMark(a,i,n),this.cache.reused.set(a,1),n=i.length;else return!1;this.openWidget=!1},enter:a=>{a.isLine()?this.builder.addLineStart(a.attrs,this.cache.maybeReuse(a)):(this.cache.add(a),a instanceof Vs&&i.unshift(a.mark)),this.openWidget=!1},leave:a=>{a.isLine()?i.length&&(i.length=n=0):a instanceof Vs&&(i.shift(),n=Math.min(n,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let r=null,i=this.builder,n=-1,a=xt.spans(this.decorations,e,t,{point:(o,l,c,d,u,f)=>{if(c instanceof Rn){if(this.disallowBlockEffectsFor[f]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(o).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=d.length,u>d.length)i.continueWidget(l-o);else{let g=c.widget||(c.block?mo.block:mo.inline),v=nk(c),b=this.cache.findWidget(g,l-o,v)||Mn.of(g,this.view,l-o,v);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(b)):(i.ensureLine(r),i.addInlineWidget(b,d,u))}r=null}else r=ok(r,c);l>o&&this.text.skip(l-o)},span:(o,l,c,d)=>{for(let u=o;u<l;){let f=this.text.next(Math.min(512,l-u));f==null?(i.addLineStartIfNotCovered(r),i.addBreak(),u++):(i.ensureLine(r),i.addText(f,c,u==o?d:c.length),u+=f.length),r=null}n=c.length}});n>-1&&(this.openWidget=a>n),this.openWidget||i.addLineStartIfNotCovered(r),this.openMarks=a}forward(e,t,r=1){t-e<=10?this.old.advance(t-e,r,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,r,this.reuseWalker))}getCompositionContext(e){let t=[],r=null;for(let i=e.parentNode;;i=i.parentNode){let n=Jt.get(i);if(i==this.view.contentDOM)break;n instanceof Vs?t.push(n):n?.isLine()?r=n:n instanceof yi||(i.nodeName=="DIV"&&!r&&i!=this.view.contentDOM?r=new po(i,jb):r||t.push(Vs.of(new qa({tagName:i.nodeName.toLowerCase(),attributes:Rw(i)}),i)))}return{line:r,marks:t}}}function bg(s,e){let t=r=>{for(let i of r.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(s)}function nk(s){let e=s.isReplace?(s.startSide<0?64:0)|(s.endSide>0?128:0):s.startSide>0?32:16;return s.block&&(e|=256),e}const jb={class:"cm-line"};function ok(s,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(s||(s={class:"cm-line"}),t&&If(t,s),r&&(s.class+=" "+r)),s}function ak(s){let e=[];for(let t=s.parents.length;t>1;t--){let r=t==s.parents.length?s.tile:s.parents[t].tile;r instanceof Vs&&e.push(r.mark)}return e}function Od(s){let e=Jt.get(s);return e&&e.setDOM(s.cloneNode()),s}class mo extends Rr{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}mo.inline=new mo("span");mo.block=new mo("div");const xd=new class extends Rr{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class vg{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Fe.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new hh(e,e.contentDOM),this.updateInner([new fr(0,0,0,e.state.doc.length)],null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:d,toA:u})=>u<this.minWidthFrom||d>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?i=this.domChanged.newSel.head:!gk(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let n=i>-1?ck(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:u}=this.hasComposition;r=new fr(d,u,e.changes.mapPos(d,-1),e.changes.mapPos(u,1)).addToSet(r.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(Re.ie||Re.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let a=this.decorations,o=this.blockWrappers;this.updateDeco();let l=uk(a,this.decorations,e.changes);l.length&&(r=fr.extendWithRanges(r,l));let c=pk(o,this.blockWrappers,e.changes);return c.length&&(r=fr.extendWithRanges(r,c)),n&&!r.some(d=>d.fromA<=n.range.fromA&&d.toA>=n.range.toA)&&(r=n.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(t||e.length){let a=this.tile,o=new ik(this.view,a,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&Jt.get(t.text)&&o.cache.reused.set(Jt.get(t.text),2),this.tile=o.run(e,t),Vu(a,o.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let n=Re.chrome||Re.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||r.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let n of this.tile.children)n.isWidget()&&n.widget instanceof bd&&i.push(n.dom);r.updateGaps(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let r of t.effects)r.is(Cb)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,i=this.view.root.activeElement,n=i==r,a=!n&&!(this.view.state.facet(vi)||r.tabIndex>-1)&&ha(r,this.view.observer.selectionRange)&&!(i&&r.contains(i));if(!(n||t||a))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,d;if(l.empty?d=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),Re.gecko&&l.empty&&!this.hasComposition&&lk(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=d=new $r(f,0),o=!0}let u=this.view.observer.selectionRange;(o||!u.focusNode||(!ua(c.node,c.offset,u.anchorNode,u.anchorOffset)||!ua(d.node,d.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{Re.android&&Re.chrome&&r.contains(u.focusNode)&&mk(u.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=_a(this.view.root);if(f)if(l.empty){if(Re.gecko){let g=hk(c.node,c.offset);if(g&&g!=3){let v=(g==1?hb:db)(c.node,c.offset);v&&(c=new $r(v.node,v.offset))}}f.collapse(c.node,c.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(c.node,c.offset);try{f.extend(d.node,d.offset)}catch{}}else{let g=document.createRange();l.anchor>l.head&&([c,d]=[d,c]),g.setEnd(d.node,d.offset),g.setStart(c.node,c.offset),f.removeAllRanges(),f.addRange(g)}a&&this.view.root.activeElement==r&&(r.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,d)),this.impreciseAnchor=c.precise?null:new $r(u.anchorNode,u.anchorOffset),this.impreciseHead=d.precise?null:new $r(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&ua(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,r=_a(e.root),{anchorNode:i,anchorOffset:n}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let a=this.lineAt(t.head,t.assoc);if(!a)return;let o=a.posAtStart;if(t.head==o||t.head==o+a.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let d=this.domAtPos(t.head+t.assoc,t.assoc);r.collapse(d.node,d.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&r.collapse(i,n)}posFromDOM(e,t){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=r.posAtStart;if(r.isComposite()){let n;if(e==r.dom)n=r.dom.childNodes[t];else{let a=wi(e)==0?0:t==0?-1:1;for(;;){let o=e.parentNode;if(o==r.dom)break;a==0&&o.firstChild!=o.lastChild&&(e==o.firstChild?a=-1:a=1),e=o}a<0?n=e:n=e.nextSibling}if(n==r.dom.firstChild)return i;for(;n&&!Jt.get(n);)n=n.nextSibling;if(!n)return i+r.length;for(let a=0,o=i;;a++){let l=r.children[a];if(l.dom==n)return o;o+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?i+t:i+(t?r.length:0):i}domAtPos(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.domPosFor(i,t):r.domIn(i,t)}inlineDOMNearPos(e,t){let r,i=-1,n=!1,a,o=-1,l=!1;return this.tile.blockTiles((c,d)=>{if(c.isWidget()){if(c.flags&32&&d>=e)return!0;c.flags&16&&(n=!0)}else{let u=d+c.length;if(d<=e&&(r=c,i=e-d,n=u<e),u>=e&&!a&&(a=c,o=e-d,l=d>e),d>e&&a)return!0}}),!r&&!a?this.domAtPos(e,t):(n&&a?r=null:l&&r&&(a=null),r&&t<0||!a?r.domIn(i,t):a.domIn(o,t))}coordsAt(e,t,r){let{tile:i,offset:n}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof bd?null:i.coordsInWidget(n,t,!0):i.coordsIn(n,t,r)}lineAt(e,t){let{tile:r}=this.tile.resolveBlock(e,t);return r.isLine()?r:null}coordsForChar(e){let{tile:t,offset:r}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(n,a){if(n.isComposite())for(let o of n.children){if(o.length>=a){let l=i(o,a);if(l)return l}if(a-=o.length,a<0)break}else if(n.isText()&&a<n.length){let o=ms(n.text,a);if(o==a)return null;let l=ka(n.dom,a,o).getClientRects();for(let c=0;c<l.length;c++){let d=l[c];if(c==l.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return i(t,r)}measureVisibleLineHeights(e){let t=[],{from:r,to:i}=e,n=this.view.contentDOM.clientWidth,a=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,l=this.view.textDirection==It.LTR,c=0,d=(u,f,g)=>{for(let v=0;v<u.children.length&&!(f>i);v++){let b=u.children[v],m=f+b.length,O=b.dom.getBoundingClientRect(),{height:p}=O;if(g&&!v&&(c+=O.top-g.top),b instanceof yi)m>r&&d(b,f,O);else if(f>=r&&(c>0&&t.push(-c),t.push(p+c),c=0,a)){let x=b.dom.lastChild,y=x?da(x):[];if(y.length){let _=y[y.length-1],k=l?_.right-O.left:O.right-_.left;k>o&&(o=k,this.minWidth=n,this.minWidthFrom=f,this.minWidthTo=m)}}g&&v==u.children.length-1&&(c+=g.bottom-O.bottom),f=m+b.breakAfter}};return d(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?It.RTL:It.LTR}measureTextSize(){let e=this.tile.blockTiles(a=>{if(a.isLine()&&a.children.length&&a.length<=20){let o=0,l;for(let c of a.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let d=da(c.dom);if(d.length!=1)return;o+=d[0].width,l=d[0].height}if(o)return{lineHeight:a.dom.getBoundingClientRect().height,charWidth:o/a.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),r,i,n;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let a=da(t.firstChild)[0];r=t.getBoundingClientRect().height,i=a&&a.width?a.width/27:7,n=a&&a.height?a.height:r,t.remove()}),{lineHeight:r,charWidth:i,textHeight:n}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,i=0;;i++){let n=i==t.viewports.length?null:t.viewports[i],a=n?n.from-1:this.view.state.doc.length;if(a>r){let o=(t.lineBlockAt(a).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(Fe.replace({widget:new bd(o),block:!0,inclusive:!0,isBlockGap:!0}).range(r,a))}if(!n)break;r=n.to+1}return Fe.set(e)}updateDeco(){let e=1,t=this.view.state.facet(lh).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),r=!1,i=this.view.state.facet(Zf).map((n,a)=>{let o=typeof n=="function";return o&&(r=!0),o?n(this.view):n});for(i.length&&(this.dynamicDecorationMap[e++]=r,t.push(xt.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(Tb).map(n=>typeof n=="function"?n(this.view):n)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(kb))try{if(c(this.view,e.range,e))return!0}catch(d){Fs(this.view.state,d,"scroll handler")}let{range:t}=e,r=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),i;if(!r)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let n=Vf(this.view),a={left:r.left-n.left,top:r.top-n.top,right:r.right+n.right,bottom:r.bottom+n.bottom},{offsetWidth:o,offsetHeight:l}=this.view.scrollDOM;if(Lw(this.view.scrollDOM,a,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,o),-o),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==It.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(r.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||r.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(t.head,1);c&&c.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let t=r=>r.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){Vu(this.tile)}}function Vu(s,e){let t=e?.get(s);if(t!=1){t==null&&s.destroy();for(let r of s.children)Vu(r,e)}}function lk(s){return s.node.nodeType==1&&s.node.firstChild&&(s.offset==0||s.node.childNodes[s.offset-1].contentEditable=="false")&&(s.offset==s.node.childNodes.length||s.node.childNodes[s.offset].contentEditable=="false")}function Eb(s,e){let t=s.observer.selectionRange;if(!t.focusNode)return null;let r=hb(t.focusNode,t.focusOffset),i=db(t.focusNode,t.focusOffset),n=r||i;if(i&&r&&i.node!=r.node){let o=Jt.get(i.node);if(!o||o.isText()&&o.text!=i.node.nodeValue)n=i;else if(s.docView.lastCompositionAfterCursor){let l=Jt.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(n=i)}}if(s.docView.lastCompositionAfterCursor=n!=r,!n)return null;let a=e-n.offset;return{from:a,to:a+n.node.nodeValue.length,node:n.node}}function ck(s,e,t){let r=Eb(s,t);if(!r)return null;let{node:i,from:n,to:a}=r,o=i.nodeValue;if(/[\n\r]/.test(o)||s.state.doc.sliceString(r.from,r.to)!=o)return null;let l=e.invertedDesc;return{range:new fr(l.mapPos(n),l.mapPos(a),n,a),text:i}}function hk(s,e){return s.nodeType!=1?0:(e&&s.childNodes[e-1].contentEditable=="false"?1:0)|(e<s.childNodes.length&&s.childNodes[e].contentEditable=="false"?2:0)}let dk=class{constructor(){this.changes=[]}compareRange(e,t){io(e,t,this.changes)}comparePoint(e,t){io(e,t,this.changes)}boundChange(e){io(e,e,this.changes)}};function uk(s,e,t){let r=new dk;return xt.compare(s,e,t,r),r.changes}class fk{constructor(){this.changes=[]}compareRange(e,t){io(e,t,this.changes)}comparePoint(){}boundChange(e){io(e,e,this.changes)}}function pk(s,e,t){let r=new fk;return xt.compare(s,e,t,r),r.changes}function mk(s,e){for(let t=s;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function gk(s,e){let t=!1;return e&&s.iterChangedRanges((r,i)=>{r<e.to&&i>e.from&&(t=!0)}),t}class bd extends Rr{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function Ok(s,e,t=1){let r=s.charCategorizer(e),i=s.doc.lineAt(e),n=e-i.from;if(i.length==0)return re.cursor(e);n==0?t=1:n==i.length&&(t=-1);let a=n,o=n;t<0?a=ms(i.text,n,!1):o=ms(i.text,n);let l=r(i.text.slice(a,o));for(;a>0;){let c=ms(i.text,a,!1);if(r(i.text.slice(c,a))!=l)break;a=c}for(;o<i.length;){let c=ms(i.text,o);if(r(i.text.slice(o,c))!=l)break;o=c}return re.undirectionalRange(a+i.from,o+i.from)}function xk(s,e,t,r,i){let n=Math.round((r-e.left)*s.defaultCharacterWidth);if(s.lineWrapping&&t.height>s.defaultLineHeight*1.5){let o=s.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(s.defaultLineHeight-o)*.5)/o);n+=l*s.viewState.heightOracle.lineLength}let a=s.state.sliceDoc(t.from,t.to);return t.from+Au(a,n,s.state.tabSize)}function Fu(s,e,t){let r=s.lineBlockAt(e);if(Array.isArray(r.type)){let i;for(let n of r.type){if(n.from>e)break;if(!(n.to<e)){if(n.from<e&&n.to>e)return n;(!i||n.type==_s.Text&&(i.type!=n.type||(t<0?n.from<e:n.to>e)))&&(i=n)}}return i||r}return r}function bk(s,e,t,r){let i=Fu(s,e.head,e.assoc||-1),n=!r||i.type!=_s.Text||!(s.lineWrapping||i.widgetLineBreaks)?null:s.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(n){let a=s.dom.getBoundingClientRect(),o=s.textDirectionAt(i.from),l=s.posAtCoords({x:t==(o==It.LTR)?a.right-1:a.left+1,y:(n.top+n.bottom)/2});if(l!=null)return re.cursor(l,t?-1:1)}return re.cursor(t?i.to:i.from,t?-1:1)}function yg(s,e,t,r){let i=s.state.doc.lineAt(e.head),n=s.bidiSpans(i),a=s.textDirectionAt(i.from);for(let o=e,l=null;;){let c=Fw(i,n,a,o,t),d=gb;if(!c){if(i.number==(t?s.state.doc.lines:1))return o;d=`
12
+ `,i=s.state.doc.line(i.number+(t?1:-1)),n=s.bidiSpans(i),c=s.visualLineSide(i,!t)}if(l){if(!l(d))return o}else{if(!r)return c;l=r(d)}o=c}}function vk(s,e,t){let r=s.state.charCategorizer(e),i=r(t);return n=>{let a=r(n);return i==qt.Space&&(i=a),i==a}}function yk(s,e,t,r){let i=e.head,n=t?1:-1;if(i==(t?s.state.doc.length:0))return re.cursor(i,e.assoc);let a=e.goalColumn,o,l=s.contentDOM.getBoundingClientRect(),c=s.coordsAtPos(i,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),d=s.documentTop;if(c)a==null&&(a=c.left-l.left),o=n<0?c.top:c.bottom;else{let v=s.viewState.lineBlockAt(i);a==null&&(a=Math.min(l.right-l.left,s.defaultCharacterWidth*(i-v.from))),o=(n<0?v.top:v.bottom)+d}let u=l.left+a,f=s.viewState.heightOracle.textHeight>>1,g=r??f;for(let v=0;;v+=f){let b=o+(g+v)*n,m=Yu(s,{x:u,y:b},!1,n);if(t?b>l.bottom:b<l.top)return re.cursor(m.pos,m.assoc);let O=s.coordsAtPos(m.pos,m.assoc),p=O?(O.top+O.bottom)/2:0;if(!O||(t?p>o:p<o))return re.cursor(m.pos,m.assoc,void 0,a)}}function fa(s,e,t){for(;;){let r=0;for(let i of s)i.between(e-1,e+1,(n,a,o)=>{if(e>n&&e<a){let l=r||t||(e-n<a-e?-1:1);e=l<0?n:a,r=l}});if(!r)return e}}function Rb(s,e){let t=null;for(let r=0;r<e.ranges.length;r++){let i=e.ranges[r],n=null;if(i.empty){let a=fa(s,i.from,0);a!=i.from&&(n=re.cursor(a,-1))}else{let a=fa(s,i.from,-1),o=fa(s,i.to,1);(a!=i.from||o!=i.to)&&(i.undirectional?n=re.undirectionalRange(i.from,i.to):n=re.range(i.from==i.anchor?a:o,i.from==i.head?a:o))}n&&(t||(t=e.ranges.slice()),t[r]=n)}return t?re.create(t,e.mainIndex):e}function vd(s,e,t){let r=fa(s.state.facet(Za).map(i=>i(s)),t.from,e.head>t.from?-1:1);return r==t.from?t:re.cursor(r,r<t.from?1:-1)}class Fr{constructor(e,t){this.pos=e,this.assoc=t}}function Yu(s,e,t,r){let i=s.contentDOM.getBoundingClientRect(),n=i.top+s.viewState.paddingTop,{x:a,y:o}=e,l=o-n,c;for(;;){if(l<0)return new Fr(0,1);if(l>s.viewState.docHeight)return new Fr(s.state.doc.length,-1);if(c=s.elementAtHeight(l),r==null)break;if(c.type==_s.Text){if(r<0?c.to<s.viewport.from:c.from>s.viewport.to)break;let f=s.docView.coordsAt(r<0?c.from:c.to,r>0?-1:1);if(f&&(r<0?f.top<=l+n:f.bottom>=l+n))break}let u=s.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+u:c.top-u}if(s.viewport.from>=c.to||s.viewport.to<=c.from){if(t)return null;if(c.type==_s.Text){let u=xk(s,i,c,a,o);return new Fr(u,u==c.from?1:-1)}}if(c.type!=_s.Text)return l<(c.top+c.bottom)/2?new Fr(c.from,1):new Fr(c.to,-1);let d=s.docView.lineAt(c.from,2);return(!d||d.length!=c.length)&&(d=s.docView.lineAt(c.from,-2)),new Sk(s,a,o,s.textDirectionAt(c.from)).scanTile(d,c.from)}class Sk{constructor(e,t,r,i){this.view=e,this.x=t,this.y=r,this.baseDir=i,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:r,spans:i}=this.bidiSpansAt(e);return i[Yr.find(i,e-r.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:r,spans:i}=this.bidiSpansAt(e);return i[Yr.find(i,e-r.from,-1,t)].dir}bidiIn(e,t){let{spans:r,line:i}=this.bidiSpansAt(e);return r.length>1||r.length&&(r[0].level!=this.baseDir||r[0].to+i.from<t)}scan(e,t,r=!1){let i=0,n=e.length-1,a=new Set,o=this.bidiIn(e[0],e[n]),l,c,d=-1,u=1e9,f;e:for(;i<n;){let v=n-i,b=i+n>>1;t:if(a.has(b)){let O=i+Math.floor(Math.random()*v);for(let p=0;p<v;p++){if(!a.has(O)){b=O;break t}O++,O==n&&(O=i)}break e}a.add(b);let m=t(b);if(m)for(let O=0;O<m.length;O++){let p=m[O],x=0;if(!(p.width==0&&m.length>1)){if(p.bottom<this.y)(!l||l.bottom<p.bottom)&&(l=p),x=1;else if(p.top>this.y)(!c||c.top>p.top)&&(c=p),x=-1;else{let y=p.left>this.x?this.x-p.left:p.right<this.x?this.x-p.right:0,_=Math.abs(y);_<u&&(d=b,u=_,f=p),y&&(x=y<0==(this.baseDir==It.LTR)?-1:1)}x==-1&&(!o||this.baseDirAt(e[b],1))?n=b:x==1&&(!o||this.baseDirAt(e[b+1],-1))&&(i=b+1)}}}if(!f){if(!c&&!l)return{i:e[0],after:!1};let v=l&&(!c||this.y-l.bottom<c.top-this.y)?l:c;return this.y=(v.top+v.bottom)/2,this.scan(e,t,!0)}if(u&&!r){let{top:v,bottom:b}=f;if(l&&l.bottom>(v+v+b)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(v+b+b)/3)return this.y=c.top+1,this.scan(e,t,!0)}let g=(o?this.dirAt(e[d],1):this.baseDir)==It.LTR;return{i:d,after:this.x>(f.left+f.right)/2==g}}scanText(e,t){let r=[];for(let n=0;n<e.length;n=ms(e.text,n))r.push(t+n);r.push(t+e.length);let i=this.scan(r,n=>{let a=r[n]-t,o=r[n+1]-t;return ka(e.dom,a,o).getClientRects()});return i.after?new Fr(r[i.i+1],-1):new Fr(r[i.i],1)}scanTile(e,t){if(!e.length)return new Fr(t,1);if(e.children.length==1){let o=e.children[0];if(o.isText())return this.scanText(o,t);if(o.isComposite())return this.scanTile(o,t)}let r=[t];for(let o=0,l=t;o<e.children.length;o++)r.push(l+=e.children[o].length);let i=this.scan(r,o=>{let l=e.children[o];return l.flags&48?null:(l.dom.nodeType==1?l.dom:ka(l.dom,0,l.length)).getClientRects()}),n=e.children[i.i],a=r[i.i];return n.isText()?this.scanText(n,a):n.isComposite()?this.scanTile(n,a):i.after?new Fr(r[i.i+1],-1):new Fr(a,1)}}const Un="￿";class _k{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(vt.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Un}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let i=e;;){this.findPointBefore(r,i);let n=this.text.length;this.readNode(i);let a=Jt.get(i),o=i.nextSibling;if(o==t){a?.breakAfter&&!o&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Jt.get(o);(a&&l?a.breakAfter:(a?a.breakAfter:Tc(i))||Tc(o)&&(i.nodeName!="BR"||a?.isWidget())&&this.text.length>n)&&!kk(o,t)&&this.lineBreak(),i=o}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,a=1,o;if(this.lineSeparator?(n=t.indexOf(this.lineSeparator,r),a=this.lineSeparator.length):(o=i.exec(t))&&(n=o.index,a=o[0].length),this.append(t.slice(r,n<0?t.length:n)),n<0)break;if(this.lineBreak(),a>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=a-1);r=n+a}}readNode(e){let t=Jt.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(wk(e,r.node,r.offset)?t:0))}}function wk(s,e,t){for(;;){if(!e||t<wi(e))return!1;if(e==s)return!0;t=Hi(e)+1,e=e.parentNode}}function kk(s,e){let t;for(;!(s==e||!s);s=s.nextSibling){let r=Jt.get(s);if(!r?.isWidget())return!1;r&&(t||(t=[])).push(r)}if(t)for(let r of t){let i=r.overrideDOMText;if(i?.length)return!1}return!0}class Sg{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class Ck{constructor(e,t,r,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:n,impreciseAnchor:a}=e.docView,o=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Ab(e.docView.tile,t,r,0))){let l=n||a?[]:Tk(e),c=new _k(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=Qk(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=n&&n.node==l.focusNode&&n.offset==l.focusOffset||!Wu(e.contentDOM,l.focusNode)?o.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),d=a&&a.node==l.anchorNode&&a.offset==l.anchorOffset||!Wu(e.contentDOM,l.anchorNode)?o.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),u=e.viewport;if((Re.ios||Re.chrome)&&c!=d&&Math.min(c,d)<=o.main.from&&Math.max(c,d)>=o.main.to&&(u.from>0||u.to<e.state.doc.length)){let f=Math.min(c,d),g=Math.max(c,d),v=u.from-f,b=u.to-g;(v==0||v==1||f==0)&&(b==0||b==-1||g==e.state.doc.length)&&(c=0,d=e.state.doc.length)}if(e.inputState.composing>-1&&o.ranges.length>1)this.newSel=o.replaceRange(re.range(d,c));else if(e.lineWrapping&&d==c&&!(o.main.empty&&o.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(c,-1),g=0;f&&(g=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=re.create([re.cursor(c,g)])}else this.newSel=re.single(d,c)}}}function Ab(s,e,t,r){if(s.isComposite()){let i=-1,n=-1,a=-1,o=-1;for(let l=0,c=r,d=r;l<s.children.length;l++){let u=s.children[l],f=c+u.length;if(c<e&&f>t)return Ab(u,e,t,c);if(f>=e&&i==-1&&(i=l,n=c),c>t&&u.dom.parentNode==s.dom){a=l,o=d;break}d=f,c=f+u.breakAfter}return{from:n,to:o<0?r+s.length:o,startDOM:(i?s.children[i-1].dom.nextSibling:null)||s.dom.firstChild,endDOM:a<s.children.length&&a>=0?s.children[a].dom:null}}else return s.isText()?{from:r,to:r+s.length,startDOM:s.dom,endDOM:s.dom.nextSibling}:null}function Mb(s,e){let t,{newSel:r}=e,{state:i}=s,n=i.selection.main,a=s.inputState.lastKeyTime>Date.now()-100?s.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:l}=e.bounds,c=n.from,d=null;(a===8||Re.android&&e.text.length<l-o)&&(c=n.to,d="end");let u=i.doc.sliceString(o,l,Un),f,g;!n.empty&&n.from>=o&&n.to<=l&&(e.typeOver||u!=e.text)&&u.slice(0,n.from-o)==e.text.slice(0,n.from-o)&&u.slice(n.to-o)==e.text.slice(f=e.text.length-(u.length-(n.to-o)))?t={from:n.from,to:n.to,insert:kt.of(e.text.slice(n.from-o,f).split(Un))}:(g=Lb(u,e.text,c-o,d))&&(Re.chrome&&a==13&&g.toB==g.from+2&&e.text.slice(g.from,g.toB)==Un+Un&&g.toB--,t={from:o+g.from,to:o+g.toA,insert:kt.of(e.text.slice(g.from,g.toB).split(Un))})}else r&&(!s.hasFocus&&i.facet(vi)||Ec(r,n))&&(r=null);if(!t&&!r)return!1;if((Re.mac||Re.android)&&t&&t.from==t.to&&t.from==n.head-1&&/^\. ?$/.test(t.insert.toString())&&s.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=re.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:kt.of([t.insert.toString().replace("."," ")])}):i.doc.lineAt(n.from).to<n.to&&s.docView.lineHasWidget(n.to)&&s.inputState.insertingTextAt>Date.now()-50?t={from:n.from,to:n.to,insert:i.toText(s.inputState.insertingText)}:Re.chrome&&t&&t.from==t.to&&t.from==n.head&&t.insert.toString()==`
13
+ `&&s.lineWrapping&&(r&&(r=re.single(r.main.anchor-1,r.main.head-1)),t={from:n.from,to:n.to,insert:kt.of([" "])}),t)return Ff(s,t,r,a);if(r&&!Ec(r,n)){let o=!1,l="select";return s.inputState.lastSelectionTime>Date.now()-50&&(s.inputState.lastSelectionOrigin=="select"&&(o=!0),l=s.inputState.lastSelectionOrigin,l=="select.pointer"&&(r=Rb(i.facet(Za).map(c=>c(s)),r))),s.dispatch({selection:r,scrollIntoView:o,userEvent:l}),!0}else return!1}function Ff(s,e,t,r=-1){if(Re.ios&&s.inputState.flushIOSKey(e))return!0;let i=s.state.selection.main;if(Re.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&s.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&no(s.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>i.head)&&no(s.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&no(s.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();s.inputState.composing>=0&&s.inputState.composing++;let a,o=()=>a||(a=Pk(s,e,t));return s.state.facet(yb).some(l=>l(s,e.from,e.to,n,o))||s.dispatch(o()),!0}function Pk(s,e,t){let r,i=s.state,n=i.selection.main,a=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let l=e.from<n.from?-1:1,c=l<0?n.from:n.to,d=fa(i.facet(Za).map(u=>u(s)),c,l);e.from==d&&(a=d)}if(a>-1)r={changes:e,selection:re.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&s.inputState.composing<0){let l=n.from<e.from?i.sliceDoc(n.from,e.from):"",c=n.to>e.to?i.sliceDoc(e.to,n.to):"";r=i.replaceSelection(s.state.toText(l+e.insert.sliceString(0,void 0,s.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(s.inputState.composing>=0||s.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let d=s.state.sliceDoc(e.from,e.to),u,f=t&&Eb(s,t.main.head);if(f){let v=e.insert.length-(e.to-e.from);u={from:f.from,to:f.to-v}}else u=s.state.doc.lineAt(n.head);let g=n.to-e.to;r=i.changeByRange(v=>{if(v.from==n.from&&v.to==n.to)return{changes:l,range:c||v.map(l)};let b=v.to-g,m=b-d.length;if(s.state.sliceDoc(m,b)!=d||b>=u.from&&m<=u.to)return{range:v};let O=i.changes({from:m,to:b,insert:e.insert}),p=v.to-n.to;return{changes:O,range:c?re.range(Math.max(0,c.anchor+p),Math.max(0,c.head+p)):v.map(O)}})}else r={changes:l,selection:c&&i.selection.replaceRange(c)}}let o="input.type";return(s.composing||s.inputState.compositionPendingChange&&s.inputState.compositionEndedAt>Date.now()-50)&&(s.inputState.compositionPendingChange=!1,o+=".compose",s.inputState.compositionFirstChange&&(o+=".start",s.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:o,scrollIntoView:!0})}function Lb(s,e,t,r){let i=Math.min(s.length,e.length),n=0;for(;n<i&&s.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==i&&s.length==e.length)return null;let a=s.length,o=e.length;for(;a>0&&o>0&&s.charCodeAt(a-1)==e.charCodeAt(o-1);)a--,o--;if(r=="end"){let l=Math.max(0,n-Math.min(a,o));t-=a+l-n}if(a<n&&s.length<e.length){let l=t<=n&&t>=a?n-t:0;n-=l,o=n+(o-a),a=n}else if(o<n){let l=t<=n&&t>=o?n-t:0;n-=l,a=n+(a-o),o=n}return{from:n,toA:a,toB:o}}function Tk(s){let e=[];if(s.root.activeElement!=s.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:n}=s.observer.selectionRange;return t&&(e.push(new Sg(t,r)),(i!=t||n!=r)&&e.push(new Sg(i,n))),e}function Qk(s,e){if(s.length==0)return null;let t=s[0].pos,r=s.length==2?s[1].pos:t;return t>-1&&r>-1?re.single(t+e,r+e):null}function Ec(s,e){return e.head==s.main.head&&e.anchor==s.main.anchor}class $k{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Re.safari&&e.contentDOM.addEventListener("input",()=>null),Re.gecko&&Vk(e.contentDOM.ownerDocument)}handleEvent(e){!Ik(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let i of r.observers)i(this.view,t);for(let i of r.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Ek(e),r=this.handlers,i=this.view.contentDOM;for(let n in t)if(n!="scroll"){let a=!t[n].handlers.length,o=r[n];o&&a!=!o.handlers.length&&(i.removeEventListener(n,this.handleEvent),o=null),o||i.addEventListener(n,this.handleEvent,{passive:a})}for(let n in r)n!="scroll"&&!t[n]&&i.removeEventListener(n,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Db.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Re.android&&Re.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(Re.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(Nb.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||Rk.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&Re.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&jk(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,no(this.view.contentDOM,t.key,t.keyCode,t.mods))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Re.safari&&!Re.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function jk(s){return s.visualViewport?s.visualViewport.height*s.visualViewport.scale/s.document.documentElement.clientHeight<.85:!1}function _g(s,e){return(t,r)=>{try{return e.call(s,r,t)}catch(i){Fs(t.state,i)}}}function Ek(s){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of s){let i=r.spec,n=i&&i.plugin.domEventHandlers,a=i&&i.plugin.domEventObservers;if(n)for(let o in n){let l=n[o];l&&t(o).handlers.push(_g(r.value,l))}if(a)for(let o in a){let l=a[o];l&&t(o).observers.push(_g(r.value,l))}}for(let r in Er)t(r).handlers.push(Er[r]);for(let r in Bs)t(r).observers.push(Bs[r]);return e}const Nb=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Rk="dthko",Db=[16,17,18,20,91,92,224,225],Al=6;function Ml(s){return Math.max(0,s)*.7+8}function Ak(s,e){return Math.max(Math.abs(s.clientX-e.clientX),Math.abs(s.clientY-e.clientY))}class Mk{constructor(e,t,r,i){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=ab(e.contentDOM),this.atoms=e.state.facet(Za).map(a=>a(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(vt.allowMultipleSelections)&&Lk(e,t),this.dragging=Dk(e,t)&&Wb(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Ak(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,i=0,n=0,a=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:o}=this.scrollParents.y.getBoundingClientRect());let l=Vf(this.view);e.clientX-l.left<=i+Al?t=-Ml(i-e.clientX):e.clientX+l.right>=a-Al&&(t=Ml(e.clientX-a)),e.clientY-l.top<=n+Al?r=-Ml(n-e.clientY):e.clientY+l.bottom>=o-Al&&(r=Ml(e.clientY-o)),this.setScrollSpeed(t,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,r=Rb(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Lk(s,e){let t=s.state.facet(Ob);return t.length?t[0](e):Re.mac?e.metaKey:e.ctrlKey}function Nk(s,e){let t=s.state.facet(xb);return t.length?t[0](e):Re.mac?!e.altKey:!e.ctrlKey}function Dk(s,e){let{main:t}=s.state.selection;if(t.empty)return!1;let r=_a(s.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let n=0;n<i.length;n++){let a=i[n];if(a.left<=e.clientX&&a.right>=e.clientX&&a.top<=e.clientY&&a.bottom>=e.clientY)return!0}return!1}function Ik(s,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=s.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=Jt.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const Er=Object.create(null),Bs=Object.create(null),Ib=Re.ie&&Re.ie_version<15||Re.ios&&Re.webkit_version<604;function Bk(s){let e=s.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{s.focus(),t.remove(),Bb(s,t.value)},50)}function dh(s,e,t){for(let r of s.facet(e))t=r(t,s);return t}function Bb(s,e){e=dh(s.state,Xf,e);let{state:t}=s,r,i=1,n=t.toText(e),a=n.lines==t.selection.ranges.length;if(Uu!=null&&t.selection.ranges.every(l=>l.empty)&&Uu==n.toString()){let l=-1;r=t.changeByRange(c=>{let d=t.doc.lineAt(c.from);if(d.from==l)return{range:c};l=d.from;let u=t.toText((a?n.line(i++).text:e)+t.lineBreak);return{changes:{from:d.from,insert:u},range:re.cursor(c.from+u.length)}})}else a?r=t.changeByRange(l=>{let c=n.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:re.cursor(l.from+c.length)}}):r=t.replaceSelection(n);s.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Bs.scroll=s=>{let e=s.inputState;e.lastScrollTop=s.scrollDOM.scrollTop,e.lastScrollLeft=s.scrollDOM.scrollLeft,Re.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Bs.wheel=Bs.mousewheel=s=>{s.inputState.lastWheelEvent=Date.now()};Er.keydown=(s,e)=>(s.inputState.setSelectionOrigin("select"),e.keyCode==27&&s.inputState.tabFocusMode!=0&&(s.inputState.tabFocusMode=Date.now()+2e3),!1);Bs.touchstart=(s,e)=>{let t=s.inputState,r=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),r&&(t.lastTouchX=r.clientX,t.lastTouchY=r.clientY),t.setSelectionOrigin("select.pointer")};Bs.touchmove=s=>{s.inputState.setSelectionOrigin("select.pointer")};Bs.touchend=(s,e)=>{s.inputState.touchActive=!1};Er.mousedown=(s,e)=>{if(s.observer.flush(),s.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of s.state.facet(bb))if(t=r(s,e),t)break;if(!t&&e.button==0&&(t=Xk(s,e)),t){let r=!s.hasFocus;s.inputState.startMouseSelection(new Mk(s,e,t,r)),r&&s.observer.ignore(()=>{lb(s.contentDOM);let n=s.root.activeElement;n&&!n.contains(s.contentDOM)&&n.blur()});let i=s.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else s.inputState.setSelectionOrigin("select.pointer");return!1};function wg(s,e,t,r){if(r==1)return re.cursor(e,t);if(r==2)return Ok(s.state,e,t);{let i=s.docView.lineAt(e,t),n=s.state.doc.lineAt(i?i.posAtEnd:e),a=i?i.posAtStart:n.from,o=i?i.posAtEnd:n.to;return o<s.state.doc.length&&o==n.to&&o++,re.undirectionalRange(a,o)}}const Wk=Re.ie&&Re.ie_version<=11;let kg=null,Cg=0,Pg=0;function Wb(s){if(!Wk)return s.detail;let e=kg,t=Pg;return kg=s,Pg=Date.now(),Cg=!e||t>Date.now()-400&&Math.abs(e.clientX-s.clientX)<2&&Math.abs(e.clientY-s.clientY)<2?(Cg+1)%3:1}function Xk(s,e){let t=s.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=Wb(e),i=s.state.selection;return{update(n){n.docChanged&&(t.pos=n.changes.mapPos(t.pos),i=i.map(n.changes))},get(n,a,o){let l=s.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),c,d=wg(s,l.pos,l.assoc,r);if(t.pos!=l.pos&&!a){let u=wg(s,t.pos,t.assoc,r),f=Math.min(u.from,d.from),g=Math.max(u.to,d.to);d=f<d.from?re.range(f,g,d.assoc):re.range(g,f,d.assoc)}return a?i.replaceRange(i.main.extend(d.from,d.to,d.assoc)):o&&r==1&&i.ranges.length>1&&(c=qk(i,l.pos))?c:o?i.addRange(d):re.create([d])}}}function qk(s,e){for(let t=0;t<s.ranges.length;t++){let{from:r,to:i}=s.ranges[t];if(r<=e&&i>=e)return re.create(s.ranges.slice(0,t).concat(s.ranges.slice(t+1)),s.mainIndex==t?0:s.mainIndex-(s.mainIndex>t?1:0))}return null}Er.dragstart=(s,e)=>{let{selection:{main:t}}=s.state;if(e.target.draggable){let i=s.docView.tile.nearest(e.target);if(i&&i.isWidget()){let n=i.posAtStart,a=n+i.length;(n>=t.to||a<=t.from)&&(t=re.undirectionalRange(n,a))}}let{inputState:r}=s;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",dh(s.state,qf,s.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Er.dragend=s=>(s.inputState.draggedContent=null,!1);function Tg(s,e,t,r){if(t=dh(s.state,Xf,t),!t)return;let i=s.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=s.inputState,a=r&&n&&Nk(s,e)?{from:n.from,to:n.to}:null,o={from:i,insert:t},l=s.state.changes(a?[a,o]:o);s.focus(),s.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:a?"move.drop":"input.drop"}),s.inputState.draggedContent=null}Er.drop=(s,e)=>{if(!e.dataTransfer)return!1;if(s.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),i=0,n=()=>{++i==t.length&&Tg(s,e,r.filter(a=>a!=null).join(s.state.lineBreak),!1)};for(let a=0;a<t.length;a++){let o=new FileReader;o.onerror=n,o.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(o.result)||(r[a]=o.result),n()},o.readAsText(t[a])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return Tg(s,e,r,!0),!0}return!1};Er.paste=(s,e)=>{if(s.state.readOnly)return!0;s.observer.flush();let t=Ib?null:e.clipboardData;return t?(Bb(s,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Bk(s),!1)};function zk(s,e){let t=s.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),s.focus()},50)}function Zk(s){let e=[],t=[],r=!1;for(let i of s.selection.ranges)i.empty||(e.push(s.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:n}of s.selection.ranges){let a=s.doc.lineAt(n);a.number>i&&(e.push(a.text),t.push({from:a.from,to:Math.min(s.doc.length,a.to+1)})),i=a.number}r=!0}return{text:dh(s,qf,e.join(s.lineBreak)),ranges:t,linewise:r}}let Uu=null;Er.copy=Er.cut=(s,e)=>{if(!ha(s.contentDOM,s.observer.selectionRange))return!1;let{text:t,ranges:r,linewise:i}=Zk(s.state);if(!t&&!i)return!1;Uu=i?t:null,e.type=="cut"&&!s.state.readOnly&&s.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let n=Ib?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",t),!0):(zk(s,t),!1)};const Xb=ei.define();function qb(s,e){let t=[];for(let r of s.facet(Sb)){let i=r(s,e);i&&t.push(i)}return t.length?s.update({effects:t,annotations:Xb.of(!0)}):null}function zb(s){setTimeout(()=>{let e=s.hasFocus;if(e!=s.inputState.notifiedFocused){let t=qb(s.state,e);t?s.dispatch(t):s.update([])}},10)}Bs.focus=s=>{s.inputState.lastFocusTime=Date.now(),!s.scrollDOM.scrollTop&&(s.inputState.lastScrollTop||s.inputState.lastScrollLeft)&&(s.scrollDOM.scrollTop=s.inputState.lastScrollTop,s.scrollDOM.scrollLeft=s.inputState.lastScrollLeft),zb(s)};Bs.blur=s=>{s.observer.clearSelectionRange(),zb(s)};Bs.compositionstart=Bs.compositionupdate=s=>{s.observer.editContext||(s.inputState.compositionFirstChange==null&&(s.inputState.compositionFirstChange=!0),s.inputState.composing<0&&(s.inputState.composing=0))};Bs.compositionend=s=>{s.observer.editContext||(s.inputState.composing=-1,s.inputState.compositionEndedAt=Date.now(),s.inputState.compositionPendingKey=!0,s.inputState.compositionPendingChange=s.observer.pendingRecords().length>0,s.inputState.compositionFirstChange=null,Re.chrome&&Re.android?s.observer.flushSoon():s.inputState.compositionPendingChange?Promise.resolve().then(()=>s.observer.flush()):setTimeout(()=>{s.inputState.composing<0&&s.docView.hasComposition&&s.update([])},50))};Bs.contextmenu=s=>{s.inputState.lastContextMenu=Date.now()};Er.beforeinput=(s,e)=>{var t,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(s.inputState.insertingText=e.data,s.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&s.observer.editContext){let n=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),a=e.getTargetRanges();if(n&&a.length){let o=a[0],l=s.posAtDOM(o.startContainer,o.startOffset),c=s.posAtDOM(o.endContainer,o.endOffset);return Ff(s,{from:l,to:c,insert:s.state.toText(n)},null),!0}}let i;if(Re.chrome&&Re.android&&(i=Nb.find(n=>n.inputType==e.inputType))&&(s.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let n=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var a;(((a=window.visualViewport)===null||a===void 0?void 0:a.height)||0)>n+10&&s.hasFocus&&(s.contentDOM.blur(),s.focus())},100)}return Re.ios&&e.inputType=="deleteContentForward"&&s.observer.flushSoon(),Re.safari&&e.inputType=="insertText"&&s.inputState.composing>=0&&setTimeout(()=>Bs.compositionend(s,e),20),!1};const Qg=new Set;function Vk(s){Qg.has(s)||(Qg.add(s),s.addEventListener("copy",()=>{}),s.addEventListener("cut",()=>{}))}const $g=["pre-wrap","normal","pre-line","break-spaces"];let go=!1;function jg(){go=!1}class Fk{constructor(e){this.lineWrapping=e,this.doc=kt.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return $g.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let i=e[r];i<0?r++:this.heightSamples[Math.floor(i*10)]||(t=!0,this.heightSamples[Math.floor(i*10)]=!0)}return t}refresh(e,t,r,i,n,a){let o=$g.indexOf(e)>-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=r,this.textHeight=i,this.lineLength=n,l){this.heightSamples={};for(let c=0;c<a.length;c++){let d=a[c];d<0?c++:this.heightSamples[Math.floor(d*10)]=!0}}return l}}class Yk{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Tr{constructor(e,t,r,i,n){this.from=e,this.length=t,this.top=r,this.height=i,this._content=n}get type(){return typeof this._content=="number"?_s.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Rn?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Tr(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Bt=(function(s){return s[s.ByPos=0]="ByPos",s[s.ByHeight=1]="ByHeight",s[s.ByPosNoHeight=2]="ByPosNoHeight",s})(Bt||(Bt={}));const hc=.001;class Is{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>hc&&(go=!0),this.height=e)}replace(e,t,r){return Is.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,i){let n=this,a=r.doc;for(let o=i.length-1;o>=0;o--){let{fromA:l,toA:c,fromB:d,toB:u}=i[o],f=n.lineAt(l,Bt.ByPosNoHeight,r.setDoc(t),0,0),g=f.to>=c?f:n.lineAt(c,Bt.ByPosNoHeight,r,0,0);for(u+=g.to-c,c=g.to;o>0&&f.from<=i[o-1].toA;)l=i[o-1].fromA,d=i[o-1].fromB,o--,l<f.from&&(f=n.lineAt(l,Bt.ByPosNoHeight,r,0,0));d+=f.from-l,l=f.from;let v=Yf.build(r.setDoc(a),e,d,u);n=Rc(n,n.replace(l,c,v))}return n.updateHeight(r,0)}static empty(){return new er(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,r=e.length,i=0,n=0;for(;;)if(t==r)if(i>n*2){let o=e[t-1];o.break?e.splice(--t,1,o.left,null,o.right):e.splice(--t,1,o.left,o.right),r+=1+o.break,i-=o.size}else if(n>i*2){let o=e[r];o.break?e.splice(r,1,o.left,null,o.right):e.splice(r,1,o.left,o.right),r+=2+o.break,n-=o.size}else break;else if(i<n){let o=e[t++];o&&(i+=o.size)}else{let o=e[--r];o&&(n+=o.size)}let a=0;return e[t-1]==null?(a=1,t--):e[t]==null&&(a=1,r++),new Hk(Is.of(e.slice(0,t)),a,Is.of(e.slice(r)))}}function Rc(s,e){return s==e?s:(s.constructor!=e.constructor&&(go=!0),e)}Is.prototype.size=1;const Uk=Fe.replace({});class Zb extends Is{constructor(e,t,r){super(e,t),this.deco=r,this.spaceAbove=0}mainBlock(e,t){return new Tr(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,r,i){return this.spaceAbove&&e<r+this.spaceAbove?new Tr(i,0,r,this.spaceAbove,Uk):this.mainBlock(r,i)}lineAt(e,t,r,i,n){let a=this.mainBlock(i,n);return this.spaceAbove?this.blockAt(0,r,i,n).join(a):a}forEachLine(e,t,r,i,n,a){e<=n+this.length&&t>=n&&a(this.lineAt(0,Bt.ByPos,r,i,n))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class er extends Zb{constructor(e,t,r){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,t){return new Tr(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,r){let i=r[0];return r.length==1&&(i instanceof er||i instanceof vs&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof vs?i=new er(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):Is.of(r)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(r||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class vs extends Is{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,n=i-r+1,a,o=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*n);a=l/n,this.length>n+1&&(o=(this.height-l)/(this.length-n-1))}else a=this.height/n;return{firstLine:r,lastLine:i,perLine:a,perChar:o}}blockAt(e,t,r,i){let{firstLine:n,lastLine:a,perLine:o,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),d=t.doc.lineAt(c),u=o+d.length*l,f=Math.max(r,e-u/2);return new Tr(d.from,d.length,f,u,0)}else{let c=Math.max(0,Math.min(a-n,Math.floor((e-r)/o))),{from:d,length:u}=t.doc.line(n+c);return new Tr(d,u,r+o*c,o,0)}}lineAt(e,t,r,i,n){if(t==Bt.ByHeight)return this.blockAt(e,r,i,n);if(t==Bt.ByPosNoHeight){let{from:g,to:v}=r.doc.lineAt(e);return new Tr(g,v-g,0,0,0)}let{firstLine:a,perLine:o,perChar:l}=this.heightMetrics(r,n),c=r.doc.lineAt(e),d=o+c.length*l,u=c.number-a,f=i+o*u+l*(c.from-n-u);return new Tr(c.from,c.length,Math.max(i,Math.min(f,i+this.height-d)),d,0)}forEachLine(e,t,r,i,n,a){e=Math.max(e,n),t=Math.min(t,n+this.length);let{firstLine:o,perLine:l,perChar:c}=this.heightMetrics(r,n);for(let d=e,u=i;d<=t;){let f=r.doc.lineAt(d);if(d==e){let v=f.number-o;u+=l*v+c*(e-n-v)}let g=l+c*f.length;a(new Tr(f.from,f.length,u,g,0)),u+=g,d=f.to+1}}replace(e,t,r){let i=this.length-t;if(i>0){let n=r[r.length-1];n instanceof vs?r[r.length-1]=new vs(n.length+i):r.push(null,new vs(i-1))}if(e>0){let n=r[0];n instanceof vs?r[0]=new vs(e+n.length):r.unshift(new vs(e-1),null)}return Is.of(r)}decomposeLeft(e,t){t.push(new vs(e-1),null)}decomposeRight(e,t){t.push(null,new vs(this.length-e-1))}updateHeight(e,t=0,r=!1,i){let n=t+this.length;if(i&&i.from<=t+this.length&&i.more){let a=[],o=Math.max(t,i.from),l=-1;for(i.from>t&&a.push(new vs(i.from-t-1).updateHeight(e,t));o<=n&&i.more;){let d=e.doc.lineAt(o).length;a.length&&a.push(null);let u=i.heights[i.index++],f=0;u<0&&(f=-u,u=i.heights[i.index++]),l==-1?l=u:Math.abs(u-l)>=hc&&(l=-2);let g=new er(d,u,f);g.outdated=!1,a.push(g),o+=d+1}o<=n&&a.push(null,new vs(n-o).updateHeight(e,o));let c=Is.of(a);return(l<0||Math.abs(c.height-this.height)>=hc||Math.abs(l-this.heightMetrics(e,t).perLine)>=hc)&&(go=!0),Rc(this,c)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class Hk extends Is{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,i){let n=r+this.left.height;return e<n?this.left.blockAt(e,t,r,i):this.right.blockAt(e,t,n,i+this.left.length+this.break)}lineAt(e,t,r,i,n){let a=i+this.left.height,o=n+this.left.length+this.break,l=t==Bt.ByHeight?e<a:e<o,c=l?this.left.lineAt(e,t,r,i,n):this.right.lineAt(e,t,r,a,o);if(this.break||(l?c.to<o:c.from>o))return c;let d=t==Bt.ByPosNoHeight?Bt.ByPosNoHeight:Bt.ByPos;return l?c.join(this.right.lineAt(o,d,r,a,o)):this.left.lineAt(o,d,r,i,n).join(c)}forEachLine(e,t,r,i,n,a){let o=i+this.left.height,l=n+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,r,i,n,a),t>=l&&this.right.forEachLine(e,t,r,o,l,a);else{let c=this.lineAt(l,Bt.ByPos,r,i,n);e<c.from&&this.left.forEachLine(e,c.from-1,r,i,n,a),c.to>=e&&c.from<=t&&a(c),t>c.to&&this.right.forEachLine(c.to+1,t,r,o,l,a)}}replace(e,t,r){let i=this.left.length+this.break;if(t<i)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,r));let n=[];e>0&&this.decomposeLeft(e,n);let a=n.length;for(let o of r)n.push(o);if(e>0&&Eg(n,a-1),t<this.length){let o=n.length;this.decomposeRight(t,n),Eg(n,o)}return Is.of(n)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e<r&&this.left.decomposeRight(e,t),this.break&&e<i&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Is.of(this.break?[e,null,t]:[e,t]):(this.left=Rc(this.left,e),this.right=Rc(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,r=!1,i){let{left:n,right:a}=this,o=t+n.length+this.break,l=null;return i&&i.from<=t+n.length&&i.more?l=n=n.updateHeight(e,t,r,i):n.updateHeight(e,t,r),i&&i.from<=o+a.length&&i.more?l=a=a.updateHeight(e,o,r,i):a.updateHeight(e,o,r),l?this.balanced(n,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Eg(s,e){let t,r;s[e]==null&&(t=s[e-1])instanceof vs&&(r=s[e+1])instanceof vs&&s.splice(e-1,3,new vs(t.length+1+r.length))}const Gk=5;class Yf{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let r=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof er?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new er(r-this.pos,-1,0)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let i=r.widget?r.widget.estimatedHeight:0,n=r.widget?r.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let a=t-e;r.block?this.addBlock(new Zb(a,i,r)):(a||n||i>=Gk)&&this.addLineDeco(i,n,a)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new er(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new vs(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof er)return e;let t=new er(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof er)&&!this.isCovered?this.nodes.push(new er(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let i of this.nodes)i instanceof er&&i.updateHeight(this.oracle,r),r+=i?i.length:1;return this.nodes}static build(e,t,r,i){let n=new Yf(r,e);return xt.spans(t,r,i,n,0),n.finish(r)}}function Kk(s,e,t){let r=new Jk;return xt.compare(s,e,t,r,0),r.changes}class Jk{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,i){(e<t||r&&r.heightRelevant||i&&i.heightRelevant)&&io(e,t,this.changes,5)}}function eC(s,e){let t=s.getBoundingClientRect(),r=s.ownerDocument,i=r.defaultView||window,n=Math.max(0,t.left),a=Math.min(i.innerWidth,t.right),o=Math.max(0,t.top),l=Math.min(i.innerHeight,t.bottom);for(let c=s.parentNode;c&&c!=r.body;)if(c.nodeType==1){let d=c,u=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&u.overflow!="visible"){let f=d.getBoundingClientRect();n=Math.max(n,f.left),a=Math.min(a,f.right),o=Math.max(o,f.top),l=Math.min(c==s.parentNode?i.innerHeight:l,f.bottom)}c=u.position=="absolute"||u.position=="fixed"?d.offsetParent:d.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:n-t.left,right:Math.max(n,a)-t.left,top:o-(t.top+e),bottom:Math.max(o,l)-(t.top+e)}}function tC(s){let e=s.getBoundingClientRect(),t=s.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function sC(s,e){let t=s.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class yd{constructor(e,t,r,i){this.from=e,this.to=t,this.size=r,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],n=t[r];if(i.from!=n.from||i.to!=n.to||i.size!=n.size)return!1}return!0}draw(e,t){return Fe.replace({widget:new rC(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class rC extends Rr{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Rg{constructor(e,t){this.view=e,this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ag,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=It.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let r=t.facet(zf).some(i=>typeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new Fk(r),this.stateDeco=Mg(t),this.heightMap=Is.empty().applyChanges(this.stateDeco,kt.empty,this.heightOracle.setDoc(t.doc),[new fr(0,0,0,t.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Fe.set(this.lineGaps.map(i=>i.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let i=r?t.head:t.anchor;if(!e.some(({from:n,to:a})=>i>=n&&i<=a)){let{from:n,to:a}=this.lineBlockAt(i);e.push(new Ll(n,a))}}return this.viewports=e.sort((r,i)=>r.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Ag:new Uf(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(na(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=Mg(this.state);let i=e.changedRanges,n=fr.extendWithRanges(i,Kk(r,this.stateDeco,e?e.changes:cs.empty(this.state.doc.length))),a=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);jg(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=a||go)&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let l=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<l.from||t.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(wb)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,n=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?It.RTL:It.LTR;let a=this.heightOracle.mustRefreshForWrapping(n)||this.mustMeasureContent==="refresh",o=t.getBoundingClientRect(),l=a||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let c=0,d=0;if(o.width&&o.height){let{scaleX:_,scaleY:k}=ob(t,o);(_>.005&&Math.abs(this.scaleX-_)>.005||k>.005&&Math.abs(this.scaleY-k)>.005)&&(this.scaleX=_,this.scaleY=k,c|=16,a=l=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=f)&&(this.paddingTop=u,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let g=ab(this.view.contentDOM,!1).y;g!=this.scrollParent&&(this.scrollParent=g,this.scrollAnchorHeight=-1,this.scrollOffset=0);let v=this.getScrollOffset();this.scrollOffset!=v&&(this.scrollAnchorHeight=-1,this.scrollOffset=v),this.scrolledToBottom=cb(this.scrollParent||e.win);let b=(this.printing?sC:eC)(t,this.paddingTop),m=b.top-this.pixelViewport.top,O=b.bottom-this.pixelViewport.bottom;this.pixelViewport=b;let p=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(p!=this.inView&&(this.inView=p,p&&(l=!0)),!this.inView&&!this.scrollTarget&&!tC(e.dom))return 0;let x=o.width;if((this.contentDOMWidth!=x||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let _=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(_)&&(a=!0),a||i.lineWrapping&&Math.abs(x-this.contentDOMWidth)>i.charWidth){let{lineHeight:k,charWidth:w,textHeight:S}=e.docView.measureTextSize();a=k>0&&i.refresh(n,k,w,S,Math.max(5,x/w),_),a&&(e.docView.minWidth=0,c|=16)}m>0&&O>0?d=Math.max(m,O):m<0&&O<0&&(d=Math.min(m,O)),jg();for(let k of this.viewports){let w=k.from==this.viewport.from?_:e.docView.measureVisibleLineHeights(k);this.heightMap=(a?Is.empty().applyChanges(this.stateDeco,kt.empty,this.heightOracle,[new fr(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,a,new Yk(k.from,w))}go&&(c|=2)}let y=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),c|=this.updateForViewport()),(c&2||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,n=this.heightOracle,{visibleTop:a,visibleBottom:o}=this,l=new Ll(i.lineAt(a-r*1e3,Bt.ByHeight,n,0,0).from,i.lineAt(o+(1-r)*1e3,Bt.ByHeight,n,0,0).to);if(t){let{head:c}=t.range;if(c<l.from||c>l.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=i.lineAt(c,Bt.ByPos,n,0,0),f;t.y=="center"?f=(u.top+u.bottom)/2-d/2:t.y=="start"||t.y=="nearest"&&c<l.from?f=u.top:f=u.bottom-d,l=new Ll(i.lineAt(f-1e3/2,Bt.ByHeight,n,0,0).from,i.lineAt(f+d+1e3/2,Bt.ByHeight,n,0,0).to)}}return l}mapViewport(e,t){let r=t.mapPos(e.from,-1),i=t.mapPos(e.to,1);return new Ll(this.heightMap.lineAt(r,Bt.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Bt.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(e,Bt.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(t,Bt.ByPos,this.heightOracle,0,0),{visibleTop:a,visibleBottom:o}=this;return(e==0||i<=a-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||n>=o+Math.max(10,Math.min(r,250)))&&i>a-2*1e3&&n<o+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let i of e)t.touchesRange(i.from,i.to)||r.push(new yd(t.mapPos(i.from),t.mapPos(i.to),i.size,i.displaySize));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,i=r?1e4:2e3,n=i>>1,a=i<<1;if(this.defaultTextDirection!=It.LTR&&!r)return[];let o=[],l=(d,u,f,g)=>{if(u-d<n)return;let v=this.state.selection.main,b=[v.from];v.empty||b.push(v.to);for(let O of b)if(O>d&&O<u){l(d,O-10,f,g),l(O+10,u,f,g);return}let m=nC(e,O=>O.from>=f.from&&O.to<=f.to&&Math.abs(O.from-d)<n&&Math.abs(O.to-u)<n&&!b.some(p=>O.from<p&&O.to>p));if(!m){if(u<f.to&&t&&r&&t.visibleRanges.some(x=>x.from<=u&&x.to>=u)){let x=t.moveToLineBoundary(re.cursor(u),!1,!0).head;x>d&&(u=x)}let O=this.gapSize(f,d,u,g),p=r||O<2e6?O:2e6;m=new yd(d,u,O,p)}o.push(m)},c=d=>{if(d.length<a||d.type!=_s.Text)return;let u=iC(d.from,d.to,this.stateDeco);if(u.total<a)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,g,v;if(r){let b=i/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,O;if(f!=null){let p=Dl(u,f),x=((this.visibleBottom-this.visibleTop)/2+b)/d.height;m=p-x,O=p+x}else m=(this.visibleTop-d.top-b)/d.height,O=(this.visibleBottom-d.top+b)/d.height;g=Nl(u,m),v=Nl(u,O)}else{let b=u.total*this.heightOracle.charWidth,m=i*this.heightOracle.charWidth,O=0;if(b>2e6)for(let k of e)k.from>=d.from&&k.from<d.to&&k.size!=k.displaySize&&k.from*this.heightOracle.charWidth+O<this.pixelViewport.left&&(O=k.size-k.displaySize);let p=this.pixelViewport.left+O,x=this.pixelViewport.right+O,y,_;if(f!=null){let k=Dl(u,f),w=((x-p)/2+m)/b;y=k-w,_=k+w}else y=(p-m)/b,_=(x+m)/b;g=Nl(u,y),v=Nl(u,_)}g>d.from&&l(d.from,g,d,u),v<d.to&&l(v,d.to,d,u)};for(let d of this.viewportLines)Array.isArray(d.type)?d.type.forEach(c):c(d);return o}gapSize(e,t,r,i){let n=Dl(i,r)-Dl(i,t);return this.heightOracle.lineWrapping?e.height*n:i.total*this.heightOracle.charWidth*n}updateLineGaps(e){yd.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Fe.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let r=[];xt.spans(t,this.viewport.from,this.viewport.to,{span(n,a){r.push({from:n,to:a})},point(){}},20);let i=0;if(r.length!=this.visibleRanges.length)i=12;else for(let n=0;n<r.length&&!(i&8);n++){let a=this.visibleRanges[n],o=r[n];(a.from!=o.from||a.to!=o.to)&&(i|=4,e&&e.mapPos(a.from,-1)==o.from&&e.mapPos(a.to,1)==o.to||(i|=8))}return this.visibleRanges=r,i}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||na(this.heightMap.lineAt(e,Bt.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||na(this.heightMap.lineAt(this.scaler.fromDOM(e),Bt.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return na(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Ll{constructor(e,t){this.from=e,this.to=t}}function iC(s,e,t){let r=[],i=s,n=0;return xt.spans(t,s,e,{span(){},point(a,o){a>i&&(r.push({from:i,to:a}),n+=a-i),i=o}},20),i<e&&(r.push({from:i,to:e}),n+=e-i),{total:n,ranges:r}}function Nl({total:s,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let r=Math.floor(s*t);for(let i=0;;i++){let{from:n,to:a}=e[i],o=a-n;if(r<=o)return n+r;r-=o}}function Dl(s,e){let t=0;for(let{from:r,to:i}of s.ranges){if(e<=i){t+=e-r;break}t+=i-r}return t/s.total}function nC(s,e){for(let t of s)if(e(t))return t}const Ag={toDOM(s){return s},fromDOM(s){return s},scale:1,eq(s){return s==this}};function Mg(s){let e=s.facet(lh).filter(r=>typeof r!="function"),t=s.facet(Zf).filter(r=>typeof r!="function");return t.length&&e.push(xt.join(t)),e}class Uf{constructor(e,t,r){let i=0,n=0,a=0;this.viewports=r.map(({from:o,to:l})=>{let c=t.lineAt(o,Bt.ByPos,e,0,0).top,d=t.lineAt(l,Bt.ByPos,e,0,0).bottom;return i+=d-c,{from:o,to:l,top:c,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let o of this.viewports)o.domTop=a+(o.top-n)*this.scale,a=o.domBottom=o.domTop+(o.bottom-o.top),n=o.bottom}toDOM(e){for(let t=0,r=0,i=0;;t++){let n=t<this.viewports.length?this.viewports[t]:null;if(!n||e<n.top)return i+(e-r)*this.scale;if(e<=n.bottom)return n.domTop+(e-n.top);r=n.bottom,i=n.domBottom}}fromDOM(e){for(let t=0,r=0,i=0;;t++){let n=t<this.viewports.length?this.viewports[t]:null;if(!n||e<n.domTop)return r+(e-i)/this.scale;if(e<=n.domBottom)return n.top+(e-n.domTop);r=n.bottom,i=n.domBottom}}eq(e){return e instanceof Uf?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,r)=>t.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}}function na(s,e){if(e.scale==1)return s;let t=e.toDOM(s.top),r=e.toDOM(s.bottom);return new Tr(s.from,s.length,t,r-t,Array.isArray(s._content)?s._content.map(i=>na(i,e)):s._content)}const Il=Le.define({combine:s=>s.join(" ")}),Hu=Le.define({combine:s=>s.indexOf(!0)>-1}),Gu=Yi.newName(),Vb=Yi.newName(),Fb=Yi.newName(),Yb={"&light":"."+Vb,"&dark":"."+Fb};function Ku(s,e,t){return new Yi(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return s;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):s+" "+r}})}const oC=Ku("."+Gu,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Yb),aC={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Sd=Re.ie&&Re.ie_version<=11;class lC{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Nw,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let r of t)this.queue.push(r);(Re.ie&&Re.ie_version<=11||Re.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Re.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Re.chrome&&Re.chrome_version<126)&&(this.editContext=new hC(e),e.state.facet(vi)&&(e.contentDOM.editContext=this.editContext.editContext)),Sd&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,i=this.selectionRange;if(r.state.facet(vi)?r.root.activeElement!=this.dom:!ha(this.dom,i))return;let n=i.anchorNode&&r.docView.tile.nearest(i.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(Re.ie&&Re.ie_version<=11||Re.android&&Re.chrome)&&!r.state.selection.main.empty&&i.focusNode&&ua(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=_a(e.root);if(!t)return!1;let r=Re.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&cC(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let i=ha(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Iw(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),i&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(r.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=t)r.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,aC),Sd&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Sd&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let i=()=>{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&no(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,r=-1,i=!1;for(let n of e){let a=this.readMutation(n);a&&(a.typeOver&&(i=!0),t==-1?{from:t,to:r}=a:(t=Math.min(a.from,t),r=Math.max(a.to,r)))}return{from:t,to:r,typeOver:i}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),i=this.selectionChanged&&ha(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new Ck(this.view,e,t,r);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let r=this.view.state,i=Mb(this.view,t);return this.view.state==r&&(t.domChanged||t.newSel&&!Ec(this.view.state.selection,t.newSel.main))&&this.view.update([]),i}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let r=Lg(t,e.previousSibling||e.target.previousSibling,-1),i=Lg(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(vi)!=e.state.facet(vi)&&(e.view.contentDOM.editContext=e.state.facet(vi)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function Lg(s,e,t){for(;e;){let r=Jt.get(e);if(r&&r.parent==s)return r;let i=e.parentNode;e=i!=s.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function Ng(s,e){let t=e.startContainer,r=e.startOffset,i=e.endContainer,n=e.endOffset,a=s.docView.domAtPos(s.state.selection.main.anchor,1);return ua(a.node,a.offset,i,n)&&([t,r,i,n]=[i,n,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:n}}function cC(s,e){if(e.getComposedRanges){let i=e.getComposedRanges(s.root)[0];if(i)return Ng(s,i)}let t=null;function r(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return s.contentDOM.addEventListener("beforeinput",r,!0),s.dom.ownerDocument.execCommand("indent"),s.contentDOM.removeEventListener("beforeinput",r,!0),t?Ng(s,t):null}class hC{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let i=e.state.selection.main,{anchor:n,head:a}=i,o=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:o,drifted:!1});let c=l-o>r.text.length;o==this.from&&n<this.from?o=n:l==this.to&&n>this.to&&(l=n);let d=Lb(e.state.sliceDoc(o,l),r.text,(c?i.from:i.to)-o,c?"end":null);if(!d){let f=re.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));Ec(f,i)||e.dispatch({selection:f,userEvent:"select"});return}let u={from:d.from+o,to:d.toA+o,insert:kt.of(r.text.slice(d.from,d.toB).split(`
14
+ `))};if((Re.mac||Re.android)&&u.from==a-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:o,to:l,insert:kt.of([r.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let f=this.to-this.from+(u.to-u.from+u.insert.length);Ff(e,u,re.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let i=[],n=null;for(let a=this.toEditorPos(r.rangeStart),o=this.toEditorPos(r.rangeEnd);a<o;a++){let l=e.coordsForChar(a);n=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||n||new DOMRect,i.push(n)}t.updateCharacterBounds(r.rangeStart,i)},this.handlers.textformatupdate=r=>{let i=[];for(let n of r.getTextFormats()){let a=n.underlineStyle,o=n.underlineThickness;if(!/none/i.test(a)&&!/none/i.test(o)){let l=this.toEditorPos(n.rangeStart),c=this.toEditorPos(n.rangeEnd);if(l<c){let d=`text-decoration: underline ${/^[a-z]/.test(a)?a+" ":a=="Dashed"?"dashed ":a=="Squiggle"?"wavy ":""}${/thin/i.test(o)?1:2}px`;i.push(Fe.mark({attributes:{style:d}}).range(l,c))}}}e.dispatch({effects:Cb.of(Fe.set(i))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{let i=_a(r.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,i=this.pendingContextChange;return e.changes.iterChanges((n,a,o,l,c)=>{if(r)return;let d=c.length-(a-n);if(i&&a>=i.to)if(i.from==n&&i.to==a&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=d,this.to+=d;return}else i=null,this.revertPending(e.state);if(n+=t,a+=t,a<=this.from)this.from+=d,this.to+=d;else if(n<this.to){if(n<this.from||a>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(a),c.toString()),this.to+=d}t+=d}),i&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(r,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Pe{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(i=>i.forEach(n=>r(n,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Dw(e.parent)||document,this.viewState=new Rg(this,e.state||vt.create(e)),e.scrollTo&&e.scrollTo.is(Rl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Jn).map(i=>new gd(i));for(let i of this.plugins)i.update(this);this.observer=new lC(this),this.inputState=new $k(this),this.inputState.ensureHandlers(this.plugins),this.docView=new vg(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof ls?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,i,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let a=this.hasFocus,o=0,l=null;e.some(f=>f.annotation(Xb))?(this.inputState.notifiedFocused=a,o=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,l=qb(n,a),l||(o=1));let c=this.observer.delayedAndroidKey,d=null;if(c?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(d=null)):this.observer.clear(),n.facet(vt.phrases)!=this.state.facet(vt.phrases))return this.setState(n);i=Qc.create(this,n,e),i.flags|=o;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(u&&(u=u.map(f.changes)),f.scrollIntoView){let{main:g}=f.state.selection,{x:v,y:b}=this.state.facet(Pe.cursorScrollMargin);u=new oo(g.empty?g:re.cursor(g.head,g.head>g.anchor?-1:1),"nearest","nearest",b,v)}for(let g of f.effects)g.is(Rl)&&(u=g.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=Ac.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(ia)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(Il)!=i.state.facet(Il)&&(this.viewState.mustMeasureContent=!0),(t||r||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let f of this.state.facet(Zu))try{f(i)}catch(g){Fs(this.state,g,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!Mb(this,d)&&c.force&&no(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new Rg(this,e),this.plugins=e.facet(Jn).map(r=>new gd(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new vg(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Jn),r=e.state.facet(Jn);if(t!=r){let i=[];for(let n of r){let a=t.indexOf(n);if(a<0)i.push(new gd(n));else{let o=this.plugins[a];o.mustUpdate=e,i.push(o)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i<this.plugins.length;i++)this.plugins[i].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(r){Fs(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.viewState.scrollParent,i=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:a}=this.viewState;Math.abs(i-this.viewState.scrollOffset)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let o=0;;o++){if(a<0)if(cb(r||this.win))n=-1,a=this.viewState.heightMap.height;else{let g=this.viewState.scrollAnchorAt(i);n=g.from,a=g.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(o>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let d=c.map(g=>{try{return g.read(this)}catch(v){return Fs(this.state,v),Dg}}),u=Qc.create(this,this.state,[]),f=!1;u.flags|=l,t?t.flags|=l:t=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),f=this.docView.update(u),f&&this.docViewUpdate());for(let g=0;g<c.length;g++)if(d[g]!=Dg)try{let v=c[g];v.write&&v.write(d[g],this)}catch(v){Fs(this.state,v)}if(f&&this.docView.updateSelection(!0),!u.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,a=-1;continue}else{let v=((n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-a)/this.scaleY;if((v>1||v<-1)&&!(Re.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(r==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){i=i+v,r?r.scrollTop+=v:this.win.scrollBy(0,v),a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let o of this.state.facet(Zu))o(t)}get themeClasses(){return Gu+" "+(this.state.facet(Hu)?Fb:Vb)+" "+this.state.facet(Il)}updateAttrs(){let e=Ig(this,Pb,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(vi)?"true":"false",class:"cm-content",style:`${Re.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Ig(this,zf,t);let r=this.observer.ignore(()=>{let i=pg(this.contentDOM,this.contentAttrs,t),n=pg(this.dom,this.editorAttrs,e);return i||n});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let i of r.effects)if(i.is(Pe.announce)){t&&(this.announceDOM.textContent=""),t=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(ia);let e=this.state.facet(Pe.cspNonce);Yi.mount(this.root,this.styleModules.concat(oC).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(r=>r.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,r){return vd(this,e,yg(this,e,t,r))}moveByGroup(e,t){return vd(this,e,yg(this,e,t,r=>vk(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),i=this.textDirectionAt(e.from),n=r[t?r.length-1:0];return re.cursor(n.side(t,i)+e.from,n.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,r=!0){return bk(this,e,t,r)}moveVertically(e,t,r){return vd(this,e,yk(this,e,t,r))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let r=Yu(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Yu(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.state.doc.lineAt(e),i=this.bidiSpans(r),n=i[Yr.find(i,e-r.from,-1,t)];return this.docView.coordsAt(e,t,n.dir==It.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(_b)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>dC)return mb(e.length);let t=this.textDirectionAt(e.from),r;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t&&(n.fresh||pb(n.isolates,r=Og(this,e))))return n.order;r||(r=Og(this,e));let i=Vw(e.text,t,r);return this.bidiCache.push(new Ac(e.from,e.to,t,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Re.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{lb(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var r,i,n,a;return Rl.of(new oo(typeof e=="number"?re.cursor(e):e,(r=t.y)!==null&&r!==void 0?r:"nearest",(i=t.x)!==null&&i!==void 0?i:"nearest",(n=t.yMargin)!==null&&n!==void 0?n:5,(a=t.xMargin)!==null&&a!==void 0?a:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return Rl.of(new oo(re.cursor(r.from),"start","start",r.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return es.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return es.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=Yi.newName(),i=[Il.of(r),ia.of(Ku(`.${r}`,e))];return t&&t.dark&&i.push(Hu.of(!0)),i}static baseTheme(e){return Ti.lowest(ia.of(Ku("."+Gu,e,Yb)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&Jt.get(r)||Jt.get(e);return((t=i?.root)===null||t===void 0?void 0:t.view)||null}}Pe.styleModule=ia;Pe.inputHandler=yb;Pe.clipboardInputFilter=Xf;Pe.clipboardOutputFilter=qf;Pe.scrollHandler=kb;Pe.focusChangeEffect=Sb;Pe.perLineTextDirection=_b;Pe.exceptionSink=vb;Pe.updateListener=Zu;Pe.editable=vi;Pe.mouseSelectionStyle=bb;Pe.dragMovesSelection=xb;Pe.clickAddsSelectionRange=Ob;Pe.decorations=lh;Pe.blockWrappers=Tb;Pe.outerDecorations=Zf;Pe.atomicRanges=Za;Pe.bidiIsolatedRanges=Qb;Pe.cursorScrollMargin=Le.define({combine:s=>{let e=5,t=5;for(let r of s)typeof r=="number"?e=t=r:{x:e,y:t}=r;return{x:e,y:t}}});Pe.scrollMargins=$b;Pe.darkTheme=Hu;Pe.cspNonce=Le.define({combine:s=>s.length?s[0]:""});Pe.contentAttributes=zf;Pe.editorAttributes=Pb;Pe.lineWrapping=Pe.contentAttributes.of({class:"cm-lineWrapping"});Pe.announce=ct.define();const dC=4096,Dg={};class Ac{constructor(e,t,r,i,n,a){this.from=e,this.to=t,this.dir=r,this.isolates=i,this.fresh=n,this.order=a}static update(e,t){if(t.empty&&!e.some(n=>n.fresh))return e;let r=[],i=e.length?e[e.length-1].dir:It.LTR;for(let n=Math.max(0,e.length-10);n<e.length;n++){let a=e[n];a.dir==i&&!t.touchesRange(a.from,a.to)&&r.push(new Ac(t.mapPos(a.from,1),t.mapPos(a.to,-1),a.dir,a.isolates,!1,a.order))}return r}}function Ig(s,e,t){for(let r=s.state.facet(e),i=r.length-1;i>=0;i--){let n=r[i],a=typeof n=="function"?n(s):n;a&&If(a,t)}return t}const uC=Re.mac?"mac":Re.windows?"win":Re.linux?"linux":"key";function fC(s,e){const t=s.split(/-(?!$)/);let r=t[t.length-1];r=="Space"&&(r=" ");let i,n,a,o;for(let l=0;l<t.length-1;++l){const c=t[l];if(/^(cmd|meta|m)$/i.test(c))o=!0;else if(/^a(lt)?$/i.test(c))i=!0;else if(/^(c|ctrl|control)$/i.test(c))n=!0;else if(/^s(hift)?$/i.test(c))a=!0;else if(/^mod$/i.test(c))e=="mac"?o=!0:n=!0;else throw new Error("Unrecognized modifier name: "+c)}return i&&(r="Alt-"+r),n&&(r="Ctrl-"+r),o&&(r="Meta-"+r),a&&(r="Shift-"+r),r}function Bl(s,e,t){return e.altKey&&(s="Alt-"+s),e.ctrlKey&&(s="Ctrl-"+s),e.metaKey&&(s="Meta-"+s),t!==!1&&e.shiftKey&&(s="Shift-"+s),s}const pC=Ti.default(Pe.domEventHandlers({keydown(s,e){return Hb(Ub(e.state),s,e,"editor")}})),wo=Le.define({enables:pC}),Bg=new WeakMap;function Ub(s){let e=s.facet(wo),t=Bg.get(e);return t||Bg.set(e,t=OC(e.reduce((r,i)=>r.concat(i),[]))),t}function mC(s,e,t){return Hb(Ub(s.state),e,s,t)}let zi=null;const gC=4e3;function OC(s,e=uC){let t=Object.create(null),r=Object.create(null),i=(a,o)=>{let l=r[a];if(l==null)r[a]=o;else if(l!=o)throw new Error("Key binding "+a+" is used both as a regular binding and as a multi-stroke prefix")},n=(a,o,l,c,d)=>{var u,f;let g=t[a]||(t[a]=Object.create(null)),v=o.split(/ (?!$)/).map(O=>fC(O,e));for(let O=1;O<v.length;O++){let p=v.slice(0,O).join(" ");i(p,!0),g[p]||(g[p]={preventDefault:!0,stopPropagation:!1,run:[x=>{let y=zi={view:x,prefix:p,scope:a};return setTimeout(()=>{zi==y&&(zi=null)},gC),!0}]})}let b=v.join(" ");i(b,!1);let m=g[b]||(g[b]={preventDefault:!1,stopPropagation:!1,run:((f=(u=g._any)===null||u===void 0?void 0:u.run)===null||f===void 0?void 0:f.slice())||[]});l&&m.run.push(l),c&&(m.preventDefault=!0),d&&(m.stopPropagation=!0)};for(let a of s){let o=a.scope?a.scope.split(" "):["editor"];if(a.any)for(let c of o){let d=t[c]||(t[c]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=a;for(let f in d)d[f].run.push(g=>u(g,Ju))}let l=a[e]||a.key;if(l)for(let c of o)n(c,l,a.run,a.preventDefault,a.stopPropagation),a.shift&&n(c,"Shift-"+l,a.shift,a.preventDefault,a.stopPropagation)}return t}let Ju=null;function Hb(s,e,t,r){Ju=e;let i=jw(e),n=zs(i,0),a=Vr(n)==i.length&&i!=" ",o="",l=!1,c=!1,d=!1;zi&&zi.view==t&&zi.scope==r&&(o=zi.prefix+" ",Db.indexOf(e.keyCode)<0&&(c=!0,zi=null));let u=new Set,f=m=>{if(m){for(let O of m.run)if(!u.has(O)&&(u.add(O),O(t)))return m.stopPropagation&&(d=!0),!0;m.preventDefault&&(m.stopPropagation&&(d=!0),c=!0)}return!1},g=s[r],v,b;return g&&(f(g[o+Bl(i,e,!a)])?l=!0:a&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Re.windows&&e.ctrlKey&&e.altKey)&&!(Re.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(v=Ui[e.keyCode])&&v!=i?(f(g[o+Bl(v,e,!0)])||e.shiftKey&&(b=ya[e.keyCode])!=i&&b!=v&&f(g[o+Bl(b,e,!1)]))&&(l=!0):a&&e.shiftKey&&f(g[o+Bl(i,e,!0)])&&(l=!0),!l&&f(g._any)&&(l=!0)),c&&(l=!0),l&&d&&e.stopPropagation(),Ju=null,l}class jn{constructor(e,t,r,i,n){this.className=e,this.left=t,this.top=r,this.width=i,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let n=Gb(e);return[new jn(t,i.left-n.left,i.top-n.top,null,i.bottom-i.top)]}else return xC(e,t,r)}}function Gb(s){let e=s.scrollDOM.getBoundingClientRect();return{left:(s.textDirection==It.LTR?e.left:e.right-s.scrollDOM.clientWidth*s.scaleX)-s.scrollDOM.scrollLeft*s.scaleX,top:e.top-s.scrollDOM.scrollTop*s.scaleY}}function Wg(s,e,t,r){let i=s.coordsAtPos(e,t*2);if(!i)return r;let n=s.dom.getBoundingClientRect(),a=(i.top+i.bottom)/2,o=s.posAtCoords({x:n.left+1,y:a}),l=s.posAtCoords({x:n.right-1,y:a});return o==null||l==null?r:{from:Math.max(r.from,Math.min(o,l)),to:Math.min(r.to,Math.max(o,l))}}function xC(s,e,t){if(t.to<=s.viewport.from||t.from>=s.viewport.to)return[];let r=Math.max(t.from,s.viewport.from),i=Math.min(t.to,s.viewport.to),n=s.textDirection==It.LTR,a=s.contentDOM,o=a.getBoundingClientRect(),l=Gb(s),c=a.querySelector(".cm-line"),d=c&&window.getComputedStyle(c),u=o.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),f=o.right-(d?parseInt(d.paddingRight):0),g=Fu(s,r,1),v=Fu(s,i,-1),b=g.type==_s.Text?g:null,m=v.type==_s.Text?v:null;if(b&&(s.lineWrapping||g.widgetLineBreaks)&&(b=Wg(s,r,1,b)),m&&(s.lineWrapping||v.widgetLineBreaks)&&(m=Wg(s,i,-1,m)),b&&m&&b.from==m.from&&b.to==m.to)return p(x(t.from,t.to,b));{let _=b?x(t.from,null,b):y(g,!1),k=m?x(null,t.to,m):y(v,!0),w=[];return(b||g).to<(m||v).from-(b&&m?1:0)||g.widgetLineBreaks>1&&_.bottom+s.defaultLineHeight/2<k.top?w.push(O(u,_.bottom,f,k.top)):_.bottom<k.top&&s.elementAtHeight((_.bottom+k.top)/2).type==_s.Text&&(_.bottom=k.top=(_.bottom+k.top)/2),p(_).concat(w).concat(p(k))}function O(_,k,w,S){return new jn(e,_-l.left,k-l.top,Math.max(0,w-_),S-k)}function p({top:_,bottom:k,horizontal:w}){let S=[];for(let Q=0;Q<w.length;Q+=2)S.push(O(w[Q],_,w[Q+1],k));return S}function x(_,k,w){let S=1e9,Q=-1e9,N=[];function L(I,V,Z,z,J){let T=s.coordsAtPos(I,I==w.to?-2:2),A=s.coordsAtPos(Z,Z==w.from?2:-2);!T||!A||(S=Math.min(T.top,A.top,S),Q=Math.max(T.bottom,A.bottom,Q),J==It.LTR?N.push(n&&V?u:T.left,n&&z?f:A.right):N.push(!n&&z?u:A.left,!n&&V?f:T.right))}let $=_??w.from,j=k??w.to;for(let I of s.visibleRanges)if(I.to>$&&I.from<j)for(let V=Math.max(I.from,$),Z=Math.min(I.to,j);;){let z=s.state.doc.lineAt(V);for(let J of s.bidiSpans(z)){let T=J.from+z.from,A=J.to+z.from;if(T>=Z)break;A>V&&L(Math.max(T,V),_==null&&T<=$,Math.min(A,Z),k==null&&A>=j,J.dir)}if(V=z.to+1,V>=Z)break}return N.length==0&&L($,_==null,j,k==null,s.textDirection),{top:S,bottom:Q,horizontal:N}}function y(_,k){let w=o.top+(k?_.top:_.bottom);return{top:w,bottom:w,horizontal:[]}}}function bC(s,e){return s.constructor==e.constructor&&s.eq(e)}class vC{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(dc)!=e.state.facet(dc)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(dc);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,r)=>!bC(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[r].constructor&&i.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,Re.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const dc=Le.define();function Kb(s){return[es.define(e=>new vC(e,s)),dc.of(s)]}const Oo=Le.define({combine(s){return ti(s,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function yC(s={}){return[Oo.of(s),SC,_C,kC,wb.of(!0)]}function Jb(s){return s.startState.facet(Oo)!=s.state.facet(Oo)}const SC=Kb({above:!0,markers(s){let{state:e}=s,t=e.facet(Oo),r=[];for(let i of e.selection.ranges){let n=i==e.selection.main;if(i.empty||t.drawRangeCursor&&!(n&&Re.ios&&t.iosSelectionHandles)){let a=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",o=i.empty?i:re.cursor(i.head,i.assoc);for(let l of jn.forRange(s,a,o))r.push(l)}}return r},update(s,e){s.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Jb(s);return t&&Xg(s.state,e),s.docChanged||s.selectionSet||t},mount(s,e){Xg(e.state,s)},class:"cm-cursorLayer"});function Xg(s,e){e.style.animationDuration=s.facet(Oo).cursorBlinkRate+"ms"}const _C=Kb({above:!1,markers(s){let e=[],{main:t,ranges:r}=s.state.selection;for(let i of r)if(!i.empty)for(let n of jn.forRange(s,"cm-selectionBackground",i))e.push(n);if(Re.ios&&!t.empty&&s.state.facet(Oo).iosSelectionHandles){for(let i of jn.forRange(s,"cm-selectionHandle cm-selectionHandle-start",re.cursor(t.from,1)))e.push(i);for(let i of jn.forRange(s,"cm-selectionHandle cm-selectionHandle-end",re.cursor(t.to,1)))e.push(i)}return e},update(s,e){return s.docChanged||s.selectionSet||s.viewportChanged||Jb(s)},class:"cm-selectionLayer"}),wC=Re.gecko&&Re.gecko_version>=153?"#ffffff01":"transparent",kC=Ti.highest(Pe.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${wC} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),ev=ct.define({map(s,e){return s==null?null:e.mapPos(s)}}),oa=ws.define({create(){return null},update(s,e){return s!=null&&(s=e.changes.mapPos(s)),e.effects.reduce((t,r)=>r.is(ev)?r.value:t,s)}}),CC=es.fromClass(class{constructor(s){this.view=s,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(s){var e;let t=s.state.field(oa);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(s.startState.field(oa)!=t||s.docChanged||s.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:s}=this,e=s.state.field(oa),t=e!=null&&s.coordsAtPos(e);if(!t)return null;let r=s.scrollDOM.getBoundingClientRect();return{left:t.left-r.left+s.scrollDOM.scrollLeft*s.scaleX,top:t.top-r.top+s.scrollDOM.scrollTop*s.scaleY,height:t.bottom-t.top}}drawCursor(s){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;s?(this.cursor.style.left=s.left/e+"px",this.cursor.style.top=s.top/t+"px",this.cursor.style.height=s.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(s){this.view.state.field(oa)!=s&&this.view.dispatch({effects:ev.of(s)})}},{eventObservers:{dragover(s){this.setDropPos(this.view.posAtCoords({x:s.clientX,y:s.clientY}))},dragleave(s){(s.target==this.view.contentDOM||!this.view.contentDOM.contains(s.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function PC(){return[oa,CC]}function qg(s,e,t,r,i){e.lastIndex=0;for(let n=s.iterRange(t,r),a=t,o;!n.next().done;a+=n.value.length)if(!n.lineBreak)for(;o=e.exec(n.value);)i(a+o.index,o)}function TC(s,e){let t=s.visibleRanges;if(t.length==1&&t[0].from==s.viewport.from&&t[0].to==s.viewport.to)return t;let r=[];for(let{from:i,to:n}of t)i=Math.max(s.state.doc.lineAt(i).from,i-e),n=Math.min(s.state.doc.lineAt(n).to,n+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=n:r.push({from:i,to:n});return r}class QC{constructor(e){const{regexp:t,decoration:r,decorate:i,boundary:n,maxLength:a=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(o,l,c,d)=>i(d,c,c+o[0].length,o,l);else if(typeof r=="function")this.addMatch=(o,l,c,d)=>{let u=r(o,l,c);u&&d(c,c+o[0].length,u)};else if(r)this.addMatch=(o,l,c,d)=>d(c,c+o[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=n,this.maxLength=a}createDeco(e){let t=new _i,r=t.add.bind(t);for(let{from:i,to:n}of TC(e,this.maxLength))qg(e.state.doc,this.regexp,i,n,(a,o)=>this.addMatch(o,e,a,r));return t.finish()}updateDeco(e,t){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((n,a,o,l)=>{l>=e.view.viewport.from&&o<=e.view.viewport.to&&(r=Math.min(o,r),i=Math.max(l,i))}),e.viewportMoved||i-r>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),r,i):t}updateRange(e,t,r,i){for(let n of e.visibleRanges){let a=Math.max(n.from,r),o=Math.min(n.to,i);if(o>=a){let l=e.state.doc.lineAt(a),c=l.to<o?e.state.doc.lineAt(o):l,d=Math.max(n.from,l.from),u=Math.min(n.to,c.to);if(this.boundary){for(;a>l.from;a--)if(this.boundary.test(l.text[a-1-l.from])){d=a;break}for(;o<c.to;o++)if(this.boundary.test(c.text[o-c.from])){u=o;break}}let f=[],g,v=(b,m,O)=>f.push(O.range(b,m));if(l==c)for(this.regexp.lastIndex=d-l.from;(g=this.regexp.exec(l.text))&&g.index<u-l.from;)this.addMatch(g,e,g.index+l.from,v);else qg(e.state.doc,this.regexp,d,u,(b,m)=>this.addMatch(m,e,b,v));t=t.update({filterFrom:d,filterTo:u,filter:(b,m)=>b<d||m>u,add:f})}}return t}}const ef=/x/.unicode!=null?"gu":"g",$C=new RegExp(`[\0-\b
15
+ --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,ef),jC={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let _d=null;function EC(){var s;if(_d==null&&typeof document<"u"&&document.body){let e=document.body.style;_d=((s=e.tabSize)!==null&&s!==void 0?s:e.MozTabSize)!=null}return _d||!1}const uc=Le.define({combine(s){let e=ti(s,{render:null,specialChars:$C,addSpecialChars:null});return(e.replaceTabs=!EC())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,ef)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,ef)),e}});function RC(s={}){return[uc.of(s),AC()]}let zg=null;function AC(){return zg||(zg=es.fromClass(class{constructor(s){this.view=s,this.decorations=Fe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(s.state.facet(uc)),this.decorations=this.decorator.createDeco(s)}makeDecorator(s){return new QC({regexp:s.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,n=zs(e[0],0);if(n==9){let a=i.lineAt(r),o=t.state.tabSize,l=jr(a.text,o,r-a.from);return Fe.replace({widget:new DC((o-l%o)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[n]||(this.decorationCache[n]=Fe.replace({widget:new NC(s,n)}))},boundary:s.replaceTabs?void 0:/[^]/})}update(s){let e=s.state.facet(uc);s.startState.facet(uc)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(s.view)):this.decorations=this.decorator.updateDeco(s,this.decorations)}},{decorations:s=>s.decorations}))}const MC="•";function LC(s){return s>=32?MC:s==10?"␤":String.fromCharCode(9216+s)}class NC extends Rr{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=LC(this.code),r=e.state.phrase("Control character")+" "+(jC[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let n=document.createElement("span");return n.textContent=t,n.title=r,n.setAttribute("aria-label",r),n.className="cm-specialChar",n}ignoreEvent(){return!1}}class DC extends Rr{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function IC(){return WC}const BC=Fe.line({class:"cm-activeLine"}),WC=es.fromClass(class{constructor(s){this.decorations=this.getDeco(s)}update(s){(s.docChanged||s.selectionSet)&&(this.decorations=this.getDeco(s.view))}getDeco(s){let e=-1,t=[];for(let r of s.state.selection.ranges){let i=s.lineBlockAt(r.head);i.from>e&&(t.push(BC.range(i.from)),e=i.from)}return Fe.set(t)}},{decorations:s=>s.decorations});class XC extends Rr{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?da(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),i=wa(t[0],r.direction!="rtl"),n=parseInt(r.lineHeight);return i.bottom-i.top>n*1.5?{left:i.left,right:i.right,top:i.top,bottom:i.top+n}:i}ignoreEvent(){return!1}}function qC(s){let e=es.fromClass(class{constructor(t){this.view=t,this.placeholder=s?Fe.set([Fe.widget({widget:new XC(s),side:1}).range(0)]):Fe.none}get decorations(){return this.view.state.doc.length?Fe.none:this.placeholder}},{decorations:t=>t.decorations});return typeof s=="string"?[e,Pe.contentAttributes.of({"aria-placeholder":s})]:e}const tf=2e3;function zC(s,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),n=[];if(e.off>tf||t.off>tf||e.col<0||t.col<0){let a=Math.min(e.off,t.off),o=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let c=s.doc.line(l);c.length<=o&&n.push(re.range(c.from+a,c.to+o))}}else{let a=Math.min(e.col,t.col),o=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let c=s.doc.line(l),d=Au(c.text,a,s.tabSize,!0);if(d<0)n.push(re.cursor(c.to));else{let u=Au(c.text,o,s.tabSize);n.push(re.range(c.from+d,c.from+u))}}}return n}function ZC(s,e){let t=s.coordsAtPos(s.viewport.from);return t?Math.round(Math.abs((t.left-e)/s.defaultCharacterWidth)):-1}function Zg(s,e){let t=s.posAtCoords({x:e.clientX,y:e.clientY},!1),r=s.state.doc.lineAt(t),i=t-r.from,n=i>tf?-1:i==r.length?ZC(s,e.clientX):jr(r.text,s.state.tabSize,t-r.from);return{line:r.number,col:n,off:i}}function VC(s,e){let t=Zg(s,e),r=s.state.selection;return t?{update(i){if(i.docChanged){let n=i.changes.mapPos(i.startState.doc.line(t.line).from),a=i.state.doc.lineAt(n);t={line:a.number,col:t.col,off:Math.min(t.off,a.length)},r=r.map(i.changes)}},get(i,n,a){let o=Zg(s,i);if(!o)return r;let l=zC(s.state,t,o);return l.length?a?re.create(l.concat(r.ranges)):re.create(l):r}}:null}function FC(s){let e=(t=>t.altKey&&t.button==0);return Pe.mouseSelectionStyle.of((t,r)=>e(r)?VC(t,r):null)}const YC={Alt:[18,s=>!!s.altKey],Control:[17,s=>!!s.ctrlKey],Shift:[16,s=>!!s.shiftKey],Meta:[91,s=>!!s.metaKey]},UC={style:"cursor: crosshair"};function HC(s={}){let[e,t]=YC[s.key||"Alt"],r=es.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}});return[r,Pe.contentAttributes.of(i=>{var n;return!((n=i.plugin(r))===null||n===void 0)&&n.isDown?UC:null})]}const Wl="-10000px";class tv{constructor(e,t,r,i){this.facet=t,this.createTooltipView=r,this.removeTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(a=>a);let n=null;this.tooltipViews=this.tooltips.map(a=>n=r(a,n))}update(e,t){var r;let i=e.state.facet(this.facet),n=i.filter(l=>l);if(i===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let a=[],o=t?[]:null;for(let l=0;l<n.length;l++){let c=n[l],d=-1;if(c){for(let u=0;u<this.tooltips.length;u++){let f=this.tooltips[u];f&&f.create==c.create&&(d=u)}if(d<0)a[l]=this.createTooltipView(c,l?a[l-1]:null),o&&(o[l]=!!c.above);else{let u=a[l]=this.tooltipViews[d];o&&(o[l]=t[d]),u.update&&u.update(e)}}}for(let l of this.tooltipViews)a.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return t&&(o.forEach((l,c)=>t[c]=l),t.length=o.length),this.input=i,this.tooltips=n,this.tooltipViews=a,!0}}function GC(s){let e=s.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const wd=Le.define({combine:s=>{var e,t,r;return{position:Re.ios?"absolute":((e=s.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=s.find(i=>i.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=s.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||GC}}}),Vg=new WeakMap,Hf=es.fromClass(class{constructor(s){this.view=s,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=s.state.facet(wd);this.position=e.position,this.parent=e.parent,this.classes=s.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new tv(s,Gf,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),s.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let s of this.manager.tooltipViews)this.intersectionObserver.observe(s.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(s){s.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(s,this.above);e&&this.observeIntersection();let t=e||s.geometryChanged,r=s.state.facet(wd);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(s,e){let t=s.create(this.view),r=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),s.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let i=document.createElement("div");i.className="cm-tooltip-arrow",t.dom.appendChild(i)}return t.dom.style.position=this.position,t.dom.style.top=Wl,t.dom.style.left="0px",this.container.insertBefore(t.dom,r),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var s,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(s=r.destroy)===null||s===void 0||s.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let s=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Re.safari){let a=n.getBoundingClientRect();t=Math.abs(a.top+1e4)>1||Math.abs(a.left)>1}else t=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(s=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:s,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=Vf(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,a)=>{let o=this.manager.tooltipViews[a];return o.getCoords?o.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(wd).tooltipSpace(this.view),scaleX:s,scaleY:e,makeAbsolute:t}}writeMeasure(s){var e;if(s.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let o of this.manager.tooltipViews)o.dom.style.position="absolute"}let{visible:t,space:r,scaleX:i,scaleY:n}=s,a=[];for(let o=0;o<this.manager.tooltips.length;o++){let l=this.manager.tooltips[o],c=this.manager.tooltipViews[o],{dom:d}=c,u=s.pos[o],f=s.size[o];if(!u||l.clip!==!1&&(u.bottom<=Math.max(t.top,r.top)||u.top>=Math.min(t.bottom,r.bottom)||u.right<Math.max(t.left,r.left)-.1||u.left>Math.min(t.right,r.right)+.1)){d.style.top=Wl;continue}let g=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,v=g?7:0,b=f.right-f.left,m=(e=Vg.get(c))!==null&&e!==void 0?e:f.bottom-f.top,O=c.offset||JC,p=this.view.textDirection==It.LTR,x=f.width>r.right-r.left?p?r.left:r.right-f.width:p?Math.max(r.left,Math.min(u.left-(g?14:0)+O.x,r.right-b)):Math.min(Math.max(r.left,u.left-b+(g?14:0)-O.x),r.right-b),y=this.above[o];!l.strictSide&&(y?u.top-m-v-O.y<r.top:u.bottom+m+v+O.y>r.bottom)&&y==r.bottom-u.bottom>u.top-r.top&&(y=this.above[o]=!y);let _=(y?u.top-r.top:r.bottom-u.bottom)-v;if(_<m&&c.resize!==!1){if(_<this.view.defaultLineHeight){d.style.top=Wl;continue}Vg.set(c,m),d.style.height=(m=_)/n+"px"}else d.style.height&&(d.style.height="");let k=y?u.top-m-v-O.y:u.bottom+v+O.y,w=x+b;if(c.overlap!==!0)for(let S of a)S.left<w&&S.right>x&&S.top<k+m&&S.bottom>k&&(k=y?S.top-m-2-v:S.bottom+v+2);if(this.position=="absolute"?(d.style.top=(k-s.parent.top)/n+"px",Fg(d,(x-s.parent.left)/i)):(d.style.top=k/n+"px",Fg(d,x/i)),g){let S=u.left+(p?O.x:-O.x)-(x+14-7);g.style.left=S/i+"px"}c.overlap!==!0&&a.push({left:x,top:k,right:w,bottom:k+m}),d.classList.toggle("cm-tooltip-above",y),d.classList.toggle("cm-tooltip-below",!y),c.positioned&&c.positioned(s.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let s of this.manager.tooltipViews)s.dom.style.top=Wl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Fg(s,e){let t=parseInt(s.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(s.style.left=e+"px")}const KC=Pe.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),JC={x:0,y:0},Gf=Le.define({enables:[Hf,KC]}),Mc=Le.define({combine:s=>s.reduce((e,t)=>e.concat(t),[])});class uh{static create(e){return new uh(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new tv(e,Mc,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(e,t){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let i=r[e];if(i!==void 0){if(t===void 0)t=i;else if(t!==i)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const e2=Gf.compute([Mc],s=>{let e=s.facet(Mc);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var r;return(r=t.end)!==null&&r!==void 0?r:t.pos})),create:uh.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),sv=Le.define();class t2{constructor(e,t,r,i,n,a){this.view=e,this.source=t,this.field=r,this.locked=i,this.setHover=n,this.hoverTime=a,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.tile.nearest(t.target);if(!r)return;let i,n=1;if(r.isWidget())i=r.posAtStart;else{if(i=e.posAtCoords(t),i==null)return;let a=e.coordsAtPos(i);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(i)).find(c=>c.from<=i&&c.to>=i),l=o&&o.dir==It.RTL?-1:1;n=t.x<a.left?-l:l}this.activateHover(e,i,n)}activateHover(e,t,r,i){let n=this.source(e,t,r),a=o=>{if(o&&!(Array.isArray(o)&&!o.length)){let l=Array.isArray(o)?o:[o];i&&this.locked.set(l,i),e.dispatch({effects:this.setHover.of(l)})}};if(n&&"then"in n){let o=this.pending={pos:t};n.then(l=>{this.pending==o&&(this.pending=null,a(l))},l=>Fs(e.state,l,"hover tooltip"))}else a(n)}get tooltip(){let e=this.view.plugin(Hf),t=e?e.manager.tooltips.findIndex(r=>r.create==uh.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:n}=this;if(i.length&&!this.locked.has(i)&&n&&!s2(n.dom,e)||this.pending){let{pos:a}=i[0]||this.pending,o=(r=(t=i[0])===null||t===void 0?void 0:t.end)!==null&&r!==void 0?r:a;(a==o?this.view.posAtCoords(this.lastMove)!=a:!r2(this.view,a,o,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length&&!this.locked.has(t)){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t);let{active:i}=this;i.length&&!this.locked.has(i)&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Xl=4;function s2(s,e){let{left:t,right:r,top:i,bottom:n}=s.getBoundingClientRect(),a;if(a=s.querySelector(".cm-tooltip-arrow")){let o=a.getBoundingClientRect();i=Math.min(o.top,i),n=Math.max(o.bottom,n)}return e.clientX>=t-Xl&&e.clientX<=r+Xl&&e.clientY>=i-Xl&&e.clientY<=n+Xl}function r2(s,e,t,r,i,n){let a=s.scrollDOM.getBoundingClientRect(),o=s.documentTop+s.documentPadding.top+s.contentHeight;if(a.left>r||a.right<r||a.top>i||Math.min(a.bottom,o)<i)return!1;let l=s.posAtCoords({x:r,y:i},!1);return l>=e&&l<=t}function i2(s,e={}){let t=ct.define(),r=new WeakMap,i=ws.define({create(){return[]},update(a,o){let l=r.get(a);if(a.length&&(e.hideOnChange&&(o.docChanged||o.selection)?a=[]:l&&l(o)?a=[]:e.hideOn&&(a=a.filter(c=>!e.hideOn(o,c)))),o.docChanged&&a.length){let c=[];for(let d of a){let u=o.changes.mapPos(d.pos,-1,Ss.TrackDel);if(u!=null){let f=Object.assign(Object.create(null),d);f.pos=u,f.end!=null&&(f.end=o.changes.mapPos(f.end)),c.push(f)}}a=c}for(let c of o.effects)c.is(t)&&(a=c.value,l=void 0),(c.is(o2)&&!c.value||c.value==i)&&(a=[]);return a.length&&l&&r.set(a,l),a},provide:a=>Mc.from(a)});const n=es.define(a=>new t2(a,s,i,r,t,e.hoverTime||300));return{active:i,extension:[i,n,sv.of(n),e2]}}function n2(s,e,t,r={}){var i;let n=s.state.facet(sv).map(a=>s.plugin(a)).filter(a=>!!a);if(r.tooltip&&r.tooltip.active){let a=n.find(o=>o.field==r.tooltip.active);a&&(n=[a])}for(let a of n)a.activateHover(s,e,t,(i=r.until)!==null&&i!==void 0?i:(()=>!1))}function rv(s,e){let t=s.plugin(Hf);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const o2=ct.define(),Yg=Le.define({combine(s){let e,t;for(let r of s)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Kf(s,e){let t=s.plugin(iv),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const iv=es.fromClass(class{constructor(s){this.input=s.state.facet(Ca),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(s));let e=s.state.facet(Yg);this.top=new ql(s,!0,e.topContainer),this.bottom=new ql(s,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(s){let e=s.state.facet(Yg);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new ql(s.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new ql(s.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=s.state.facet(Ca);if(t!=this.input){let r=t.filter(l=>l),i=[],n=[],a=[],o=[];for(let l of r){let c=this.specs.indexOf(l),d;c<0?(d=l(s.view),o.push(d)):(d=this.panels[c],d.update&&d.update(s)),i.push(d),(d.top?n:a).push(d)}this.specs=r,this.panels=i,this.top.sync(n),this.bottom.sync(a);for(let l of o)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(s)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:s=>Pe.scrollMargins.of(e=>{let t=e.plugin(s);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class ql{constructor(e,t,r){this.view=e,this.top=t,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Ug(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Ug(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function Ug(s){let e=s.nextSibling;return s.remove(),e}const Ca=Le.define({enables:iv});function a2(s,e){let t,r=new Promise(a=>t=a),i=a=>l2(a,e,t);s.state.field(kd,!1)?s.dispatch({effects:nv.of(i)}):s.dispatch({effects:ct.appendConfig.of(kd.init(()=>[i]))});let n=ov.of(i);return{close:n,result:r.then(a=>((s.win.queueMicrotask||(l=>s.win.setTimeout(l,10)))(()=>{s.state.field(kd).indexOf(i)>-1&&s.dispatch({effects:n})}),a))}}const kd=ws.define({create(){return[]},update(s,e){for(let t of e.effects)t.is(nv)?s=[t.value].concat(s):t.is(ov)&&(s=s.filter(r=>r!=t.value));return s},provide:s=>Ca.computeN([s],e=>e.field(s))}),nv=ct.define(),ov=ct.define();function l2(s,e,t){let r=e.content?e.content(s,()=>a(null)):null;if(!r){if(r=Lt("form"),e.input){let o=Lt("input",e.input);/^(text|password|number|email|tel|url)$/.test(o.type)&&o.classList.add("cm-textfield"),o.name||(o.name="input"),r.appendChild(Lt("label",(e.label||"")+": ",o))}else r.appendChild(document.createTextNode(e.label||""));r.appendChild(document.createTextNode(" ")),r.appendChild(Lt("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let i=r.nodeName=="FORM"?[r]:r.querySelectorAll("form");for(let o=0;o<i.length;o++){let l=i[o];l.addEventListener("keydown",c=>{c.keyCode==27?(c.preventDefault(),a(null)):c.keyCode==13&&(c.preventDefault(),a(l))}),l.addEventListener("submit",c=>{c.preventDefault(),a(l)})}let n=Lt("div",r,Lt("button",{onclick:()=>a(null),"aria-label":s.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(n.className=e.class),n.classList.add("cm-dialog");function a(o){n.contains(n.ownerDocument.activeElement)&&s.focus(),t(o)}return{dom:n,top:e.top,mount:()=>{if(e.focus){let o;typeof e.focus=="string"?o=r.querySelector(e.focus):o=r.querySelector("input")||r.querySelector("button"),o&&"select"in o?o.select():o&&"focus"in o&&o.focus()}}}}class ki extends Fi{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}ki.prototype.elementClass="";ki.prototype.toDOM=void 0;ki.prototype.mapMode=Ss.TrackBefore;ki.prototype.startSide=ki.prototype.endSide=-1;ki.prototype.point=!0;const fc=Le.define(),c2=Le.define(),h2={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>xt.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},pa=Le.define();function d2(s){return[av(),pa.of({...h2,...s})]}const Hg=Le.define({combine:s=>s.some(e=>e)});function av(s){return[u2]}const u2=es.fromClass(class{constructor(s){this.view=s,this.domAfter=null,this.prevViewport=s.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=s.state.facet(pa).map(e=>new Kg(s,e)),this.fixed=!s.state.facet(Hg);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),s.scrollDOM.insertBefore(this.dom,s.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(s){if(this.updateGutters(s)){let e=this.prevViewport,t=s.view.viewport,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(t.to-t.from)*.8)}if(s.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Hg)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=s.view.viewport}syncGutters(s){let e=this.dom.nextSibling;s&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=xt.iter(this.view.state.facet(fc),this.view.viewport.from),r=[],i=this.gutters.map(n=>new f2(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(n.type)){let a=!0;for(let o of n.type)if(o.type==_s.Text&&a){sf(t,r,o.from);for(let l of i)l.line(this.view,o,r);a=!1}else if(o.widget)for(let l of i)l.widget(this.view,o)}else if(n.type==_s.Text){sf(t,r,n.from);for(let a of i)a.line(this.view,n,r)}else if(n.widget)for(let a of i)a.widget(this.view,n);for(let n of i)n.finish();s&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(s){let e=s.startState.facet(pa),t=s.state.facet(pa),r=s.docChanged||s.heightChanged||s.viewportChanged||!xt.eq(s.startState.facet(fc),s.state.facet(fc),s.view.viewport.from,s.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(s)&&(r=!0);else{r=!0;let i=[];for(let n of t){let a=e.indexOf(n);a<0?i.push(new Kg(this.view,n)):(this.gutters[a].update(s),i.push(this.gutters[a]))}for(let n of this.gutters)n.dom.remove(),i.indexOf(n)<0&&n.destroy();for(let n of i)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=i}return r}destroy(){for(let s of this.gutters)s.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:s=>Pe.scrollMargins.of(e=>{let t=e.plugin(s);if(!t||t.gutters.length==0||!t.fixed)return null;let r=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==It.LTR?{left:r,right:i}:{right:r,left:i}})});function Gg(s){return Array.isArray(s)?s:[s]}function sf(s,e,t){for(;s.value&&s.from<=t;)s.from==t&&e.push(s.value),s.next()}class f2{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=xt.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:i}=this,n=(t.top-this.height)/e.scaleY,a=t.height/e.scaleY;if(this.i==i.elements.length){let o=new lv(e,a,n,r);i.elements.push(o),i.dom.appendChild(o.dom)}else i.elements[this.i].update(e,a,n,r);this.height=t.bottom,this.i++}line(e,t,r){let i=[];sf(this.cursor,i,t.from),r.length&&(i=i.concat(r));let n=this.gutter.config.lineMarker(e,t,i);n&&i.unshift(n);let a=this.gutter;i.length==0&&!a.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t),i=r?[r]:null;for(let n of e.state.facet(c2)){let a=n(e,t.widget,t);a&&(i||(i=[])).push(a)}i&&this.addElement(e,t,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Kg{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in t.domEventHandlers)this.dom.addEventListener(r,i=>{let n=i.target,a;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let l=n.getBoundingClientRect();a=(l.top+l.bottom)/2}else a=i.clientY;let o=e.lineBlockAtHeight(a-e.documentTop);t.domEventHandlers[r](e,o,i)&&i.preventDefault()});this.markers=Gg(t.markers(e)),t.initialSpacer&&(this.spacer=new lv(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Gg(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let r=e.view.viewport;return!xt.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class lv{constructor(e,t,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,i)}update(e,t,r,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),p2(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let r="cm-gutterElement",i=this.dom.firstChild;for(let n=0,a=0;;){let o=a,l=n<t.length?t[n++]:null,c=!1;if(l){let d=l.elementClass;d&&(r+=" "+d);for(let u=a;u<this.markers.length;u++)if(this.markers[u].compare(l)){o=u,c=!0;break}}else o=this.markers.length;for(;a<o;){let d=this.markers[a++];if(d.toDOM){d.destroy(i);let u=i.nextSibling;i.remove(),i=u}}if(!l)break;l.toDOM&&(c?i=i.nextSibling:this.dom.insertBefore(l.toDOM(e),i)),c&&a++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}function p2(s,e){if(s.length!=e.length)return!1;for(let t=0;t<s.length;t++)if(!s[t].compare(e[t]))return!1;return!0}const m2=Le.define(),g2=Le.define(),eo=Le.define({combine(s){return ti(s,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let i in t){let n=r[i],a=t[i];r[i]=n?(o,l,c)=>n(o,l,c)||a(o,l,c):a}return r}})}});class Cd extends ki{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Pd(s,e){return s.state.facet(eo).formatNumber(e,s.state)}const O2=pa.compute([eo],s=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(m2)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new Cd(Pd(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(g2)){let n=i(e,t,r);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(eo)!=e.state.facet(eo),initialSpacer(e){return new Cd(Pd(e,Jg(e.state.doc.lines)))},updateSpacer(e,t){let r=Pd(t.view,Jg(t.view.state.doc.lines));return r==e.number?e:new Cd(r)},domEventHandlers:s.facet(eo).domEventHandlers,side:"before"}));function x2(s={}){return[eo.of(s),av(),O2]}function Jg(s){let e=9;for(;e<s;)e=e*10+9;return e}const b2=new class extends ki{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},v2=fc.compute(["selection"],s=>{let e=[],t=-1;for(let r of s.selection.ranges){let i=s.doc.lineAt(r.head).from;i>t&&(t=i,e.push(b2.range(i)))}return xt.of(e)});function y2(){return v2}const cv=1024;let S2=0;class pr{constructor(e,t){this.from=e,this.to=t}}class ht{constructor(e={}){this.id=S2++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=hs.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}ht.closedBy=new ht({deserialize:s=>s.split(" ")});ht.openedBy=new ht({deserialize:s=>s.split(" ")});ht.group=new ht({deserialize:s=>s.split(" ")});ht.isolate=new ht({deserialize:s=>{if(s&&s!="rtl"&&s!="ltr"&&s!="auto")throw new RangeError("Invalid value for isolate: "+s);return s||"auto"}});ht.contextHash=new ht({perNode:!0});ht.lookAhead=new ht({perNode:!0});ht.mounted=new ht({perNode:!0});class ao{constructor(e,t,r,i=!1){this.tree=e,this.overlay=t,this.parser=r,this.bracketed=i}static get(e){return e&&e.props&&e.props[ht.mounted.id]}}const _2=Object.create(null);class hs{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):_2,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new hs(e.name||"",t,e.id,r);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(i)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(ht.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(ht.group),n=-1;n<(i?i.length:0);n++){let a=t[n<0?r.name:i[n]];if(a)return a}}}}hs.none=new hs("",Object.create(null),0,8);class Va{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let i=null;for(let n of e){let a=n(r);if(a){i||(i=Object.assign({},r.props));let o=a[1],l=a[0];l.combine&&l.id in i&&(o=l.combine(i[l.id],o)),i[l.id]=o}}t.push(i?new hs(r.name,i,r.id,r.flags):r)}return new Va(t)}}const zl=new WeakMap,eO=new WeakMap;var Qt;(function(s){s[s.ExcludeBuffers=1]="ExcludeBuffers",s[s.IncludeAnonymous=2]="IncludeAnonymous",s[s.IgnoreMounts=4]="IgnoreMounts",s[s.IgnoreOverlays=8]="IgnoreOverlays",s[s.EnterBracketed=16]="EnterBracketed"})(Qt||(Qt={}));class $t{constructor(e,t,r,i,n){if(this.type=e,this.children=t,this.positions=r,this.length=i,this.props=null,n&&n.length){this.props=Object.create(null);for(let[a,o]of n)this.props[typeof a=="number"?a:a.id]=o}}toString(){let e=ao.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let i=r.toString();i&&(t&&(t+=","),t+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Lc(this.topNode,e)}cursorAt(e,t=0,r=0){let i=zl.get(this)||this.topNode,n=new Lc(i);return n.moveTo(e,t),zl.set(this,n._tree),n}get topNode(){return new Rs(this,0,0,null)}resolve(e,t=0){let r=Pa(zl.get(this)||this.topNode,e,t,!1);return zl.set(this,r),r}resolveInner(e,t=0){let r=Pa(eO.get(this)||this.topNode,e,t,!0);return eO.set(this,r),r}resolveStack(e,t=0){return C2(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:n=this.length}=e,a=e.mode||0,o=(a&Qt.IncludeAnonymous)>0;for(let l=this.cursor(a|Qt.IncludeAnonymous);;){let c=!1;if(l.from<=n&&l.to>=i&&(!o&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&r&&(o||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:tp(hs.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new $t(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new $t(hs.none,t,r,i)))}static build(e){return P2(e)}}$t.empty=new $t(hs.none,[],[],0);class Jf{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Jf(this.buffer,this.index)}}class Gi{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return hs.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],i=this.set.types[t],n=i.name;if(/\W/.test(n)&&!i.isError&&(n=JSON.stringify(n)),e+=4,r==e)return n;let a=[];for(;e<r;)a.push(this.childString(e)),e=this.buffer[e+3];return n+"("+a.join(",")+")"}findChild(e,t,r,i,n){let{buffer:a}=this,o=-1;for(let l=e;l!=t&&!(hv(n,i,a[l+1],a[l+2])&&(o=l,r>0));l=a[l+3]);return o}slice(e,t,r){let i=this.buffer,n=new Uint16Array(t-e),a=0;for(let o=e,l=0;o<t;){n[l++]=i[o++],n[l++]=i[o++]-r;let c=n[l++]=i[o++]-r;n[l++]=i[o++]-e,a=Math.max(a,c)}return new Gi(n,a,this.set)}}function hv(s,e,t,r){switch(s){case-2:return t<e;case-1:return r>=e&&t<e;case 0:return t<e&&r>e;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function Pa(s,e,t,r){for(var i;s.from==s.to||(t<1?s.from>=e:s.from>e)||(t>-1?s.to<=e:s.to<e);){let a=!r&&s instanceof Rs&&s.index<0?null:s.parent;if(!a)return s;s=a}let n=r?0:Qt.IgnoreOverlays;if(r)for(let a=s,o=a.parent;o;a=o,o=a.parent)a instanceof Rs&&a.index<0&&((i=o.enter(e,t,n))===null||i===void 0?void 0:i.from)!=a.from&&(s=o);for(;;){let a=s.enter(e,t,n);if(!a)return s;s=a}}class dv{cursor(e=0){return new Lc(this,e)}getChild(e,t=null,r=null){let i=tO(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return tO(this,e,t,r)}resolve(e,t=0){return Pa(this,e,t,!1)}resolveInner(e,t=0){return Pa(this,e,t,!0)}matchContext(e){return rf(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let i=t.lastChild;if(!i||i.to!=t.to)break;i.type.isError&&i.from==i.to?(r=t,t=i.prevSibling):t=i}return r}get node(){return this}get next(){return this.parent}}class Rs extends dv{constructor(e,t,r,i){super(),this._tree=e,this.from=t,this.index=r,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,i,n=0){for(let a=this;;){for(let{children:o,positions:l}=a._tree,c=t>0?o.length:-1;e!=c;e+=t){let d=o[e],u=l[e]+a.from,f;if(!(!(n&Qt.EnterBracketed&&d instanceof $t&&(f=ao.get(d))&&!f.overlay&&f.bracketed&&r>=u&&r<=u+d.length)&&!hv(i,r,u,u+d.length))){if(d instanceof Gi){if(n&Qt.ExcludeBuffers)continue;let g=d.findChild(0,d.buffer.length,t,r-u,i);if(g>-1)return new Ur(new w2(a,d,e,u),null,g)}else if(n&Qt.IncludeAnonymous||!d.type.isAnonymous||ep(d)){let g;if(!(n&Qt.IgnoreMounts)&&(g=ao.get(d))&&!g.overlay)return new Rs(g.tree,u,e,a);let v=new Rs(d,u,e,a);return n&Qt.IncludeAnonymous||!v.type.isAnonymous?v:v.nextChild(t<0?d.children.length-1:0,t,r,i,n)}}}if(n&Qt.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,r=0){let i;if(!(r&Qt.IgnoreOverlays)&&(i=ao.get(this._tree))&&i.overlay){let n=e-this.from,a=r&Qt.EnterBracketed&&i.bracketed;for(let{from:o,to:l}of i.overlay)if((t>0||a?o<=n:o<n)&&(t<0||a?l>=n:l>n))return new Rs(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function tO(s,e,t,r){let i=s.cursor(),n=[];if(!i.firstChild())return n;if(t!=null){for(let a=!1;!a;)if(a=i.type.is(t),!i.nextSibling())return n}for(;;){if(r!=null&&i.type.is(r))return n;if(i.type.is(e)&&n.push(i.node),!i.nextSibling())return r==null?n:[]}}function rf(s,e,t=e.length-1){for(let r=s;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}class w2{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Ur extends dv{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,n=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return n<0?null:new Ur(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,r=0){if(r&Qt.ExcludeBuffers)return null;let{buffer:i}=this.context,n=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new Ur(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Ur(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Ur(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,n=r.buffer[this.index+3];if(n>i){let a=r.buffer[this.index+1];e.push(r.slice(i,n,a)),t.push(0)}return new $t(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function uv(s){if(!s.length)return null;let e=0,t=s[0];for(let n=1;n<s.length;n++){let a=s[n];(a.from>t.from||a.to<t.to)&&(t=a,e=n)}let r=t instanceof Rs&&t.index<0?null:t.parent,i=s.slice();return r?i[e]=r:i.splice(e,1),new k2(i,t)}class k2{constructor(e,t){this.heads=e,this.node=t}get next(){return uv(this.heads)}}function C2(s,e,t){let r=s.resolveInner(e,t),i=null;for(let n=r instanceof Rs?r:r.context.parent;n;n=n.parent)if(n.index<0){let a=n.parent;(i||(i=[r])).push(a.resolve(e,t)),n=a}else{let a=ao.get(n.tree);if(a&&a.overlay&&a.overlay[0].from<=e&&a.overlay[a.overlay.length-1].to>=e){let o=new Rs(a.tree,a.overlay[0].from+n.from,-1,n);(i||(i=[r])).push(Pa(o,e,t,!1))}}return i?uv(i):r}class Lc{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Qt.EnterBracketed,e instanceof Rs)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof Rs?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,n=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&Qt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Qt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Qt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let n=0;n<this.index;n++)if(i.buffer.buffer[n+3]<this.index)return!1;({index:t,parent:r}=i)}else({index:t,_parent:r}=this._tree);for(;r;{index:t,_parent:r}=r)if(t>-1)for(let n=t+e,a=e<0?-1:r._tree.children.length;n!=a;n+=e){let o=r._tree.children[n];if(this.mode&Qt.IncludeAnonymous||o instanceof Gi||!o.type.isAnonymous||ep(o))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let i=this.index,n=this.stack.length;n>=0;){for(let a=e;a;a=a._parent)if(a.index==i){if(i==this.index)return a;t=a,r=n+1;break e}i=this.stack[--n]}for(let i=r;i<this.stack.length;i++)t=new Ur(this.buffer,t,this.stack[i]);return this.bufferNode=new Ur(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let i=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&t&&t(this),i=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,i=!0}}}matchContext(e){if(!this.buffer)return rf(this.node.parent,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let i=e.length-1,n=this.stack.length-1;i>=0;n--){if(n<0)return rf(this._tree,e,i);let a=r[t.buffer[this.stack[n]]];if(!a.isAnonymous){if(e[i]&&e[i]!=a.name)return!1;i--}}return!0}}function ep(s){return s.children.some(e=>e instanceof Gi||!e.type.isAnonymous||ep(e))}function P2(s){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=cv,reused:n=[],minRepeatType:a=r.types.length}=s,o=Array.isArray(t)?new Jf(t,t.length):t,l=r.types,c=0,d=0;function u(_,k,w,S,Q,N){let{id:L,start:$,end:j,size:I}=o,V=d,Z=c;if(I<0)if(o.next(),I==-1){let B=n[L];w.push(B),S.push($-_);return}else if(I==-3){c=L;return}else if(I==-4){d=L;return}else throw new RangeError(`Unrecognized record size: ${I}`);let z=l[L],J,T,A=$-_;if(j-$<=i&&(T=m(o.pos-k,Q))){let B=new Uint16Array(T.size-T.skip),q=o.pos-T.size,H=B.length;for(;o.pos>q;)H=O(T.start,B,H);J=new Gi(B,j-T.start,r),A=T.start-_}else{let B=o.pos-I;o.next();let q=[],H=[],te=L>=a?L:-1,ue=0,ke=j;for(;o.pos>B;)te>=0&&o.id==te&&o.size>=0?(o.end<=ke-i&&(v(q,H,$,ue,o.end,ke,te,V,Z),ue=q.length,ke=o.end),o.next()):N>2500?f($,B,q,H):u($,B,q,H,te,N+1);if(te>=0&&ue>0&&ue<q.length&&v(q,H,$,ue,$,ke,te,V,Z),q.reverse(),H.reverse(),te>-1&&ue>0){let U=g(z,Z);J=tp(z,q,H,0,q.length,0,j-$,U,U)}else J=b(z,q,H,j-$,V-j,Z)}w.push(J),S.push(A)}function f(_,k,w,S){let Q=[],N=0,L=-1;for(;o.pos>k;){let{id:$,start:j,end:I,size:V}=o;if(V>4)o.next();else{if(L>-1&&j<L)break;L<0&&(L=I-i),Q.push($,j,I),N++,o.next()}}if(N){let $=new Uint16Array(N*4),j=Q[Q.length-2];for(let I=Q.length-3,V=0;I>=0;I-=3)$[V++]=Q[I],$[V++]=Q[I+1]-j,$[V++]=Q[I+2]-j,$[V++]=V;w.push(new Gi($,Q[2]-j,r)),S.push(j-_)}}function g(_,k){return(w,S,Q)=>{let N=0,L=w.length-1,$,j;if(L>=0&&($=w[L])instanceof $t){if(!L&&$.type==_&&$.length==Q)return $;(j=$.prop(ht.lookAhead))&&(N=S[L]+$.length+j)}return b(_,w,S,Q,N,k)}}function v(_,k,w,S,Q,N,L,$,j){let I=[],V=[];for(;_.length>S;)I.push(_.pop()),V.push(k.pop()+w-Q);_.push(b(r.types[L],I,V,N-Q,$-N,j)),k.push(Q-w)}function b(_,k,w,S,Q,N,L){if(N){let $=[ht.contextHash,N];L=L?[$].concat(L):[$]}if(Q>25){let $=[ht.lookAhead,Q];L=L?[$].concat(L):[$]}return new $t(_,k,w,S,L)}function m(_,k){let w=o.fork(),S=0,Q=0,N=0,L=w.end-i,$={size:0,start:0,skip:0};e:for(let j=w.pos-_;w.pos>j;){let I=w.size;if(w.id==k&&I>=0){$.size=S,$.start=Q,$.skip=N,N+=4,S+=4,w.next();continue}let V=w.pos-I;if(I<0||V<j||w.start<L)break;let Z=w.id>=a?4:0,z=w.start;for(w.next();w.pos>V;){if(w.size<0)if(w.size==-3||w.size==-4)Z+=4;else break e;else w.id>=a&&(Z+=4);w.next()}Q=z,S+=I,N+=Z}return(k<0||S==_)&&($.size=S,$.start=Q,$.skip=N),$.size>4?$:void 0}function O(_,k,w){let{id:S,start:Q,end:N,size:L}=o;if(o.next(),L>=0&&S<a){let $=w;if(L>4){let j=o.pos-(L-4);for(;o.pos>j;)w=O(_,k,w)}k[--w]=$,k[--w]=N-_,k[--w]=Q-_,k[--w]=S}else L==-3?c=S:L==-4&&(d=S);return w}let p=[],x=[];for(;o.pos>0;)u(s.start||0,s.bufferStart||0,p,x,-1,0);let y=(e=s.length)!==null&&e!==void 0?e:p.length?x[0]+p[0].length:0;return new $t(l[s.topID],p.reverse(),x.reverse(),y)}const sO=new WeakMap;function pc(s,e){if(!s.isAnonymous||e instanceof Gi||e.type!=s)return 1;let t=sO.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=s||!(r instanceof $t)){t=1;break}t+=pc(s,r)}sO.set(e,t)}return t}function tp(s,e,t,r,i,n,a,o,l){let c=0;for(let v=r;v<i;v++)c+=pc(s,e[v]);let d=Math.ceil(c*1.5/8),u=[],f=[];function g(v,b,m,O,p){for(let x=m;x<O;){let y=x,_=b[x],k=pc(s,v[x]);for(x++;x<O;x++){let w=pc(s,v[x]);if(k+w>=d)break;k+=w}if(x==y+1){if(k>d){let w=v[y];g(w.children,w.positions,0,w.children.length,b[y]+p);continue}u.push(v[y])}else{let w=b[x-1]+v[x-1].length-_;u.push(tp(s,v,b,y,x,_,w,null,l))}f.push(_+p-n)}}return g(e,t,r,i,0),(o||l)(u,f,a)}class sp{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof Ur?this.setBuffer(e.context.buffer,e.index,t):e instanceof Rs&&this.map.set(e.tree,t)}get(e){return e instanceof Ur?this.getBuffer(e.context.buffer,e.index):e instanceof Rs?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Si{constructor(e,t,r,i,n=!1,a=!1){this.from=e,this.to=t,this.tree=r,this.offset=i,this.open=(n?1:0)|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let i=[new Si(0,e.length,e,0,!1,r)];for(let n of t)n.to>e.length&&i.push(n);return i}static applyChanges(e,t,r=128){if(!t.length)return e;let i=[],n=1,a=e.length?e[0]:null;for(let o=0,l=0,c=0;;o++){let d=o<t.length?t[o]:null,u=d?d.fromA:1e9;if(u-l>=r)for(;a&&a.from<u;){let f=a;if(l>=f.from||u<=f.to||c){let g=Math.max(f.from,l)-c,v=Math.min(f.to,u)-c;f=g>=v?null:new Si(g,v,f.tree,f.offset+c,o>0,!!d)}if(f&&i.push(f),a.to>u)break;a=n<e.length?e[n++]:null}if(!d)break;l=d.toA,c=d.toA-d.toB}return i}}class rp{startParse(e,t,r){return typeof e=="string"&&(e=new T2(e)),r=r?r.length?r.map(i=>new pr(i.from,i.to)):[new pr(0,0)]:[new pr(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let n=i.advance();if(n)return n}}}class T2{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function fv(s){return(e,t,r,i)=>new $2(e,s,t,r,i)}class rO{constructor(e,t,r,i,n,a){this.parser=e,this.parse=t,this.overlay=r,this.bracketed=i,this.target=n,this.from=a}}function iO(s){if(!s.length||s.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(s))}class Q2{constructor(e,t,r,i,n,a,o,l){this.parser=e,this.predicate=t,this.mounts=r,this.index=i,this.start=n,this.bracketed=a,this.target=o,this.prev=l,this.depth=0,this.ranges=[]}}const nf=new ht({perNode:!0});class $2{constructor(e,t,r,i,n){this.nest=t,this.input=r,this.fragments=i,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let r=this.baseParse.advance();if(!r)return null;if(this.baseParse=null,this.baseTree=r,this.startInner(),this.stoppedAt!=null)for(let i of this.inner)i.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let r=this.baseTree;return this.stoppedAt!=null&&(r=new $t(r.type,r.children,r.positions,r.length,r.propValues.concat([[nf,this.stoppedAt]]))),r}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[ht.mounted.id]=new ao(t,e.overlay,e.parser,e.bracketed),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new R2(this.fragments),t=null,r=null,i=new Lc(new Rs(this.baseTree,this.ranges[0].from,0,null),Qt.IncludeAnonymous|Qt.IgnoreMounts);e:for(let n,a;;){let o=!0,l;if(this.stoppedAt!=null&&i.from>=this.stoppedAt)o=!1;else if(e.hasNode(i)){if(t){let c=t.mounts.find(d=>d.frag.from<=i.from&&d.frag.to>=i.to&&d.mount.overlay);if(c)for(let d of c.mount.overlay){let u=d.from+c.pos,f=d.to+c.pos;u>=i.from&&f<=i.to&&!t.ranges.some(g=>g.from<f&&g.to>u)&&t.ranges.push({from:u,to:f})}}o=!1}else if(r&&(a=j2(r.ranges,i.from,i.to)))o=a!=2;else if(!i.type.isAnonymous&&(n=this.nest(i,this.input))&&(i.from<i.to||!n.overlay)){i.tree||(E2(i),t&&t.depth++,r&&r.depth++);let c=e.findMounts(i.from,n.parser);if(typeof n.overlay=="function")t=new Q2(n.parser,n.overlay,c,this.inner.length,i.from,!!n.bracketed,i.tree,t);else{let d=aO(this.ranges,n.overlay||(i.from<i.to?[new pr(i.from,i.to)]:[]));d.length&&iO(d),(d.length||!n.overlay)&&this.inner.push(new rO(n.parser,d.length?n.parser.startParse(this.input,lO(c,d),d):n.parser.startParse(""),n.overlay?n.overlay.map(u=>new pr(u.from-i.from,u.to-i.from)):null,!!n.bracketed,i.tree,d.length?d[0].from:i.from)),n.overlay?d.length&&(r={ranges:d,depth:0,prev:r}):o=!1}}else if(t&&(l=t.predicate(i))&&(l===!0&&(l=new pr(i.from,i.to)),l.from<l.to)){let c=t.ranges.length-1;c>=0&&t.ranges[c].to==l.from?t.ranges[c]={from:t.ranges[c].from,to:l.to}:t.ranges.push(l)}if(o&&i.firstChild())t&&t.depth++,r&&r.depth++;else for(;!i.nextSibling();){if(!i.parent())break e;if(t&&!--t.depth){let c=aO(this.ranges,t.ranges);c.length&&(iO(c),this.inner.splice(t.index,0,new rO(t.parser,t.parser.startParse(this.input,lO(t.mounts,c),c),t.ranges.map(d=>new pr(d.from-t.start,d.to-t.start)),t.bracketed,t.target,c[0].from))),t=t.prev}r&&!--r.depth&&(r=r.prev)}}}}function j2(s,e,t){for(let r of s){if(r.from>=t)break;if(r.to>e)return r.from<=e&&r.to>=t?2:1}return 0}function nO(s,e,t,r,i,n){if(e<t){let a=s.buffer[e+1];r.push(s.slice(e,t,a)),i.push(a-n)}}function E2(s){let{node:e}=s,t=[],r=e.context.buffer;do t.push(s.index),s.parent();while(!s.tree);let i=s.tree,n=i.children.indexOf(r),a=i.children[n],o=a.buffer,l=[n];function c(d,u,f,g,v,b){let m=t[b],O=[],p=[];nO(a,d,m,O,p,g);let x=o[m+1],y=o[m+2];l.push(O.length);let _=b?c(m+4,o[m+3],a.set.types[o[m]],x,y-x,b-1):e.toTree();return O.push(_),p.push(x-g),nO(a,o[m+3],u,O,p,g),new $t(f,O,p,v)}i.children[n]=c(0,o.length,hs.none,0,a.length,t.length-1);for(let d of l){let u=s.tree.children[d],f=s.tree.positions[d];s.yield(new Rs(u,f+s.from,d,s._tree))}}class oO{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(Qt.IncludeAnonymous|Qt.IgnoreMounts)}moveTo(e){let{cursor:t}=this,r=e-this.offset;for(;!this.done&&t.from<r;)if(!(t.to>=e&&t.enter(r,1,Qt.IgnoreOverlays|Qt.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof $t)t=t.children[0];else break}return!1}}let R2=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=(t=r.tree.prop(nf))!==null&&t!==void 0?t:r.to,this.inner=new oO(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(nf))!==null&&e!==void 0?e:t.to,this.inner=new oO(t.tree,-t.offset)}}findMounts(e,t){var r;let i=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let n=this.inner.cursor.node;n;n=n.parent){let a=(r=n.tree)===null||r===void 0?void 0:r.prop(ht.mounted);if(a&&a.parser==t)for(let o=this.fragI;o<this.fragments.length;o++){let l=this.fragments[o];if(l.from>=n.to)break;l.tree==this.curFrag.tree&&i.push({frag:l,pos:n.from-l.offset,mount:a})}}}return i}};function aO(s,e){let t=null,r=e;for(let i=1,n=0;i<s.length;i++){let a=s[i-1].to,o=s[i].from;for(;n<r.length;n++){let l=r[n];if(l.from>=o)break;l.to<=a||(t||(r=t=e.slice()),l.from<a?(t[n]=new pr(l.from,a),l.to>o&&t.splice(n+1,0,new pr(o,l.to))):l.to>o?t[n--]=new pr(o,l.to):t.splice(n--,1))}}return r}function A2(s,e,t,r){let i=0,n=0,a=!1,o=!1,l=-1e9,c=[];for(;;){let d=i==s.length?1e9:a?s[i].to:s[i].from,u=n==e.length?1e9:o?e[n].to:e[n].from;if(a!=o){let f=Math.max(l,t),g=Math.min(d,u,r);f<g&&c.push(new pr(f,g))}if(l=Math.min(d,u),l==1e9)break;d==l&&(a?(a=!1,i++):a=!0),u==l&&(o?(o=!1,n++):o=!0)}return c}function lO(s,e){let t=[];for(let{pos:r,mount:i,frag:n}of s){let a=r+(i.overlay?i.overlay[0].from:0),o=a+i.tree.length,l=Math.max(n.from,a),c=Math.min(n.to,o);if(i.overlay){let d=i.overlay.map(f=>new pr(f.from+r,f.to+r)),u=A2(e,d,l,c);for(let f=0,g=l;;f++){let v=f==u.length,b=v?c:u[f].from;if(b>g&&t.push(new Si(g,b,i.tree,-a,n.from>=g||n.openStart,n.to<=b||n.openEnd)),v)break;g=u[f].to}}else t.push(new Si(l,c,i.tree,-a,n.from>=a||n.openStart,n.to<=o||n.openEnd))}return t}let M2=0;class sr{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=M2++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof sr&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let i=new sr(r,[],null,[]);if(i.set.push(i),t)for(let n of t.set)i.set.push(n);return i}static defineModifier(e){let t=new Nc(e);return r=>r.modified.indexOf(t)>-1?r:Nc.get(r.base||r,r.modified.concat(t).sort((i,n)=>i.id-n.id))}}let L2=0;class Nc{constructor(e){this.name=e,this.instances=[],this.id=L2++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(o=>o.base==e&&N2(t,o.modified));if(r)return r;let i=[],n=new sr(e.name,i,e,t);for(let o of t)o.instances.push(n);let a=D2(t);for(let o of e.set)if(!o.modified.length)for(let l of a)i.push(Nc.get(o,l));return n}}function N2(s,e){return s.length==e.length&&s.every((t,r)=>t==e[r])}function D2(s){let e=[[]];for(let t=0;t<s.length;t++)for(let r=0,i=e.length;r<i;r++)e.push(e[r].concat(s[t]));return e.sort((t,r)=>r.length-t.length)}function Qi(s){let e=Object.create(null);for(let t in s){let r=s[t];Array.isArray(r)||(r=[r]);for(let i of t.split(" "))if(i){let n=[],a=2,o=i;for(let u=0;;){if(o=="..."&&u>0&&u+3==i.length){a=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(o);if(!f)throw new RangeError("Invalid path: "+i);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),u+=f[0].length,u==i.length)break;let g=i[u++];if(u==i.length&&g=="!"){a=0;break}if(g!="/")throw new RangeError("Invalid path: "+i);o=i.slice(u)}let l=n.length-1,c=n[l];if(!c)throw new RangeError("Invalid path: "+i);let d=new Ta(r,a,l>0?n.slice(0,l):null);e[c]=d.sort(e[c])}}return pv.add(e)}const pv=new ht({combine(s,e){let t,r,i;for(;s||e;){if(!s||e&&s.depth>=e.depth?(i=e,e=e.next):(i=s,s=s.next),t&&t.mode==i.mode&&!i.context&&!t.context)continue;let n=new Ta(i.tags,i.mode,i.context);t?t.next=n:r=n,t=n}return r}});class Ta{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}Ta.empty=new Ta([],2,null);function mv(s,e){let t=Object.create(null);for(let n of s)if(!Array.isArray(n.tag))t[n.tag.id]=n.class;else for(let a of n.tag)t[a.id]=n.class;let{scope:r,all:i=null}=e||{};return{style:n=>{let a=i;for(let o of n)for(let l of o.set){let c=t[l.id];if(c){a=a?a+" "+c:c;break}}return a},scope:r}}function I2(s,e){let t=null;for(let r of s){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function B2(s,e,t,r=0,i=s.length){let n=new W2(r,Array.isArray(e)?e:[e],t);n.highlightRange(s.cursor(),r,i,"",n.highlighters),n.flush(i)}class W2{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,n){let{type:a,from:o,to:l}=e;if(o>=r||l<=t)return;a.isTop&&(n=this.highlighters.filter(g=>!g.scope||g.scope(a)));let c=i,d=X2(e)||Ta.empty,u=I2(n,d.tags);if(u&&(c&&(c+=" "),c+=u,d.mode==1&&(i+=(i?" ":"")+u)),this.startSpan(Math.max(t,o),c),d.opaque)return;let f=e.tree&&e.tree.prop(ht.mounted);if(f&&f.overlay){let g=e.node.enter(f.overlay[0].from+o,1),v=this.highlighters.filter(m=>!m.scope||m.scope(f.tree.type)),b=e.firstChild();for(let m=0,O=o;;m++){let p=m<f.overlay.length?f.overlay[m]:null,x=p?p.from+o:l,y=Math.max(t,O),_=Math.min(r,x);if(y<_&&b)for(;e.from<_&&(this.highlightRange(e,y,_,i,n),this.startSpan(Math.min(_,e.to),c),!(e.to>=x||!e.nextSibling())););if(!p||x>r)break;O=p.to+o,O>t&&(this.highlightRange(g.cursor(),Math.max(t,p.from+o),Math.min(r,O),"",v),this.startSpan(Math.min(r,O),c))}b&&e.parent()}else if(e.firstChild()){f&&(i="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,n),this.startSpan(Math.min(r,e.to),c)}while(e.nextSibling());e.parent()}}}function X2(s){let e=s.type.prop(pv);for(;e&&e.context&&!s.matchContext(e.context);)e=e.next;return e||null}const $e=sr.define,Zl=$e(),Wi=$e(),cO=$e(Wi),hO=$e(Wi),Xi=$e(),Vl=$e(Xi),Td=$e(Xi),zr=$e(),_n=$e(zr),Xr=$e(),qr=$e(),of=$e(),Ko=$e(of),Fl=$e(),M={comment:Zl,lineComment:$e(Zl),blockComment:$e(Zl),docComment:$e(Zl),name:Wi,variableName:$e(Wi),typeName:cO,tagName:$e(cO),propertyName:hO,attributeName:$e(hO),className:$e(Wi),labelName:$e(Wi),namespace:$e(Wi),macroName:$e(Wi),literal:Xi,string:Vl,docString:$e(Vl),character:$e(Vl),attributeValue:$e(Vl),number:Td,integer:$e(Td),float:$e(Td),bool:$e(Xi),regexp:$e(Xi),escape:$e(Xi),color:$e(Xi),url:$e(Xi),keyword:Xr,self:$e(Xr),null:$e(Xr),atom:$e(Xr),unit:$e(Xr),modifier:$e(Xr),operatorKeyword:$e(Xr),controlKeyword:$e(Xr),definitionKeyword:$e(Xr),moduleKeyword:$e(Xr),operator:qr,derefOperator:$e(qr),arithmeticOperator:$e(qr),logicOperator:$e(qr),bitwiseOperator:$e(qr),compareOperator:$e(qr),updateOperator:$e(qr),definitionOperator:$e(qr),typeOperator:$e(qr),controlOperator:$e(qr),punctuation:of,separator:$e(of),bracket:Ko,angleBracket:$e(Ko),squareBracket:$e(Ko),paren:$e(Ko),brace:$e(Ko),content:zr,heading:_n,heading1:$e(_n),heading2:$e(_n),heading3:$e(_n),heading4:$e(_n),heading5:$e(_n),heading6:$e(_n),contentSeparator:$e(zr),list:$e(zr),quote:$e(zr),emphasis:$e(zr),strong:$e(zr),link:$e(zr),monospace:$e(zr),strikethrough:$e(zr),inserted:$e(),deleted:$e(),changed:$e(),invalid:$e(),meta:Fl,documentMeta:$e(Fl),annotation:$e(Fl),processingInstruction:$e(Fl),definition:sr.defineModifier("definition"),constant:sr.defineModifier("constant"),function:sr.defineModifier("function"),standard:sr.defineModifier("standard"),local:sr.defineModifier("local"),special:sr.defineModifier("special")};for(let s in M){let e=M[s];e instanceof sr&&(e.name=s)}mv([{tag:M.link,class:"tok-link"},{tag:M.heading,class:"tok-heading"},{tag:M.emphasis,class:"tok-emphasis"},{tag:M.strong,class:"tok-strong"},{tag:M.keyword,class:"tok-keyword"},{tag:M.atom,class:"tok-atom"},{tag:M.bool,class:"tok-bool"},{tag:M.url,class:"tok-url"},{tag:M.labelName,class:"tok-labelName"},{tag:M.inserted,class:"tok-inserted"},{tag:M.deleted,class:"tok-deleted"},{tag:M.literal,class:"tok-literal"},{tag:M.string,class:"tok-string"},{tag:M.number,class:"tok-number"},{tag:[M.regexp,M.escape,M.special(M.string)],class:"tok-string2"},{tag:M.variableName,class:"tok-variableName"},{tag:M.local(M.variableName),class:"tok-variableName tok-local"},{tag:M.definition(M.variableName),class:"tok-variableName tok-definition"},{tag:M.special(M.variableName),class:"tok-variableName2"},{tag:M.definition(M.propertyName),class:"tok-propertyName tok-definition"},{tag:M.typeName,class:"tok-typeName"},{tag:M.namespace,class:"tok-namespace"},{tag:M.className,class:"tok-className"},{tag:M.macroName,class:"tok-macroName"},{tag:M.propertyName,class:"tok-propertyName"},{tag:M.operator,class:"tok-operator"},{tag:M.comment,class:"tok-comment"},{tag:M.meta,class:"tok-meta"},{tag:M.invalid,class:"tok-invalid"},{tag:M.punctuation,class:"tok-punctuation"}]);var Qd;const Qn=new ht;function ip(s){return Le.define({combine:s?e=>e.concat(s):void 0})}const np=new ht;class mr{constructor(e,t,r=[],i=""){this.data=e,this.name=i,vt.prototype.hasOwnProperty("tree")||Object.defineProperty(vt.prototype,"tree",{get(){return jt(this)}}),this.parser=t,this.extension=[Ki.of(this),vt.languageData.of((n,a,o)=>{let l=dO(n,a,o),c=l.type.prop(Qn);if(!c)return[];let d=n.facet(c),u=l.type.prop(np);if(u){let f=l.resolve(a-l.from,o);for(let g of u)if(g.test(f,n)){let v=n.facet(g.facet);return g.type=="replace"?v:v.concat(d)}}return d})].concat(r)}isActiveAt(e,t,r=-1){return dO(e,t,r).type.prop(Qn)==this.data}findRegions(e){let t=e.facet(Ki);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],i=(n,a)=>{if(n.prop(Qn)==this.data){r.push({from:a,to:a+n.length});return}let o=n.prop(ht.mounted);if(o){if(o.tree.prop(Qn)==this.data){if(o.overlay)for(let l of o.overlay)r.push({from:l.from+a,to:l.to+a});else r.push({from:a,to:a+n.length});return}else if(o.overlay){let l=r.length;if(i(o.tree,o.overlay[0].from+a),r.length>l)return}}for(let l=0;l<n.children.length;l++){let c=n.children[l];c instanceof $t&&i(c,n.positions[l]+a)}};return i(jt(e),0),r}get allowsNesting(){return!0}}mr.setState=ct.define();function dO(s,e,t){let r=s.facet(Ki),i=jt(s).topNode;if(!r||r.allowsNesting)for(let n=i;n;n=n.enter(e,t,Qt.ExcludeBuffers|Qt.EnterBracketed))n.type.isTop&&(i=n);return i}class Ci extends mr{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=ip(e.languageData);return new Ci(t,e.parser.configure({props:[Qn.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new Ci(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function jt(s){let e=s.field(mr.state,!1);return e?e.tree:$t.empty}class q2{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let Jo=null;class Qa{constructor(e,t,r=[],i,n,a,o,l){this.parser=e,this.state=t,this.fragments=r,this.tree=i,this.treeLen=n,this.viewport=a,this.skipped=o,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new Qa(e,t,[],$t.empty,0,r,[],null)}startParse(){return this.parser.startParse(new q2(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=$t.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let i=this.parse.advance();if(i)if(this.fragments=this.withoutTempSkipped(Si.addTree(i,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=i,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Si.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Jo;Jo=this;try{return e()}finally{Jo=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=uO(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:i,treeLen:n,viewport:a,skipped:o}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,d,u,f)=>l.push({fromA:c,toA:d,fromB:u,toB:f})),r=Si.applyChanges(r,l),i=$t.empty,n=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){o=[];for(let c of this.skipped){let d=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);d<u&&o.push({from:d,to:u})}}}return new Qa(this.parser,t,r,i,n,a,o,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:i,to:n}=this.skipped[r];i<e.to&&n>e.from&&(this.fragments=uO(this.fragments,i,n),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends rp{createParse(t,r,i){let n=i[0].from,a=i[i.length-1].to;return{parsedPos:n,advance(){let l=Jo;if(l){for(let c of i)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=a,new $t(hs.none,[],[],a-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Jo}}function uO(s,e,t){return Si.applyChanges(s,[{fromA:e,toA:t,fromB:e,toB:t}])}class xo{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new xo(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=Qa.create(e.facet(Ki).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new xo(r)}}mr.state=ws.define({create:xo.init,update(s,e){for(let t of e.effects)if(t.is(mr.setState))return t.value;return e.startState.facet(Ki)!=e.state.facet(Ki)?xo.init(e.state):s.apply(e)}});let gv=s=>{let e=setTimeout(()=>s(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(gv=s=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(s,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const $d=typeof navigator<"u"&&(!((Qd=navigator.scheduling)===null||Qd===void 0)&&Qd.isInputPending)?()=>navigator.scheduling.isInputPending():null,z2=es.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(mr.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(mr.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=gv(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:i}}=this.view,n=r.field(mr.state);if(n.tree==n.context.tree&&n.context.isDone(i+1e5))return;let a=Date.now()+Math.min(this.chunkBudget,100,e&&!$d?Math.max(25,e.timeRemaining()-5):1e9),o=n.context.treeLen<i&&r.doc.length>i+1e3,l=n.context.work(()=>$d&&$d()||Date.now()>a,i+(o?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:mr.setState.of(new xo(n.context))})),this.chunkBudget>0&&!(l&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Fs(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ki=Le.define({combine(s){return s.length?s[0]:null},enables:s=>[mr.state,z2,Pe.contentAttributes.compute([s],e=>{let t=e.facet(s);return t&&t.name?{"data-language":t.name}:{}})]});class Ji{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class Dc{constructor(e,t,r,i,n,a=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=i,this.loadFunc=n,this.support=a,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new Dc(e.name,(e.alias||[]).concat(e.name).map(i=>i.toLowerCase()),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let i of e)if(i.filename&&i.filename.test(t))return i;let r=/\.([^.]+)$/.exec(t);if(r){for(let i of e)if(i.extensions.indexOf(r[1])>-1)return i}return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let i of e)if(i.alias.some(n=>n==t))return i;if(r)for(let i of e)for(let n of i.alias){let a=t.indexOf(n);if(a>-1&&(n.length>2||!/\w/.test(t[a-1])&&!/\w/.test(t[a+n.length])))return i}return null}}const Z2=Le.define(),ko=Le.define({combine:s=>{if(!s.length)return" ";let e=s[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(s[0]));return e}});function Ic(s){let e=s.facet(ko);return e.charCodeAt(0)==9?s.tabSize*e.length:e.length}function $a(s,e){let t="",r=s.tabSize,i=s.facet(ko)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let n=0;n<e;n++)t+=i;return t}function op(s,e){s instanceof vt&&(s=new fh(s));for(let r of s.state.facet(Z2)){let i=r(s,e);if(i!==void 0)return i}let t=jt(s.state);return t.length>=e?V2(s,t,e):null}class fh{constructor(e,t={}){this.state=e,this.options=t,this.unit=Ic(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:n}=this.options;return i!=null&&i>=r.from&&i<=r.to?n&&i==e?{text:"",from:e}:(t<0?i<e:i<=e)?{text:r.text.slice(i-r.from),from:i}:{text:r.text.slice(0,i-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:i}=this.lineAt(e,t);return r.slice(e-i,Math.min(r.length,e+100-i))}column(e,t=1){let{text:r,from:i}=this.lineAt(e,t),n=this.countColumn(r,e-i),a=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return a>-1&&(n+=a-this.countColumn(r,r.search(/\S|$/))),n}countColumn(e,t=e.length){return jr(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:i}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let a=n(i);if(a>-1)return a}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const tn=new ht;function V2(s,e,t){let r=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=r.node){let n=[];for(let a=i;a&&!(a.from<r.node.from||a.to>r.node.to||a.from==r.node.from&&a.type==r.node.type);a=a.parent)n.push(a);for(let a=n.length-1;a>=0;a--)r={node:n[a],next:r}}return Ov(r,s,t)}function Ov(s,e,t){for(let r=s;r;r=r.next){let i=Y2(r.node);if(i)return i(ap.create(e,t,r))}return 0}function F2(s){return s.pos==s.options.simulateBreak&&s.options.simulateDoubleBreak}function Y2(s){let e=s.type.prop(tn);if(e)return e;let t=s.firstChild,r;if(t&&(r=t.type.prop(ht.closedBy))){let i=s.lastChild,n=i&&r.indexOf(i.name)>-1;return a=>xv(a,!0,1,void 0,n&&!F2(a)?i.from:void 0)}return s.parent==null?U2:null}function U2(){return 0}class ap extends fh{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new ap(e,t,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(H2(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return Ov(this.context.next,this.base,this.pos)}}function H2(s,e){for(let t=e;t;t=t.parent)if(s==t)return!0;return!1}function G2(s){let e=s.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let i=s.options.simulateBreak,n=s.state.doc.lineAt(t.from),a=i==null||i<=n.from?n.to:Math.min(n.to,i);for(let o=t.to;;){let l=e.childAfter(o);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=a)return null;let c=/^ */.exec(n.text.slice(t.to-n.from))[0].length;return{from:t.from,to:t.to+c}}o=l.to}}function mc({closing:s,align:e=!0,units:t=1}){return r=>xv(r,e,t,s)}function xv(s,e,t,r,i){let n=s.textAfter,a=n.match(/^\s*/)[0].length,o=r&&n.slice(a,a+r.length)==r||i==s.pos+a,l=e?G2(s):null;return l?o?s.column(l.from):s.column(l.to):s.baseIndent+(o?0:s.unit*t)}const K2=s=>s.baseIndent;function lo({except:s,units:e=1}={}){return t=>{let r=s&&s.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const J2=200;function eP(){return vt.transactionFilter.of(s=>{if(!s.docChanged||!s.isUserEvent("input.type")&&!s.isUserEvent("input.complete"))return s;let e=s.startState.languageDataAt("indentOnInput",s.startState.selection.main.head);if(!e.length)return s;let t=s.newDoc,{head:r}=s.newSelection.main,i=t.lineAt(r);if(r>i.from+J2)return s;let n=t.sliceString(i.from,r);if(!e.some(c=>c.test(n)))return s;let{state:a}=s,o=-1,l=[];for(let{head:c}of a.selection.ranges){let d=a.doc.lineAt(c);if(d.from==o)continue;o=d.from;let u=op(a,d.from);if(u==null)continue;let f=/^\s*/.exec(d.text)[0],g=$a(a,u);f!=g&&l.push({from:d.from,to:d.from+f.length,insert:g})}return l.length?[s,{changes:l,sequential:!0}]:s})}const bv=Le.define(),$i=new ht;function ph(s){let e=s.firstChild,t=s.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?s.to:t.from}:null}function tP(s,e,t){let r=jt(s);if(r.length<t)return null;let i=r.resolveStack(t,1),n=null;for(let a=i;a;a=a.next){let o=a.node;if(o.to<=t||o.from>t)continue;if(n&&o.from<e)break;let l=o.type.prop($i);if(l&&(o.to<r.length-50||r.length==s.doc.length||!sP(o))){let c=l(o,s);c&&c.from<=t&&c.from>=e&&c.to>t&&(n=c)}}return n}function sP(s){let e=s.lastChild;return e&&e.to==s.to&&e.type.isError}function Bc(s,e,t){for(let r of s.facet(bv)){let i=r(s,e,t);if(i)return i}return tP(s,e,t)}function vv(s,e){let t=e.mapPos(s.from,1),r=e.mapPos(s.to,-1);return t>=r?void 0:{from:t,to:r}}const mh=ct.define({map:vv}),Fa=ct.define({map:vv});function yv(s){let e=[];for(let{head:t}of s.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(s.lineBlockAt(t));return e}const Ln=ws.define({create(){return Fe.none},update(s,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((r,i)=>s=fO(s,r,i)),s=s.map(e.changes);let t=[];for(let r of e.effects)r.is(mh)&&!rP(s,r.value.from,r.value.to)?t.push(r.value):r.is(Fa)&&(s=s.update({filter:(i,n)=>r.value.from!=i||r.value.to!=n,filterFrom:r.value.from,filterTo:r.value.to}));if(t.length){let{preparePlaceholder:r}=e.state.facet(wv),i=t.map(n=>(r?Fe.replace({widget:new hP(r(e.state,n))}):pO).range(n.from,n.to));s=s.update({add:i})}return e.selection&&(s=fO(s,e.selection.main.head)),s},provide:s=>Pe.decorations.from(s),toJSON(s,e){let t=[];return s.between(0,e.doc.length,(r,i)=>{t.push(r,i)}),t},fromJSON(s){if(!Array.isArray(s)||s.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<s.length;){let r=s[t++],i=s[t++];if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid JSON for fold state");e.push(pO.range(r,i))}return Fe.set(e,!0)}});function fO(s,e,t=e){let r=!1;return s.between(e,t,(i,n)=>{i<t&&n>e&&(r=!0)}),r?s.update({filterFrom:e,filterTo:t,filter:(i,n)=>i>=t||n<=e}):s}function Wc(s,e,t){var r;let i=null;return(r=s.field(Ln,!1))===null||r===void 0||r.between(e,t,(n,a)=>{(!i||i.from>n)&&(i={from:n,to:a})}),i}function rP(s,e,t){let r=!1;return s.between(e,e,(i,n)=>{i==e&&n==t&&(r=!0)}),r}function Sv(s,e){return s.field(Ln,!1)?e:e.concat(ct.appendConfig.of(kv()))}const iP=s=>{for(let e of yv(s)){let t=Bc(s.state,e.from,e.to);if(t)return s.dispatch({effects:Sv(s.state,[mh.of(t),_v(s,t)])}),!0}return!1},nP=s=>{if(!s.state.field(Ln,!1))return!1;let e=[];for(let t of yv(s)){let r=Wc(s.state,t.from,t.to);r&&e.push(Fa.of(r),_v(s,r,!1))}return e.length&&s.dispatch({effects:e}),e.length>0};function _v(s,e,t=!0){let r=s.state.doc.lineAt(e.from).number,i=s.state.doc.lineAt(e.to).number;return Pe.announce.of(`${s.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${s.state.phrase("to")} ${i}.`)}const oP=s=>{let{state:e}=s,t=[];for(let r=0;r<e.doc.length;){let i=s.lineBlockAt(r),n=Bc(e,i.from,i.to);n&&t.push(mh.of(n)),r=(n?s.lineBlockAt(n.to):i).to+1}return t.length&&s.dispatch({effects:Sv(s.state,t)}),!!t.length},aP=s=>{let e=s.state.field(Ln,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,s.state.doc.length,(r,i)=>{t.push(Fa.of({from:r,to:i}))}),s.dispatch({effects:t}),!0},lP=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:iP},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:nP},{key:"Ctrl-Alt-[",run:oP},{key:"Ctrl-Alt-]",run:aP}],cP={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},wv=Le.define({combine(s){return ti(s,cP)}});function kv(s){return[Ln,fP]}function Cv(s,e){let{state:t}=s,r=t.facet(wv),i=a=>{let o=s.lineBlockAt(s.posAtDOM(a.target)),l=Wc(s.state,o.from,o.to);l&&s.dispatch({effects:Fa.of(l)}),a.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(s,i,e);let n=document.createElement("span");return n.textContent=r.placeholderText,n.setAttribute("aria-label",t.phrase("folded code")),n.title=t.phrase("unfold"),n.className="cm-foldPlaceholder",n.onclick=i,n}const pO=Fe.replace({widget:new class extends Rr{toDOM(s){return Cv(s,null)}}});class hP extends Rr{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return Cv(e,this.value)}}const dP={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class jd extends ki{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function uP(s={}){let e={...dP,...s},t=new jd(e,!0),r=new jd(e,!1),i=es.fromClass(class{constructor(a){this.from=a.viewport.from,this.markers=this.buildMarkers(a)}update(a){(a.docChanged||a.viewportChanged||a.startState.facet(Ki)!=a.state.facet(Ki)||a.startState.field(Ln,!1)!=a.state.field(Ln,!1)||jt(a.startState)!=jt(a.state)||e.foldingChanged(a))&&(this.markers=this.buildMarkers(a.view))}buildMarkers(a){let o=new _i;for(let l of a.viewportLineBlocks){let c=Wc(a.state,l.from,l.to)?r:Bc(a.state,l.from,l.to)?t:null;c&&o.add(l.from,l.from,c)}return o.finish()}}),{domEventHandlers:n}=e;return[i,d2({class:"cm-foldGutter",markers(a){var o;return((o=a.plugin(i))===null||o===void 0?void 0:o.markers)||xt.empty},initialSpacer(){return new jd(e,!1)},domEventHandlers:{...n,click:(a,o,l)=>{if(n.click&&n.click(a,o,l))return!0;let c=Wc(a.state,o.from,o.to);if(c)return a.dispatch({effects:Fa.of(c)}),!0;let d=Bc(a.state,o.from,o.to);return d?(a.dispatch({effects:mh.of(d)}),!0):!1}}}),kv()]}const fP=Pe.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Ya{constructor(e,t){this.specs=e;let r;function i(o){let l=Yi.newName();return(r||(r=Object.create(null)))["."+l]=o,l}const n=typeof t.all=="string"?t.all:t.all?i(t.all):void 0,a=t.scope;this.scope=a instanceof mr?o=>o.prop(Qn)==a.data:a?o=>o==a:void 0,this.style=mv(e.map(o=>({tag:o.tag,class:o.class||i(Object.assign({},o,{tag:null}))})),{all:n}).style,this.module=r?new Yi(r):null,this.themeType=t.themeType}static define(e,t){return new Ya(e,t||{})}}const af=Le.define(),Pv=Le.define({combine(s){return s.length?[s[0]]:null}});function Ed(s){let e=s.facet(af);return e.length?e:s.facet(Pv)}function Tv(s,e){let t=[mP],r;return s instanceof Ya&&(s.module&&t.push(Pe.styleModule.of(s.module)),r=s.themeType),e?.fallback?t.push(Pv.of(s)):r?t.push(af.computeN([Pe.darkTheme],i=>i.facet(Pe.darkTheme)==(r=="dark")?[s]:[])):t.push(af.of(s)),t}class pP{constructor(e){this.markCache=Object.create(null),this.tree=jt(e.state),this.decorations=this.buildDeco(e,Ed(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=jt(e.state),r=Ed(e.state),i=r!=Ed(e.startState),{viewport:n}=e.view,a=e.changes.mapPos(this.decoratedTo,1);t.length<n.to&&!i&&t.type==this.tree.type&&a>=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return Fe.none;let r=new _i;for(let{from:i,to:n}of e.visibleRanges)B2(this.tree,t,(a,o,l)=>{r.add(a,o,this.markCache[l]||(this.markCache[l]=Fe.mark({class:l})))},i,n);return r.finish()}}const mP=Ti.high(es.fromClass(pP,{decorations:s=>s.decorations})),gP=Ya.define([{tag:M.meta,color:"#404740"},{tag:M.link,textDecoration:"underline"},{tag:M.heading,textDecoration:"underline",fontWeight:"bold"},{tag:M.emphasis,fontStyle:"italic"},{tag:M.strong,fontWeight:"bold"},{tag:M.strikethrough,textDecoration:"line-through"},{tag:M.keyword,color:"#708"},{tag:[M.atom,M.bool,M.url,M.contentSeparator,M.labelName],color:"#219"},{tag:[M.literal,M.inserted],color:"#164"},{tag:[M.string,M.deleted],color:"#a11"},{tag:[M.regexp,M.escape,M.special(M.string)],color:"#e40"},{tag:M.definition(M.variableName),color:"#00f"},{tag:M.local(M.variableName),color:"#30a"},{tag:[M.typeName,M.namespace],color:"#085"},{tag:M.className,color:"#167"},{tag:[M.special(M.variableName),M.macroName],color:"#256"},{tag:M.definition(M.propertyName),color:"#00c"},{tag:M.comment,color:"#940"},{tag:M.invalid,color:"#f00"}]),OP=Pe.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Qv=1e4,$v="()[]{}",jv=Le.define({combine(s){return ti(s,{afterCursor:!0,brackets:$v,maxScanDistance:Qv,renderMatch:vP})}}),xP=Fe.mark({class:"cm-matchingBracket"}),bP=Fe.mark({class:"cm-nonmatchingBracket"});function vP(s){let e=[],t=s.matched?xP:bP;return e.push(t.range(s.start.from,s.start.to)),s.end&&e.push(t.range(s.end.from,s.end.to)),e}function mO(s){let e=[],t=s.facet(jv);for(let r of s.selection.ranges){if(!r.empty)continue;let i=Hr(s,r.head,-1,t)||r.head>0&&Hr(s,r.head-1,1,t)||t.afterCursor&&(Hr(s,r.head,1,t)||r.head<s.doc.length&&Hr(s,r.head+1,-1,t));i&&(e=e.concat(t.renderMatch(i,s)))}return Fe.set(e,!0)}const yP=es.fromClass(class{constructor(s){this.paused=!1,this.decorations=mO(s.state)}update(s){(s.docChanged||s.selectionSet||this.paused)&&(s.view.composing?(this.decorations=this.decorations.map(s.changes),this.paused=!0):(this.decorations=mO(s.state),this.paused=!1))}},{decorations:s=>s.decorations}),SP=[yP,OP];function _P(s={}){return[jv.of(s),SP]}const lp=new ht;function lf(s,e,t){let r=s.prop(e<0?ht.openedBy:ht.closedBy);if(r)return r;if(s.name.length==1){let i=t.indexOf(s.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function cf(s){let e=s.type.prop(lp);return e?e(s.node):s}function Hr(s,e,t,r={}){let i=r.maxScanDistance||Qv,n=r.brackets||$v,a=jt(s),o=a.resolveInner(e,t);for(let l=o;l;l=l.parent){let c=lf(l.type,t,n);if(c&&l.from<l.to){let d=cf(l);if(d&&(t>0?e>=d.from&&e<d.to:e>d.from&&e<=d.to))return wP(s,e,t,l,d,c,n)}}return kP(s,e,t,a,o.type,i,n)}function wP(s,e,t,r,i,n,a){let o=r.parent,l={from:i.from,to:i.to},c=0,d=o?.cursor();if(d&&(t<0?d.childBefore(r.from):d.childAfter(r.to)))do if(t<0?d.to<=r.from:d.from>=r.to){if(c==0&&n.indexOf(d.type.name)>-1&&d.from<d.to){let u=cf(d);return{start:l,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(lf(d.type,t,a))c++;else if(lf(d.type,-t,a)){if(c==0){let u=cf(d);return{start:l,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}c--}}while(t<0?d.prevSibling():d.nextSibling());return{start:l,matched:!1}}function kP(s,e,t,r,i,n,a){if(t<0?!e:e==s.doc.length)return null;let o=t<0?s.sliceDoc(e-1,e):s.sliceDoc(e,e+1),l=a.indexOf(o);if(l<0||l%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},d=s.doc.iterRange(e,t>0?s.doc.length:0),u=0;for(let f=0;!d.next().done&&f<=n;){let g=d.value;t<0&&(f+=g.length);let v=e+f*t;for(let b=t>0?0:g.length-1,m=t>0?g.length:-1;b!=m;b+=t){let O=a.indexOf(g[b]);if(!(O<0||r.resolveInner(v+b,1).type!=i))if(O%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:v+b,to:v+b+1},matched:O>>1==l>>1};u--}}t>0&&(f+=g.length)}return d.done?{start:c,matched:!1}:null}const CP=Object.create(null),gO=[hs.none],OO=[],xO=Object.create(null),PP=Object.create(null);for(let[s,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])PP[s]=TP(CP,e);function Rd(s,e){OO.indexOf(s)>-1||(OO.push(s),console.warn(e))}function TP(s,e){let t=[];for(let o of e.split(" ")){let l=[];for(let c of o.split(".")){let d=s[c]||M[c];d?typeof d=="function"?l.length?l=l.map(d):Rd(c,`Modifier ${c} used at start of tag`):l.length?Rd(c,`Tag ${c} used as modifier`):l=Array.isArray(d)?d:[d]:Rd(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+t.map(o=>o.id),n=xO[i];if(n)return n.id;let a=xO[i]=hs.define({id:gO.length,name:r,props:[Qi({[r]:t})]});return gO.push(a),a.id}It.RTL,It.LTR;const QP=s=>{let{state:e}=s,t=e.doc.lineAt(e.selection.main.from),r=hp(s.state,t.from);return r.line?$P(s):r.block?EP(s):!1};function cp(s,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let i=s(e,t);return i?(r(t.update(i)),!0):!1}}const $P=cp(MP,0),jP=cp(Ev,0),EP=cp((s,e)=>Ev(s,e,AP(e)),0);function hp(s,e){let t=s.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const ea=50;function RP(s,{open:e,close:t},r,i){let n=s.sliceDoc(r-ea,r),a=s.sliceDoc(i,i+ea),o=/\s*$/.exec(n)[0].length,l=/^\s*/.exec(a)[0].length,c=n.length-o;if(n.slice(c-e.length,c)==e&&a.slice(l,l+t.length)==t)return{open:{pos:r-o,margin:o&&1},close:{pos:i+l,margin:l&&1}};let d,u;i-r<=2*ea?d=u=s.sliceDoc(r,i):(d=s.sliceDoc(r,r+ea),u=s.sliceDoc(i-ea,i));let f=/^\s*/.exec(d)[0].length,g=/\s*$/.exec(u)[0].length,v=u.length-g-t.length;return d.slice(f,f+e.length)==e&&u.slice(v,v+t.length)==t?{open:{pos:r+f+e.length,margin:/\s/.test(d.charAt(f+e.length))?1:0},close:{pos:i-g-t.length,margin:/\s/.test(u.charAt(v-1))?1:0}}:null}function AP(s){let e=[];for(let t of s.selection.ranges){let r=s.doc.lineAt(t.from),i=t.to<=r.to?r:s.doc.lineAt(t.to);i.from>r.from&&i.from==t.to&&(i=t.to==r.to+1?r:s.doc.lineAt(t.to-1));let n=e.length-1;n>=0&&e[n].to>r.from?e[n].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function Ev(s,e,t=e.selection.ranges){let r=t.map(n=>hp(e,n.from).block);if(!r.every(n=>n))return null;let i=t.map((n,a)=>RP(e,r[a],n.from,n.to));if(s!=2&&!i.every(n=>n))return{changes:e.changes(t.map((n,a)=>i[a]?[]:[{from:n.from,insert:r[a].open+" "},{from:n.to,insert:" "+r[a].close}]))};if(s!=1&&i.some(n=>n)){let n=[];for(let a=0,o;a<i.length;a++)if(o=i[a]){let l=r[a],{open:c,close:d}=o;n.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:n}}return null}function MP(s,e,t=e.selection.ranges){let r=[],i=-1;e:for(let{from:n,to:a}of t){let o=r.length,l=1e9,c;for(let d=n;d<=a;){let u=e.doc.lineAt(d);if(c==null&&(c=hp(e,u.from).line,!c))continue e;if(u.from>i&&(n==a||a>u.from)){i=u.from;let f=/^\s*/.exec(u.text)[0].length,g=f==u.length,v=u.text.slice(f,f+c.length)==c?f:-1;f<u.text.length&&f<l&&(l=f),r.push({line:u,comment:v,token:c,indent:f,empty:g,single:!1})}d=u.to+1}if(l<1e9)for(let d=o;d<r.length;d++)r[d].indent<r[d].line.text.length&&(r[d].indent=l);r.length==o+1&&(r[o].single=!0)}if(s!=2&&r.some(n=>n.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:o,token:l,indent:c,empty:d,single:u}of r)(u||!d)&&n.push({from:o.from+c,insert:l+" "});let a=e.changes(n);return{changes:a,selection:e.selection.map(a,1)}}else if(s!=1&&r.some(n=>n.comment>=0)){let n=[];for(let{line:a,comment:o,token:l}of r)if(o>=0){let c=a.from+o,d=c+l.length;a.text[d-a.from]==" "&&d++,n.push({from:c,to:d})}return{changes:n}}return null}const hf=ei.define(),LP=ei.define(),NP=Le.define(),Rv=Le.define({combine(s){return ti(s,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,i)=>e(r,i)||t(r,i)})}}),Av=ws.define({create(){return Gr.empty},update(s,e){let t=e.state.facet(Rv),r=e.annotation(hf);if(r){let l=Ys.fromTransaction(e,r.selection),c=r.side,d=c==0?s.undone:s.done;return l?d=Xc(d,d.length,t.minDepth,l):d=Nv(d,e.startState.selection),new Gr(c==0?r.rest:d,c==0?d:r.rest)}let i=e.annotation(LP);if((i=="full"||i=="before")&&(s=s.isolate()),e.annotation(ls.addToHistory)===!1)return e.changes.empty?s:s.addMapping(e.changes.desc);let n=Ys.fromTransaction(e),a=e.annotation(ls.time),o=e.annotation(ls.userEvent);return n?s=s.addChanges(n,a,o,t,e):e.selection&&(s=s.addSelection(e.startState.selection,a,o,t.newGroupDelay)),(i=="full"||i=="after")&&(s=s.isolate()),s},toJSON(s){return{done:s.done.map(e=>e.toJSON()),undone:s.undone.map(e=>e.toJSON())}},fromJSON(s){return new Gr(s.done.map(Ys.fromJSON),s.undone.map(Ys.fromJSON))}});function DP(s={}){return[Av,Rv.of(s),Pe.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?Mv:e.inputType=="historyRedo"?df:null;return r?(e.preventDefault(),r(t)):!1}})]}function gh(s,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(Av,!1);if(!i)return!1;let n=i.pop(s,t,e);return n?(r(n),!0):!1}}const Mv=gh(0,!1),df=gh(1,!1),IP=gh(0,!0),BP=gh(1,!0);class Ys{constructor(e,t,r,i,n){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=i,this.selectionsAfter=n}setSelAfter(e){return new Ys(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new Ys(e.changes&&cs.fromJSON(e.changes),[],e.mapped&&Kr.fromJSON(e.mapped),e.startSelection&&re.fromJSON(e.startSelection),e.selectionsAfter.map(re.fromJSON))}static fromTransaction(e,t){let r=gr;for(let i of e.startState.facet(NP)){let n=i(e);n.length&&(r=r.concat(n))}return!r.length&&e.changes.empty?null:new Ys(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,gr)}static selection(e){return new Ys(void 0,gr,void 0,void 0,e)}}function Xc(s,e,t,r){let i=e+1>t+20?e-t-1:0,n=s.slice(i,e);return n.push(r),n}function WP(s,e){let t=[],r=!1;return s.iterChangedRanges((i,n)=>t.push(i,n)),e.iterChangedRanges((i,n,a,o)=>{for(let l=0;l<t.length;){let c=t[l++],d=t[l++];o>=c&&a<=d&&(r=!0)}}),r}function XP(s,e){return s.ranges.length==e.ranges.length&&s.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function Lv(s,e){return s.length?e.length?s.concat(e):s:e}const gr=[],qP=200;function Nv(s,e){if(s.length){let t=s[s.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-qP));return r.length&&r[r.length-1].eq(e)?s:(r.push(e),Xc(s,s.length-1,1e9,t.setSelAfter(r)))}else return[Ys.selection([e])]}function zP(s){let e=s[s.length-1],t=s.slice();return t[s.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Ad(s,e){if(!s.length)return s;let t=s.length,r=gr;for(;t;){let i=ZP(s[t-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let n=s.slice(0,t);return n[t-1]=i,n}else e=i.mapped,t--,r=i.selectionsAfter}return r.length?[Ys.selection(r)]:gr}function ZP(s,e,t){let r=Lv(s.selectionsAfter.length?s.selectionsAfter.map(o=>o.map(e)):gr,t);if(!s.changes)return Ys.selection(r);let i=s.changes.map(e),n=e.mapDesc(s.changes,!0),a=s.mapped?s.mapped.composeDesc(n):n;return new Ys(i,ct.mapEffects(s.effects,e),a,s.startSelection.map(n),r)}const VP=/^(input\.type|delete)($|\.)/;class Gr{constructor(e,t,r=0,i=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new Gr(this.done,this.undone):this}addChanges(e,t,r,i,n){let a=this.done,o=a[a.length-1];return o&&o.changes&&!o.changes.empty&&e.changes&&(!r||VP.test(r))&&(!o.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(n,WP(o.changes,e.changes))||r=="input.type.compose")?a=Xc(a,a.length-1,i.minDepth,new Ys(e.changes.compose(o.changes),Lv(ct.mapEffects(e.effects,o.changes),o.effects),o.mapped,o.startSelection,gr)):a=Xc(a,a.length,i.minDepth,e),new Gr(a,gr,t,r)}addSelection(e,t,r,i){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:gr;return n.length>0&&t-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&XP(n[n.length-1],e)?this:new Gr(Nv(this.done,e),this.undone,t,r)}addMapping(e){return new Gr(Ad(this.done,e),Ad(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let i=e==0?this.done:this.undone;if(i.length==0)return null;let n=i[i.length-1],a=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):t.selection);if(r&&n.selectionsAfter.length)return t.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:hf.of({side:e,rest:zP(i),selection:a}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let o=i.length==1?gr:i.slice(0,i.length-1);return n.mapped&&(o=Ad(o,n.mapped)),t.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:hf.of({side:e,rest:o,selection:a}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Gr.empty=new Gr(gr,gr);const FP=[{key:"Mod-z",run:Mv,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:df,preventDefault:!0},{linux:"Ctrl-Shift-z",run:df,preventDefault:!0},{key:"Mod-u",run:IP,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:BP,preventDefault:!0}];function Co(s,e){return re.create(s.ranges.map(e),s.mainIndex)}function Ar(s,e){return s.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Mr({state:s,dispatch:e},t){let r=Co(s.selection,t);return r.eq(s.selection,!0)?!1:(e(Ar(s,r)),!0)}function Oh(s,e){return re.cursor(e?s.to:s.from)}function Dv(s,e){return Mr(s,t=>t.empty?s.moveByChar(t,e):Oh(t,e))}function As(s){return s.textDirectionAt(s.state.selection.main.head)==It.LTR}const Iv=s=>Dv(s,!As(s)),Bv=s=>Dv(s,As(s));function Wv(s,e){return Mr(s,t=>t.empty?s.moveByGroup(t,e):Oh(t,e))}const YP=s=>Wv(s,!As(s)),UP=s=>Wv(s,As(s));function HP(s,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(s.sliceDoc(e.from,e.to)))||e.firstChild}function xh(s,e,t){let r=jt(s).resolveInner(e.head),i=t?ht.closedBy:ht.openedBy;for(let l=e.head;;){let c=t?r.childAfter(l):r.childBefore(l);if(!c)break;HP(s,c,i)?r=c:l=t?c.to:c.from}let n=r.type.prop(i),a,o;return n&&(a=t?Hr(s,r.from,1):Hr(s,r.to,-1))&&a.matched?o=t?a.end.to:a.end.from:o=t?r.to:r.from,re.cursor(o,t?-1:1)}const GP=s=>Mr(s,e=>xh(s.state,e,!As(s))),KP=s=>Mr(s,e=>xh(s.state,e,As(s)));function Xv(s,e){return Mr(s,t=>{if(!t.empty)return Oh(t,e);let r=s.moveVertically(t,e);return r.head!=t.head?r:s.moveToLineBoundary(t,e)})}const qv=s=>Xv(s,!1),zv=s=>Xv(s,!0);function Zv(s){let e=s.scrollDOM.clientHeight<s.scrollDOM.scrollHeight-2,t=0,r=0,i;if(e){for(let n of s.state.facet(Pe.scrollMargins)){let a=n(s);a?.top&&(t=Math.max(a?.top,t)),a?.bottom&&(r=Math.max(a?.bottom,r))}i=s.scrollDOM.clientHeight-t-r}else i=(s.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:r,selfScroll:e,height:Math.max(s.defaultLineHeight,i-5)}}function Vv(s,e){let t=Zv(s),{state:r}=s,i=Co(r.selection,a=>a.empty?s.moveVertically(a,e,t.height):Oh(a,e));if(i.eq(r.selection))return!1;let n;if(t.selfScroll){let a=s.coordsAtPos(r.selection.main.head),o=s.scrollDOM.getBoundingClientRect(),l=o.top+t.marginTop,c=o.bottom-t.marginBottom;a&&a.top>l&&a.bottom<c&&(n=Pe.scrollIntoView(i.main.head,{y:"start",yMargin:a.top-l}))}return s.dispatch(Ar(r,i),{effects:n}),!0}const bO=s=>Vv(s,!1),uf=s=>Vv(s,!0);function sn(s,e,t){let r=s.lineBlockAt(e.head),i=s.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?r.to:r.from)&&(i=s.moveToLineBoundary(e,t,!1)),!t&&i.head==r.from&&r.length){let n=/^\s*/.exec(s.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&e.head!=r.from+n&&(i=re.cursor(r.from+n))}return i}const JP=s=>Mr(s,e=>sn(s,e,!0)),eT=s=>Mr(s,e=>sn(s,e,!1)),tT=s=>Mr(s,e=>sn(s,e,!As(s))),sT=s=>Mr(s,e=>sn(s,e,As(s))),rT=s=>Mr(s,e=>re.cursor(s.lineBlockAt(e.head).from,1)),iT=s=>Mr(s,e=>re.cursor(s.lineBlockAt(e.head).to,-1));function nT(s,e,t){let r=!1,i=Co(s.selection,n=>{let a=Hr(s,n.head,-1)||Hr(s,n.head,1)||n.head>0&&Hr(s,n.head-1,1)||n.head<s.doc.length&&Hr(s,n.head+1,-1);if(!a||!a.end)return n;r=!0;let o=a.start.from==n.head?a.end.to:a.end.from;return re.cursor(o)});return r?(e(Ar(s,i)),!0):!1}const oT=({state:s,dispatch:e})=>nT(s,e);function xr(s,e,t){let r=Co(s.state.selection,i=>{i.undirectional&&i.head>=i.anchor!=e&&(i=re.range(i.head,i.anchor));let n=t(i);return re.range(i.anchor,n.head,n.goalColumn,n.bidiLevel||void 0,n.assoc)});return r.eq(s.state.selection)?!1:(s.dispatch(Ar(s.state,r)),!0)}function Fv(s,e){return xr(s,e,t=>s.moveByChar(t,e))}const Yv=s=>Fv(s,!As(s)),Uv=s=>Fv(s,As(s));function Hv(s,e){return xr(s,e,t=>s.moveByGroup(t,e))}const aT=s=>Hv(s,!As(s)),lT=s=>Hv(s,As(s)),cT=s=>{let e=!As(s);return xr(s,e,t=>xh(s.state,t,e))},hT=s=>{let e=As(s);return xr(s,e,t=>xh(s.state,t,e))};function Gv(s,e){return xr(s,e,t=>s.moveVertically(t,e))}const Kv=s=>Gv(s,!1),Jv=s=>Gv(s,!0);function ey(s,e){return xr(s,e,t=>s.moveVertically(t,e,Zv(s).height))}const vO=s=>ey(s,!1),yO=s=>ey(s,!0),dT=s=>xr(s,!0,e=>sn(s,e,!0)),uT=s=>xr(s,!1,e=>sn(s,e,!1)),fT=s=>{let e=!As(s);return xr(s,e,t=>sn(s,t,e))},pT=s=>{let e=As(s);return xr(s,e,t=>sn(s,t,e))},mT=s=>xr(s,!1,e=>re.cursor(s.lineBlockAt(e.head).from)),gT=s=>xr(s,!0,e=>re.cursor(s.lineBlockAt(e.head).to)),SO=({state:s,dispatch:e})=>(e(Ar(s,{anchor:0})),!0),_O=({state:s,dispatch:e})=>(e(Ar(s,{anchor:s.doc.length})),!0),wO=({state:s,dispatch:e})=>(e(Ar(s,{anchor:s.selection.main.anchor,head:0})),!0),kO=({state:s,dispatch:e})=>(e(Ar(s,{anchor:s.selection.main.anchor,head:s.doc.length})),!0),OT=({state:s,dispatch:e})=>(e(s.update({selection:{anchor:0,head:s.doc.length},userEvent:"select"})),!0),xT=({state:s,dispatch:e})=>{let t=bh(s).map(({from:r,to:i})=>re.range(r,Math.min(i+1,s.doc.length)));return e(s.update({selection:re.create(t),userEvent:"select"})),!0},bT=({state:s,dispatch:e})=>{let t=Co(s.selection,r=>{let i=jt(s),n=i.resolveStack(r.from,1);if(r.empty){let a=i.resolveStack(r.from,-1);a.node.from>=n.node.from&&a.node.to<=n.node.to&&(n=a)}for(let a=n;a;a=a.next){let{node:o}=a;if((o.from<r.from&&o.to>=r.to||o.to>r.to&&o.from<=r.from)&&a.next)return re.range(o.to,o.from)}return r});return t.eq(s.selection)?!1:(e(Ar(s,t)),!0)};function ty(s,e){let{state:t}=s,r=t.selection,i=t.selection.ranges.slice();for(let n of t.selection.ranges){let a=t.doc.lineAt(n.head);if(e?a.to<s.state.doc.length:a.from>0)for(let o=n;;){let l=s.moveVertically(o,e);if(l.head<a.from||l.head>a.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==o.head)break;o=l}}}return i.length==r.ranges.length?!1:(s.dispatch(Ar(t,re.create(i,i.length-1))),!0)}const vT=s=>ty(s,!1),yT=s=>ty(s,!0),ST=({state:s,dispatch:e})=>{let t=s.selection,r=null;return t.ranges.length>1?r=re.create([t.main]):t.main.empty||(r=re.create([re.cursor(t.main.head)])),r?(e(Ar(s,r)),!0):!1};function Ua(s,e){if(s.state.readOnly)return!1;let t="delete.selection",{state:r}=s,i=r.changeByRange(n=>{let{from:a,to:o}=n;if(a==o){let l=e(n);l<a?(t="delete.backward",l=Yl(s,l,!1)):l>a&&(t="delete.forward",l=Yl(s,l,!0)),a=Math.min(a,l),o=Math.max(o,l)}else a=Yl(s,a,!1),o=Yl(s,o,!0);return a==o?{range:n}:{changes:{from:a,to:o},range:re.cursor(a,a<n.head?-1:1)}});return i.changes.empty?!1:(s.dispatch(r.update(i,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?Pe.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Yl(s,e,t){if(s instanceof Pe)for(let r of s.state.facet(Pe.atomicRanges).map(i=>i(s)))r.between(e,e,(i,n)=>{i<e&&n>e&&(e=t?n:i)});return e}const sy=(s,e,t)=>Ua(s,r=>{let i=r.from,{state:n}=s,a=n.doc.lineAt(i),o,l;if(t&&!e&&i>a.from&&i<a.from+200&&!/[^ \t]/.test(o=a.text.slice(0,i-a.from))){if(o[o.length-1]==" ")return i-1;let c=jr(o,n.tabSize),d=c%Ic(n)||Ic(n);for(let u=0;u<d&&o[o.length-1-u]==" ";u++)i--;l=i}else l=ms(a.text,i-a.from,e,e)+a.from,l==i&&a.number!=(e?n.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(a.text.slice(l-a.from,i-a.from))&&(l=ms(a.text,l-a.from,!1,!1)+a.from);return l}),ff=s=>sy(s,!1,!0),ry=s=>sy(s,!0,!1),iy=(s,e)=>Ua(s,t=>{let r=t.head,{state:i}=s,n=i.doc.lineAt(r),a=i.charCategorizer(r);for(let o=null;;){if(r==(e?n.to:n.from)){r==t.head&&n.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let l=ms(n.text,r-n.from,e)+n.from,c=n.text.slice(Math.min(r,l)-n.from,Math.max(r,l)-n.from),d=a(c);if(o!=null&&d!=o)break;(c!=" "||r!=t.head)&&(o=d),r=l}return r}),ny=s=>iy(s,!1),_T=s=>iy(s,!0),wT=s=>Ua(s,e=>{let t=s.lineBlockAt(e.head).to;return e.head<t?t:Math.min(s.state.doc.length,e.head+1)}),kT=s=>Ua(s,e=>{let t=s.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),CT=s=>Ua(s,e=>{let t=s.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(s.state.doc.length,e.head+1)}),PT=({state:s,dispatch:e})=>{if(s.readOnly)return!1;let t=s.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:kt.of(["",""])},range:re.cursor(r.from)}));return e(s.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},TT=({state:s,dispatch:e})=>{if(s.readOnly)return!1;let t=s.changeByRange(r=>{if(!r.empty||r.from==0||r.from==s.doc.length)return{range:r};let i=r.from,n=s.doc.lineAt(i),a=i==n.from?i-1:ms(n.text,i-n.from,!1)+n.from,o=i==n.to?i+1:ms(n.text,i-n.from,!0)+n.from;return{changes:{from:a,to:o,insert:s.doc.slice(i,o).append(s.doc.slice(a,i))},range:re.cursor(o)}});return t.changes.empty?!1:(e(s.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function bh(s){let e=[],t=-1;for(let r of s.selection.ranges){let i=s.doc.lineAt(r.from),n=s.doc.lineAt(r.to);if(!r.empty&&r.to==n.from&&(n=s.doc.lineAt(r.to-1)),t>=i.number){let a=e[e.length-1];a.to=n.to,a.ranges.push(r)}else e.push({from:i.from,to:n.to,ranges:[r]});t=n.number+1}return e}function oy(s,e,t){if(s.readOnly)return!1;let r=[],i=[];for(let n of bh(s)){if(t?n.to==s.doc.length:n.from==0)continue;let a=s.doc.lineAt(t?n.to+1:n.from-1),o=a.length+1;if(t){r.push({from:n.to,to:a.to},{from:n.from,insert:a.text+s.lineBreak});for(let l of n.ranges)i.push(re.range(Math.min(s.doc.length,l.anchor+o),Math.min(s.doc.length,l.head+o)))}else{r.push({from:a.from,to:n.from},{from:n.to,insert:s.lineBreak+a.text});for(let l of n.ranges)i.push(re.range(l.anchor-o,l.head-o))}}return r.length?(e(s.update({changes:r,scrollIntoView:!0,selection:re.create(i,s.selection.mainIndex),userEvent:"move.line"})),!0):!1}const QT=({state:s,dispatch:e})=>oy(s,e,!1),$T=({state:s,dispatch:e})=>oy(s,e,!0);function ay(s,e,t){if(s.readOnly)return!1;let r=[];for(let n of bh(s))t?r.push({from:n.from,insert:s.doc.slice(n.from,n.to)+s.lineBreak}):r.push({from:n.to,insert:s.lineBreak+s.doc.slice(n.from,n.to)});let i=s.changes(r);return e(s.update({changes:i,selection:s.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const jT=({state:s,dispatch:e})=>ay(s,e,!1),ET=({state:s,dispatch:e})=>ay(s,e,!0),RT=s=>{if(s.state.readOnly)return!1;let{state:e}=s,t=e.changes(bh(e).map(({from:i,to:n})=>(i>0?i--:n<e.doc.length&&n++,{from:i,to:n}))),r=Co(e.selection,i=>{let n;if(s.lineWrapping){let a=s.lineBlockAt(i.head),o=s.coordsAtPos(i.head,i.assoc||1);o&&(n=a.bottom+s.documentTop-o.bottom+s.defaultLineHeight/2)}return s.moveVertically(i,!0,n)}).map(t);return s.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function AT(s,e){if(/\(\)|\[\]|\{\}/.test(s.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=jt(s).resolveInner(e),r=t.childBefore(e),i=t.childAfter(e),n;return r&&i&&r.to<=e&&i.from>=e&&(n=r.type.prop(ht.closedBy))&&n.indexOf(i.name)>-1&&s.doc.lineAt(r.to).from==s.doc.lineAt(i.from).from&&!/\S/.test(s.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}const CO=ly(!1),MT=ly(!0);function ly(s){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:n,to:a}=i,o=e.doc.lineAt(n),l=!s&&n==a&&AT(e,n);s&&(n=a=(a<=o.to?o:e.doc.lineAt(a)).to);let c=new fh(e,{simulateBreak:n,simulateDoubleBreak:!!l}),d=op(c,n);for(d==null&&(d=jr(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));a<o.to&&/\s/.test(o.text[a-o.from]);)a++;l?{from:n,to:a}=l:n>o.from&&n<o.from+100&&!/\S/.test(o.text.slice(0,n))&&(n=o.from);let u=["",$a(e,d)];return l&&u.push($a(e,c.lineIndent(o.from,-1))),{changes:{from:n,to:a,insert:kt.of(u)},range:re.cursor(n+1+u[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function dp(s,e){let t=-1;return s.changeByRange(r=>{let i=[];for(let a=r.from;a<=r.to;){let o=s.doc.lineAt(a);o.number>t&&(r.empty||r.to>o.from)&&(e(o,i,r),t=o.number),a=o.to+1}let n=s.changes(i);return{changes:i,range:re.range(n.mapPos(r.anchor,1),n.mapPos(r.head,1))}})}const LT=({state:s,dispatch:e})=>{if(s.readOnly)return!1;let t=Object.create(null),r=new fh(s,{overrideIndentation:n=>{let a=t[n];return a??-1}}),i=dp(s,(n,a,o)=>{let l=op(r,n.from);if(l==null)return;/\S/.test(n.text)||(l=0);let c=/^\s*/.exec(n.text)[0],d=$a(s,l);(c!=d||o.from<n.from+c.length)&&(t[n.from]=l,a.push({from:n.from,to:n.from+c.length,insert:d}))});return i.changes.empty||e(s.update(i,{userEvent:"indent"})),!0},cy=({state:s,dispatch:e})=>s.readOnly?!1:(e(s.update(dp(s,(t,r)=>{r.push({from:t.from,insert:s.facet(ko)})}),{userEvent:"input.indent"})),!0),hy=({state:s,dispatch:e})=>s.readOnly?!1:(e(s.update(dp(s,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let n=jr(i,s.tabSize),a=0,o=$a(s,Math.max(0,n-Ic(s)));for(;a<i.length&&a<o.length&&i.charCodeAt(a)==o.charCodeAt(a);)a++;r.push({from:t.from+a,to:t.from+i.length,insert:o.slice(a)})}),{userEvent:"delete.dedent"})),!0),NT=s=>(s.setTabFocusMode(),!0),DT=[{key:"Ctrl-b",run:Iv,shift:Yv,preventDefault:!0},{key:"Ctrl-f",run:Bv,shift:Uv},{key:"Ctrl-p",run:qv,shift:Kv},{key:"Ctrl-n",run:zv,shift:Jv},{key:"Ctrl-a",run:rT,shift:mT},{key:"Ctrl-e",run:iT,shift:gT},{key:"Ctrl-d",run:ry},{key:"Ctrl-h",run:ff},{key:"Ctrl-k",run:wT},{key:"Ctrl-Alt-h",run:ny},{key:"Ctrl-o",run:PT},{key:"Ctrl-t",run:TT},{key:"Ctrl-v",run:uf}],IT=[{key:"ArrowLeft",run:Iv,shift:Yv,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:YP,shift:aT,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:tT,shift:fT,preventDefault:!0},{key:"ArrowRight",run:Bv,shift:Uv,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:UP,shift:lT,preventDefault:!0},{mac:"Cmd-ArrowRight",run:sT,shift:pT,preventDefault:!0},{key:"ArrowUp",run:qv,shift:Kv,preventDefault:!0},{mac:"Cmd-ArrowUp",run:SO,shift:wO},{mac:"Ctrl-ArrowUp",run:bO,shift:vO},{key:"ArrowDown",run:zv,shift:Jv,preventDefault:!0},{mac:"Cmd-ArrowDown",run:_O,shift:kO},{mac:"Ctrl-ArrowDown",run:uf,shift:yO},{key:"PageUp",run:bO,shift:vO},{key:"PageDown",run:uf,shift:yO},{key:"Home",run:eT,shift:uT,preventDefault:!0},{key:"Mod-Home",run:SO,shift:wO},{key:"End",run:JP,shift:dT,preventDefault:!0},{key:"Mod-End",run:_O,shift:kO},{key:"Enter",run:CO,shift:CO},{key:"Mod-a",run:OT},{key:"Backspace",run:ff,shift:ff,preventDefault:!0},{key:"Delete",run:ry,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ny,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:_T,preventDefault:!0},{mac:"Mod-Backspace",run:kT,preventDefault:!0},{mac:"Mod-Delete",run:CT,preventDefault:!0}].concat(DT.map(s=>({mac:s.key,run:s.run,shift:s.shift}))),BT=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:GP,shift:cT},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:KP,shift:hT},{key:"Alt-ArrowUp",run:QT},{key:"Shift-Alt-ArrowUp",run:jT},{key:"Alt-ArrowDown",run:$T},{key:"Shift-Alt-ArrowDown",run:ET},{key:"Mod-Alt-ArrowUp",run:vT},{key:"Mod-Alt-ArrowDown",run:yT},{key:"Escape",run:ST},{key:"Mod-Enter",run:MT},{key:"Alt-l",mac:"Ctrl-l",run:xT},{key:"Mod-i",run:bT,preventDefault:!0},{key:"Mod-[",run:hy},{key:"Mod-]",run:cy},{key:"Mod-Alt-\\",run:LT},{key:"Shift-Mod-k",run:RT},{key:"Shift-Mod-\\",run:oT},{key:"Mod-/",run:QP},{key:"Alt-A",run:jP},{key:"Ctrl-m",mac:"Shift-Alt-m",run:NT}].concat(IT),WT={key:"Tab",run:cy,shift:hy},PO=typeof String.prototype.normalize=="function"?s=>s.normalize("NFKD"):s=>s;class bo{constructor(e,t,r=0,i=e.length,n,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=n?o=>n(PO(o)):PO,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return zs(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Af(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Vr(e);let i=this.normalize(t);if(i.length)for(let n=0,a=r,o=!0;;n++){let l=i.charCodeAt(n),c=this.match(l,a,o,this.bufferPos+this.bufferStart,n==i.length-1);if(c)return this.value=c,this;if(n==i.length-1)break;o&&n<t.length&&t.charCodeAt(n)==l?a++:o=!1}}}match(e,t,r,i,n){let a=null;for(let o=0;o<this.matches.length;){let l=this.matches[o],c=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?a={from:l.from,to:i,precise:n&&l.precise}:(l.index++,c=!0)),c?o++:this.matches.splice(o,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?a={from:t,to:i,precise:r&&n}:this.matches.push({from:t,index:1,precise:r})),a&&this.test&&!this.test(a.from,a.to,this.buffer,this.bufferStart)&&(a=null),a}}typeof Symbol<"u"&&(bo.prototype[Symbol.iterator]=function(){return this});const dy={from:-1,to:-1,match:/.*/.exec(""),precise:!0},up="gm"+(/x/.unicode==null?"":"u");class uy{constructor(e,t,r,i=0,n=e.length){if(this.text=e,this.to=n,this.curLine="",this.done=!1,this.value=dy,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new fy(e,t,r,i,n);this.re=new RegExp(t,up+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let a=e.lineAt(i);this.curLineStart=a.from,this.matchPos=qc(e,i),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let r=this.curLineStart+t.index,i=r+t[0].length;if(this.matchPos=qc(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<i||r>this.value.to)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Md=new WeakMap;class co{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let i=Md.get(e);if(!i||i.from>=r||i.to<=t){let o=new co(t,e.sliceString(t,r));return Md.set(e,o),o}if(i.from==t&&i.to==r)return i;let{text:n,from:a}=i;return a>t&&(n=e.sliceString(t,a)+n,a=t),i.to<r&&(n+=e.sliceString(i.to,r)),Md.set(e,new co(a,n)),new co(t,n.slice(t-a,r-a))}}class fy{constructor(e,t,r,i,n){this.text=e,this.to=n,this.done=!1,this.value=dy,this.matchPos=qc(e,i),this.re=new RegExp(t,up+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=co.get(e,i,this.chunkEnd(i+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let r=this.flat.from+t.index,i=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,precise:!0,match:t},this.matchPos=qc(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=co.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(uy.prototype[Symbol.iterator]=fy.prototype[Symbol.iterator]=function(){return this});function XT(s){try{return new RegExp(s,up),!0}catch{return!1}}function qc(s,e){if(e>=s.length)return e;let t=s.lineAt(e),r;for(;e<t.to&&(r=t.text.charCodeAt(e-t.from))>=56320&&r<57344;)e++;return e}const qT=s=>{let{state:e}=s,t=String(e.doc.lineAt(s.state.selection.main.head).number),{close:r,result:i}=a2(s,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:!0,submitLabel:e.phrase("go")});return i.then(n=>{let a=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!a){s.dispatch({effects:r});return}let o=e.doc.lineAt(e.selection.main.head),[,l,c,d,u]=a,f=d?+d.slice(1):0,g=c?+c:o.number;if(c&&u){let m=g/100;l&&(m=m*(l=="-"?-1:1)+o.number/e.doc.lines),g=Math.round(e.doc.lines*m)}else c&&l&&(g=g*(l=="-"?-1:1)+o.number);let v=e.doc.line(Math.max(1,Math.min(e.doc.lines,g))),b=re.cursor(v.from+Math.max(0,Math.min(f,v.length)));s.dispatch({effects:[r,Pe.scrollIntoView(b.from,{y:"center"})],selection:b})}),!0},zT={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},ZT=Le.define({combine(s){return ti(s,zT,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function VT(s){return[GT,HT]}const FT=Fe.mark({class:"cm-selectionMatch"}),YT=Fe.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function TO(s,e,t,r){return(t==0||s(e.sliceDoc(t-1,t))!=qt.Word)&&(r==e.doc.length||s(e.sliceDoc(r,r+1))!=qt.Word)}function UT(s,e,t,r){return s(e.sliceDoc(t,t+1))==qt.Word&&s(e.sliceDoc(r-1,r))==qt.Word}const HT=es.fromClass(class{constructor(s){this.decorations=this.getDeco(s)}update(s){(s.selectionSet||s.docChanged||s.viewportChanged)&&(this.decorations=this.getDeco(s.view))}getDeco(s){let e=s.state.facet(ZT),{state:t}=s,r=t.selection;if(r.ranges.length>1)return Fe.none;let i=r.main,n,a=null;if(i.empty){if(!e.highlightWordAroundCursor)return Fe.none;let l=t.wordAt(i.head);if(!l)return Fe.none;a=t.charCategorizer(i.head),n=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l<e.minSelectionLength||l>200)return Fe.none;if(e.wholeWords){if(n=t.sliceDoc(i.from,i.to),a=t.charCategorizer(i.head),!(TO(a,t,i.from,i.to)&&UT(a,t,i.from,i.to)))return Fe.none}else if(n=t.sliceDoc(i.from,i.to),!n)return Fe.none}let o=[];for(let l of s.visibleRanges){let c=new bo(t.doc,n,l.from,l.to);for(;!c.next().done;){let{from:d,to:u}=c.value;if((!a||TO(a,t,d,u))&&(i.empty&&d<=i.from&&u>=i.to?o.push(YT.range(d,u)):(d>=i.to||u<=i.from)&&o.push(FT.range(d,u)),o.length>e.maxMatches))return Fe.none}}return Fe.set(o)}},{decorations:s=>s.decorations}),GT=Pe.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),KT=({state:s,dispatch:e})=>{let{selection:t}=s,r=re.create(t.ranges.map(i=>s.wordAt(i.head)||re.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(s.update({selection:r})),!0)};function JT(s,e){let{main:t,ranges:r}=s.selection,i=s.wordAt(t.head),n=i&&i.from==t.from&&i.to==t.to;for(let a=!1,o=new bo(s.doc,e,r[r.length-1].to);;)if(o.next(),o.done){if(a)return null;o=new bo(s.doc,e,0,Math.max(0,r[r.length-1].from-1)),a=!0}else{if(a&&r.some(l=>l.from==o.value.from))continue;if(n){let l=s.wordAt(o.value.from);if(!l||l.from!=o.value.from||l.to!=o.value.to)continue}return o.value}}const eQ=({state:s,dispatch:e})=>{let{ranges:t}=s.selection;if(t.some(n=>n.from===n.to))return KT({state:s,dispatch:e});let r=s.sliceDoc(t[0].from,t[0].to);if(s.selection.ranges.some(n=>s.sliceDoc(n.from,n.to)!=r))return!1;let i=JT(s,r);return i?(e(s.update({selection:s.selection.addRange(re.range(i.from,i.to),!1),effects:Pe.scrollIntoView(i.to)})),!0):!1},Po=Le.define({combine(s){return ti(s,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new pQ(e),scrollToMatch:e=>Pe.scrollIntoView(e)})}});class py{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||XT(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?`
16
+ `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new oQ(this):new rQ(this)}getCursor(e,t=0,r){let i=e.doc?e:vt.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?Gn(this,i,t,r):Hn(this,i,t,r)}}class my{constructor(e){this.spec=e}}function tQ(s,e,t){return(r,i,n,a)=>{if(t&&!t(r,i,n,a))return!1;let o=r>=a&&i<=a+n.length?n.slice(r-a,i-a):e.doc.sliceString(r,i);return s(o,e,r,i)}}function Hn(s,e,t,r){let i;return s.wholeWord&&(i=sQ(e.doc,e.charCategorizer(e.selection.main.head))),s.test&&(i=tQ(s.test,e,i)),new bo(e.doc,s.unquoted,t,r,s.caseSensitive?void 0:n=>n.toLowerCase(),i)}function sQ(s,e){return(t,r,i,n)=>((n>t||n+i.length<r)&&(n=Math.max(0,t-2),i=s.sliceString(n,Math.min(s.length,r+2))),(e(zc(i,t-n))!=qt.Word||e(Zc(i,t-n))!=qt.Word)&&(e(Zc(i,r-n))!=qt.Word||e(zc(i,r-n))!=qt.Word))}class rQ extends my{constructor(e){super(e)}nextMatch(e,t,r){let i=Hn(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let n=Math.min(e.doc.length,t+this.spec.unquoted.length);i=Hn(this.spec,e,0,n).nextOverlapping()}return i.done||i.value.from==t&&i.value.to==r?null:i.value}prevMatchInRange(e,t,r){for(let i=r;;){let n=Math.max(t,i-1e4-this.spec.unquoted.length),a=Hn(this.spec,e,n,i),o=null;for(;!a.nextOverlapping().done;)o=a.value;if(o)return o;if(n==t)return null;i-=1e4}}prevMatch(e,t,r){let i=this.prevMatchInRange(e,0,t);return i||(i=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=t||i.to!=r)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=Hn(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let n=Hn(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)i(n.value.from,n.value.to)}}function iQ(s,e,t){return(r,i,n)=>(!t||t(r,i,n))&&s(n[0],e,r,i)}function Gn(s,e,t,r){let i;return s.wholeWord&&(i=nQ(e.charCategorizer(e.selection.main.head))),s.test&&(i=iQ(s.test,e,i)),new uy(e.doc,s.search,{ignoreCase:!s.caseSensitive,test:i},t,r)}function zc(s,e){return s.slice(ms(s,e,!1),e)}function Zc(s,e){return s.slice(e,ms(s,e))}function nQ(s){return(e,t,r)=>!r[0].length||(s(zc(r.input,r.index))!=qt.Word||s(Zc(r.input,r.index))!=qt.Word)&&(s(Zc(r.input,r.index+r[0].length))!=qt.Word||s(zc(r.input,r.index+r[0].length))!=qt.Word)}class oQ extends my{nextMatch(e,t,r){let i=Gn(this.spec,e,r,e.doc.length).next();return i.done&&(i=Gn(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,r){for(let i=1;;i++){let n=Math.max(t,r-i*1e4),a=Gn(this.spec,e,n,r),o=null;for(;!a.next().done;)o=a.value;if(o&&(n==t||o.from>n+10))return o;if(n==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let i=r.length;i>0;i--){let n=+r.slice(0,i);if(n>0&&n<e.match.length)return e.match[n]+r.slice(i)}return t})}matchAll(e,t){let r=Gn(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let n=Gn(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!n.next().done;)i(n.value.from,n.value.to)}}const ja=ct.define(),fp=ct.define(),Vi=ws.define({create(s){return new Ld(pf(s).create(),null)},update(s,e){for(let t of e.effects)t.is(ja)?s=new Ld(t.value.create(),s.panel):t.is(fp)&&(s=new Ld(s.query,t.value?pp:null));return s},provide:s=>Ca.from(s,e=>e.panel)});class Ld{constructor(e,t){this.query=e,this.panel=t}}const aQ=Fe.mark({class:"cm-searchMatch"}),lQ=Fe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),cQ=es.fromClass(class{constructor(s){this.view=s,this.decorations=this.highlight(s.state.field(Vi))}update(s){let e=s.state.field(Vi);(e!=s.startState.field(Vi)||s.docChanged||s.selectionSet||s.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:s,panel:e}){if(!e||!s.spec.valid)return Fe.none;let{view:t}=this,r=new _i;for(let i=0,n=t.visibleRanges,a=n.length;i<a;i++){let{from:o,to:l}=n[i];for(;i<a-1&&l>n[i+1].from-500;)l=n[++i].to;s.highlight(t.state,o,l,(c,d)=>{let u=t.state.selection.ranges.some(f=>f.from==c&&f.to==d);r.add(c,d,u?lQ:aQ)})}return r.finish()}},{decorations:s=>s.decorations});function Ha(s){return e=>{let t=e.state.field(Vi,!1);return t&&t.query.spec.valid?s(e,t):xy(e)}}const Vc=Ha((s,{query:e})=>{let{to:t}=s.state.selection.main,r=e.nextMatch(s.state,t,t);if(!r)return!1;let i=re.single(r.from,r.to),n=s.state.facet(Po);return s.dispatch({selection:i,effects:[mp(s,r),n.scrollToMatch(i.main,s)],userEvent:"select.search"}),Oy(s),!0}),Fc=Ha((s,{query:e})=>{let{state:t}=s,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let n=re.single(i.from,i.to),a=s.state.facet(Po);return s.dispatch({selection:n,effects:[mp(s,i),a.scrollToMatch(n.main,s)],userEvent:"select.search"}),Oy(s),!0}),hQ=Ha((s,{query:e})=>{let t=e.matchAll(s.state,1e3);return!t||!t.length?!1:(s.dispatch({selection:re.create(t.map(r=>re.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),dQ=({state:s,dispatch:e})=>{let t=s.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:r,to:i}=t.main,n=[],a=0;for(let o=new bo(s.doc,s.sliceDoc(r,i));!o.next().done;){if(n.length>1e3)return!1;o.value.from==r&&(a=n.length),n.push(re.range(o.value.from,o.value.to))}return e(s.update({selection:re.create(n,a),userEvent:"select.search.matches"})),!0},QO=Ha((s,{query:e})=>{let{state:t}=s,{from:r,to:i}=t.selection.main;if(t.readOnly)return!1;let n=e.nextMatch(t,r,r);if(!n)return!1;let a=n,o=[],l,c,d=[];a.precise?a.from==r&&a.to==i&&(c=t.toText(e.getReplacement(a)),o.push({from:a.from,to:a.to,insert:c}),a=e.nextMatch(t,a.from,a.to),d.push(Pe.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+"."))):a=e.nextMatch(t,a.from,a.to);let u=s.state.changes(o);return a&&(l=re.single(a.from,a.to).map(u),d.push(mp(s,a)),d.push(t.facet(Po).scrollToMatch(l.main,s))),s.dispatch({changes:u,selection:l,effects:d,userEvent:"input.replace"}),!0}),uQ=Ha((s,{query:e})=>{if(s.state.readOnly)return!1;let t=[];for(let i of e.matchAll(s.state,1e9)){let{from:n,to:a,precise:o}=i;o&&t.push({from:n,to:a,insert:e.getReplacement(i)})}if(!t.length)return!1;let r=s.state.phrase("replaced $ matches",t.length)+".";return s.dispatch({changes:t,effects:Pe.announce.of(r),userEvent:"input.replace.all"}),!0});function pp(s){return s.state.facet(Po).createPanel(s)}function pf(s,e){var t,r,i,n,a;let o=s.selection.main,l=o.empty||o.to>o.from+100?"":s.sliceDoc(o.from,o.to);if(e&&!l)return e;let c=s.facet(Po);return new py({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:c.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:c.regexp,wholeWord:(a=e?.wholeWord)!==null&&a!==void 0?a:c.wholeWord})}function gy(s){let e=Kf(s,pp);return e&&e.dom.querySelector("[main-field]")}function Oy(s){let e=gy(s);e&&e==s.root.activeElement&&e.select()}const xy=s=>{let e=s.state.field(Vi,!1);if(e&&e.panel){let t=gy(s);if(t&&t!=s.root.activeElement){let r=pf(s.state,e.query.spec);r.valid&&s.dispatch({effects:ja.of(r)}),t.focus(),t.select()}}else s.dispatch({effects:[fp.of(!0),e?ja.of(pf(s.state,e.query.spec)):ct.appendConfig.of(gQ)]});return!0},by=s=>{let e=s.state.field(Vi,!1);if(!e||!e.panel)return!1;let t=Kf(s,pp);return t&&t.dom.contains(s.root.activeElement)&&s.focus(),s.dispatch({effects:fp.of(!1)}),!0},fQ=[{key:"Mod-f",run:xy,scope:"editor search-panel"},{key:"F3",run:Vc,shift:Fc,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Vc,shift:Fc,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:by,scope:"editor search-panel"},{key:"Mod-Shift-l",run:dQ},{key:"Mod-Alt-g",run:qT},{key:"Mod-d",run:eQ,preventDefault:!0}];class pQ{constructor(e){this.view=e;let t=this.query=e.state.field(Vi).query.spec;this.commit=this.commit.bind(this),this.searchField=Lt("input",{value:t.search,placeholder:Gs(e,"Find"),"aria-label":Gs(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Lt("input",{value:t.replace,placeholder:Gs(e,"Replace"),"aria-label":Gs(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Lt("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Lt("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Lt("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(i,n,a){return Lt("button",{class:"cm-button",name:i,onclick:n,type:"button"},a)}this.dom=Lt("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>Vc(e),[Gs(e,"next")]),r("prev",()=>Fc(e),[Gs(e,"previous")]),r("select",()=>hQ(e),[Gs(e,"all")]),Lt("label",null,[this.caseField,Gs(e,"match case")]),Lt("label",null,[this.reField,Gs(e,"regexp")]),Lt("label",null,[this.wordField,Gs(e,"by word")]),...e.state.readOnly?[]:[Lt("br"),this.replaceField,r("replace",()=>QO(e),[Gs(e,"replace")]),r("replaceAll",()=>uQ(e),[Gs(e,"replace all")])],Lt("button",{name:"close",onclick:()=>by(e),"aria-label":Gs(e,"close"),type:"button"},["×"])])}commit(){let e=new py({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:ja.of(e)}))}keydown(e){mC(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Fc:Vc)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),QO(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(ja)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Po).top}}function Gs(s,e){return s.state.phrase(e)}const Ul=30,Hl=/[\s\.,:;?!]/;function mp(s,{from:e,to:t}){let r=s.state.doc.lineAt(e),i=s.state.doc.lineAt(t).to,n=Math.max(r.from,e-Ul),a=Math.min(i,t+Ul),o=s.state.sliceDoc(n,a);if(n!=r.from){for(let l=0;l<Ul;l++)if(!Hl.test(o[l+1])&&Hl.test(o[l])){o=o.slice(l);break}}if(a!=i){for(let l=o.length-1;l>o.length-Ul;l--)if(!Hl.test(o[l-1])&&Hl.test(o[l])){o=o.slice(0,l);break}}return Pe.announce.of(`${s.state.phrase("current match")}. ${o} ${s.state.phrase("on line")} ${r.number}.`)}const mQ=Pe.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),gQ=[Vi,Ti.low(cQ),mQ];class gp{constructor(e,t,r,i){this.state=e,this.pos=t,this.explicit=r,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=jt(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),i=t.text.slice(r-t.from,this.pos-t.from),n=i.search(yy(e,!1));return n<0?null:{from:r+n,to:this.pos,text:i.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function $O(s){let e=Object.keys(s).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function OQ(s){let e=Object.create(null),t=Object.create(null);for(let{label:i}of s){e[i[0]]=!0;for(let n=1;n<i.length;n++)t[i[n]]=!0}let r=$O(e)+$O(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function Op(s){let e=s.map(i=>typeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:OQ(e);return i=>{let n=i.matchBefore(r);return n||i.explicit?{from:n?n.from:i.pos,options:e,validFor:t}:null}}function vy(s,e){return t=>{for(let r=jt(t.state).resolveInner(t.pos,-1);r;r=r.parent){if(s.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(t)}}class jO{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function En(s){return s.selection.main.from}function yy(s,e){var t;let{source:r}=s,i=e&&r[0]!="^",n=r[r.length-1]!="$";return!i&&!n?s:new RegExp(`${i?"^":""}(?:${r})${n?"$":""}`,(t=s.flags)!==null&&t!==void 0?t:s.ignoreCase?"i":"")}const xp=ei.define();function xQ(s,e,t,r){let{main:i}=s.selection,n=t-i.from,a=r-i.from;return{...s.changeByRange(o=>{if(o!=i&&t!=r&&s.sliceDoc(o.from+n,o.from+a)!=s.sliceDoc(t,r))return{range:o};let l=s.toText(e);return{changes:{from:o.from+n,to:r==i.from?o.to:o.from+a,insert:l},range:re.cursor(o.from+n+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const EO=new WeakMap;function bQ(s){if(!Array.isArray(s))return s;let e=EO.get(s);return e||EO.set(s,e=Op(s)),e}const Yc=ct.define(),Ea=ct.define();class vQ{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=zs(e,t),i=Vr(r);this.chars.push(r);let n=e.slice(t,t+i),a=n.toUpperCase();this.folded.push(zs(a==n?n.toLowerCase():a,0)),t+=i}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:r,any:i,precise:n,byWord:a}=this;if(t.length==1){let p=zs(e,0),x=Vr(p),y=x==e.length?0:-100;if(p!=t[0])if(p==r[0])y+=-200;else return null;return this.ret(y,[0,x])}let o=e.indexOf(this.pattern);if(o==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=t.length,c=0;if(o<0){for(let p=0,x=Math.min(e.length,200);p<x&&c<l;){let y=zs(e,p);(y==t[c]||y==r[c])&&(i[c++]=p),p+=Vr(y)}if(c<l)return null}let d=0,u=0,f=!1,g=0,v=-1,b=-1,m=/[a-z]/.test(e),O=!0;for(let p=0,x=Math.min(e.length,200),y=0;p<x&&u<l;){let _=zs(e,p);o<0&&(d<l&&_==t[d]&&(n[d++]=p),g<l&&(_==t[g]||_==r[g]?(g==0&&(v=p),b=p+1,g++):g=0));let k,w=_<255?_>=48&&_<=57||_>=97&&_<=122?2:_>=65&&_<=90?1:0:(k=Af(_))!=k.toLowerCase()?1:k!=k.toUpperCase()?2:0;(!p||w==1&&m||y==0&&w!=0)&&(t[u]==_||r[u]==_&&(f=!0)?a[u++]=p:a.length&&(O=!1)),y=w,p+=Vr(_)}return u==l&&a[0]==0&&O?this.result(-100+(f?-200:0),a,e):g==l&&v==0?this.ret(-200-e.length+(b==e.length?0:-100),[0,b]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):g==l?this.ret(-900-e.length,[v,b]):u==l?this.result(-100+(f?-200:0)+-700+(O?0:-1100),a,e):t.length==2?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,r){let i=[],n=0;for(let a of t){let o=a+(this.astral?Vr(zs(r,a)):1);n&&i[n-1]==a?i[n-1]=o:(i[n++]=a,i[n++]=o)}return this.ret(e-r.length,i)}}class yQ{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),r=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,t.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const ps=Le.define({combine(s){return ti(s,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:SQ,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>RO(e(r),t(r)),optionClass:(e,t)=>r=>RO(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function RO(s,e){return s?e?s+" "+e:s:e}function SQ(s,e,t,r,i,n){let a=s.textDirection==It.RTL,o=a,l=!1,c="top",d,u,f=e.left-i.left,g=i.right-e.right,v=r.right-r.left,b=r.bottom-r.top;if(o&&f<Math.min(v,g)?o=!1:!o&&g<Math.min(v,f)&&(o=!0),v<=(o?f:g))d=Math.max(i.top,Math.min(t.top,i.bottom-b))-e.top,u=Math.min(400,o?f:g);else{l=!0,u=Math.min(400,(a?e.right:i.right-e.left)-30);let p=i.bottom-e.bottom;p>=b||p>e.top?d=t.bottom-e.top:(c="bottom",d=e.bottom-t.top)}let m=(e.bottom-e.top)/n.offsetHeight,O=(e.right-e.left)/n.offsetWidth;return{style:`${c}: ${d/m}px; max-width: ${u/O}px`,class:"cm-completionInfo-"+(l?a?"left-narrow":"right-narrow":o?"left":"right")}}const bp=ct.define();function _Q(s){let e=s.addToOptions.slice();return s.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,i,n){let a=document.createElement("span");a.className="cm-completionLabel";let o=t.displayLabel||t.label,l=0;for(let c=0;c<n.length;){let d=n[c++],u=n[c++];d>l&&a.appendChild(document.createTextNode(o.slice(l,d)));let f=a.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(o.slice(d,u))),f.className="cm-completionMatchedText",l=u}return l<o.length&&a.appendChild(document.createTextNode(o.slice(l))),a},position:50},{render(t){if(!t.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=t.detail,r},position:80}),e.sort((t,r)=>t.position-r.position).map(t=>t.render)}function Nd(s,e,t){if(s<=t)return{from:0,to:s};if(e<0&&(e=0),e<=s>>1){let i=Math.floor(e/t);return{from:i*t,to:(i+1)*t}}let r=Math.ceil((s-e)/t);return{from:s-r*t,to:s-(r-1)*t}}class wQ{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:n,selected:a}=i.open,o=e.state.facet(ps);this.optionContent=_Q(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=Nd(n.length,a,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(t).open;for(let d=l.target,u;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(u=/-(\d+)$/.exec(d.id))&&+u[1]<c.length){this.applyCompletion(e,c[+u[1]]),l.preventDefault();return}if(l.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&l.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&l.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(e.dispatch({effects:bp.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(ps).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ea.of(null)})}),this.showOptions(n,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let r=e.state.field(this.stateField),i=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=i){let{options:n,selected:a,disabled:o}=r.open;(!i.open||i.open.options!=n)&&(this.range=Nd(n.length,a,e.state.facet(ps).maxRenderedOptions),this.showOptions(n,r.id)),this.updateSel(),o!=((t=i.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!o)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Nd(t.options.length,t.selected,this.view.state.facet(ps).maxRenderedOptions),this.showOptions(t.options,e.id));let r=this.updateSelectedOption(t.selected);if(r){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:n}=i;if(!n)return;let a=typeof n=="string"?document.createTextNode(n):n(i);if(!a)return;"then"in a?a.then(o=>{o&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(o,i)}).catch(o=>Fs(this.view.state,o,"completion info")):(this.addInfoPane(a,i),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:n}=e;r.appendChild(i),this.infoDestroy=n||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return t&&CQ(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),n=this.space;if(!n){let a=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:a.clientWidth,bottom:a.clientHeight}}return i.top>Math.min(n.bottom,t.bottom)-10||i.bottom<Math.max(n.top,t.top)+10?null:this.view.state.facet(ps).positionInfo(this.view,t,i,r,n,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const i=document.createElement("ul");i.id=t,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions")),i.addEventListener("mousedown",a=>{a.target==i&&a.preventDefault()});let n=null;for(let a=r.from;a<r.to;a++){let{completion:o,match:l}=e[a],{section:c}=o;if(c){let f=typeof c=="string"?c:c.name;if(f!=n&&(a>r.from||r.from==0))if(n=f,typeof c!="string"&&c.header)i.appendChild(c.header(c));else{let g=i.appendChild(document.createElement("completion-section"));g.textContent=f}}const d=i.appendChild(document.createElement("li"));d.id=t+"-"+a,d.setAttribute("role","option");let u=this.optionClass(o);u&&(d.className=u);for(let f of this.optionContent){let g=f(o,this.view.state,this.view,l);g&&d.appendChild(g)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function kQ(s,e){return t=>new wQ(t,s,e)}function CQ(s,e){let t=s.getBoundingClientRect(),r=e.getBoundingClientRect(),i=t.height/s.offsetHeight;r.top<t.top?s.scrollTop-=(t.top-r.top)/i:r.bottom>t.bottom&&(s.scrollTop+=(r.bottom-t.bottom)/i)}function AO(s){return(s.boost||0)*100+(s.apply?10:0)+(s.info?5:0)+(s.type?1:0)}function PQ(s,e){let t=[],r=null,i=null,n=d=>{t.push(d);let{section:u}=d.completion;if(u){r||(r=[]);let f=typeof u=="string"?u:u.name;r.some(g=>g.name==f)||r.push(typeof u=="string"?{name:f}:u)}},a=e.facet(ps);for(let d of s)if(d.hasResult()){let u=d.result.getMatch;if(d.result.filter===!1)for(let f of d.result.options)n(new jO(f,d.source,u?u(f):[],1e9-t.length));else{let f=e.sliceDoc(d.from,d.to),g,v=a.filterStrict?new yQ(f):new vQ(f);for(let b of d.result.options)if(g=v.match(b.label)){let m=b.displayLabel?u?u(b,g.matched):[]:g.matched,O=g.score+(b.boost||0);if(n(new jO(b,d.source,m,O)),typeof b.section=="object"&&b.section.rank==="dynamic"){let{name:p}=b.section;i||(i=Object.create(null)),i[p]=Math.max(O,i[p]||-1e9)}}}}if(r){let d=Object.create(null),u=0,f=(g,v)=>(g.rank==="dynamic"&&v.rank==="dynamic"?i[v.name]-i[g.name]:0)||(typeof g.rank=="number"?g.rank:1e9)-(typeof v.rank=="number"?v.rank:1e9)||(g.name<v.name?-1:1);for(let g of r.sort(f))u-=1e5,d[g.name]=u;for(let g of t){let{section:v}=g.completion;v&&(g.score+=d[typeof v=="string"?v:v.name])}}let o=[],l=null,c=a.compareCompletions;for(let d of t.sort((u,f)=>f.score-u.score||c(u.completion,f.completion))){let u=d.completion;!l||l.label!=u.label||l.detail!=u.detail||l.type!=null&&u.type!=null&&l.type!=u.type||l.apply!=u.apply||l.boost!=u.boost?o.push(d):AO(d.completion)>AO(l)&&(o[o.length-1]=d),l=d.completion}return o}class to{constructor(e,t,r,i,n,a){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=i,this.selected=n,this.disabled=a}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new to(this.options,MO(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,i,n,a){if(i&&!a&&e.some(c=>c.isPending))return i.setDisabled();let o=PQ(e,t);if(!o.length)return i&&e.some(c=>c.isPending)?i.setDisabled():null;let l=t.facet(ps).selectOnOpen?0:-1;if(i&&i.selected!=l&&i.selected!=-1){let c=i.options[i.selected].completion;for(let d=0;d<o.length;d++)if(o[d].completion==c){l=d;break}}return new to(o,MO(r,l),{pos:e.reduce((c,d)=>d.hasResult()?Math.min(c,d.from):c,1e8),create:RQ,above:n.aboveCursor},i?i.timestamp:Date.now(),l,!1)}map(e){return new to(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new to(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Uc{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new Uc(jQ,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(ps),n=(r.override||t.languageDataAt("autocomplete",En(t)).map(bQ)).map(l=>(this.active.find(d=>d.source==l)||new Or(l,this.active.some(d=>d.state!=0)?1:0)).update(e,r));n.length==this.active.length&&n.every((l,c)=>l==this.active[c])&&(n=this.active);let a=this.open,o=e.effects.some(l=>l.is(vp));a&&e.docChanged&&(a=a.map(e.changes)),e.selection||n.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!TQ(n,this.active)||o?a=to.build(n,t,this.id,a,r,o):a&&a.disabled&&!n.some(l=>l.isPending)&&(a=null),!a&&n.every(l=>!l.isPending)&&n.some(l=>l.hasResult())&&(n=n.map(l=>l.hasResult()?new Or(l.source,0):l));for(let l of e.effects)l.is(bp)&&(a=a&&a.setSelected(l.value,this.id));return n==this.active&&a==this.open?this:new Uc(n,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?QQ:$Q}}function TQ(s,e){if(s==e)return!0;for(let t=0,r=0;;){for(;t<s.length&&!s[t].hasResult();)t++;for(;r<e.length&&!e[r].hasResult();)r++;let i=t==s.length,n=r==e.length;if(i||n)return i==n;if(s[t++].result!=e[r++].result)return!1}}const QQ={"aria-autocomplete":"list"},$Q={};function MO(s,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":s};return e>-1&&(t["aria-activedescendant"]=s+"-"+e),t}const jQ=[];function Sy(s,e){if(s.isUserEvent("input.complete")){let r=s.annotation(xp);if(r&&e.activateOnCompletion(r))return 12}let t=s.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:s.isUserEvent("delete.backward")?2:s.selection?8:s.docChanged?16:0}class Or{constructor(e,t,r=!1){this.source=e,this.state=t,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let r=Sy(e,t),i=this;(r&8||r&16&&this.touches(e))&&(i=new Or(i.source,0)),r&4&&i.state==0&&(i=new Or(this.source,1)),i=i.updateFor(e,r);for(let n of e.effects)if(n.is(Yc))i=new Or(i.source,1,n.value);else if(n.is(Ea))i=new Or(i.source,0);else if(n.is(vp))for(let a of n.value)a.source==i.source&&(i=a);return i}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(En(e.state))}}class ho extends Or{constructor(e,t,r,i,n,a){super(e,3,t),this.limit=r,this.result=i,this.from=n,this.to=a}hasResult(){return!0}updateFor(e,t){var r;if(!(t&3))return this.map(e.changes);let i=this.result;i.map&&!e.changes.empty&&(i=i.map(i,e.changes));let n=e.changes.mapPos(this.from),a=e.changes.mapPos(this.to,1),o=En(e.state);if(o>a||!i||t&2&&(En(e.startState)==this.from||o<this.limit))return new Or(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return EQ(i.validFor,e.state,n,a)?new ho(this.source,this.explicit,l,i,n,a):i.update&&(i=i.update(i,n,a,new gp(e.state,o,!1)))?new ho(this.source,this.explicit,l,i,i.from,(r=i.to)!==null&&r!==void 0?r:En(e.state)):new Or(this.source,1,this.explicit)}map(e){if(e.empty)return this;let t=this.result.map?this.result.map(this.result,e):this.result;return t?new ho(this.source,this.explicit,e.mapPos(this.limit),t,e.mapPos(this.from),e.mapPos(this.to,1)):new Or(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function EQ(s,e,t,r){if(!s)return!1;let i=e.sliceDoc(t,r);return typeof s=="function"?s(i,t,r,e):yy(s,!0).test(i)}const vp=ct.define({map(s,e){return s.map(t=>t.map(e))}}),Zs=ws.define({create(){return Uc.start()},update(s,e){return s.update(e)},provide:s=>[Gf.from(s,e=>e.tooltip),Pe.contentAttributes.from(s,e=>e.attrs)]});function yp(s,e){const t=e.completion.apply||e.completion.label;let r=s.state.field(Zs).active.find(i=>i.source==e.source);return r instanceof ho?(typeof t=="string"?s.dispatch({...xQ(s.state,t,r.from,r.to),annotations:xp.of(e.completion)}):t(s,e.completion,r.from,r.to),!0):!1}const RQ=kQ(Zs,yp);function Gl(s,e="option"){return t=>{let r=t.state.field(Zs,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(ps).interactionDelay)return!1;let i=1,n;e=="page"&&(n=rv(t,r.open.tooltip))&&(i=Math.max(2,Math.floor(n.dom.offsetHeight/n.dom.querySelector("li").offsetHeight)-1));let{length:a}=r.open.options,o=r.open.selected>-1?r.open.selected+i*(s?1:-1):s?0:a-1;return o<0?o=e=="page"?0:a-1:o>=a&&(o=e=="page"?a-1:0),t.dispatch({effects:bp.of(o)}),!0}}const AQ=s=>{let e=s.state.field(Zs,!1);return s.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<s.state.facet(ps).interactionDelay?!1:yp(s,e.open.options[e.open.selected])},Dd=s=>s.state.field(Zs,!1)?(s.dispatch({effects:Yc.of(!0)}),!0):!1,MQ=s=>{let e=s.state.field(Zs,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(s.dispatch({effects:Ea.of(null)}),!0)};class LQ{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const NQ=50,DQ=1e3,IQ=es.fromClass(class{constructor(s){this.view=s,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of s.state.field(Zs).active)e.isPending&&this.startQuery(e)}update(s){let e=s.state.field(Zs),t=s.state.facet(ps);if(!s.selectionSet&&!s.docChanged&&s.startState.field(Zs)==e)return;let r=s.transactions.some(n=>{let a=Sy(n,t);return a&8||(n.selection||n.docChanged)&&!(a&3)});for(let n=0;n<this.running.length;n++){let a=this.running[n];if(r||a.context.abortOnDocChange&&s.docChanged||a.updates.length+s.transactions.length>NQ&&Date.now()-a.time>DQ){for(let o of a.context.abortListeners)try{o()}catch(l){Fs(this.view.state,l)}a.context.abortListeners=null,this.running.splice(n--,1)}else a.updates.push(...s.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),s.transactions.some(n=>n.effects.some(a=>a.is(Yc)))&&(this.pendingStart=!0);let i=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(a=>a.active.source==n.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let n of s.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:s}=this.view,e=s.field(Zs);for(let t of e.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ps).updateSyncTime))}startQuery(s){let{state:e}=this.view,t=En(e),r=new gp(e,t,s.explicit,this.view),i=new LQ(s,r);this.running.push(i),Promise.resolve(s.source(r)).then(n=>{i.context.aborted||(i.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:Ea.of(null)}),Fs(this.view.state,n)})}scheduleAccept(){this.running.every(s=>s.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ps).updateSyncTime))}accept(){var s;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ps),r=this.view.state.field(Zs);for(let i=0;i<this.running.length;i++){let n=this.running[i];if(n.done===void 0)continue;if(this.running.splice(i--,1),n.done){let o=En(n.updates.length?n.updates[0].startState:this.view.state),l=Math.min(o,n.done.from+(n.active.explicit?0:1)),c=new ho(n.active.source,n.active.explicit,l,n.done,n.done.from,(s=n.done.to)!==null&&s!==void 0?s:o);for(let d of n.updates)c=c.update(d,t);if(c.hasResult()){e.push(c);continue}}let a=r.active.find(o=>o.source==n.active.source);if(a&&a.isPending)if(n.done==null){let o=new Or(n.active.source,0);for(let l of n.updates)o=o.update(l,t);o.isPending||e.push(o)}else this.startQuery(a)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:vp.of(e)})}},{eventHandlers:{blur(s){let e=this.view.state.field(Zs,!1);if(e&&e.tooltip&&this.view.state.facet(ps).closeOnBlur){let t=e.open&&rv(this.view,e.open.tooltip);(!t||!t.dom.contains(s.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Ea.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Yc.of(!1)}),20),this.composing=0}}}),BQ=typeof navigator=="object"&&/Win/.test(navigator.platform),WQ=Ti.highest(Pe.domEventHandlers({keydown(s,e){let t=e.state.field(Zs,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||s.key.length>1||s.ctrlKey&&!(BQ&&s.altKey)||s.metaKey)return!1;let r=t.open.options[t.open.selected],i=t.active.find(a=>a.source==r.source),n=r.completion.commitCharacters||i.result.commitCharacters;return n&&n.indexOf(s.key)>-1&&yp(e,r),!1}})),_y=Pe.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class XQ{constructor(e,t,r,i){this.field=e,this.line=t,this.from=r,this.to=i}}class Sp{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,Ss.TrackDel),r=e.mapPos(this.to,1,Ss.TrackDel);return t==null||r==null?null:new Sp(this.field,t,r)}}class _p{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],i=[t],n=e.doc.lineAt(t),a=/^\s*/.exec(n.text)[0];for(let l of this.lines){if(r.length){let c=a,d=/^\t*/.exec(l)[0].length;for(let u=0;u<d;u++)c+=e.facet(ko);i.push(t+c.length-d),l=c+l.slice(d)}r.push(l),t+=l.length+1}let o=this.fieldPositions.map(l=>new Sp(l.field,i[l.line]+l.from,i[l.line]+l.to));return{text:r,ranges:o}}static parse(e){let t=[],r=[],i=[],n;for(let a of e.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(a);){let o=n[1]?+n[1]:null,l=n[2]||n[3]||"",c=-1;o===0&&(o=1e9);let d=l.replace(/\\[{}]/g,u=>u[1]);for(let u=0;u<t.length;u++)(o!=null?t[u].seq==o:d&&t[u].name==d)&&(c=u);if(c<0){let u=0;for(;u<t.length&&(o==null||t[u].seq!=null&&t[u].seq<o);)u++;t.splice(u,0,{seq:o,name:d}),c=u;for(let f of i)f.field>=c&&f.field++}for(let u of i)if(u.line==r.length&&u.from>n.index){let f=n[2]?3+(n[1]||"").length:2;u.from-=f,u.to-=f}i.push(new XQ(c,r.length,n.index,n.index+d.length)),a=a.slice(0,n.index)+l+a.slice(n.index+n[0].length)}a=a.replace(/\\([{}])/g,(o,l,c)=>{for(let d of i)d.line==r.length&&d.from>c&&(d.from--,d.to--);return l}),r.push(a)}return new _p(r,i)}}let qQ=Fe.widget({widget:new class extends Rr{toDOM(){let s=document.createElement("span");return s.className="cm-snippetFieldPosition",s}ignoreEvent(){return!1}}}),zQ=Fe.mark({class:"cm-snippetField"});class To{constructor(e,t){this.ranges=e,this.active=t,this.deco=Fe.set(e.map(r=>(r.from==r.to?qQ:zQ).range(r.from,r.to)),!0)}map(e){let t=[];for(let r of this.ranges){let i=r.map(e);if(!i)return null;t.push(i)}return new To(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(r=>r.field==this.active&&r.from<=t.from&&r.to>=t.to))}}const Ga=ct.define({map(s,e){return s&&s.map(e)}}),ZQ=ct.define(),Ra=ws.define({create(){return null},update(s,e){for(let t of e.effects){if(t.is(Ga))return t.value;if(t.is(ZQ)&&s)return new To(s.ranges,t.value)}return s&&e.docChanged&&(s=s.map(e.changes)),s&&e.selection&&!s.selectionInsideField(e.selection)&&(s=null),s},provide:s=>Pe.decorations.from(s,e=>e?e.deco:Fe.none)});function wp(s,e){return re.create(s.filter(t=>t.field==e).map(t=>re.range(t.from,t.to)))}function VQ(s){let e=_p.parse(s);return(t,r,i,n)=>{let{text:a,ranges:o}=e.instantiate(t.state,i),{main:l}=t.state.selection,c={changes:{from:i,to:n==l.from?l.to:n,insert:kt.of(a)},scrollIntoView:!0,annotations:r?[xp.of(r),ls.userEvent.of("input.complete")]:void 0};if(o.length&&(c.selection=wp(o,0)),o.some(d=>d.field>0)){let d=new To(o,0),u=c.effects=[Ga.of(d)];t.state.field(Ra,!1)===void 0&&u.push(ct.appendConfig.of([Ra,GQ,KQ,_y]))}t.dispatch(t.state.update(c))}}function wy(s){return({state:e,dispatch:t})=>{let r=e.field(Ra,!1);if(!r||s<0&&r.active==0)return!1;let i=r.active+s,n=s>0&&!r.ranges.some(a=>a.field==i+s);return t(e.update({selection:wp(r.ranges,i),effects:Ga.of(n?null:new To(r.ranges,i)),scrollIntoView:!0})),!0}}const FQ=({state:s,dispatch:e})=>s.field(Ra,!1)?(e(s.update({effects:Ga.of(null)})),!0):!1,YQ=wy(1),UQ=wy(-1),HQ=[{key:"Tab",run:YQ,shift:UQ},{key:"Escape",run:FQ}],LO=Le.define({combine(s){return s.length?s[0]:HQ}}),GQ=Ti.highest(wo.compute([LO],s=>s.facet(LO)));function Ft(s,e){return{...e,apply:VQ(s)}}const KQ=Pe.domEventHandlers({mousedown(s,e){let t=e.state.field(Ra,!1),r;if(!t||(r=e.posAtCoords({x:s.clientX,y:s.clientY}))==null)return!1;let i=t.ranges.find(n=>n.from<=r&&n.to>=r);return!i||i.field==t.active?!1:(e.dispatch({selection:wp(t.ranges,i.field),effects:Ga.of(t.ranges.some(n=>n.field>i.field)?new To(t.ranges,i.field):null),scrollIntoView:!0}),!0)}}),Aa={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},$n=ct.define({map(s,e){let t=e.mapPos(s,-1,Ss.TrackAfter);return t??void 0}}),kp=new class extends Fi{};kp.startSide=1;kp.endSide=-1;const ky=ws.define({create(){return xt.empty},update(s,e){if(s=s.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);s=s.update({filter:r=>r>=t.from&&r<=t.to})}for(let t of e.effects)t.is($n)&&(s=s.update({add:[kp.range(t.value,t.value+1)]}));return s}});function JQ(){return[t$,ky]}const Id="()[]{}<>«»»«[]{}";function Cy(s){for(let e=0;e<Id.length;e+=2)if(Id.charCodeAt(e)==s)return Id.charAt(e+1);return Af(s<128?s:s+1)}function Py(s,e){return s.languageDataAt("closeBrackets",e)[0]||Aa}const e$=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),t$=Pe.inputHandler.of((s,e,t,r)=>{if((e$?s.composing:s.compositionStarted)||s.state.readOnly)return!1;let i=s.state.selection.main;if(r.length>2||r.length==2&&Vr(zs(r,0))==1||e!=i.from||t!=i.to)return!1;let n=i$(s.state,r);return n?(s.dispatch(n),!0):!1}),s$=({state:s,dispatch:e})=>{if(s.readOnly)return!1;let r=Py(s,s.selection.main.head).brackets||Aa.brackets,i=null,n=s.changeByRange(a=>{if(a.empty){let o=n$(s.doc,a.head);for(let l of r)if(l==o&&vh(s.doc,a.head)==Cy(zs(l,0)))return{changes:{from:a.head-l.length,to:a.head+l.length},range:re.cursor(a.head-l.length)}}return{range:i=a}});return i||e(s.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},r$=[{key:"Backspace",run:s$}];function i$(s,e){let t=Py(s,s.selection.main.head),r=t.brackets||Aa.brackets;for(let i of r){let n=Cy(zs(i,0));if(e==i)return n==i?l$(s,i,r.indexOf(i+i+i)>-1,t):o$(s,i,n,t.before||Aa.before);if(e==n&&Ty(s,s.selection.main.from))return a$(s,i,n)}return null}function Ty(s,e){let t=!1;return s.field(ky).between(0,s.doc.length,r=>{r==e&&(t=!0)}),t}function vh(s,e){let t=s.sliceString(e,e+2);return t.slice(0,Vr(zs(t,0)))}function n$(s,e){let t=s.sliceString(e-2,e);return Vr(zs(t,0))==t.length?t:t.slice(1)}function o$(s,e,t,r){let i=null,n=s.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:t,from:a.to}],effects:$n.of(a.to+e.length),range:re.range(a.anchor+e.length,a.head+e.length)};let o=vh(s.doc,a.head);return!o||/\s/.test(o)||r.indexOf(o)>-1?{changes:{insert:e+t,from:a.head},effects:$n.of(a.head+e.length),range:re.cursor(a.head+e.length)}:{range:i=a}});return i?null:s.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function a$(s,e,t){let r=null,i=s.changeByRange(n=>n.empty&&vh(s.doc,n.head)==t?{changes:{from:n.head,to:n.head+t.length,insert:t},range:re.cursor(n.head+t.length)}:r={range:n});return r?null:s.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function l$(s,e,t,r){let i=r.stringPrefixes||Aa.stringPrefixes,n=null,a=s.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:e,from:o.to}],effects:$n.of(o.to+e.length),range:re.range(o.anchor+e.length,o.head+e.length)};let l=o.head,c=vh(s.doc,l),d;if(c==e){if(NO(s,l))return{changes:{insert:e+e,from:l},effects:$n.of(l+e.length),range:re.cursor(l+e.length)};if(Ty(s,l)){let f=t&&s.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:re.cursor(l+f.length)}}}else{if(t&&s.sliceDoc(l-2*e.length,l)==e+e&&(d=DO(s,l-2*e.length,i))>-1&&NO(s,d))return{changes:{insert:e+e+e+e,from:l},effects:$n.of(l+e.length),range:re.cursor(l+e.length)};if(s.charCategorizer(l)(c)!=qt.Word&&DO(s,l,i)>-1&&!c$(s,l,e,i))return{changes:{insert:e+e,from:l},effects:$n.of(l+e.length),range:re.cursor(l+e.length)}}return{range:n=o}});return n?null:s.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function NO(s,e){let t=jt(s).resolveInner(e+1);return t.parent&&t.from==e}function c$(s,e,t,r){let i=jt(s).resolveInner(e,-1),n=r.reduce((a,o)=>Math.max(a,o.length),0);for(let a=0;a<5;a++){let o=s.sliceDoc(i.from,Math.min(i.to,i.from+t.length+n)),l=o.indexOf(t);if(!l||l>-1&&r.indexOf(o.slice(0,l))>-1){let d=i.firstChild;for(;d&&d.from==i.from&&d.to-d.from>t.length+l;){if(s.sliceDoc(d.to-t.length,d.to)==t)return!1;d=d.firstChild}return!0}let c=i.to==e&&i.parent;if(!c)break;i=c}return!1}function DO(s,e,t){let r=s.charCategorizer(e);if(r(s.sliceDoc(e-1,e))!=qt.Word)return e;for(let i of t){let n=e-i.length;if(s.sliceDoc(n,e)==i&&r(s.sliceDoc(n-1,n))!=qt.Word)return n}return-1}function h$(s={}){return[WQ,Zs,ps.of(s),IQ,d$,_y]}const Qy=[{key:"Ctrl-Space",run:Dd},{mac:"Alt-`",run:Dd},{mac:"Alt-i",run:Dd},{key:"Escape",run:MQ},{key:"ArrowDown",run:Gl(!0)},{key:"ArrowUp",run:Gl(!1)},{key:"PageDown",run:Gl(!0,"page")},{key:"PageUp",run:Gl(!1,"page")},{key:"Enter",run:AQ}],d$=Ti.highest(wo.computeN([ps],s=>s.facet(ps).defaultKeymap?[Qy]:[]));class IO{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Cn{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=r.facet(Ma).markerFilter;i&&(e=i(e,r));let n=e.slice().sort((g,v)=>g.from-v.from||g.to-v.to),a=new _i,o=[],l=0,c=r.doc.iter(),d=0,u=r.doc.length;for(let g=0;;){let v=g==n.length?null:n[g];if(!v&&!o.length)break;let b,m;if(o.length)b=l,m=o.reduce((x,y)=>Math.min(x,y.to),v&&v.from>b?v.from:1e8);else{if(b=v.from,b>u)break;m=v.to,o.push(v),g++}for(;g<n.length;){let x=n[g];if(x.from==b&&(x.to>x.from||x.to==b))o.push(x),g++,m=Math.min(x.to,m);else{m=Math.min(x.from,m);break}}m=Math.min(m,u);let O=!1;if(o.some(x=>x.from==b&&(x.to==m||m==u))&&(O=b==m,!O&&m-b<10)){let x=b-(d+c.value.length);x>0&&(c.next(x),d=b);for(let y=b;;){if(y>=m){O=!0;break}if(!c.lineBreak&&d+c.value.length>y)break;y=d+c.value.length,d+=c.value.length,c.next()}}let p=w$(o);if(O)a.add(b,b,Fe.widget({widget:new v$(p),diagnostics:o.slice()}));else{let x=o.reduce((y,_)=>_.markClass?y+" "+_.markClass:y,"");a.add(b,m,Fe.mark({class:"cm-lintRange cm-lintRange-"+p+x,diagnostics:o.slice(),inclusiveEnd:o.some(y=>y.to>m)}))}if(l=m,l==u)break;for(let x=0;x<o.length;x++)o[x].to<=l&&o.splice(x--,1)}let f=a.finish();return new Cn(f,t,en(f))}}function en(s,e=null,t=0){let r=null;return s.between(t,1e9,(i,n,{spec:a})=>{if(!(e&&a.diagnostics.indexOf(e)<0))if(!r)r=new IO(i,n,e||a.diagnostics[0]);else{if(a.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new IO(r.from,n,r.diagnostic)}}),r}function u$(s,e){let t=e.pos,r=e.end||t,i=s.state.facet(Ma).hideOn(s,t,r);if(i!=null)return i;let n=s.startState.doc.lineAt(e.pos);return!!(s.effects.some(a=>a.is($y))||s.changes.touchesRange(n.from,Math.max(n.to,r)))}function f$(s,e){return s.field(rr,!1)?e:e.concat(ct.appendConfig.of(k$))}const $y=ct.define(),Cp=ct.define(),jy=ct.define(),rr=ws.define({create(){return new Cn(Fe.none,null,null)},update(s,e){if(e.docChanged&&s.diagnostics.size){let t=s.diagnostics.map(e.changes),r=null,i=s.panel;if(s.selected){let n=e.changes.mapPos(s.selected.from,1);r=en(t,s.selected.diagnostic,n)||en(t,null,n)}!t.size&&i&&e.state.facet(Ma).autoPanel&&(i=null),s=new Cn(t,i,r)}for(let t of e.effects)if(t.is($y)){let r=e.state.facet(Ma).autoPanel?t.value.length?La.open:null:s.panel;s=Cn.init(t.value,r,e.state)}else t.is(Cp)?s=new Cn(s.diagnostics,t.value?La.open:null,s.selected):t.is(jy)&&(s=new Cn(s.diagnostics,s.panel,t.value));return s},provide:s=>[Ca.from(s,e=>e.panel),Pe.decorations.from(s,e=>e.diagnostics)]}),p$=Fe.mark({class:"cm-lintRange cm-lintRange-active"});function m$(s,e,t){let{diagnostics:r}=s.state.field(rr),i,n=-1,a=-1;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,c,{spec:d})=>{if(e>=l&&e<=c&&(l==c||(e>l||t>0)&&(e<c||t<0)))return i=d.diagnostics,n=l,a=c,!1});let o=s.state.facet(Ma).tooltipFilter;return i&&o&&(i=o(i,s.state)),i?{pos:n,end:a,above:!0,create(){return{dom:g$(s,i)}}}:null}function g$(s,e){return Lt("ul",{class:"cm-tooltip-lint"},e.map(t=>Ry(s,t,!1)))}const O$=s=>{let e=s.state.field(rr,!1);(!e||!e.panel)&&s.dispatch({effects:f$(s.state,[Cp.of(!0)])});let t=Kf(s,La.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},BO=s=>{let e=s.state.field(rr,!1);return!e||!e.panel?!1:(s.dispatch({effects:Cp.of(!1)}),!0)},x$=s=>{let e=s.state.field(rr,!1);if(!e)return!1;let t=s.state.selection.main,r=en(e.diagnostics,null,t.to+1);return!r&&(r=en(e.diagnostics,null,0),!r||r.from==t.from&&r.to==t.to)?!1:(s.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),n2(s,r.from,1,{tooltip:Ay,until:i=>i.docChanged||i.newSelection.main.head<r.from||i.newSelection.main.head>r.to}),!0)},b$=[{key:"Mod-Shift-m",run:O$,preventDefault:!0},{key:"F8",run:x$}],Ma=Le.define({combine(s){return{sources:s.map(e=>e.source).filter(e=>e!=null),...ti(s.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:WO,tooltipFilter:WO,needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t,hideOn:(e,t)=>e?t?(r,i,n)=>e(r,i,n)||t(r,i,n):e:t,autoPanel:(e,t)=>e||t})}}});function WO(s,e){return s?e?(t,r)=>e(s(t,r),r):s:e}function Ey(s){let e=[];if(s)e:for(let{name:t}of s){for(let r=0;r<t.length;r++){let i=t[r];if(/[a-zA-Z]/.test(i)&&!e.some(n=>n.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function Ry(s,e,t){var r;let i=t?Ey(e.actions):[];return Lt("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Lt("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(s):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((n,a)=>{let o=!1,l=g=>{if(g.preventDefault(),o)return;o=!0;let v=en(s.state.field(rr).diagnostics,e);v&&n.apply(s,v.from,v.to)},{name:c}=n,d=i[a]?c.indexOf(i[a]):-1,u=d<0?c:[c.slice(0,d),Lt("u",c.slice(d,d+1)),c.slice(d+1)],f=n.markClass?" "+n.markClass:"";return Lt("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${d<0?"":` (access key "${i[a]})"`}.`},u)}),e.source&&Lt("div",{class:"cm-diagnosticSource"},e.source))}class v$ extends Rr{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Lt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class XO{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Ry(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class La{constructor(e){this.view=e,this.items=[];let t=i=>{if(!(i.ctrlKey||i.altKey||i.metaKey)){if(i.keyCode==27)BO(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],a=Ey(n.actions);for(let o=0;o<a.length;o++)if(a[o].toUpperCase().charCodeAt(0)==i.keyCode){let l=en(this.view.state.field(rr).diagnostics,n);l&&n.actions[o].apply(e,l.from,l.to)}}else return;i.preventDefault()}},r=i=>{for(let n=0;n<this.items.length;n++)this.items[n].dom.contains(i.target)&&this.moveSelection(n)};this.list=Lt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:r}),this.dom=Lt("div",{class:"cm-panel-lint"},this.list,Lt("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>BO(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(rr).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(rr),r=0,i=!1,n=null,a=new Set;for(e.between(0,this.view.state.doc.length,(o,l,{spec:c})=>{for(let d of c.diagnostics){if(a.has(d))continue;a.add(d);let u=-1,f;for(let g=r;g<this.items.length;g++)if(this.items[g].diagnostic==d){u=g;break}u<0?(f=new XO(this.view,d),this.items.splice(r,0,f),i=!0):(f=this.items[u],u>r&&(this.items.splice(r,u-r),i=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();this.items.length==0&&(this.items.push(new XO(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:o,panel:l})=>{let c=l.height/this.list.offsetHeight;o.top<l.top?this.list.scrollTop-=(l.top-o.top)/c:o.bottom>l.bottom&&(this.list.scrollTop+=(o.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(rr),r=en(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:jy.of(r)})}static open(e){return new La(e)}}function y$(s,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(s)}</svg>')`}function Kl(s){return y$(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${s}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const S$=Pe.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Kl("#f11")},".cm-lintRange-warning":{backgroundImage:Kl("orange")},".cm-lintRange-info":{backgroundImage:Kl("#999")},".cm-lintRange-hint":{backgroundImage:Kl("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function _$(s){return s=="error"?4:s=="warning"?3:s=="info"?2:1}function w$(s){let e="hint",t=1;for(let r of s){let i=_$(r.severity);i>t&&(t=i,e=r.severity)}return e}const Ay=i2(m$,{hideOn:u$}),k$=[rr,Pe.decorations.compute([rr],s=>{let{selected:e,panel:t}=s.field(rr);return!e||!t||e.from==e.to?Fe.none:Fe.set([p$.range(e.from,e.to)])}),Ay,S$];var qO=function(e){e===void 0&&(e={});var t=e,r=t.crosshairCursor,i=r===void 0?!1:r,n=[];e.closeBracketsKeymap!==!1&&(n=n.concat(r$)),e.defaultKeymap!==!1&&(n=n.concat(BT)),e.searchKeymap!==!1&&(n=n.concat(fQ)),e.historyKeymap!==!1&&(n=n.concat(FP)),e.foldKeymap!==!1&&(n=n.concat(lP)),e.completionKeymap!==!1&&(n=n.concat(Qy)),e.lintKeymap!==!1&&(n=n.concat(b$));var a=[];return e.lineNumbers!==!1&&a.push(x2()),e.highlightActiveLineGutter!==!1&&a.push(y2()),e.highlightSpecialChars!==!1&&a.push(RC()),e.history!==!1&&a.push(DP()),e.foldGutter!==!1&&a.push(uP()),e.drawSelection!==!1&&a.push(yC()),e.dropCursor!==!1&&a.push(PC()),e.allowMultipleSelections!==!1&&a.push(vt.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&a.push(eP()),e.syntaxHighlighting!==!1&&a.push(Tv(gP,{fallback:!0})),e.bracketMatching!==!1&&a.push(_P()),e.closeBrackets!==!1&&a.push(JQ()),e.autocompletion!==!1&&a.push(h$()),e.rectangularSelection!==!1&&a.push(FC()),i!==!1&&a.push(HC()),e.highlightActiveLine!==!1&&a.push(IC()),e.highlightSelectionMatches!==!1&&a.push(VT()),e.tabSize&&typeof e.tabSize=="number"&&a.push(ko.of(" ".repeat(e.tabSize))),a.concat([wo.of(n.flat())]).filter(Boolean)};const C$="#e5c07b",zO="#e06c75",P$="#56b6c2",T$="#ffffff",gc="#abb2bf",mf="#7d8799",Q$="#61afef",$$="#98c379",ZO="#d19a66",j$="#c678dd",E$="#21252b",VO="#2c313a",FO="#282c34",Bd="#353a42",R$="#3E4451",YO="#528bff",A$=Pe.theme({"&":{color:gc,backgroundColor:FO},".cm-content":{caretColor:YO},".cm-cursor, .cm-dropCursor":{borderLeftColor:YO},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:R$},".cm-panels":{backgroundColor:E$,color:gc},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:FO,color:mf,border:"none"},".cm-activeLineGutter":{backgroundColor:VO},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Bd},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Bd,borderBottomColor:Bd},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:VO,color:gc}}},{dark:!0}),M$=Ya.define([{tag:M.keyword,color:j$},{tag:[M.name,M.deleted,M.character,M.propertyName,M.macroName],color:zO},{tag:[M.function(M.variableName),M.labelName],color:Q$},{tag:[M.color,M.constant(M.name),M.standard(M.name)],color:ZO},{tag:[M.definition(M.name),M.separator],color:gc},{tag:[M.typeName,M.className,M.number,M.changed,M.annotation,M.modifier,M.self,M.namespace],color:C$},{tag:[M.operator,M.operatorKeyword,M.url,M.escape,M.regexp,M.link,M.special(M.string)],color:P$},{tag:[M.meta,M.comment],color:mf},{tag:M.strong,fontWeight:"bold"},{tag:M.emphasis,fontStyle:"italic"},{tag:M.strikethrough,textDecoration:"line-through"},{tag:M.link,color:mf,textDecoration:"underline"},{tag:M.heading,fontWeight:"bold",color:zO},{tag:[M.atom,M.bool,M.special(M.variableName)],color:ZO},{tag:[M.processingInstruction,M.string,M.inserted],color:$$},{tag:M.invalid,color:T$}]),My=[A$,Tv(M$)];var L$=Pe.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),N$=function(e){e===void 0&&(e={});var t=e,r=t.indentWithTab,i=r===void 0?!0:r,n=t.editable,a=n===void 0?!0:n,o=t.readOnly,l=o===void 0?!1:o,c=t.theme,d=c===void 0?"light":c,u=t.placeholder,f=u===void 0?"":u,g=t.basicSetup,v=g===void 0?!0:g,b=[];switch(i&&b.unshift(wo.of([WT])),v&&(typeof v=="boolean"?b.unshift(qO()):b.unshift(qO(v))),f&&b.unshift(qC(f)),d){case"light":b.push(L$);break;case"dark":b.push(My);break;case"none":break;default:b.push(d);break}return a===!1&&b.push(Pe.editable.of(!1)),l&&b.push(vt.readOnly.of(!0)),[...b]},D$=s=>({line:s.state.doc.lineAt(s.state.selection.main.from),lineCount:s.state.doc.lines,lineBreak:s.state.lineBreak,length:s.state.doc.length,readOnly:s.state.readOnly,tabSize:s.state.tabSize,selection:s.state.selection,selectionAsSingle:s.state.selection.asSingle().main,ranges:s.state.selection.ranges,selectionCode:s.state.sliceDoc(s.state.selection.main.from,s.state.selection.main.to),selections:s.state.selection.ranges.map(e=>s.state.sliceDoc(e.from,e.to)),selectedText:s.state.selection.ranges.some(e=>!e.empty)});class I${constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class UO{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var Wd=null,B$=()=>typeof window>"u"?new UO:(Wd||(Wd=new UO),Wd),W$=Pe.theme({"& .cm-scroller":{height:"100% !important"}}),HO=null,Xd=null;function X$(s,e,t,r,i,n){if(!s&&!e&&!t&&!r&&!i&&!n)return null;var a=JSON.stringify({height:s,minHeight:e,maxHeight:t,width:r,minWidth:i,maxWidth:n});return a===HO||(HO=a,Xd=Pe.theme({"&":{height:s,minHeight:e,maxHeight:t,width:r,minWidth:i,maxWidth:n}})),Xd}var GO=ei.define(),q$=200,z$=[];function Z$(s){var e=s.value,t=s.selection,r=s.onChange,i=s.onStatistics,n=s.onCreateEditor,a=s.onUpdate,o=s.extensions,l=o===void 0?z$:o,c=s.autoFocus,d=s.theme,u=d===void 0?"light":d,f=s.height,g=f===void 0?null:f,v=s.minHeight,b=v===void 0?null:v,m=s.maxHeight,O=m===void 0?null:m,p=s.width,x=p===void 0?null:p,y=s.minWidth,_=y===void 0?null:y,k=s.maxWidth,w=k===void 0?null:k,S=s.placeholder,Q=S===void 0?"":S,N=s.editable,L=N===void 0?!0:N,$=s.readOnly,j=$===void 0?!1:$,I=s.indentWithTab,V=I===void 0?!0:I,Z=s.basicSetup,z=Z===void 0?!0:Z,J=s.root,T=s.initialState,A=C.useState(),B=A[0],q=A[1],H=C.useState(),te=H[0],ue=H[1],ke=C.useState(),U=ke[0],D=ke[1],se=C.useState(()=>({current:null}))[0],F=C.useState(()=>({current:null}))[0],G=X$(g,b,O,x,_,w),ee=Pe.updateListener.of(xe=>{if(xe.docChanged&&typeof r=="function"&&!xe.transactions.some(He=>He.annotation(GO))){se.current?se.current.reset():(se.current=new I$(()=>{if(F.current){var He=F.current;F.current=null,He()}se.current=null},q$),B$().add(se.current));var me=xe.state.doc,ge=me.toString();r(ge,xe)}i&&i(D$(xe))}),we=N$({theme:u,editable:L,readOnly:j,placeholder:Q,indentWithTab:V,basicSetup:z}),Ae=[ee,...G?[G]:[],W$,...we];return a&&typeof a=="function"&&Ae.push(Pe.updateListener.of(a)),Ae=Ae.concat(l),C.useLayoutEffect(()=>{if(B&&!U){var xe={doc:e,selection:t,extensions:Ae},me=T?vt.fromJSON(T.json,xe,T.fields):vt.create(xe);if(D(me),!te){var ge=new Pe({state:me,parent:B,root:J});ue(ge),n&&n(ge,me)}}return()=>{te&&(D(void 0),ue(void 0))}},[B,U]),C.useEffect(()=>{s.container&&q(s.container)},[s.container]),C.useEffect(()=>()=>{te&&(te.destroy(),ue(void 0)),se.current&&(se.current.cancel(),se.current=null)},[te]),C.useEffect(()=>{c&&te&&te.focus()},[c,te]),C.useEffect(()=>{te&&te.dispatch({effects:ct.reconfigure.of(Ae)})},[u,l,g,b,O,x,_,w,Q,L,j,V,z,r,a]),C.useEffect(()=>{if(e!==void 0){var xe=te?te.state.doc.toString():"";if(te&&e!==xe){var me=se.current&&!se.current.isDone,ge=()=>{te&&e!==te.state.doc.toString()&&te.dispatch({changes:{from:0,to:te.state.doc.toString().length,insert:e||""},annotations:[GO.of(!0)]})};me?F.current=ge:ge()}}},[e,te]),{state:U,setState:D,view:te,setView:ue,container:B,setContainer:q}}var V$=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Ly=C.forwardRef((s,e)=>{var t=s.className,r=s.value,i=r===void 0?"":r,n=s.selection,a=s.extensions,o=a===void 0?[]:a,l=s.onChange,c=s.onStatistics,d=s.onCreateEditor,u=s.onUpdate,f=s.autoFocus,g=s.theme,v=g===void 0?"light":g,b=s.height,m=s.minHeight,O=s.maxHeight,p=s.width,x=s.minWidth,y=s.maxWidth,_=s.basicSetup,k=s.placeholder,w=s.indentWithTab,S=s.editable,Q=s.readOnly,N=s.root,L=s.initialState,$=lw(s,V$),j=C.useRef(null),I=Z$({root:N,value:i,autoFocus:f,theme:v,height:b,minHeight:m,maxHeight:O,width:p,minWidth:x,maxWidth:y,basicSetup:_,placeholder:k,indentWithTab:w,editable:S,readOnly:Q,selection:n,onChange:l,onStatistics:c,onCreateEditor:d,onUpdate:u,extensions:o,initialState:L}),V=I.state,Z=I.view,z=I.container,J=I.setContainer;C.useImperativeHandle(e,()=>({editor:j.current,state:V,view:Z}),[j,z,V,Z]);var T=C.useCallback(B=>{j.current=B,J(B)},[J]);if(typeof i!="string")throw new Error("value must be typeof string but got "+typeof i);var A=typeof v=="string"?"cm-theme-"+v:"cm-theme";return h.jsx("div",yu({ref:T,className:""+A+(t?" "+t:"")},$))});Ly.displayName="CodeMirror";var KO={};class Hc{constructor(e,t,r,i,n,a,o,l,c,d=0,u){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=n,this.score=a,this.buffer=o,this.bufferBase=l,this.curContext=c,this.lookAhead=d,this.parent=u}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new Hc(e,[],t,r,r,0,[],0,i?new JO(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:n}=this.p,a=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),o=n.dynamicPrecedence(i);if(o&&(this.score+=o),r==0){i<n.minRepeatTerm&&this.reducePos<this.pos&&(this.reducePos=this.pos),this.pushState(n.getGoto(this.state,i,!0),this.reducePos),i<n.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,a?8:4,!0),this.reduceContext(i,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from;i<n.minRepeatTerm&&c==this.reducePos&&this.reducePos<this.pos&&(this.reducePos=this.pos);let d=this.reducePos-c;d>=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=d):this.p.lastBigReductionSize<d&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=d));let u=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-u;if(i<n.minRepeatTerm||e&131072){let g=n.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,c,g,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let g=this.stack[l-3];this.state=n.getGoto(g,i,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(i,c)}storeNode(e,t,r,i=4,n=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let a=this.buffer.length;if(a>0&&this.buffer[a-4]==0&&this.buffer[a-1]>-1){if(t==r)return;if(this.buffer[a-2]>=t){this.buffer[a-2]=r;return}}}if(!n||this.pos==r)this.buffer.push(e,t,r,i);else{let a=this.buffer.length;if(a>0&&(this.buffer[a-4]!=0||this.buffer[a-1]<0)){let o=!1;for(let l=a;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){o=!0;break}if(o)for(;a>0&&this.buffer[a-2]>r;)this.buffer[a]=this.buffer[a-4],this.buffer[a+1]=this.buffer[a-3],this.buffer[a+2]=this.buffer[a-2],this.buffer[a+3]=this.buffer[a-1],a-=4,i>4&&(i-=4)}this.buffer[a]=e,this.buffer[a+1]=t,this.buffer[a+2]=r,this.buffer[a+3]=i}}shift(e,t,r,i){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let n=e,{parser:a}=this.p;this.pos=i;let o=a.stateFlag(n,1);!o&&(i>r||t<=a.maxNode)&&(this.reducePos=i),this.pushState(n,o?r:Math.min(r,this.reducePos)),this.shiftContext(t,r),t<=a.maxNode&&this.buffer.push(t,r,i,4)}else this.pos=i,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,i,4)}apply(e,t,r,i){e&65536?this.reduce(e):this.shift(e,t,r,i)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&e.buffer[t-4]==0&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new Hc(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new F$(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if((r&65536)==0)return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let n=0,a;n<t.length;n+=2)(a=t[n+1])!=this.state&&this.p.parser.hasAction(a,e)&&i.push(t[n],a);if(this.stack.length<120)for(let n=0;i.length<8&&n<t.length;n+=2){let a=t[n+1];i.some((o,l)=>l&1&&o==a)||i.push(t[n],a)}t=i}let r=[];for(let i=0;i<t.length&&r.length<4;i+=2){let n=t[i+1];if(n==this.state)continue;let a=this.split();a.pushState(n,this.pos),a.storeNode(0,a.pos,a.pos,4,!0),a.shiftContext(t[i],this.pos),a.reducePos=this.pos,a.score-=200,r.push(a)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if((t&65536)==0)return!1;if(!e.validAction(this.state,t)){let r=t>>19,i=t&65535,n=this.stack.length-r*3;if(n<0||e.getGoto(this.stack[n],i,!1)<0){let a=this.findForcedReduction();if(a==null)return!1;t=a}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,n)=>{if(!t.includes(i))return t.push(i),e.allActions(i,a=>{if(!(a&393216))if(a&65536){let o=(a>>19)-n;if(o>1){let l=a&65535,c=this.stack.length-o*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return o<<19|65536|l}}else{let o=r(a,n+1);if(o!=null)return o}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new JO(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class JO{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class F${constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class Gc{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Gc(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Gc(this.stack,this.pos,this.index)}}function aa(s,e=Uint16Array){if(typeof s!="string")return s;let t=null;for(let r=0,i=0;r<s.length;){let n=0;for(;;){let a=s.charCodeAt(r++),o=!1;if(a==126){n=65535;break}a>=92&&a--,a>=34&&a--;let l=a-32;if(l>=46&&(l-=46,o=!0),n+=l,o)break;n*=46}t?t[i++]=n:t=new e(n)}return t}class Oc{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const e0=new Oc;class Y${constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=e0,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,n=this.pos+e;for(;n<r.from;){if(!i)return null;let a=this.ranges[--i];n-=r.from-a.to,r=a}for(;t<0?n>r.to:n>=r.to;){if(i==this.ranges.length-1)return null;let a=this.ranges[++i];n+=a.from-r.to,r=a}return n}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t<this.chunk.length)r=this.pos+e,i=this.chunk.charCodeAt(t);else{let n=this.resolveOffset(e,1);if(n==null)return-1;if(r=n,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let a=this.rangeIndex,o=this.range;for(;o.to<=r;)o=this.ranges[++a];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>o.to&&(this.chunk2=this.chunk2.slice(0,o.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=e0,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}}class uo{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Ny(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}uo.prototype.contextual=uo.prototype.fallback=uo.prototype.extend=!1;class Kc{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?aa(e):e}token(e,t){let r=e.pos,i=0;for(;;){let n=e.next<0,a=e.resolveOffset(1,1);if(Ny(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||i++,a==null)break;e.reset(a,e.token)}i&&(e.reset(r,e.token),e.acceptToken(this.elseToken,i))}}Kc.prototype.contextual=uo.prototype.fallback=uo.prototype.extend=!1;class ds{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Ny(s,e,t,r,i,n){let a=0,o=1<<r,{dialect:l}=t.p.parser;e:for(;(o&s[a])!=0;){let c=s[a+1];for(let g=a+3;g<c;g+=2)if((s[g+1]&o)>0){let v=s[g];if(l.allows(v)&&(e.token.value==-1||e.token.value==v||U$(v,e.token.value,i,n))){e.acceptToken(v);break}}let d=e.next,u=0,f=s[a+2];if(e.next<0&&f>u&&s[c+f*3-3]==65535){a=s[c+f*3-1];continue e}for(;u<f;){let g=u+f>>1,v=c+g+(g<<1),b=s[v],m=s[v+1]||65536;if(d<b)f=g;else if(d>=m)u=g+1;else{a=s[v+2],e.advance();continue e}}break}}function t0(s,e,t){for(let r=e,i;(i=s[r])!=65535;r++)if(i==t)return r-e;return-1}function U$(s,e,t,r){let i=t0(t,r,e);return i<0||t0(t,r,s)<i}const Ks=typeof process<"u"&&KO&&/\bparse\b/.test(KO.LOG);let qd=null;function s0(s,e,t){let r=s.cursor(Qt.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(s.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:s.length}}let H$=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?s0(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?s0(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],i=this.index[t];if(i==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let n=r.children[i],a=this.start[t]+r.positions[i];if(a>e)return this.nextStart=a,null;if(n instanceof $t){if(a==e){if(a<this.safeFrom)return null;let o=a+n.length;if(o<=this.safeTo){let l=n.prop(ht.lookAhead);if(!l||o+l<this.fragment.to)return n}}this.index[t]++,a+n.length>=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(a),this.index.push(0))}else this.index[t]++,this.nextStart=a+n.length}}};class G${constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Oc)}getActions(e){let t=0,r=null,{parser:i}=e.p,{tokenizers:n}=i,a=i.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<n.length;c++){if((1<<c&a)==0)continue;let d=n[c],u=this.tokens[c];if(!(r&&!d.fallback)&&((d.contextual||u.start!=e.pos||u.mask!=a||u.context!=o)&&(this.updateCachedToken(u,d,e),u.mask=a,u.context=o),u.lookAhead>u.end+25&&(l=Math.max(u.lookAhead,l)),u.value!=0)){let f=t;if(u.extended>-1&&(t=this.addActions(e,u.extended,u.end,t)),t=this.addActions(e,u.value,u.end,t),!d.extend&&(r=u,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Oc,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Oc,{pos:r,p:i}=e;return t.start=r,t.end=Math.min(r+1,i.stream.end),t.value=r==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,r){let i=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(i,e),r),e.value>-1){let{parser:n}=r.p;for(let a=0;a<n.specialized.length;a++)if(n.specialized[a]==e.value){let o=n.specializers[a](this.stream.read(e.start,e.end),r);if(o>=0&&r.p.parser.dialect.allows(o>>1)){(o&1)==0?e.value=o>>1:e.extended=o>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,r,i){for(let n=0;n<i;n+=3)if(this.actions[n]==e)return i;return this.actions[i++]=e,this.actions[i++]=t,this.actions[i++]=r,i}addActions(e,t,r,i){let{state:n}=e,{parser:a}=e.p,{data:o}=a;for(let l=0;l<2;l++)for(let c=a.stateSlot(n,l?2:1);;c+=3){if(o[c]==65535)if(o[c+1]==1)c=xi(o,c+2);else{i==0&&o[c+1]==2&&(i=this.putAction(xi(o,c+2),t,r,i));break}o[c]==t&&(i=this.putAction(xi(o,c+1),t,r,i))}return i}}class K${constructor(e,t,r,i){this.parser=e,this.input=t,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Y$(t,i),this.tokens=new G$(e,this.stream),this.topTerm=e.top[1];let{from:n}=i[0];this.stacks=[Hc.start(this,e.top[0],n)],this.fragments=r.length&&this.stream.end-n>e.bufferLength*4?new H$(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],i,n;if(this.bigReductionCount>300&&e.length==1){let[a]=e;for(;a.forceReduce()&&a.stack.length&&a.stack[a.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;a<e.length;a++){let o=e[a];for(;;){if(this.tokens.mainToken=null,o.pos>t)r.push(o);else{if(this.advanceStack(o,r,e))continue;{i||(i=[],n=[]),i.push(o);let l=this.tokens.getMainToken(o);n.push(l.value,l.end)}}break}}if(!r.length){let a=i&&e5(i);if(a)return Ks&&console.log("Finish with "+this.stackID(a)),this.stackToTree(a);if(this.parser.strict)throw Ks&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&i){let a=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,n,r);if(a)return Ks&&console.log("Force-finish "+this.stackID(a)),this.stackToTree(a.forceAll())}if(this.recovering){let a=this.recovering==1?1:this.recovering*3;if(r.length>a)for(r.sort((o,l)=>l.score-o.score);r.length>a;)r.pop();r.some(o=>o.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let a=0;a<r.length-1;a++){let o=r[a];for(let l=a+1;l<r.length;l++){let c=r[l];if(o.sameState(c)||o.buffer.length>500&&c.buffer.length>500)if((o.score-c.score||o.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(a--,1);continue e}}}r.length>12&&(r.sort((a,o)=>o.score-a.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let a=1;a<r.length;a++)r[a].pos<this.minStackPos&&(this.minStackPos=r[a].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let i=e.pos,{parser:n}=this,a=Ks?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,d=c?e.curContext.hash:0;for(let u=this.fragments.nodeAt(i);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?n.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!c||(u.prop(ht.contextHash)||0)==d))return e.useNode(u,f),Ks&&console.log(a+this.stackID(e)+` (via reuse of ${n.getName(u.type.id)})`),!0;if(!(u instanceof $t)||u.children.length==0||u.positions[0]>0)break;let g=u.children[0];if(g instanceof $t&&u.positions[0]==0)u=g;else break}}let o=n.stateSlot(e.state,4);if(o>0)return e.reduce(o),Ks&&console.log(a+this.stackID(e)+` (via always-reduce ${n.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let d=l[c++],u=l[c++],f=l[c++],g=c==l.length||!r,v=g?e:e.split(),b=this.tokens.mainToken;if(v.apply(d,u,b?b.start:v.pos,f),Ks&&console.log(a+this.stackID(v)+` (via ${(d&65536)==0?"shift":`reduce of ${n.getName(d&65535)}`} for ${n.getName(u)} @ ${i}${v==e?"":", split"})`),g)return!0;v.pos>i?t.push(v):r.push(v)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return r0(e,t),!0}}runRecovery(e,t,r){let i=null,n=!1;for(let a=0;a<e.length;a++){let o=e[a],l=t[a<<1],c=t[(a<<1)+1],d=Ks?this.stackID(o)+" -> ":"";if(o.deadEnd&&(n||(n=!0,o.restart(),Ks&&console.log(d+this.stackID(o)+" (restarted)"),this.advanceFully(o,r))))continue;let u=o.split(),f=d;for(let g=0;g<10&&u.forceReduce()&&(Ks&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));g++)Ks&&(f=this.stackID(u)+" -> ");for(let g of o.recoverByInsert(l))Ks&&console.log(d+this.stackID(g)+" (via recover-insert)"),this.advanceFully(g,r);this.stream.end>o.pos?(c==o.pos&&(c++,l=0),o.recoverByDelete(l,c),Ks&&console.log(d+this.stackID(o)+` (via recover-delete ${this.parser.getName(l)})`),r0(o,r)):(!i||i.score<u.score)&&(i=u)}return i}stackToTree(e){return e.close(),$t.build({buffer:Gc.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(qd||(qd=new WeakMap)).get(e);return t||qd.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function r0(s,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==s.pos&&r.sameState(s)){e[t].score<s.score&&(e[t]=s);return}}e.push(s)}class J${constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}const zd=s=>s;class yh{constructor(e){this.start=e.start,this.shift=e.shift||zd,this.reduce=e.reduce||zd,this.reuse=e.reuse||zd,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Pi extends rp{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let o=0;o<e.repeatNodeCount;o++)t.push("");let r=Object.keys(e.topRules).map(o=>e.topRules[o][1]),i=[];for(let o=0;o<t.length;o++)i.push([]);function n(o,l,c){i[o].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let o of e.nodeProps){let l=o[0];typeof l=="string"&&(l=ht[l]);for(let c=1;c<o.length;){let d=o[c++];if(d>=0)n(d,l,o[c++]);else{let u=o[c+-d];for(let f=-d;f>0;f--)n(o[c++],l,u);c++}}}this.nodeSet=new Va(t.map((o,l)=>hs.define({name:l>=this.minRepeatTerm?void 0:o,id:l,props:i[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=cv;let a=aa(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let o=0;o<this.specializerSpecs.length;o++)this.specialized[o]=this.specializerSpecs[o].term;this.specializers=this.specializerSpecs.map(i0),this.states=aa(e.states,Uint32Array),this.data=aa(e.stateData),this.goto=aa(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(o=>typeof o=="number"?new uo(a,o):o),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let i=new K$(this,e,t,r);for(let n of this.wrappers)i=n(i,e,t,r);return i}getGoto(e,t,r=!1){let i=this.goto;if(t>=i[0])return-1;for(let n=i[t+1];;){let a=i[n++],o=a&1,l=i[n++];if(o&&r)return l;for(let c=n+(a>>1);n<c;n++)if(i[n]==e)return l;if(o)return-1}}hasAction(e,t){let r=this.data;for(let i=0;i<2;i++)for(let n=this.stateSlot(e,i?2:1),a;;n+=3){if((a=r[n])==65535)if(r[n+1]==1)a=r[n=xi(r,n+2)];else{if(r[n+1]==2)return xi(r,n+2);break}if(a==t||a==0)return xi(r,n+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),i=r?t(r):void 0;for(let n=this.stateSlot(e,1);i==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=xi(this.data,n+2);else break;i=t(xi(this.data,n+1))}return i}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=xi(this.data,r+2);else break;if((this.data[r+2]&1)==0){let i=this.data[r+1];t.some((n,a)=>a&1&&n==i)||t.push(this.data[r],i)}}return t}configure(e){let t=Object.assign(Object.create(Pi.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(n=>n.from==r);return i?i.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,i)=>{let n=e.specializers.find(o=>o.from==r.external);if(!n)return r;let a=Object.assign(Object.assign({},r),{external:n.to});return t.specializers[i]=i0(a),a})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let n of e.split(" ")){let a=t.indexOf(n);a>=0&&(r[a]=!0)}let i=null;for(let n=0;n<t.length;n++)if(!r[n])for(let a=this.dialects[t[n]],o;(o=this.data[a++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[o]=1;return new J$(e,r,i)}static deserialize(e){return new Pi(e)}}function xi(s,e){return s[e]|s[e+1]<<16}function e5(s){let e=null;for(let t of s){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function i0(s){if(s.external){let e=s.extend?1:0;return(t,r)=>s.external(t,r)<<1|e}return s.get}const t5=316,s5=317,n0=1,r5=2,i5=3,n5=4,o5=318,a5=320,l5=321,c5=5,h5=6,d5=0,gf=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Dy=125,u5=59,Of=47,f5=42,p5=43,m5=45,g5=60,O5=44,x5=63,b5=46,v5=91,y5=new yh({start:!1,shift(s,e){return e==c5||e==h5||e==a5?s:e==l5},strict:!1}),S5=new ds((s,e)=>{let{next:t}=s;(t==Dy||t==-1||e.context)&&s.acceptToken(o5)},{contextual:!0,fallback:!0}),_5=new ds((s,e)=>{let{next:t}=s,r;gf.indexOf(t)>-1||t==Of&&((r=s.peek(1))==Of||r==f5)||t!=Dy&&t!=u5&&t!=-1&&!e.context&&s.acceptToken(t5)},{contextual:!0}),w5=new ds((s,e)=>{s.next==v5&&!e.context&&s.acceptToken(s5)},{contextual:!0}),k5=new ds((s,e)=>{let{next:t}=s;if(t==p5||t==m5){if(s.advance(),t==s.next){s.advance();let r=!e.context&&e.canShift(n0);s.acceptToken(r?n0:r5)}}else t==x5&&s.peek(1)==b5&&(s.advance(),s.advance(),(s.next<48||s.next>57)&&s.acceptToken(i5))},{contextual:!0});function Zd(s,e){return s>=65&&s<=90||s>=97&&s<=122||s==95||s>=192||!e&&s>=48&&s<=57}const C5=new ds((s,e)=>{if(s.next!=g5||!e.dialectEnabled(d5)||(s.advance(),s.next==Of))return;let t=0;for(;gf.indexOf(s.next)>-1;)s.advance(),t++;if(Zd(s.next,!0)){for(s.advance(),t++;Zd(s.next,!1);)s.advance(),t++;for(;gf.indexOf(s.next)>-1;)s.advance(),t++;if(s.next==O5)return;for(let r=0;;r++){if(r==7){if(!Zd(s.next,!0))return;break}if(s.next!="extends".charCodeAt(r))break;s.advance(),t++}}s.acceptToken(n5,-t)}),P5=Qi({"get set async static":M.modifier,"for while do if else switch try catch finally return throw break continue default case defer":M.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":M.operatorKeyword,"let var const using function class extends":M.definitionKeyword,"import export from":M.moduleKeyword,"with debugger new":M.keyword,TemplateString:M.special(M.string),super:M.atom,BooleanLiteral:M.bool,this:M.self,null:M.null,Star:M.modifier,VariableName:M.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":M.function(M.variableName),VariableDefinition:M.definition(M.variableName),Label:M.labelName,PropertyName:M.propertyName,PrivatePropertyName:M.special(M.propertyName),"CallExpression/MemberExpression/PropertyName":M.function(M.propertyName),"FunctionDeclaration/VariableDefinition":M.function(M.definition(M.variableName)),"ClassDeclaration/VariableDefinition":M.definition(M.className),"NewExpression/VariableName":M.className,PropertyDefinition:M.definition(M.propertyName),PrivatePropertyDefinition:M.definition(M.special(M.propertyName)),UpdateOp:M.updateOperator,"LineComment Hashbang":M.lineComment,BlockComment:M.blockComment,Number:M.number,String:M.string,Escape:M.escape,ArithOp:M.arithmeticOperator,LogicOp:M.logicOperator,BitOp:M.bitwiseOperator,CompareOp:M.compareOperator,RegExp:M.regexp,Equals:M.definitionOperator,Arrow:M.function(M.punctuation),": Spread":M.punctuation,"( )":M.paren,"[ ]":M.squareBracket,"{ }":M.brace,"InterpolationStart InterpolationEnd":M.special(M.brace),".":M.derefOperator,", ;":M.separator,"@":M.meta,TypeName:M.typeName,TypeDefinition:M.definition(M.typeName),"type enum interface implements namespace module declare":M.definitionKeyword,"abstract global Privacy readonly override":M.modifier,"is keyof unique infer asserts":M.operatorKeyword,JSXAttributeValue:M.attributeValue,JSXText:M.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":M.angleBracket,"JSXIdentifier JSXNameSpacedName":M.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":M.attributeName,"JSXBuiltin/JSXIdentifier":M.standard(M.tagName)}),T5={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},Q5={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},$5={__proto__:null,"<":193},j5=Pi.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-E<j-E<jO9kQ`O,5=_O!$rQ`O,5=_O!$wQlO,5;ZO!&zQMhO'#EkO!(eQ`O,5;ZO!(jQlO'#DyO!(tQpO,5;dO!(|QpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)[QlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IpO!+_Q!0LrO,5<iO%[QlO,5;eO!&zQMhO,5;eO!+|QMhO,5;eO!-nQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-uQ,UO'#FjO!.rQ,UO'#KXO!.^Q,UO'#KXO!.yQ,UO'#KXOOQO'#KX'#KXO!/_Q,UO,5<SOOOW,5<`,5<`O!/pQlO'#FvOOOW'#Io'#IoO7VO7dO,5<QO!/wQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0hQ$IUO'#CyOOQ!0Lh'#C}'#C}O!0{O#@ItO'#DRO!1iQMjO,5<eO!1pQ`O,5<hO!3YQ(CWO'#GXO!3jQ`O'#GYO!3oQ`O'#GYO!5_Q(CWO'#G^O!6dQpO'#GbOOQO'#Gn'#GnO!,TQMhO'#GmOOQO'#Gp'#GpO!,TQMhO'#GoO!7VQ$IUO'#JlOOQ!0Lh'#Jl'#JlO!7aQ`O'#JkO!7oQ`O'#JjO!7wQ`O'#CuOOQ!0Lh'#C{'#C{O!8YQ`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO!8_Q`O,5<eO1SQ`O'#DZO!,TQMhO'#GPO!,TQMhO'#GRO!8gQ`O'#GTO!8lQ`O'#GUO!3oQ`O'#G[O!,TQMhO'#GaO<]Q`O'#JkO!8qQ`O'#EqO!9`Q`O,5<gOOQ!0Lb'#Cr'#CrO!9hQ`O'#ErO!:bQpO'#EsOOQ!0Lb'#KR'#KRO!:iQ!0LrO'#KaO9uQ!0LrO,5=cO`QlO,5>tOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!<hQ!0MxO,5:bO!:]QpO,5:`O!?RQ!0MxO,5:jO%[QlO,5:jO!AiQ!0MxO,5:lOOQO,5@z,5@zO!BYQMhO,5=_O!BhQ!0LrO'#JiO9`Q`O'#JiO!ByQ!0LrO,59ZO!CUQpO,59ZO!C^QMhO,59ZO:dQMhO,59ZO!CiQ`O,5;ZO!CqQ`O'#HbO!DVQ`O'#KdO%[QlO,5;}O!:]QpO,5<PO!D_Q`O,5=zO!DdQ`O,5=zO!DiQ`O,5=zO!DwQ`O,5=zO9uQ!0LrO,5=zO<]Q`O,5=jOOQO'#Cy'#CyO!EOQpO,5=gO!EWQMhO,5=hO!EcQ`O,5=jO!EhQ!bO,5=mO!EpQ`O'#K`O?YQ`O'#HWO9kQ`O'#HYO!EuQ`O'#HYO:dQMhO'#H[O!EzQ`O'#H[OOQ[,5=p,5=pO!FPQ`O'#H]O!FbQ`O'#CoO!FgQ`O,59PO!FqQ`O,59PO!HvQlO,59POOQ[,59P,59PO!IWQ!0LrO,59PO%[QlO,59PO!KcQlO'#HeOOQ['#Hf'#HfOOQ['#Hg'#HgO`QlO,5=}O!KyQ`O,5=}O`QlO,5>TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-E<f-E<fO#)kQ!0MSO,5;RODWQpO,5:rO#)uQpO,5:rODWQpO,5;RO!ByQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#*SQ!0LrO,5;RO#*_Q!0LrO,5;RO!CUQpO,5:rOOQO,5;X,5;XO#*mQ!0LrO,5;RPOOO'#I^'#I^P#+RO&2DjO,58|POOO,58|,58|OOOO-E<^-E<^OOQ!0Lh1G.p1G.pOOOO-E<_-E<_OOOO,59},59}O#+^Q!bO,59}OOOO-E<a-E<aOOQ!0Lf1G/g1G/gO#+cQ!fO,5?OO+}QlO,5?OOOQO,5?U,5?UO#+mQlO'#IdOOQO-E<b-E<bO#+zQ`O,5@`O#,SQ!fO,5@`O#,ZQ`O,5@nOOQ!0Lf1G/m1G/mO%[QlO,5@oO#,cQ`O'#IjOOQO-E<h-E<hO#,ZQ`O,5@nOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@lO#,wQ!0LrO,5@lO#-YQ!0LrO,5@lO#-aQ`O,5@kO9eQ`O,5@kO#-iQ`O,5@kO#-wQ`O'#ImO#-aQ`O,5@kOOQ!0Lb1G0w1G0wO!(tQpO,5:uO!)PQpO,5:uOOQS,5:w,5:wO#.iQdO,5:wO#.qQMhO1G2yO9kQ`O1G2yOOQ!0Lf1G0u1G0uO#/PQ!0MxO1G0uO#0UQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0rQ!0MzO'#JlO!$wQlO1G0uO#2}Q!fO'#JwO%[QlO'#JwO#3XQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#3^Q`O1G1OO#5rQ!0MxO1G1PO#5yQ!0MxO1G1PO#8aQ!0MxO1G1PO#8hQ!0MxO1G1PO#;OQ!0MxO1G1PO#=fQ!0MxO1G1PO#=mQ!0MxO1G1PO#=tQ!0MxO1G1PO#@[Q!0MxO1G1PO#@cQ!0MxO1G1PO#BpQ?MtO'#CiO#DkQ?MtO1G1`O#DrQ?MtO'#JsO#EVQ!0MxO,5?[OOQ!0Lb-E<n-E<nO#GdQ!0MxO1G1PO#HaQ!0MzO1G1POOQ!0Lf1G1P1G1PO#IdQMjO'#J|O#InQ`O,5:xO#IsQ!0MxO1G1cO#JgQ,UO,5<WO#JoQ,UO,5<XO#JwQ,UO'#FoO#K`Q`O'#FnOOQO'#KY'#KYOOQO'#In'#InO#KeQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#KvQ?MtO'#JrO#LQQ`O,5<bO!)[QlO,5<bOOOW-E<m-E<mOOQ!0Lf1G1l1G1lO#LVQpO'#KXOOQ!0Lf,5<d,5<dO#L_QpO,5<dO#LdQMhO'#DTOOOO'#Ib'#IbO#LkO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8lQ`O'#IrO#LvQ`O,5<zOOQ!0Lh,5<w,5<wO!,TQMhO'#IuO#MdQMjO,5=XO!,TQMhO'#IwO#NVQMjO,5=ZO!&zQMhO,5=]OOQO1G2S1G2SO#NaQ!dO'#CrO#NtQ(CWO'#ErO$ |QpO'#GbO$!dQ!dO,5<sO$!kQ`O'#K[O9eQ`O'#K[O$!yQ`O,5<uO$#aQ!dO'#C{O!,TQMhO,5<tO$#kQ`O'#GZO$$PQ`O,5<tO$$UQ!dO'#GWO$$cQ!dO'#K]O$$mQ`O'#K]O!&zQMhO'#K]O$$rQ`O,5<xO$$wQlO'#JvO$%RQpO'#GcO#$`QpO'#GcO$%dQ`O'#GgO!3oQ`O'#GkO$%iQ!0LrO'#ItO$%tQpO,5<|OOQ!0Lp,5<|,5<|O$%{QpO'#GcO$&YQpO'#GdO$&kQpO'#GdO$&pQMjO,5=XO$'QQMjO,5=ZOOQ!0Lh,5=^,5=^O!,TQMhO,5@VO!,TQMhO,5@VO$'bQ`O'#IyO$'vQ`O,5@UO$(OQ`O,59aOOQ!0Lh,59i,59iO$(TQ`O,5@VO$)TQ$IYO,59uOOQ!0Lh'#Jp'#JpO$)vQMjO,5<kO$*iQMjO,5<mO@zQ`O,5<oOOQ!0Lh,5<p,5<pO$*sQ`O,5<vO$*xQMjO,5<{O$+YQ`O'#KPO!$wQlO1G2RO$+_Q`O1G2RO9eQ`O'#KSO9eQ`O'#EtO%[QlO'#EtO9eQ`O'#I{O$+dQ!0LrO,5@{OOQ[1G2}1G2}OOQ[1G4`1G4`OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$-fQ!0MxO1G0UOOQ[1G2y1G2yO!&zQMhO1G2yO%[QlO1G2yO#.tQ`O1G2yO$/jQMhO'#EkOOQ!0Lb,5@T,5@TO$/wQ!0LrO,5@TOOQ[1G.u1G.uO!ByQ!0LrO1G.uO!CUQpO1G.uO!C^QMhO1G.uO$0YQ`O1G0uO$0_Q`O'#CiO$0jQ`O'#KeO$0rQ`O,5=|O$0wQ`O'#KeO$0|Q`O'#KeO$1[Q`O'#JRO$1jQ`O,5AOO$1rQ!fO1G1iOOQ!0Lf1G1k1G1kO9kQ`O1G3fO@zQ`O1G3fO$1yQ`O1G3fO$2OQ`O1G3fO!DiQ`O1G3fO9uQ!0LrO1G3fOOQ[1G3f1G3fO!EcQ`O1G3UO!&zQMhO1G3RO$2TQ`O1G3ROOQ[1G3S1G3SO!&zQMhO1G3SO$2YQ`O1G3SO$2bQpO'#HQOOQ[1G3U1G3UO!6_QpO'#I}O!EhQ!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$2jQMhO,5=tO9kQ`O,5=tO$%dQ`O,5=vO9`Q`O,5=vO!CUQpO,5=vO!C^QMhO,5=vO:dQMhO,5=vO$2xQ`O'#KcO$3TQ`O,5=wOOQ[1G.k1G.kO$3YQ!0LrO1G.kO@zQ`O1G.kO$3eQ`O1G.kO9uQ!0LrO1G.kO$5mQ!fO,5AQO$5zQ`O,5AQO9eQ`O,5AQO$6VQlO,5>PO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5<iO$BOQ!fO1G4jOOQO1G4p1G4pO%[QlO,5?OO$BYQ`O1G5zO$BbQ`O1G6YO$BjQ!fO1G6ZO9eQ`O,5?UO$BtQ!0MxO1G6WO%[QlO1G6WO$CUQ!0LrO1G6WO$CgQ`O1G6VO$CgQ`O1G6VO9eQ`O1G6VO$CoQ`O,5?XO9eQ`O,5?XOOQO,5?X,5?XO$DTQ`O,5?XO$+YQ`O,5?XOOQO-E<k-E<kOOQS1G0a1G0aOOQS1G0c1G0cO#.lQ`O1G0cOOQ[7+(e7+(eO!&zQMhO7+(eO%[QlO7+(eO$DcQ`O7+(eO$DnQMhO7+(eO$D|Q!0MzO,5=XO$GXQ!0MzO,5=ZO$IdQ!0MzO,5=XO$KuQ!0MzO,5=ZO$NWQ!0MzO,59uO%!]Q!0MzO,5<kO%$hQ!0MzO,5<mO%&sQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%)UQ!0MxO7+&aO%)xQlO'#IfO%*VQ`O,5@cO%*_Q!fO,5@cOOQ!0Lf1G0P1G0PO%*iQ`O7+&jOOQ!0Lf7+&j7+&jO%*nQ?MtO,5:fO%[QlO7+&zO%*xQ?MtO,5:bO%+VQ?MtO,5:jO%+aQ?MtO,5:lO%+kQMhO'#IiO%+uQ`O,5@hOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%+}Q!jO,5<ZO!)[QlO,5<YOOQO-E<l-E<lOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%,YQ`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%,_Q!dO,59oOOOO-E<`-E<`OOQ!0Lh1G/X1G/XO%,fQ!0MxO7+'kOOQ!0Lh,5?^,5?^O%-YQMhO1G2fP%-aQ`O'#IrPOQ!0Lh-E<p-E<pO%-}QMjO,5?aOOQ!0Lh-E<s-E<sO%.pQMjO,5?cOOQ!0Lh-E<u-E<uO%.zQ!dO1G2wO%/RQ!dO'#CrO%/iQMhO'#KSO$$wQlO'#JvOOQ!0Lh1G2_1G2_O%/sQ`O'#IqO%0[Q`O,5@vO%0[Q`O,5@vO%0dQ`O,5@vO%0oQ`O,5@vOOQO1G2a1G2aO%0}QMjO1G2`O$+YQ`O'#K[O!,TQMhO1G2`O%1_Q(CWO'#IsO%1lQ`O,5@wO!&zQMhO,5@wO%1tQ!dO,5@wOOQ!0Lh1G2d1G2dO%4UQ!fO'#CiO%4`Q`O,5=POOQ!0Lb,5<},5<}O%4hQpO,5<}OOQ!0Lb,5=O,5=OOCwQ`O,5<}O%4sQpO,5<}OOQ!0Lb,5=R,5=RO$+YQ`O,5=VOOQO,5?`,5?`OOQO-E<r-E<rOOQ!0Lp1G2h1G2hO#$`QpO,5<}O$$wQlO,5=PO%5RQ`O,5=OO%5^QpO,5=OO!,TQMhO'#IuO%6WQMjO1G2sO!,TQMhO'#IwO%6yQMjO1G2uO%7TQMjO1G5qO%7_QMjO1G5qOOQO,5?e,5?eOOQO-E<w-E<wOOQO1G.{1G.{O!,TQMhO1G5qO!,TQMhO1G5qO!:]QpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%7lQ`O1G2ZO!,TQMhO1G2bO%7qQ!0MxO7+'mOOQ!0Lf7+'m7+'mO!$wQlO7+'mO%8eQ`O,5;`OOQ!0Lb,5?g,5?gOOQ!0Lb-E<y-E<yO%8jQ!dO'#K^O#(ZQ`O7+(eO4UQ!fO7+(eO$DfQ`O7+(eO%8tQ!0MvO'#CiO%9XQ!0MvO,5=SO%9lQ`O,5=SO%9tQ`O,5=SOOQ!0Lb1G5o1G5oOOQ[7+$a7+$aO!ByQ!0LrO7+$aO!CUQpO7+$aO!$wQlO7+&aO%9yQ`O'#JQO%:bQ`O,5APOOQO1G3h1G3hO9kQ`O,5APO%:bQ`O,5APO%:jQ`O,5APOOQO,5?m,5?mOOQO-E=P-E=POOQ!0Lf7+'T7+'TO%:oQ`O7+)QO9uQ!0LrO7+)QO9kQ`O7+)QO@zQ`O7+)QO%:tQ`O7+)QOOQ[7+)Q7+)QOOQ[7+(p7+(pO%:yQ!0MvO7+(mO!&zQMhO7+(mO!E^Q`O7+(nOOQ[7+(n7+(nO!&zQMhO7+(nO%;TQ`O'#KbO%;`Q`O,5=lOOQO,5?i,5?iOOQO-E<{-E<{OOQ[7+(s7+(sO%<rQpO'#HZOOQ[1G3`1G3`O!&zQMhO1G3`O%[QlO1G3`O%<yQ`O1G3`O%=UQMhO1G3`O9uQ!0LrO1G3bO$%dQ`O1G3bO9`Q`O1G3bO!CUQpO1G3bO!C^QMhO1G3bO%=dQ`O'#JPO%=xQ`O,5@}O%>QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-E<c-E<cOOQO,5?V,5?VOOQO-E<i-E<iO!CUQpO1G/sOOQO-E<e-E<eOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#(ZQ`O7+%uOOQ!0Lf7+&`7+&`O?YQ`O7+&`O!CUQpO7+&`OOQO7+%x7+%xO$AlQ!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%@nQ!0LrO7+&XO!ByQ!0LrO7+%xO!CUQpO7+%xO%@yQ!0LrO7+&XO%AXQ!0MxO7++rO%[QlO7++rO%AiQ`O7++qO%AiQ`O7++qOOQO1G4s1G4sO9eQ`O1G4sO%AqQ`O1G4sOOQS7+%}7+%}O#(ZQ`O<<LPO4UQ!fO<<LPO%BPQ`O<<LPOOQ[<<LP<<LPO!&zQMhO<<LPO%[QlO<<LPO%BXQ`O<<LPO%BdQ!0MzO,5?aO%DoQ!0MzO,5?cO%FzQ!0MzO1G2`O%I]Q!0MzO1G2sO%KhQ!0MzO1G2uO%MsQ!fO,5?QO%[QlO,5?QOOQO-E<d-E<dO%M}Q`O1G5}OOQ!0Lf<<JU<<JUO%NVQ?MtO1G0uO&!^Q?MtO1G1PO&!eQ?MtO1G1PO&$fQ?MtO1G1PO&$mQ?MtO1G1PO&&nQ?MtO1G1PO&(oQ?MtO1G1PO&(vQ?MtO1G1PO&(}Q?MtO1G1PO&+OQ?MtO1G1PO&+VQ?MtO1G1PO&+^Q!0MxO<<JfO&-UQ?MtO1G1PO&.RQ?MvO1G1PO&/UQ?MvO'#JlO&1[Q?MtO1G1cO&1iQ?MtO1G0UO&1sQMjO,5?TOOQO-E<g-E<gO!)[QlO'#FqOOQO'#KZ'#KZOOQO1G1u1G1uO&1}Q`O1G1tO&2SQ?MtO,5?[OOOW7+'h7+'hOOOO1G/Z1G/ZO&2^Q!dO1G4xOOQ!0Lh7+(Q7+(QP!&zQMhO,5?^O!,TQMhO7+(cO&2eQ`O,5?]O9eQ`O,5?]O$+YQ`O,5?]OOQO-E<o-E<oO&2sQ`O1G6bO&2sQ`O1G6bO&2{Q`O1G6bO&3WQMjO7+'zO&3hQ!dO,5?_O&3rQ`O,5?_O!&zQMhO,5?_OOQO-E<q-E<qO&3wQ!dO1G6cO&4RQ`O1G6cO&4ZQ`O1G2kO!&zQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%4hQpO1G2iO!CUQpO1G2iOCwQ`O1G2iOOQ!0Lb1G2q1G2qO&4`QpO1G2iO&4nQ`O1G2kO$+YQ`O1G2jOCwQ`O1G2jO$$wQlO1G2kO&4vQ`O1G2jO&5jQMjO,5?aOOQ!0Lh-E<t-E<tO&6]QMjO,5?cOOQ!0Lh-E<v-E<vO!,TQMhO7++]O&6gQMjO7++]O&6qQMjO7++]OOQ!0Lh1G/c1G/cO&7OQ`O1G/cOOQ!0Lh7+'u7+'uO&7TQMjO7+'|O&7eQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&8XQ`O1G0zO!&zQMhO'#IzO&8^Q`O,5@xO&:`Q!fO<<LPO!&zQMhO1G2nO&:gQ!0LrO1G2nOOQ[<<G{<<G{O!ByQ!0LrO<<G{O&:xQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?l,5?lO&;lQ`O,5?lO&;qQ`O,5?lOOQO-E=O-E=OO&<PQ`O1G6kO&<PQ`O1G6kO9kQ`O1G6kO@zQ`O<<LlOOQ[<<Ll<<LlO&<XQ`O<<LlO9uQ!0LrO<<LlO9kQ`O<<LlOOQ[<<LX<<LXO%:yQ!0MvO<<LXOOQ[<<LY<<LYO!E^Q`O<<LYO&<^QpO'#I|O&<iQ`O,5@|O!)[QlO,5@|OOQ[1G3W1G3WOOQO'#JO'#JOO9uQ!0LrO'#JOO&<qQpO,5=uOOQ[,5=u,5=uO&<xQpO'#EgO&=PQpO'#GeO&=UQ`O7+(zO&=ZQ`O7+(zOOQ[7+(z7+(zO!&zQMhO7+(zO%[QlO7+(zO&=cQ`O7+(zOOQ[7+(|7+(|O9uQ!0LrO7+(|O$%dQ`O7+(|O9`Q`O7+(|O!CUQpO7+(|O&=nQ`O,5?kOOQO-E<}-E<}OOQO'#H^'#H^O&=yQ`O1G6iO9uQ!0LrO<<GqOOQ[<<Gq<<GqO@zQ`O<<GqO&>RQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<<Ly<<LyOOQ[<<L{<<L{OOQ[-E=Q-E=QOOQ[1G3z1G3zO&>nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO?YQ`O<<IzOOQO<<Is<<IsO$AlQ!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!ByQ!0LrO<<IdO&?SQ!0LrO<<IsO&?_Q!0MxO<= ^O&?oQ`O<= ]OOQO7+*_7+*_O9eQ`O7+*_OOQ[ANAkANAkO&?wQ!fOANAkO!&zQMhOANAkO#(ZQ`OANAkO4UQ!fOANAkO&@OQ`OANAkO%[QlOANAkO&@WQ!0MzO7+'zO&BiQ!0MzO,5?aO&DtQ!0MzO,5?cO&GPQ!0MzO7+'|O&IbQ!fO1G4lO&IlQ?MtO7+&aO&KpQ?MvO,5=XO&MwQ?MvO,5=ZO&NXQ?MvO,5=XO&NiQ?MvO,5=ZO&NyQ?MvO,59uO'#PQ?MvO,5<kO'%SQ?MvO,5<mO''hQ?MvO,5<{O')^Q?MtO7+'kO')kQ?MtO7+'mO')xQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*d7+*dO')}QMjO<<K}OOQO1G4w1G4wO'*UQ`O1G4wO'*aQ`O1G4wO'*oQ`O7++|O'*oQ`O7++|O!&zQMhO1G4yO'*wQ!dO1G4yO'+RQ`O7++}O'+ZQ`O7+(VO'+fQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!CUQpO7+(TOCwQ`O7+(TO'+pQ`O7+(VO!&zQMhO7+(VO$+YQ`O7+(UO'+uQ`O7+(VOCwQ`O7+(UO'+}QMjO<<NwO!,TQMhO<<NwOOQ!0Lh7+$}7+$}O',XQ!dO,5?fOOQO-E<x-E<xO',cQ!0MvO7+(YO!&zQMhO7+(YOOQ[AN=gAN=gO9kQ`O1G5WOOQO1G5W1G5WO',sQ`O1G5WO',xQ`O7+,VO',xQ`O7+,VO9uQ!0LrOANBWO@zQ`OANBWOOQ[ANBWANBWO'-QQ`OANBWOOQ[ANAsANAsOOQ[ANAtANAtO'-VQ`O,5?hOOQO-E<z-E<zO'-bQ?MtO1G6hOOQO,5?j,5?jOOQO-E<|-E<|OOQ[1G3a1G3aO'-lQ`O,5=POOQ[<<Lf<<LfO!&zQMhO<<LfO&=UQ`O<<LfO'-qQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9uQ!0LrO<<LhO$%dQ`O<<LhO9`Q`O<<LhO'-yQpO1G5VO'.UQ`O7+,TOOQ[AN=]AN=]O9uQ!0LrOAN=]OOQ[<= r<= rOOQ[<= s<= sO'.^Q`O<= rO'.cQ`O<= sOOQ[<<Lq<<LqO'.hQ`O<<LqO'.mQlO<<LqOOQ[1G3{1G3{O?YQ`O7+)lO'.tQ`O<<JQO'/PQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$AlQ!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<My<<MyOOQ[G27VG27VO!&zQMhOG27VO#(ZQ`OG27VO'/ZQ!fOG27VO4UQ!fOG27VO'/bQ`OG27VO'/jQ?MtO<<JfO'/wQ?MvO1G2`O'1mQ?MvO,5?aO'3pQ?MvO,5?cO'5sQ?MvO1G2sO'7vQ?MvO1G2uO'9yQ?MtO<<KXO':WQ?MtO<<I{OOQO1G1w1G1wO!,TQMhOANAiOOQO7+*c7+*cO':eQ`O7+*cO':pQ`O<= hO':xQ!dO7+*eOOQ!0Lb<<Kq<<KqO$+YQ`O<<KqOCwQ`O<<KqO';SQ`O<<KqO!&zQMhO<<KqOOQ!0Lb<<Ko<<KoO!CUQpO<<KoO';_Q!dO<<KqOOQ!0Lb<<Kp<<KpO';iQ`O<<KqO!&zQMhO<<KqO$+YQ`O<<KpO';nQMjOANDcO';xQ!0MvO<<KtOOQO7+*r7+*rO9kQ`O7+*rO'<YQ`O<= qOOQ[G27rG27rO9uQ!0LrOG27rO@zQ`OG27rO!)[QlO1G5SO'<bQ`O7+,SO'<jQ`O1G2kO&=UQ`OANBQOOQ[ANBQANBQO!&zQMhOANBQO'<oQ`OANBQOOQ[ANBSANBSO9uQ!0LrOANBSO$%dQ`OANBSOOQO'#H_'#H_OOQO7+*q7+*qOOQ[G22wG22wOOQ[ANE^ANE^OOQ[ANE_ANE_OOQ[ANB]ANB]O'<wQ`OANB]OOQ[<<MW<<MWO!)[QlOAN?lOOQOG24yG24yO$AlQ!0MxOG24yO#(ZQ`OLD,qOOQ[LD,qLD,qO!&zQMhOLD,qO'<|Q!fOLD,qO'=TQ?MvO7+'zO'>yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<<M}<<M}OOQ!0LbANA]ANA]O$+YQ`OANA]OCwQ`OANA]O'EVQ!dOANA]OOQ!0LbANAZANAZO'E^Q`OANA]O!&zQMhOANA]O'EiQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N^<<N^OOQ[LD-^LD-^O9uQ!0LrOLD-^O'EsQ?MtO7+*nOOQO'#Gf'#GfOOQ[G27lG27lO&=UQ`OG27lO!&zQMhOG27lOOQ[G27nG27nO9uQ!0LrOG27nOOQ[G27wG27wO'E}Q?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#(ZQ`O!$(!]O!&zQMhO!$(!]O'FXQ!0MzOG27TOOQ!0LbG26wG26wO$+YQ`OG26wO'HjQ`OG26wOCwQ`OG26wO'HuQ!dOG26wO!&zQMhOG26wOOQ[!$(!x!$(!xOOQ[LD-WLD-WO&=UQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#(ZQ`O!)9EwOOQ!0LbLD,cLD,cO$+YQ`OLD,cOCwQ`OLD,cO'H|Q`OLD,cO'IXQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'I`Q?MvOG27TOOQ!0Lb!$( }!$( }O$+YQ`O!$( }OCwQ`O!$( }O'KUQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$+YQ`O!)9EiOCwQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$+YQ`O!.K;TOOQ!0Lb!4/0o!4/0oO!)[QlO'#DzO1PQ`O'#EXO'KaQ!fO'#JrO'KhQ!L^O'#DvO'KoQlO'#EOO'KvQ!fO'#CiO'N^Q!fO'#CiO!)[QlO'#EQO'NnQlO,5;ZO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO'#IpO(!qQ`O,5<iO!)[QlO,5;eO(!yQMhO,5;eO($dQMhO,5;eO!)[QlO,5;wO!&zQMhO'#GmO(!yQMhO'#GmO!&zQMhO'#GoO(!yQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&zQMhO'#GPO(!yQMhO'#GPO!&zQMhO'#GRO(!yQMhO'#GRO!&zQMhO'#GaO(!yQMhO'#GaO!)[QlO,5:jO($kQpO'#D_O($uQpO'#JvO!)[QlO,5@oO'NnQlO1G0uO(%PQ?MtO'#CiO!)[QlO1G2PO!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO(%ZQ!dO'#CrO!&zQMhO,5<tO(!yQMhO,5<tO'NnQlO1G2RO!)[QlO7+&zO!&zQMhO1G2`O(!yQMhO1G2`O!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO!&zQMhO1G2bO(!yQMhO1G2bO'NnQlO7+'mO'NnQlO7+&aO!&zQMhOANAiO(!yQMhOANAiO(%nQ`O'#EoO(%sQ`O'#EoO(%{Q`O'#F]O(&QQ`O'#EyO(&VQ`O'#KTO(&bQ`O'#KRO(&mQ`O,5;ZO(&rQMjO,5<eO(&yQ`O'#GYO('OQ`O'#GYO('TQ`O,5<eO(']Q`O,5<gO('eQ`O,5;ZO('mQ?MtO1G1`O('tQ`O,5<tO('yQ`O,5<tO((OQ`O,5<vO((TQ`O,5<vO((YQ`O1G2RO((_Q`O1G0uO((dQMjO<<K}O((kQMjO<<K}O((rQMhO'#F|O9`Q`O'#F{OAuQ`O'#EnO!)[QlO,5;tO!3oQ`O'#GYO!3oQ`O'#GYO!3oQ`O'#G[O!3oQ`O'#G[O!,TQMhO7+(cO!,TQMhO7+(cO%.zQ!dO1G2wO%.zQ!dO1G2wO!&zQMhO,5=]O!&zQMhO,5=]",stateData:"()x~O'|OS'}OSTOS(ORQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&W!WO&^!XO&`!YO&b!ZO&d![O&g!]O&m!^O&s!_O&u!`O&w!aO&y!bO&{!cO(TSO(VTO(YUO(aVO(o[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O(O!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'z]X(a]X(r]X(y]X(z]X~O!g%RX~P(qO_!}O(V#PO(W!}O(X#PO~O_#QO(X#PO(Y#PO(Z#QO~Ox#SO!U#TO(b#TO(c#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T<ZO(VTO(YUO(aVO(o[O~O![#ZO!]#WO!Y(hP!Y(vP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(VTO(YUO(aVO(o[O~Op#mO![#iO!|]O#i#lO#j#iO(T<[O!k(sP~P.iO!l#oO(T#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa(fX'z(fX'w(fX!k(fX!Y(fX!_(fX%i(fX!g(fX~P1qO#S$dO#`$eO$Q$eOP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX!_(gX%i(gX~Oa(gX'z(gX'w(gX!Y(gX!k(gXv(gX!g(gX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%dOk%dOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T$sO(VTO(YUO(a$uO(y$}O(z%POg(^P~Ol%[O~P7eO!l%eO~O!S%hO!_%iO(T%gO~O!g%mO~Oa%nO'z%nO~O!Q%rO~P%[O(U!lO~P%[O%n%vO~P%[Oh%VO!l%eO(T%gO(U!lO~Oe%}O!l%eO(T%gO~Oj$RO~O!_&PO(T%gO(U!lO(VTO(YUO`)WP~O!Q&SO!l&RO%j&VO&T&WO~P;SO!x#sO~O%s&YO!S)SX!_)SX(T)SX~O(T&ZO~Ol!PO!u&`O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&eOe&dO!x&bO%h&cO%{&aO~P<bOd&hOeyOl!PO!_&gO!u&`O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&kO#`&nO%j&iO(U!lO~P=gO!l&oO!u&sO~O!l#oO~O!_XO~Oa%nO'x&{O'z%nO~Oa%nO'x'OO'z%nO~Oa%nO'x'QO'z%nO~O'w]X!Y]Xv]X!k]X&[]X!_]X%i]X!g]X~P(qO!b'_O!c'WO!d'WO(U!lO(VTO(YUO~Os'UO!S'TO!['XO(e'SO!^(iP!^(xP~P@nOn'bO!_'`O(T%gO~Oe'gO!l%eO(T%gO~O!Q&SO!l&RO~Os!nO!S!oO!|<VO#T!pO#U!pO#W!pO#X!pO(U!lO(VTO(YUO(e!mO(o!sO~O!b'mO!c'lO!d'lO#V!pO#['nO#]'nO~PBYOa%nOh%VO!g#vO!l%eO'z%nO(r'pO~O!p'tO#`'rO~PChOs!nO!S!oO(VTO(YUO(e!mO(o!sO~O!_XOs(mX!S(mX!b(mX!c(mX!d(mX!|(mX#T(mX#U(mX#V(mX#W(mX#X(mX#[(mX#](mX(U(mX(V(mX(Y(mX(e(mX(o(mX~O!c'lO!d'lO(U!lO~PDWO(P'xO(Q'xO(R'zO~O_!}O(V'|O(W!}O(X'|O~O_#QO(X'|O(Y'|O(Z#QO~Ov(OO~P%[Ox#SO!U#TO(b#TO(c(RO~O![(TO!Y'WX!Y'^X!]'WX!]'^X~P+}O!](VO!Y(hX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](VO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~O!Y(hX~PHRO!Y([O~O!Y(uX!](uX!g(uX!k(uX(r(uX~O#`(uX#k#dX!^(uX~PJUO#`(]O!Y(wX!](wX~O!](^O!Y(vX~O!Y(aO~O#`$eO~PJUO!^(bO~P`OR#zO!Q#yO!S#{O!l#xO(aVOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(r!na(y!na(z!na~Oa!na'z!na'w!na!Y!na!k!nav!na!_!na%i!na!g!na~PKlO!k(cO~O!g#vO#`(dO(r'pO!](tXa(tX'z(tX~O!k(tX~PNXO!S%hO!_%iO!|]O#i(iO#j(hO(T%gO~O!](jO!k(sX~O!k(lO~O!S%hO!_%iO#j(hO(T%gO~OP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~O!g#vO!k(gX~P! uOR(nO!Q(mO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(T!{a~P!#vO!x(rO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~O#k(xO~O![(zO!k(kP~P%[O(e(|O(o[O~O!S)OO!l#xO(e(|O(o[O~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S*YO!_*ZO!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op*`O![*^O(T*XO!k)OP~P!1uO#k*aO~O!l*bO~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T*dO(VTO(YUO(a$uO(y$}O(z%PO~O![*gO!Y)PP~P!3tOr*sOs!nO!S*iO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO(e!mO~O!^*pO~P!5iO#S$dOn(`X!Q(`X'y(`X(y(`X(z(`X!](`X#`(`X~Og(`X$O(`X~P!6kOn*xO#`*wOg(_X!](_X~O!]*yOg(^X~Oj%dOk%dOl%dO(T&ZOg(^P~Os*|O~Og)}O(T&ZO~O!l+SO~O(T(vO~Op+WO!S%hO![#iO!_%iO!|]O#i#lO#j#iO(T%gO!k(sP~O!g#vO#k+XO~O!S%hO![+ZO!](^O!_%iO(T%gO!Y(vP~Os'[O!S+]O![+[O(VTO(YUO(e(|O~O!^(xP~P!9|O!]+^Oa)TX'z)TX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa!ja!]!ja'z!ja'w!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:tOR#zO!Q#yO!S#{O!l#xO(aVOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(r!ra(y!ra(z!ra~Oa!ra'z!ra'w!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!=[OR#zO!Q#yO!S#{O!l#xO(aVOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(r!ta(y!ta(z!ta~Oa!ta'z!ta'w!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?rOh%VOn+gO!_'`O%i+fO~O!g+iOa(]X!_(]X'z(]X!](]X~Oa%nO!_XO'z%nO~Oh%VO!l%eO~Oh%VO!l%eO(T%gO~O!g#vO#k(xO~Ob+tO%j+uO(T+qO(VTO(YUO!^)XP~O!]+vO`)WX~O[+zO~O`+{O~O!_&PO(T%gO(U!lO`)WP~O%j,OO~P;SOh%VO#`,SO~Oh%VOn,VO!_$|O~O!_,XO~O!Q,ZO!_XO~O%n%vO~O!x,`O~Oe,eO~Ob,fO(T#nO(VTO(YUO!^)VP~Oe%}O~O%j!QO(T&ZO~P=gO[,kO`,jO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(VTO(YUO(aVO(o[O~O!_!eO!u!gO$W!kO(T!dO~P!FyO`,jOa%nO'z%nO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa,pOl!OO!uwO%l!OO%m!OO%n!OO~P!IcO!l&oO~O&^,vO~O!_,xO~O&o,zO&q,{OP&laQ&laS&laY&laa&lad&lae&lal&lap&lar&las&lat&laz&la|&la!O&la!S&la!W&la!X&la!_&la!i&la!l&la!o&la!p&la!q&la!s&la!u&la!x&la!|&la$W&la$n&la%h&la%j&la%l&la%m&la%n&la%q&la%s&la%v&la%w&la%y&la&W&la&^&la&`&la&b&la&d&la&g&la&m&la&s&la&u&la&w&la&y&la&{&la'w&la(T&la(V&la(Y&la(a&la(o&la!^&la&e&lab&la&j&la~O(T-QO~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P#!iO!g-VO#`-UOh(jX!]#hX!^#hX!g(jX!l(jX~O!](jX!^(jX~P##[Oh%VO!g-XO!l%eO!]!aX!^!aX~Os!nO!S!oO(VTO(YUO(e!mO~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO#z<gO#{<hO(aVO(r$YO(y#|O(z#}O~O$O.{O~P#BwO#S$dO#`<nO$Q<nO$O(gX!^(gX~P! uOa'da!]'da'z'da'w'da!k'da!Y'dav'da!_'da%i'da!g'da~P!:tO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO(y#mi(z#mi~P#EyOn>]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]<iO!^(fX~P#BwO!^/ZO~O!g)hO$f({X~O$f/]O~Ov/^O~P!&zOx)yO(b)zO(c/aO~O!S/dO~O(y$}On%aa!Q%aa'y%aa(z%aa!]%aa#`%aa~Og%aa$O%aa~P#L{O(z%POn%ca!Q%ca'y%ca(y%ca!]%ca#`%ca~Og%ca$O%ca~P#MnO!]fX!gfX!kfX!k$zX(rfX~P!0SOp%WO![/mO!](^O(T/lO!Y(vP!Y)PP~P!1uOr*sO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO~Os<}O!S/nO![+[O!^*pO(e<|O!^(xP~P$ [O!k/oO~P#/sO!]/pO!g#vO(r'pO!k)OX~O!k/uO~OnoX!QoX'yoX(yoX(zoX~O!g#vO!koX~P$#OOp/wO!S%hO![*^O!_%iO(T%gO!k)OP~O#k/xO~O!Y$zX!]$zX!g%RX~P!0SO!]/yO!Y)PX~P#/sO!g/{O~O!Y/}O~OpkO(T0OO~P.iOh%VOr0TO!g#vO!l%eO(r'pO~O!g+iO~Oa%nO!]0XO'z%nO~O!^0ZO~P!5iO!c0[O!d0[O(U!lO~P#$`Os!nO!S0]O(VTO(YUO(e!mO~O#[0_O~Og%aa!]%aa#`%aa$O%aa~P!1WOg%ca!]%ca#`%ca$O%ca~P!1WOj%dOk%dOl%dO(T&ZOg'mX!]'mX~O!]*yOg(^a~Og0hO~On0jO#`0iOg(_a!](_a~OR0kO!Q0kO!S0lO#S$dOn}a'y}a(y}a(z}a!]}a#`}a~Og}a$O}a~P$(cO!Q*OO'y*POn$sa(y$sa(z$sa!]$sa#`$sa~Og$sa$O$sa~P$)_O!Q*OO'y*POn$ua(y$ua(z$ua!]$ua#`$ua~Og$ua$O$ua~P$*QO#k0oO~Og%Ta!]%Ta#`%Ta$O%Ta~P!1WO!g#vO~O#k0rO~O!]+^Oa)Ta'z)Ta~OR#zO!Q#yO!S#{O!l#xO(aVOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(r!ri(y!ri(z!ri~Oa!ri'z!ri'w!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$+oOh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op0{O%]0|O(T0zO~P$.VO!g+iOa(]a!_(]a'z(]a!](]a~O#k1SO~O[]X!]fX!^fX~O!]1TO!^)XX~O!^1VO~O[1WO~Ob1YO(T+qO(VTO(YUO~O!_&PO(T%gO`'uX!]'uX~O!]+vO`)Wa~O!k1]O~P!:tO[1`O~O`1aO~O#`1fO~On1iO!_$|O~O(e(|O!^)UP~Oh%VOn1rO!_1oO%i1qO~O[1|O!]1zO!^)VX~O!^1}O~O`2POa%nO'z%nO~O(T#nO(VTO(YUO~O#S$dO#`$eO$Q$eOP(gXR(gX[(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~Oj2SO&[2TOa(gX~P$3pOj2SO#`$eO&[2TO~Oa2VO~P%[Oa2XO~O&e2[OP&ciQ&ciS&ciY&cia&cid&cie&cil&cip&cir&cis&cit&ciz&ci|&ci!O&ci!S&ci!W&ci!X&ci!_&ci!i&ci!l&ci!o&ci!p&ci!q&ci!s&ci!u&ci!x&ci!|&ci$W&ci$n&ci%h&ci%j&ci%l&ci%m&ci%n&ci%q&ci%s&ci%v&ci%w&ci%y&ci&W&ci&^&ci&`&ci&b&ci&d&ci&g&ci&m&ci&s&ci&u&ci&w&ci&y&ci&{&ci'w&ci(T&ci(V&ci(Y&ci(a&ci(o&ci!^&cib&ci&j&ci~Ob2bO!^2`O&j2aO~P`O!_XO!l2dO~O&q,{OP&liQ&liS&liY&lia&lid&lie&lil&lip&lir&lis&lit&liz&li|&li!O&li!S&li!W&li!X&li!_&li!i&li!l&li!o&li!p&li!q&li!s&li!u&li!x&li!|&li$W&li$n&li%h&li%j&li%l&li%m&li%n&li%q&li%s&li%v&li%w&li%y&li&W&li&^&li&`&li&b&li&d&li&g&li&m&li&s&li&u&li&w&li&y&li&{&li'w&li(T&li(V&li(Y&li(a&li(o&li!^&li&e&lib&li&j&li~O!Y2jO~O!]!aa!^!aa~P#BwOs!nO!S!oO![2pO(e!mO!]'XX!^'XX~P@nO!]-]O!^(ia~O!]'_X!^'_X~P!9|O!]-`O!^(xa~O!^2wO~P'_Oa%nO#`3QO'z%nO~Oa%nO!g#vO#`3QO'z%nO~Oa%nO!g#vO!p3UO#`3QO'z%nO(r'pO~Oa%nO'z%nO~P!:tO!]$_Ov$qa~O!Y'Wi!]'Wi~P!:tO!](VO!Y(hi~O!](^O!Y(vi~O!Y(wi!](wi~P!:tO!](ti!k(tia(ti'z(ti~P!:tO#`3WO!](ti!k(tia(ti'z(ti~O!](jO!k(si~O!S%hO!_%iO!|]O#i3]O#j3[O(T%gO~O!S%hO!_%iO#j3[O(T%gO~On3dO!_'`O%i3cO~Oh%VOn3dO!_'`O%i3cO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aav%aa!_%aa%i%aa!g%aa~P#L{O#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%cav%ca!_%ca%i%ca!g%ca~P#MnO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/sO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/sO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'z}a(a}a(r}a!k}a!Y}a'w}av}a!_}a%i}a!g}a~P$(cO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'z$sa(a$sa(r$sa!k$sa!Y$sa'w$sav$sa!_$sa%i$sa!g$sa~P$)_O#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'z$ua(a$ua(r$ua!k$ua!Y$ua'w$uav$ua!_$ua%i$ua!g$ua~P$*QO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'z%Ta(a%Ta(r%Ta!k%Ta!Y%Ta'w%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/sOa#cq!]#cq'z#cq'w#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:tO![3lO!]'YX!k'YX~P%[O!].tO!k(ka~O!].tO!k(ka~P!:tO!Y3oO~O$O!na!^!na~PKlO$O!ja!]!ja!^!ja~P#BwO$O!ra!^!ra~P!=[O$O!ta!^!ta~P!?rOg']X!]']X~P!,TO!]/POg(pa~OSfO!_4TO$d4UO~O!^4YO~Ov4ZO~P#/sOa$mq!]$mq'z$mq'w$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:tO!Y4]O~P!&zO!S4^O~O!Q*OO'y*PO(z%POn'ia(y'ia!]'ia#`'ia~Og'ia$O'ia~P%-fO!Q*OO'y*POn'ka(y'ka(z'ka!]'ka#`'ka~Og'ka$O'ka~P%.XO(r$YO~P#/sO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!0SOp%WO(T=WO~P!1uOp4bO!S%hO![4aO!_%iO(T%gO!]'eX!k'eX~O!]/pO!k)Oa~O!]/pO!g#vO!k)Oa~O!]/pO!g#vO(r'pO!k)Oa~Og$|i!]$|i#`$|i$O$|i~P!1WO![4jO!Y'gX!]'gX~P!3tO!]/yO!Y)Pa~O!]/yO!Y)Pa~P#/sOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~Oj%YX!g%YX~P%2OOj4oO!g#vO~Oh%VO!g#vO!l%eO~Oh%VOr4tO!l%eO(r'pO~Or4yO!g#vO(r'pO~Os!nO!S4zO(VTO(YUO(e!mO~O(y$}On%ai!Q%ai'y%ai(z%ai!]%ai#`%ai~Og%ai$O%ai~P%5oO(z%POn%ci!Q%ci'y%ci(y%ci!]%ci#`%ci~Og%ci$O%ci~P%6bOg(_i!](_i~P!1WO#`5QOg(_i!](_i~P!1WO!k5VO~Oa$oq!]$oq'z$oq'w$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:tO!Y5ZO~O!]5[O!_)QX~P#/sOa$zX!_$zX%^]X'z$zX!]$zX~P!0SO%^5_OaoX!_oX'zoX!]oX~P$#OOp5`O(T#nO~O%^5_O~Ob5fO%j5gO(T+qO(VTO(YUO!]'tX!^'tX~O!]1TO!^)Xa~O[5kO~O`5lO~O[5pO~Oa%nO'z%nO~P#/sO!]5uO#`5wO!^)UX~O!^5xO~Or6OOs!nO!S*iO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!pO#W!pO#X!pO#[5}O#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O!^5|O~P%;eOn6TO!_1oO%i6SO~Oh%VOn6TO!_1oO%i6SO~Ob6[O(T#nO(VTO(YUO!]'sX!^'sX~O!]1zO!^)Va~O(VTO(YUO(e6^O~O`6bO~Oj6eO&[6fO~PNXO!k6gO~P%[Oa6iO~Oa6iO~P%[Ob2bO!^6nO&j2aO~P`O!g6pO~O!g6rOh(ji!](ji!^(ji!g(ji!l(jir(ji(r(ji~O!]#hi!^#hi~P#BwO#`6sO!]#hi!^#hi~O!]!ai!^!ai~P#BwOa%nO#`6|O'z%nO~Oa%nO!g#vO#`6|O'z%nO~O!](tq!k(tqa(tq'z(tq~P!:tO!](jO!k(sq~O!S%hO!_%iO#j7TO(T%gO~O!_'`O%i7WO~On7[O!_'`O%i7WO~O#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'z'ia(a'ia(r'ia!k'ia!Y'ia'w'iav'ia!_'ia%i'ia!g'ia~P%-fO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'z'ka(a'ka(r'ka!k'ka!Y'ka'w'kav'ka!_'ka%i'ka!g'ka~P%.XO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'z$|i(a$|i(r$|i!k$|i!Y$|i'w$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/sO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'z%ai(a%ai(r%ai!k%ai!Y%ai'w%aiv%ai!_%ai%i%ai!g%ai~P%5oO#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'z%ci(a%ci(r%ci!k%ci!Y%ci'w%civ%ci!_%ci%i%ci!g%ci~P%6bO!]'Ya!k'Ya~P!:tO!].tO!k(ki~O$O#ci!]#ci!^#ci~P#BwOP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#n#mi~P%NdO#n<_O~P%NdOP$[OR#zOr<kO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#r#mi~P&!lO#r<aO~P&!lOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO(aVO#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#v#mi~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO(aVO(z#}O#z#mi#{#mi$O#mi(r#mi(y#mi!]#mi!^#mi~O#x<eO~P&&uO#x#mi~P&&uO#v<cO~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO(aVO(y#|O(z#}O#{#mi$O#mi(r#mi!]#mi!^#mi~O#z#mi~P&)UO#z<gO~P&)UOa#|y!]#|y'z#|y'w#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:tO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO(y#mi(z#mi~P&,QOn>^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOr<QO!g#vO(r'pO~Ov(fX~P1qO!Q%rO~P!)[O(U!lO~P!)[O!YfX!]fX#`fX~P%2OOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~O!gfX!k]X!kfX(rfX~P'LTOP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_XO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]<iO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<tO!S${O!_$|O!i>WO!l$xO#j<zO$W%`O$t<vO$v<xO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Ol)dO~P(!yOr!eX(r!eX~P#!iOr(jX(r(jX~P##[O!^]X!^fX~P'LTO!YfX!Y$zX!]fX!]$zX#`fX~P!0SO#k<^O~O!g#vO#k<^O~O#`<nO~Oj<bO~O#`=OO!](wX!^(wX~O#`<nO!](uX!^(uX~O#k=PO~Og=RO~P!1WO#k=XO~O#k=YO~Og=RO(T&ZO~O!g#vO#k=ZO~O!g#vO#k=PO~O$O=[O~P#BwO#k=]O~O#k=^O~O#k=cO~O#k=dO~O#k=eO~O#k=fO~O$O=gO~P!1WO$O=hO~P!1WOl=sO~P7eOk#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~(OT#o!X'|(U#ps#n#qr!Q'}$]'}(T$_(e~",goto:"$9Y)]PPPPPP)^PP)aP)rP+W/]PPPP6mPP7TPP=QPPP@tPA^PA^PPPA^PCfPA^PA^PA^PCjPCoPD^PIWPPPI[PPPPI[L_PPPLeMVPI[PI[PP! eI[PPPI[PI[P!#lI[P!'S!(X!(bP!)U!)Y!)U!,gPPPPPPP!-W!(XPP!-h!/YP!2iI[I[!2n!5z!:h!:h!>gPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#<e#<k#<n)aP#<q)aP#<z#<z#<zP)aP)aP)aP)aPP)aP#=Q#=TP#=T)aP#=XP#=[P)aP)aP)aP)aP)aP)a)aPP#=b#=h#=s#=y#>P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{<Y%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_S#q]<V!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU+P%]<s<tQ+t&PQ,f&gQ,m&oQ0x+gQ0}+iQ1Y+uQ2R,kQ3`.gQ5`0|Q5f1TQ6[1zQ7Y3dQ8`5gR9e7['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>R>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o>U<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hW%Ti%V*y>PS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^T)z$u){V+P%]<s<tW'[!e%i*Z-`S(}#y#zQ+c%rQ+y&SS.b(m(nQ1j,XQ5T0kR8i5u'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vS(o#p'iQ)P#zS+b%q.|S.c(n(pR3^.d'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS#q]<VQ&t!XQ&u!YQ&w![Q&x!]R2Z,vQ'a!hQ+e%wQ-h'cS.e(q+hQ2x-gW3b.h.i0w0yQ6w2yW7U3_3a3e5^U9a7V7X7ZU:q9c9d9fS;b:p:sQ;p;cR;x;qU!wQ'`-eT5y1o5{!Q_OXZ`st!V!Z#d#h%e%m&i&k&r&t&u&w(j,s,x.[2[2_]!pQ!r'`-e1o5{T#q]<V%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S(}#y#zS.b(m(n!s=l$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uS<P;|;}R<S<QQ#wbQ's!uS(e#g2US(g#m+WQ+Y%fQ+j%xQ+p&OU-r'k't'wQ.W(fU/r*]*`/wQ0S*jQ0V*lQ1O+kQ1u,aS3R-s-vQ3Z.`S4e/s/tQ4n0PS4q0R0^Q4u0WQ6W1vQ7P3US7q4`4bQ7u4fU7|4r4x4{Q8P4wQ8v6XS9q7r7sQ9u7yQ9}8RQ:O8SQ:c8wQ:y9rS:z9v9xQ;S:QQ;^:dS;f:{;PS;r;g;hS;z;s;uS<O;{;}Q<R<PQ<T<SQ=o=jQ={=tR=|=uV!wQ'`-e%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S#wz!j!r=i$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!P<d)^)q-Z.|2k2n3p3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!f$Vc#Y%q(S(Y(t(y)W)X)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!T<f)^)q-Z.|2k2n3p3v3w3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!^$Zc#Y%q(S(Y(t(y)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<WQ4_/kz>S)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^Q+T%aQ/c*Oo4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!U$yi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n=r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hQ=w>TQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hnoOXst!Z#d%m&r&t&u&w,s,x2[2_S*f${*YQ-R'OQ-S'QR4i/y%[%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f<o#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<p<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!d=S(u)c*[*e.j.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f<q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!h=U(u)c*[*e.k.l.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|<jQ-|<WR<j)qQ/q*]W4c/q4d7t9sU4d/r/s/tS7t4e4fR9s7u$e*Q$v(u)c)e*[*e*t*u+Q+R+V.l.m.o.p.q/_/g/i/k/v/|0d0e0v1e3f3g3h3}4R4[4g4h4l4|5O5R5S5W5r7]7^7_7`7e7f7h7i7j7p7w7z8U8X8Z9h9i9j9t9|:R:S:t:u:v:w:x:};R;e;j;v;y=p=}>O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.l<oQ.m<qQ.o<uQ.p<wQ.q<yQ/_)yQ/g*RQ/i*TQ/k*VQ/v*aS/|*g/mQ0d*wQ0e*xl0v+f,V.f1i1q3c6S7W8q9b:`:r;[;dQ1e,SQ3f=SQ3g=UQ3h=XS3}<l<mQ4R/PS4[/d4^Q4g/xQ4h/yQ4l/{Q4|0`Q5O0bQ5R0iQ5S0jQ5W0oQ5r1fQ7]=]Q7^=_Q7_=aQ7`=cQ7e<pQ7f<rQ7h<vQ7i<xQ7j<zQ7p4_Q7w4jQ7z4oQ8U5QQ8X5[Q8Z5_Q9h=YQ9i=TQ9j=VQ9t7vQ9|8QQ:R8VQ:S8[Q:t=^Q:u=`Q:v=bQ:w=dQ:x9pQ:}9yQ;R:PQ;e=gQ;j;QQ;v;kQ;y=hQ=p>PQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.n<sR7g<tnpOXst!Z#d%m&r&t&u&w,s,x2[2_Q!fPS#fZ#oQ&|!`W'h!o*i0]4zQ(P#SQ)Q#{Q)r$nS,l&k&nQ,q&oQ-O&{S-T'T/nQ-g'bQ.x)OQ/[)sQ0s+]Q0y+gQ2W,pQ2y-iQ3a.gQ4W/VQ5U0lQ6Q1rQ6c2SQ6d2TQ6h2VQ6j2XQ6o2aQ7Z3dQ7m4TQ8s6TQ9P6eQ9Q6fQ9S6iQ9f7[Q:a8tR:k9T#[cOPXZst!Z!`!o#d#o#{%m&k&n&o&r&t&u&w&{'T'b)O*i+]+g,p,s,x-i.g/n0]0l1r2S2T2V2X2[2_2a3d4z6T6e6f6i7[8t9TQ#YWQ#eYQ%quQ%svS%uw!gS(S#W(VQ(Y#ZQ(t#uQ(y#xQ)R$OQ)S$PQ)T$QQ)U$RQ)V$SQ)W$TQ)X$UQ)Y$VQ)Z$WQ)[$XQ)^$ZQ)`$_Q)b$aQ)g$eW)q$n)s/V4TQ+d%tQ+x&RS-Z'X2pQ-x'rS-}(T.PQ.S(]Q.U(dQ.s(xQ.v(zQ.z<UQ.|<XQ.}<YQ/O<]Q/b)}Q0p+XQ2k-UQ2n-XQ3O-qQ3V.VQ3k.tQ3p<^Q3q<_Q3r<`Q3s<aQ3t<bQ3u<cQ3v<dQ3w<eQ3x<fQ3y<gQ3z<hQ3{.{Q3|<kQ4P<nQ4Q<{Q4X<iQ5X0rQ5c1SQ6u=OQ6{3QQ7Q3WQ7a3lQ7b=PQ7k=RQ7l=ZQ8k5wQ9X6sQ9]6|Q9g=[Q9m=eQ9n=fQ:o9_Q;W:ZQ;`:mQ<W#SR=v>SR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i<VR)f$dY!uQ'`-e1o5{Q'k!rS'u!v!yS'w!z5}S-t'l'mQ-v'nR3T-uT#kZ%eS#jZ%eS%km,oU(g#h#i#lS.Y(h(iQ.^(jQ0t+^Q3Y.ZU3Z.[.]._S7S3[3]R9`7Td#^W#W#Z%h(T(^*Y+Z.T/mr#gZm#h#i#l%e(h(i(j+^.Z.[.]._3[3]7TS*]$x*bQ/t*^Q2U,oQ2l-VQ4`/pQ6q2dQ7s4aQ9W6rT=m'X+[V#aW%h*YU#`W%h*YS(U#W(^U(Z#Z+Z/mS-['X+[T.O(T.TV'^!e%i*ZQ$lfR)x$qT)m$l)nR4V/UT*_$x*bT*h${*YQ0w+fQ1g,VQ3_.fQ5t1iQ6P1qQ7X3cQ8r6SQ9c7WQ:^8qQ:p9bQ;Z:`Q;c:rQ;n;[R;q;dnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&l!VR,h&itmOXst!U!V!Z#d%m&i&r&t&u&w,s,x2[2_R,o&oT%lm,oR1k,XR,g&gQ&U|S+}&V&WR1^,OR+s&PT&p!W&sT&q!W&sT2^,x2_",nodeNames:"⚠ ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:y5,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[P5],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Wp(Z!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Z!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(o%1l(Wp(Z!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Wp(Z!b$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Wp(Z!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Wp(Z!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(z+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(Y';W$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(WpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Wp(Z!b(U%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Wp(Z!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Wp(Z!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Wp(Z!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Wp(Z!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Z!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Wp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Wp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Wp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Wp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(WpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(WpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Wp(Z!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Wp(Z!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Wp(Z!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Wp(Z!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Wp(Z!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Wp(Z!b(O0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Wp(Z!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Z!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Z!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(WpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(WpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Wp(Z!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Wp(Z!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(r(Ct$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Wp(Z!b(a+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Wp(Z!b(T,2j$_#t(e$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Wp(Z!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(y+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[_5,w5,k5,C5,2,3,4,5,6,7,8,9,10,11,12,13,14,S5,new Kc("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new Kc("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:s=>T5[s]||-1},{term:343,get:s=>Q5[s]||-1},{term:95,get:s=>$5[s]||-1}],tokenPrec:15201}),Iy=[Ft("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Ft("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Ft("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Ft("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Ft("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Ft(`try {
17
+ \${}
18
+ } catch (\${error}) {
19
+ \${}
20
+ }`,{label:"try",detail:"/ catch block",type:"keyword"}),Ft("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Ft(`if (\${}) {
21
+ \${}
22
+ } else {
23
+ \${}
24
+ }`,{label:"if",detail:"/ else block",type:"keyword"}),Ft(`class \${name} {
25
+ constructor(\${params}) {
26
+ \${}
27
+ }
28
+ }`,{label:"class",detail:"definition",type:"keyword"}),Ft('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Ft('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],E5=Iy.concat([Ft("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Ft("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Ft("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),o0=new sp,By=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function ta(s){return(e,t)=>{let r=e.node.getChild("VariableDefinition");return r&&t(r,s),!0}}const R5=["FunctionDeclaration"],A5={FunctionDeclaration:ta("function"),ClassDeclaration:ta("class"),ClassExpression:()=>!0,EnumDeclaration:ta("constant"),TypeAliasDeclaration:ta("type"),NamespaceDeclaration:ta("namespace"),VariableDefinition(s,e){s.matchContext(R5)||e(s,"variable")},TypeDefinition(s,e){e(s,"type")},__proto__:null};function Wy(s,e){let t=o0.get(e);if(t)return t;let r=[],i=!0;function n(a,o){let l=s.sliceString(a.from,a.to);r.push({label:l,type:o})}return e.cursor(Qt.IncludeAnonymous).iterate(a=>{if(i)i=!1;else if(a.name){let o=A5[a.name];if(o&&o(a,n)||By.has(a.name))return!1}else if(a.to-a.from>8192){for(let o of Wy(s,a.node))r.push(o);return!1}}),o0.set(e,r),r}const a0=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Xy=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function M5(s){let e=jt(s.state).resolveInner(s.pos,-1);if(Xy.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&a0.test(s.state.sliceDoc(e.from,e.to));if(!t&&!s.explicit)return null;let r=[];for(let i=e;i;i=i.parent)By.has(i.name)&&(r=r.concat(Wy(s.state.doc,i)));return{options:r,from:t?e.from:s.pos,validFor:a0}}const Jr=Ci.define({name:"javascript",parser:j5.configure({props:[tn.add({IfStatement:lo({except:/^\s*({|else\b)/}),TryStatement:lo({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:K2,SwitchBody:s=>{let e=s.textAfter,t=/^\s*\}/.test(e),r=/^\s*(case|default)\b/.test(e);return s.baseIndent+(t?0:r?1:2)*s.unit},Block:mc({closing:"}"}),ArrowFunction:s=>s.baseIndent+s.unit,"TemplateString BlockComment":()=>null,"Statement Property":lo({except:/^\s*{/}),JSXElement(s){let e=/^\s*<\//.test(s.textAfter);return s.lineIndent(s.node.from)+(e?0:s.unit)},JSXEscape(s){let e=/\s*\}/.test(s.textAfter);return s.lineIndent(s.node.from)+(e?0:s.unit)},"JSXOpenTag JSXSelfClosingTag"(s){return s.column(s.node.from)+s.unit}}),$i.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":ph,BlockComment(s){return{from:s.from+2,to:s.to-2}},JSXElement(s){let e=s.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=s.lastChild;return{from:e.to,to:t.type.isError?s.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(s){var e;let t=(e=s.firstChild)===null||e===void 0?void 0:e.nextSibling,r=s.lastChild;return!t||t.type.isError?null:{from:t.to,to:r.type.isError?s.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),qy={test:s=>/^JSX/.test(s.name),facet:ip({commentTokens:{block:{open:"{/*",close:"*/}"}}})},zy=Jr.configure({dialect:"ts"},"typescript"),Zy=Jr.configure({dialect:"jsx",props:[np.add(s=>s.isTop?[qy]:void 0)]}),Vy=Jr.configure({dialect:"jsx ts",props:[np.add(s=>s.isTop?[qy]:void 0)]},"typescript");let Fy=s=>({label:s,type:"keyword"});const Yy="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Fy),L5=Yy.concat(["declare","implements","private","protected","public"].map(Fy));function xc(s={}){let e=s.jsx?s.typescript?Vy:Zy:s.typescript?zy:Jr,t=s.typescript?E5.concat(L5):Iy.concat(Yy);return new Ji(e,[Jr.data.of({autocomplete:vy(Xy,Op(t))}),Jr.data.of({autocomplete:M5}),s.jsx?I5:[]])}function N5(s){for(;;){if(s.name=="JSXOpenTag"||s.name=="JSXSelfClosingTag"||s.name=="JSXFragmentTag")return s;if(s.name=="JSXEscape"||!s.parent)return null;s=s.parent}}function l0(s,e,t=s.length){for(let r=e?.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return s.sliceString(r.from,Math.min(r.to,t));return""}const D5=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),I5=Pe.inputHandler.of((s,e,t,r,i)=>{if((D5?s.composing:s.compositionStarted)||s.state.readOnly||e!=t||r!=">"&&r!="/"||!Jr.isActiveAt(s.state,e,-1))return!1;let n=i(),{state:a}=n,o=a.changeByRange(l=>{var c;let{head:d}=l,u=jt(a).resolveInner(d-1,-1),f;if(u.name=="JSXStartTag"&&(u=u.parent),!(a.doc.sliceString(d-1,d)!=r||u.name=="JSXAttributeValue"&&u.to>d)){if(r==">"&&u.name=="JSXFragmentTag")return{range:l,changes:{from:d,insert:"</>"}};if(r=="/"&&u.name=="JSXStartCloseTag"){let g=u.parent,v=g.parent;if(v&&g.from==d-2&&((f=l0(a.doc,v.firstChild,d))||((c=v.firstChild)===null||c===void 0?void 0:c.name)=="JSXFragmentTag")){let b=`${f}>`;return{range:re.cursor(d+b.length,-1),changes:{from:d,insert:b}}}}else if(r==">"){let g=N5(u);if(g&&g.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(a.doc.sliceString(d,d+2))&&(f=l0(a.doc,g,d)))return{range:l,changes:{from:d,insert:`</${f}>`}}}}return{range:l}});return o.changes.empty?!1:(s.dispatch([n,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),B5=Qi({String:M.string,Number:M.number,"True False":M.bool,PropertyName:M.propertyName,Null:M.null,", :":M.separator,"[ ]":M.squareBracket,"{ }":M.brace}),W5=Pi.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[B5],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),X5=Ci.define({name:"json",parser:W5.configure({props:[tn.add({Object:lo({except:/^\s*\}/}),Array:lo({except:/^\s*\]/})}),$i.add({"Object Array":ph})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function q5(){return new Ji(X5)}const z5=1,Uy=194,Hy=195,Z5=196,c0=197,V5=198,F5=199,Y5=200,U5=2,Gy=3,h0=201,H5=24,G5=25,K5=49,J5=50,ej=55,tj=56,sj=57,rj=59,ij=60,nj=61,oj=62,aj=63,lj=65,cj=238,hj=71,dj=241,uj=242,fj=243,pj=244,mj=245,gj=246,Oj=247,xj=248,Ky=72,bj=249,vj=250,yj=251,Sj=252,_j=253,wj=254,kj=255,Cj=256,Pj=73,Tj=77,Qj=263,$j=112,jj=130,Ej=151,Rj=152,Aj=155,Nn=10,Na=13,Pp=32,Sh=9,Tp=35,Mj=40,Lj=46,xf=123,d0=125,Jy=39,e1=34,u0=92,Nj=111,Dj=120,Ij=78,Bj=117,Wj=85,Xj=new Set([G5,K5,J5,Qj,lj,jj,tj,sj,cj,oj,aj,Ky,Pj,Tj,ij,nj,Ej,Rj,Aj,$j]);function Vd(s){return s==Nn||s==Na}function Fd(s){return s>=48&&s<=57||s>=65&&s<=70||s>=97&&s<=102}const qj=new ds((s,e)=>{let t;if(s.next<0)s.acceptToken(F5);else if(e.context.flags&bc)Vd(s.next)&&s.acceptToken(V5,1);else if(((t=s.peek(-1))<0||Vd(t))&&e.canShift(c0)){let r=0;for(;s.next==Pp||s.next==Sh;)s.advance(),r++;(s.next==Nn||s.next==Na||s.next==Tp)&&s.acceptToken(c0,-r)}else Vd(s.next)&&s.acceptToken(Z5,1)},{contextual:!0}),zj=new ds((s,e)=>{let t=e.context;if(t.flags)return;let r=s.peek(-1);if(r==Nn||r==Na){let i=0,n=0;for(;;){if(s.next==Pp)i++;else if(s.next==Sh)i+=8-i%8;else break;s.advance(),n++}i!=t.indent&&s.next!=Nn&&s.next!=Na&&s.next!=Tp&&(i<t.indent?s.acceptToken(Hy,-n):s.acceptToken(Uy))}}),bc=1,t1=2,pi=4,mi=8,gi=16,Oi=32;function vc(s,e,t){this.parent=s,this.indent=e,this.flags=t,this.hash=(s?s.hash+s.hash<<8:0)+e+(e<<4)+t+(t<<6)}const Zj=new vc(null,0,0);function Vj(s){let e=0;for(let t=0;t<s.length;t++)e+=s.charCodeAt(t)==Sh?8-e%8:1;return e}const f0=new Map([[dj,0],[uj,pi],[fj,mi],[pj,mi|pi],[mj,gi],[gj,gi|pi],[Oj,gi|mi],[xj,gi|mi|pi],[bj,Oi],[vj,Oi|pi],[yj,Oi|mi],[Sj,Oi|mi|pi],[_j,Oi|gi],[wj,Oi|gi|pi],[kj,Oi|gi|mi],[Cj,Oi|gi|mi|pi]].map(([s,e])=>[s,e|t1])),Fj=new yh({start:Zj,reduce(s,e,t,r){return s.flags&bc&&Xj.has(e)||(e==hj||e==Ky)&&s.flags&t1?s.parent:s},shift(s,e,t,r){return e==Uy?new vc(s,Vj(r.read(r.pos,t.pos)),0):e==Hy?s.parent:e==H5||e==ej||e==rj||e==Gy?new vc(s,0,bc):f0.has(e)?new vc(s,0,f0.get(e)|s.flags&bc):s},hash(s){return s.hash}}),Yj=new ds(s=>{for(let e=0;e<5;e++){if(s.next!="print".charCodeAt(e))return;s.advance()}if(!/\w/.test(String.fromCharCode(s.next)))for(let e=0;;e++){let t=s.peek(e);if(!(t==Pp||t==Sh)){t!=Mj&&t!=Lj&&t!=Nn&&t!=Na&&t!=Tp&&s.acceptToken(z5);return}}}),Uj=new ds((s,e)=>{let{flags:t}=e.context,r=t&pi?e1:Jy,i=(t&mi)>0,n=!(t&gi),a=(t&Oi)>0,o=s.pos;for(;!(s.next<0);)if(a&&s.next==xf)if(s.peek(1)==xf)s.advance(2);else{if(s.pos==o){s.acceptToken(Gy,1);return}break}else if(n&&s.next==u0){if(s.pos==o){s.advance();let l=s.next;l>=0&&(s.advance(),Hj(s,l)),s.acceptToken(U5);return}break}else if(s.next==u0&&!n&&s.peek(1)>-1)s.advance(2);else if(s.next==r&&(!i||s.peek(1)==r&&s.peek(2)==r)){if(s.pos==o){s.acceptToken(h0,i?3:1);return}break}else if(s.next==Nn){if(i)s.advance();else if(s.pos==o){s.acceptToken(h0);return}break}else s.advance();s.pos>o&&s.acceptToken(Y5)});function Hj(s,e){if(e==Nj)for(let t=0;t<2&&s.next>=48&&s.next<=55;t++)s.advance();else if(e==Dj)for(let t=0;t<2&&Fd(s.next);t++)s.advance();else if(e==Bj)for(let t=0;t<4&&Fd(s.next);t++)s.advance();else if(e==Wj)for(let t=0;t<8&&Fd(s.next);t++)s.advance();else if(e==Ij&&s.next==xf){for(s.advance();s.next>=0&&s.next!=d0&&s.next!=Jy&&s.next!=e1&&s.next!=Nn;)s.advance();s.next==d0&&s.advance()}}const Gj=Qi({'async "*" "**" FormatConversion FormatSpec':M.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":M.controlKeyword,"in not and or is del":M.operatorKeyword,"from def class global nonlocal lambda":M.definitionKeyword,import:M.moduleKeyword,"with as print":M.keyword,Boolean:M.bool,None:M.null,VariableName:M.variableName,"CallExpression/VariableName":M.function(M.variableName),"FunctionDefinition/VariableName":M.function(M.definition(M.variableName)),"ClassDefinition/VariableName":M.definition(M.className),PropertyName:M.propertyName,"CallExpression/MemberExpression/PropertyName":M.function(M.propertyName),Comment:M.lineComment,Number:M.number,String:M.string,FormatString:M.special(M.string),Escape:M.escape,UpdateOp:M.updateOperator,"ArithOp!":M.arithmeticOperator,BitOp:M.bitwiseOperator,CompareOp:M.compareOperator,AssignOp:M.definitionOperator,Ellipsis:M.punctuation,At:M.meta,"( )":M.paren,"[ ]":M.squareBracket,"{ }":M.brace,".":M.derefOperator,", ;":M.separator}),Kj={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Jj=Pi.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j",stateData:"$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",nodeNames:"⚠ print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:277,context:Fj,nodeProps:[["isolate",-5,4,71,72,73,77,""],["group",-15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,"Statement Statement",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,"Expression",-10,114,116,119,121,122,126,128,133,135,138,"Statement",-9,143,144,147,148,150,151,152,153,154,"Pattern"],["openedBy",23,"(",54,"[",58,"{"],["closedBy",24,")",55,"]",59,"}"]],propSources:[Gj],skippedNodes:[0,4],repeatNodeCount:34,tokenData:"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[Yj,zj,qj,Uj,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:s=>Kj[s]||-1}],tokenPrec:7668}),p0=new sp,s1=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Jl(s){return(e,t,r)=>{if(r)return!1;let i=e.node.getChild("VariableName");return i&&t(i,s),!0}}const eE={FunctionDefinition:Jl("function"),ClassDefinition:Jl("class"),ForStatement(s,e,t){if(t){for(let r=s.node.firstChild;r;r=r.nextSibling)if(r.name=="VariableName")e(r,"variable");else if(r.name=="in")break}},ImportStatement(s,e){var t,r;let{node:i}=s,n=((t=i.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let a=i.getChild("import");a;a=a.nextSibling)a.name=="VariableName"&&((r=a.nextSibling)===null||r===void 0?void 0:r.name)!="as"&&e(a,n?"variable":"namespace")},AssignStatement(s,e){for(let t=s.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(s,e){for(let t=null,r=s.node.firstChild;r;r=r.nextSibling)r.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(r,"variable"),t=r},CapturePattern:Jl("variable"),AsPattern:Jl("variable"),__proto__:null};function r1(s,e){let t=p0.get(e);if(t)return t;let r=[],i=!0;function n(a,o){let l=s.sliceString(a.from,a.to);r.push({label:l,type:o})}return e.cursor(Qt.IncludeAnonymous).iterate(a=>{if(a.name){let o=eE[a.name];if(o&&o(a,n,i)||!i&&s1.has(a.name))return!1;i=!1}else if(a.to-a.from>8192){for(let o of r1(s,a.node))r.push(o);return!1}}),p0.set(e,r),r}const m0=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,i1=["String","FormatString","Comment","PropertyName"];function tE(s){let e=jt(s.state).resolveInner(s.pos,-1);if(i1.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&m0.test(s.state.sliceDoc(e.from,e.to));if(!t&&!s.explicit)return null;let r=[];for(let i=e;i;i=i.parent)s1.has(i.name)&&(r=r.concat(r1(s.state.doc,i)));return{options:r,from:t?e.from:s.pos,validFor:m0}}const sE=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(s=>({label:s,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(s=>({label:s,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(s=>({label:s,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(s=>({label:s,type:"function"}))),rE=[Ft("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),Ft("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),Ft("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),Ft("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),Ft(`if \${}:
29
+
30
+ `,{label:"if",detail:"block",type:"keyword"}),Ft("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),Ft("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),Ft("import ${module}",{label:"import",detail:"statement",type:"keyword"}),Ft("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],iE=vy(i1,Op(sE.concat(rE)));function Yd(s){let{node:e,pos:t}=s,r=s.lineIndent(t,-1),i=null;for(;;){let n=e.childBefore(t);if(n)if(n.name=="Comment")t=n.from;else if(n.name=="Body"||n.name=="MatchBody")s.baseIndentFor(n)+s.unit<=r&&(i=n),e=n;else if(n.name=="MatchClause")e=n;else if(n.type.is("Statement"))e=n;else break;else break}return i}function Ud(s,e){let t=s.baseIndentFor(e),r=s.lineAt(s.pos,-1),i=r.from+r.text.length;return/^\s*($|#)/.test(r.text)&&s.node.to<i+100&&!/\S/.test(s.state.sliceDoc(i,s.node.to))&&s.lineIndent(s.pos,-1)<=t||/^\s*(else:|elif |except |finally:|case\s+[^=:]+:)/.test(s.textAfter)&&s.lineIndent(s.pos,-1)>t?null:t+s.unit}const Hd=Ci.define({name:"python",parser:Jj.configure({props:[tn.add({Body:s=>{var e;let t=/^\s*(#|$)/.test(s.textAfter)&&Yd(s)||s.node;return(e=Ud(s,t))!==null&&e!==void 0?e:s.continue()},MatchBody:s=>{var e;let t=Yd(s);return(e=Ud(s,t||s.node))!==null&&e!==void 0?e:s.continue()},IfStatement:s=>/^\s*(else:|elif )/.test(s.textAfter)?s.baseIndent:s.continue(),"ForStatement WhileStatement":s=>/^\s*else:/.test(s.textAfter)?s.baseIndent:s.continue(),TryStatement:s=>/^\s*(except[ :]|finally:|else:)/.test(s.textAfter)?s.baseIndent:s.continue(),MatchStatement:s=>/^\s*case /.test(s.textAfter)?s.baseIndent+s.unit:s.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":mc({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":mc({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":mc({closing:"]"}),MemberExpression:s=>s.baseIndent+s.unit,"String FormatString":()=>null,Script:s=>{var e;let t=Yd(s);return(e=t&&Ud(s,t))!==null&&e!==void 0?e:s.continue()}}),$i.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":ph,Body:(s,e)=>({from:s.from+1,to:s.to-(s.to==e.doc.length?0:1)}),"String FormatString":(s,e)=>({from:e.doc.lineAt(s.from).to,to:s.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function nE(){return new Ji(Hd,[Hd.data.of({autocomplete:tE}),Hd.data.of({autocomplete:iE})])}const oE=148,g0=1,aE=149,lE=150,n1=2,cE=151,hE=3,dE=4,o1=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],uE=58,fE=40,a1=95,pE=91,yc=45,mE=46,gE=35,OE=37,xE=38,bE=92,vE=10,yE=42;function Da(s){return s>=65&&s<=90||s>=97&&s<=122||s>=161}function Qp(s){return s>=48&&s<=57}function O0(s){return Qp(s)||s>=97&&s<=102||s>=65&&s<=70}const l1=(s,e,t)=>(r,i)=>{for(let n=!1,a=0,o=0;;o++){let{next:l}=r;if(Da(l)||l==yc||l==a1||n&&Qp(l))!n&&(l!=yc||o>0)&&(n=!0),a===o&&l==yc&&a++,r.advance();else if(l==bE&&r.peek(1)!=vE){if(r.advance(),O0(r.next)){do r.advance();while(O0(r.next));r.next==32&&r.advance()}else r.next>-1&&r.advance();n=!0}else{n&&r.acceptToken(a==2&&i.canShift(n1)?e:l==fE?t:s);break}}},SE=new ds(l1(aE,n1,lE),{contextual:!0}),_E=new ds(l1(cE,hE,dE),{contextual:!0}),wE=new ds(s=>{if(o1.includes(s.peek(-1))){let{next:e}=s;(Da(e)||e==a1||e==gE||e==mE||e==yE||e==pE||e==uE&&Da(s.peek(1))||e==yc||e==xE)&&s.acceptToken(oE)}}),kE=new ds(s=>{if(!o1.includes(s.peek(-1))){let{next:e}=s;if(e==OE&&(s.advance(),s.acceptToken(g0)),Da(e)){do s.advance();while(Da(s.next)||Qp(s.next));s.acceptToken(g0)}}}),CE=Qi({"AtKeyword import charset namespace keyframes media supports font-feature-values":M.definitionKeyword,"from to selector scope MatchFlag":M.keyword,NamespaceName:M.namespace,KeyframeName:M.labelName,KeyframeRangeName:M.operatorKeyword,TagName:M.tagName,ClassName:M.className,PseudoClassName:M.constant(M.className),IdName:M.labelName,"FeatureName PropertyName":M.propertyName,AttributeName:M.attributeName,NumberLiteral:M.number,KeywordQuery:M.keyword,UnaryQueryOp:M.operatorKeyword,"CallTag ValueName FontName":M.atom,VariableName:M.variableName,Callee:M.operatorKeyword,Unit:M.unit,"UniversalSelector NestingSelector":M.definitionOperator,"MatchOp CompareOp":M.compareOperator,"ChildOp SiblingOp, LogicOp":M.logicOperator,BinOp:M.arithmeticOperator,Important:M.modifier,Comment:M.blockComment,ColorLiteral:M.color,"ParenthesizedContent StringLiteral":M.string,":":M.punctuation,"PseudoOp #":M.derefOperator,"; , |":M.separator,"( )":M.paren,"[ ]":M.squareBracket,"{ }":M.brace}),PE={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:158,"url-prefix":158,domain:158,regexp:158},TE={__proto__:null,or:104,and:104,not:112,only:112,layer:212},QE={__proto__:null,selector:118,style:124,layer:208},$E={__proto__:null,"@import":204,"@media":216,"@charset":220,"@namespace":224,"@keyframes":230,"@supports":242,"@scope":246,"@font-feature-values":252},jE={__proto__:null,to:249},EE=Pi.deserialize({version:14,states:"MrQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FqO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#ERO'dQdO'#ETO'oQdO'#E[O'oQdO'#E_OOQP'#Fq'#FqO)RQhO'#FQOOQS'#Fp'#FpOOQS'#FT'#FTQYQdOOO)YQdO'#EeO*iQhO'#EkO)YQdO'#EmO*pQdO'#EoO*{QdO'#ErO)}QhO'#ExO+TQdO'#EzO+`QdO'#E}O+eQaO'#CfO+lQ`O'#EbO+qQ`O'#F}O+|QdO'#F}QOQ`OOP,WO&jO'#CaPOOO)CA`)CA`OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:mO'dQdO,5:oO'oQdO,5:vO'oQdO,5:xO'oQdO,5:yO'oQdO'#F[O,nQ`O,58}O,vQdO'#EaOOQS,58},58}OOQP'#Cq'#CqOOQO'#EP'#EPOOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#ES'#ESOOQP,5:m,5:mO-XQpO'#EUO-dQdO'#EVO-iQ`O'#EVO-nQpO,5:oO.XQaO,5:vO.oQaO,5:yOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;lO)}QhO'#DeO0`Q`O'#DnO0eQhO'#D{OOQW'#Fw'#FwOOQS,5;l,5;lO0jQ`O'#DhO0oQ`O'#DkOOQS-E9R-E9ROOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5;POOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FtO6|Q`O'#DYO7RQ`O'#D|OOQ['#Ft'#FtO7WQhO'#GQO7fQ`O,5;VO7kQ!bO,5;XOOQS'#Eq'#EqO7sQ`O,5;ZO7xQdO,5;ZOOQO'#Et'#EtO8QQ`O,5;^O8VQhO,5;dO'oQdO'#DjOOQS,5;f,5;fO0jQ`O,5;fO8_QdO,5;fOOQS'#Fc'#FcO8gQdO'#FPO7fQ`O,5;iO8oQdO,5:|O9PQdO'#F^O9^Q`O,5<iO9^Q`O,5<iPOOO'#FS'#FSP9iO&jO,58{POOO,58{,58{OOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO,}Q`O1G.tO-SQ`O1G.tOOQP1G0X1G0XO9tQpO1G0ZO9|QaO1G0bO:dQaO1G0dO:zQaO1G0eO;bQaO,5;vOOQO-E9Y-E9YOOQS1G.i1G.iO;lQ`O,5:{O;qQdO'#EQO;xQdO'#CuOOQO'#EX'#EXOOQO,5:q,5:qO-dQdO,5:qOOQP1G0Z1G0ZO)YQdO1G0ZO<PQ!jO'#D^O<_Q!bO,59yO<gQhO,5:ROOQO'#Fx'#FxO<bQ!bO,59}O<oQhO'#FdO)}QhO,59{O)}QhO'#FdO=gQhO1G1WOOQS1G1W1G1WO=qQhO,5:PO>lQhO'#DoOOQW,5:Y,5:YOOQW,5:g,5:gOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FuOOQS'#Fu'#FuOOQS'#FV'#FVO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EgOOQW'#Eg'#EgOBuQ`O1G0kO4oQhO1G0kOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:hOCVQhO'#F`OCdQ`O,5<lOOQS1G0q1G0qOOQS1G0s1G0sOOQS1G0u1G0uOCoQ`O1G0uOCtQdO'#EuOOQS1G0x1G0xOOQS1G1O1G1OODPQaO,5:UO7fQ`O1G1QOOQS1G1Q1G1QO0jQ`O1G1QOOQS-E9a-E9aOOQS1G1T1G1TODWQ!fO1G0hODnQ`O'#EdOOQO1G0h1G0hOOQO,5;x,5;xODsQdO,5;xOOQO-E9[-E9[OEQQ`O1G2TPOOO-E9Q-E9QPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%u7+%uO)YQdO7+%uOOQS1G0g1G0gOE]QaO'#F|OEgQ`O,5:lOElQ!fO'#FUOFjQdO'#FsOFtQ`O,59aOOQO1G0]1G0]OFyQ!bO7+%uO)YQdO1G/eOGUQhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOGgQhO,5<OOOQW-E9b-E9bOOQS7+&r7+&rOH_QhO'#D^OHmQhO'#F{OHxQ`O'#F{OH}Q`O,5:ZOISQ!bO'#D`O>vQhO'#DmOI_QhO'#DsOIgQhO'#DuOIlQ!jO'#FzOOQO'#Fz'#FzOIwQ`O'#DxOJPQ!bO'#DzOOQO'#Fy'#FyOJUQ`O1G/qOOQS-E9T-E9TOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJZQdO,5;ROOQS7+&V7+&VOJ`Q`O7+&VOJeQhO'#D]OJmQ`O,59vO)}QhO,59vOOQ[1G0S1G0SOJuQ`O1G0SOJzQhO,5;zOOQO-E9^-E9^OOQS7+&a7+&aOKYQbO'#DSOOQO'#Ew'#EwOKhQ`O'#EvOOQO'#Ev'#EvOKsQ`O'#FaOK{QdO,5;aOOQS,5;a,5;aOOQ[1G/p1G/pOOQS7+&l7+&lO7fQ`O7+&lOLWQ!fO'#F]O)YQdO'#F]OM_QdO7+&SOOQO7+&S7+&SOOQO,5;O,5;OOOQO1G1d1G1dOMrQ!bO<<IaOM}QdO'#FZONXQ`O,5<hOOQP1G0W1G0WOOQS-E9S-E9SONaQdO'#FYONkQ`O,5<_OOQ]1G.{1G.{OOQP<<Ia<<IaONsQ`O<<IaONxQdO7+%POOQO'#D`'#D`O! PQ!bO7+%TO! XQhO'#FXO! fQ`O,5<gO)YQdO,5<gOOQW1G/u1G/uO! nQ`O,5:XO>vQhO'#DtOOQO,5:_,5:_O! sQhO,5:aO! {QhO,5:fO)YQdO,5:dOOQW7+%]7+%]OOQO'#Ei'#EiO!!SQ`O1G0mOOQS<<Iq<<IqO)YQdO,59wO!!vQhO1G/bOOQ[1G/b1G/bO!!}Q`O1G/bOOQW-E9U-E9UOOQ[7+%n7+%nOOQO,5;b,5;bOCwQdO'#FbOKsQ`O,5;{OOQS,5;{,5;{OOQS-E9_-E9_OOQS1G0{1G0{OOQS<<JW<<JWO!#VQ!fO,5;wOOQS-E9Z-E9ZOOQO<<In<<InOOQPAN>{AN>{O!$^Q`OAN>{O!$cQaO,5;uOOQO-E9X-E9XO!$mQdO,5;tOOQO-E9W-E9WOOQW<<Hk<<HkOOQW<<Ho<<HoO!$wQhO<<HoO!%YQhO'#D^O!%hQhO,5;sO!%sQ`O,5;sOOQO-E9V-E9VO!%xQdO1G2RO!&SQhO1G/sO!&[Q`O,5:`O>vQhO'#DwOOQO1G/{1G/{O!&aQ!bO1G0QO!&iQdO1G0OOJZQdO'#F_O!&pQ`O7+&XOOQW7+&X7+&XO!&xQ!bO1G/cOOQ[7+$|7+$|O!'TQhO7+$|P!'[Q`O'#FWOOQO,5;|,5;|OOQO-E9`-E9`OOQS1G1g1G1gOOQPG24gG24gO!'aQ`OAN>ZO)YQdO1G1_O!'fQ`O7+'mOOQO1G/z1G/zO!'nQ`O,5:cO!'sQhO7+%lOOQO,5;y,5;yOOQO-E9]-E9]OOQW<<Is<<IsOOQ[<<Hh<<HhPOQW,5;r,5;rOOQWG23uG23uO!'zQdO7+&yOOQO1G/}1G/}OOQO<<IW<<IW",stateData:"!(_~O$_OS$`QQ~OWVO^_O`WOcYOdYOl`OmZOp[O#P]O#S^O#YdO#`eO#bfO#dgO#ghO#miO#ojO#rkO$ZRO$fTO~OQmOWVO^_O`WOcYOdYOl`OmZOp[O#P]O#S^O#YdO#`eO#bfO#dgO#ghO#miO#ojO#rkO$ZlO$fTO~O$X$qP~P!jO$`qO~O`YXcYXdYXmYXpYXsYX!eYX#PYX#SYX$YYX$f[X~OgYX~P$ZO$ZsO~O$fuO~O$fuO`$eXc$eXd$eXm$eXp$eXs$eX!e$eX#P$eX#S$eX$Y$eXg$eX~O$ZvO~O`xOcyOdyOmzOp{O#P|O#S!OO$Y}O~Os!RO!e!PO~P&^Of!XO$Z!TO$[!UO~O$Z!YO~OW!^O$Z![O$f!]O~OWVO^_O`WOcYOdYOmZOp[O#P]O#S^O$ZRO$fTO~OS!fOc!gOd!gOh!cOs!RO!Y!eO!]!jO!`!kO$]!bO~On!iO~P(dOQ!uOh!nOp!oOs!pOu!xOw!xO}!vO!q!wO$Z!mO$[!sO$j!qO~OS!fOc!gOd!gOh!cO!Y!eO!]!jO!`!kO$]!bO~Os$tP~P)}Ow!}O!q!wO$Z!|O~Ow#PO$Z#PO~Oh#SOs!RO#p#UO~O$Z#WO~Oc#VX~P$ZOc#ZO~On#[O$X$qXr$qX~O$X$qXr$qX~P!jO$a#_O$b#_O$c#aO~Of#fO$Z!TO$[!UO~Os!RO!e!PO~Or$qP~P!jOh#pO~Oh#qO~Oo!xX!|!xX$f!zX~O$Z#rO~O$f#tO~Oo#uO!|#vO~O`xOcyOdyOmzOp{O~Os#Oa!e#Oa#P#Oa#S#Oa$Y#Oag#Oa~P-vOs#Ra!e#Ra#P#Ra#S#Ra$Y#Rag#Ra~P-vOS!fOc!gOd!gOh!cO!Y!eO!]!jO!`!kO~OR#zOu#zOw#zO$]#wO$j!qO~P/VOn$QO!U#}O!e$OO~P(dOh$SO~O$]$UO~Oh#SO~Oh$WO~O`$YOc$YOg$]Ol$YOm$YOn$YO~P)YO`$YOc$YOl$YOm$YOn$YOo$_O~P)YO`$YOc$YOl$YOm$YOn$YOr$aO~P)YOP$bOSvXcvXdvXhvXnvXyvX!YvX!]vX!`vX#[vX#^vX$]vX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!qvX$ZvX$[vX$jvXovXrvX!evX$XvX$svX!}vX~Oy$cO#[$dO#^$eOn$tP~P)}Oh#qOS$hXc$hXd$hXn$hXy$hX!Y$hX!]$hX!`$hX#[$hX#^$hX$]$hXQ$hX`$hXg$hXl$hXm$hXp$hXs$hXu$hXw$hX}$hX!q$hX$Z$hX$[$hX$j$hXo$hXr$hX!e$hX$X$hX$s$hX!}$hX~Oh$iO~Oh$kO~O!U#}O!e$lOs$tXn$tX~Os!RO~On$oOy$cO~On$pO~Ow$qO!q!wO~Os$rO~Os!RO!U#}O~Os!RO#p$xO~O$Z#WOs#sX~O$s$|On#Ua$X#Uar#Ua~P)YOn$QX$X$QXr$QX~P!jOn#[O$X$qar$qa~O$a#_O$b#_O$c%TO~Oo%VO!|%WO~Os#Oi!e#Oi#P#Oi#S#Oi$Y#Oig#Oi~P-vOs#Qi!e#Qi#P#Qi#S#Qi$Y#Qig#Qi~P-vOs#Ri!e#Ri#P#Ri#S#Ri$Y#Rig#Ri~P-vOs$Oa!e$Oa~P&^Or%XO~Og$pP~P'oOg$gP~P)YOc!SXg!QX!U!QX!W!SX~Oc%aO!W%bO~Og%cO!U#}O~O!U#}OS$WXc$WXd$WXh$WXn$WXs$WX!Y$WX!]$WX!`$WX!e$WX$]$WX~On%gO!e$OO~P(dO!U#}OS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!`!Xa!e!Xa$]!Xag!Xa~O$]%hOg$oP~P/VOR#zOS!fOh%mOu#zOw#zO!Y%nO$]%lO$j!qO~Oy$cOQ$iX`$iXc$iXg$iXh$iXl$iXm$iXn$iXp$iXs$iXu$iXw$iX}$iX!q$iX$Z$iX$[$iX$j$iXo$iXr$iX~O`$YOc$YOg%wOl$YOm$YOn$YO~P)YO`$YOc$YOl$YOm$YOn$YOo%xO~P)YO`$YOc$YOl$YOm$YOn$YOr%yO~P)YOh%{OS#ZXc#ZXd#ZXn#ZX!Y#ZX!]#ZX!`#ZX$]#ZX~On%|O~Og&ROw&SO!r&SO~Os$SX!e$SXn$SX~P)}O!e$lOs$tan$ta~On&VO~Or&^O$Z&XO$j&WO~Og&_O~P&^Oy$cO!e&cO$s$|On#Ui$X#Uir#Ui~P)YO$r&fO~On$Qa$X$Qar$Qa~P!jOn#[O$X$qir$qi~O!e&iOg$pX~P&^Og&kO~Oy$cOQ#xXg#xXh#xXp#xXs#xXu#xXw#xX}#xX!e#xX!q#xX$Z#xX$[#xX$j#xX~O!e&mOg$gX~P)YOg&oO~Oo&pOy$cO!}&qO~OR#zOu#zOw#zO$]&sO$j!qO~O!U#}OS$Wac$Wad$Wah$Wan$Was$Wa!Y$Wa!]$Wa!`$Wa!e$Wa$]$Wa~Oc!dXg!QX!U!QX!e!QX~O!U#}O!e&uOg$oX~Oc&wO~Og&xO~Oc!mXg!mX!W!SX~OS!fOh&zO~O!U&|O~O!U&|O!W&}Og$nX~Oc'OOg!lX~O!W&}O~Og'PO~O$Z'QO~On'SO~Oc'TO!U#}O~Og'VOn'UO~Og'YO~O!U#}Os$Sa!e$San$Sa~OP$bOsvX!evXgvX~O$j&WOs#jX!e#jX~Os!RO!e'[O~Or'`O$Z&XO$j&WO~Oy$cOQ$PXh$PXn$PXp$PXs$PXu$PXw$PX}$PX!e$PX!q$PX$X$PX$Z$PX$[$PX$j$PX$s$PXr$PX~O!e&cO$s$|On#Uq$X#Uqr#Uq~P)YOo'eOy$cO!}'fO~Og#}X!e#}X~P'oO!e&iOg$pa~Og#|X!e#|X~P)YO!e&mOg$ga~Oo'eO~Og'kO~P)YOg'lO!W'mO~O$]'nOg#{X!e#{X~P/VO!e&uOg$oa~Og'sO~OS!fOh'uO~OS!fO~PGUO`'yOg'{O~OS#zac#zad#zah#za!Y#za!]#za!`#za$]#za~Og'}O~P!![Og'}On(OO~Oy$cOQ$Pah$Pan$Pap$Pas$Pau$Paw$Pa}$Pa!e$Pa!q$Pa$X$Pa$Z$Pa$[$Pa$j$Pa$s$Par$Pa~Oo(TO~Og#}a!e#}a~P&^Og#|a!e#|a~P)YOR#zOu#zOw#zO$]&sO$j&WO~Oc!fXg!QX!U!QX!e!QX~O!U#}Og#{a!e#{a~Oc(VO~O!e&uOg$oi~P)YOg!ai!U!ji~Og(XO~O!W(ZOg!ni~Og!li~P)YO`'yOg(^O~Oy$cOg!Pin!Pi~Og(_O~P!![On(`O~Og(aO~O!e&uOg$oq~Og(cO~OS!fO~P!$wOg#{q!e#{q~P)YO$_!r$`$j`$jy#S~",goto:"7g$uPPPPP$vP$yP%S%f%S%x&[P%SP&b%SPP&hPPP&n&x&xPPPPP&xPP&xP'hP&xP&x(k&xP)Z)^)d)d)v)dP)dP)dP)d)dP*])dP*i*o+e+hP+k*i+n*i+q+w+z,Q+z)d,WPP,|-S%S-Y%S-`-`-f-jPP%SP%S%SP-p.l.y/Q$yP/ZP/^P$yP$yP$yP/d$yP/g/j/m/t$yP$yPP$yP/y$yP/|0S0c0}1]1c1m1s1y2P2V2a2g2m2s2y3PPPPPPPPPPPP3V3`P4U4X5]P5e6_6t+z7Q7T7WPP7^RrQ_aOPco!R#[%Pq_OP]^co|}!O!P!R#S#[#p%P&iqSOP]^co|}!O!P!R#S#[#p%P&iqUOP]^co|}!O!P!R#S#[#p%P&iQtTR#buQwWR#cxQ!VYR#dyQ#d!XS$h!t!uR%U#f!Z!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(b!Y!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bb#z!c$W%b%m&z&}'m'u(ZU&Z$r&]'[R'Z&Y!Z!tdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bR$j!vQ&P$iR'W&Qq!h`ei!c!d!e!r#}$O$P$S$g$i$l&Q&uQ#x!cW%s$W%m&z'uQ&t%bQ'w&}Q(U'mR(d(ZQ#VjQ$V!jQ$v#UR&a$xX%q$W%m&z'up!h`ei!c!d!e!r#}$O$P$S$g$i$l&Q&uW%p$W%m&z'uQ&{%nQ'v&|Q'w&}R(d(ZR$T!fR%j$SR'p&uR&{%nX%o$W%m&z'uR'v&|X%t$W%m&z'uX%r$W%m&z'u!Y!xdf!n!o!p#Z#q#v$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bQ!}gR$q#OQ!WYR#eyQ#d!WR%U#eQ!ZZR#gzQ!_[R#h{T!^[{Q#s!]R%_#tQ!SXQ!i`Q#TjQ#n!QQ$Q!dQ$n!zQ$t#RQ$w#VQ$z#YQ%g$PQ&`$vQ'^&[Q'a&aR(S']SnP!RQ#^oQ%O#[R&g%PZmPo!R#[%PQ$}#ZQ&e${R'd&dR$g!rQ'R%{R(['yR#OgR#QhR$s#QS&[$r&]R(Q'[V&Y$r&]'[R#YkQ#`qR%S#`QcOSoP!RU!lco%PR%P#[Q%]#q[&l%]&r'i'r'x(bQ&r%aQ'i&mQ'r&wQ'x'OR(b(VQ$[!nQ$^!oQ$`!pV%v$[$^$`Q&Q$iR'X&QQ&v%iS'q&v(WR(W'rQ&n%]R'j&nQ&j%YR'h&jQ!QXR#m!QQ&d${R'c&dQ#]nS%Q#]%RR%R#^Q'z'RR(]'zQ$m!yR&U$mQ&]$rR'_&]Q']&[R(R']Q#XkR$y#XQ$P!dR%f$P_bOPco!R#[%P^XOPco!R#[%PQ!`]Q!a^Q#i|Q#j}Q#k!OQ#l!PQ$u#SQ%Y#pR'g&iR%^#qQ!rdQ!{f[$X!n!o!p$[$^$`Q${#Zh%[#q%]%a&m&r&w'O'i'r'x(V(bQ%`#vQ%z$cS&b${&dQ&h%WQ'b&cR'|'T]$Z!n!o!p$[$^$`Q!d`U!ye!r$gQ#RiQ#y!cS#|!d$PQ$R!eQ%d#}Q%e$OQ%i$SS&O$i&QQ&T$lR'o&uQ#{!cW%s$W%m&z'uQ&t%bQ'w&}Q(U'mR(d(ZQ%u$WQ&y%mQ't&zR(Y'uR%k$SR%Z#pQpPR#o!RQ!zeQ$f!rR%}$g",nodeNames:"⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector StyleQuery style ParenthesedQuery CallQuery ArgList ProperyName , ProperyName UnaryQuery ParenthesedQuery BinaryQuery ParenthesedQuery ParenthesedQuery StyleFeature ProperyName StyleRange PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName NamespacedAttribute NamespaceName AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",maxTerm:174,nodeProps:[["isolate",-2,5,39,""],["openedBy",23,"(",31,"[",34,"{"],["closedBy",24,")",32,"]",35,"}"]],propSources:[CE],skippedNodes:[0,5,130],repeatNodeCount:17,tokenData:"K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!r`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$_~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$_~!r`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$sYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!r`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!r`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!r`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!r`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!r`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!r`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!r`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!r`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!|S!r`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#SQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!r`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!r`$jYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!r`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!r`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!r`$jYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!r`$jYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!eYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!r`$`~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$jYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!r`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!r`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!|SOy%jz;'S%j;'S;=`%{<%lO%jj@uV#PQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS#PQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!r`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!r`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!}WOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!}WOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!r`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!r`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!r`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!r`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!r`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!r`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!r`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$rQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$fUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#SQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[wE,kE,SE,_E,1,2,3,4,new Kc("m~RRYZ[z{a~~g~aO$b~~dP!P!Qg~lO$c~~",28,155)],topRules:{StyleSheet:[0,6],Styles:[1,129]},dynamicPrecedences:{97:1},specialized:[{term:150,get:s=>PE[s]||-1},{term:151,get:s=>TE[s]||-1},{term:4,get:s=>QE[s]||-1},{term:28,get:s=>$E[s]||-1},{term:149,get:s=>jE[s]||-1}],tokenPrec:2444});let Gd=null;function Kd(){if(!Gd&&typeof document=="object"&&document.body){let{style:s}=document.body,e=[],t=new Set;for(let r in s)r!="cssText"&&r!="cssFloat"&&typeof s[r]=="string"&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,i=>"-"+i.toLowerCase())),t.has(r)||(e.push(r),t.add(r)));Gd=e.sort().map(r=>({type:"property",label:r,apply:r+": "}))}return Gd||[]}const x0=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(s=>({type:"class",label:s})),b0=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(s=>({type:"keyword",label:s})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(s=>({type:"constant",label:s}))),RE=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(s=>({type:"type",label:s})),AE=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(s=>({type:"keyword",label:s})),ui=/^(\w[\w-]*|-\w[\w-]*|)$/,ME=/^-(-[\w-]*)?$/;function LE(s,e){var t;if((s.name=="("||s.type.isError)&&(s=s.parent||s),s.name!="ArgList")return!1;let r=(t=s.parent)===null||t===void 0?void 0:t.firstChild;return r?.name!="Callee"?!1:e.sliceString(r.from,r.to)=="var"}const v0=new sp,NE=["Declaration"];function DE(s){for(let e=s;;){if(e.type.isTop)return e;if(!(e=e.parent))return s}}function c1(s,e,t){if(e.to-e.from>4096){let r=v0.get(e);if(r)return r;let i=[],n=new Set,a=e.cursor(Qt.IncludeAnonymous);if(a.firstChild())do for(let o of c1(s,a.node,t))n.has(o.label)||(n.add(o.label),i.push(o));while(a.nextSibling());return v0.set(e,i),i}else{let r=[],i=new Set;return e.cursor().iterate(n=>{var a;if(t(n)&&n.matchContext(NE)&&((a=n.node.nextSibling)===null||a===void 0?void 0:a.name)==":"){let o=s.sliceString(n.from,n.to);i.has(o)||(i.add(o),r.push({label:o,type:"variable"}))}}),r}}const IE=s=>e=>{let{state:t,pos:r}=e,i=jt(t).resolveInner(r,-1),n=i.type.isError&&i.from==i.to-1&&t.doc.sliceString(i.from,i.to)=="-";if(i.name=="PropertyName"||(n||i.name=="TagName")&&/^(Block|Styles)$/.test(i.resolve(i.to).name))return{from:i.from,options:Kd(),validFor:ui};if(i.name=="ValueName")return{from:i.from,options:b0,validFor:ui};if(i.name=="PseudoClassName")return{from:i.from,options:x0,validFor:ui};if(s(i)||(e.explicit||n)&&LE(i,t.doc))return{from:s(i)||n?i.from:r,options:c1(t.doc,DE(i),s),validFor:ME};if(i.name=="TagName"){for(let{parent:l}=i;l;l=l.parent)if(l.name=="Block")return{from:i.from,options:Kd(),validFor:ui};return{from:i.from,options:RE,validFor:ui}}if(i.name=="AtKeyword")return{from:i.from,options:AE,validFor:ui};if(!e.explicit)return null;let a=i.resolve(r),o=a.childBefore(r);return o&&o.name==":"&&a.name=="PseudoClassSelector"?{from:r,options:x0,validFor:ui}:o&&o.name==":"&&a.name=="Declaration"||a.name=="ArgList"?{from:r,options:b0,validFor:ui}:a.name=="Block"||a.name=="Styles"?{from:r,options:Kd(),validFor:ui}:null},BE=IE(s=>s.name=="VariableName"),Jc=Ci.define({name:"css",parser:EE.configure({props:[tn.add({Declaration:lo()}),$i.add({"Block KeyframeList":ph})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function h1(){return new Ji(Jc,Jc.data.of({autocomplete:BE}))}const WE=55,XE=1,qE=56,zE=2,ZE=57,VE=3,y0=4,FE=5,$p=6,d1=7,u1=8,f1=9,p1=10,YE=11,UE=12,HE=13,Jd=58,GE=14,KE=15,S0=59,m1=21,JE=23,g1=24,eR=25,bf=27,O1=28,tR=29,sR=32,rR=35,iR=37,nR=38,oR=0,aR=1,lR={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},cR={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},_0={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function hR(s){return s==45||s==46||s==58||s>=65&&s<=90||s==95||s>=97&&s<=122||s>=161}let w0=null,k0=null,C0=0;function vf(s,e){let t=s.pos+e;if(C0==t&&k0==s)return w0;let r=s.peek(e),i="";for(;hR(r);)i+=String.fromCharCode(r),r=s.peek(++e);return k0=s,C0=t,w0=i?i.toLowerCase():r==dR||r==uR?void 0:null}const x1=60,eh=62,jp=47,dR=63,uR=33,fR=45;function P0(s,e){this.name=s,this.parent=e}const pR=[$p,p1,d1,u1,f1],mR=new yh({start:null,shift(s,e,t,r){return pR.indexOf(e)>-1?new P0(vf(r,1)||"",s):s},reduce(s,e){return e==m1&&s?s.parent:s},reuse(s,e,t,r){let i=e.type.id;return i==$p||i==iR?new P0(vf(r,1)||"",s):s},strict:!1}),gR=new ds((s,e)=>{if(s.next!=x1){s.next<0&&e.context&&s.acceptToken(Jd);return}s.advance();let t=s.next==jp;t&&s.advance();let r=vf(s,0);if(r===void 0)return;if(!r)return s.acceptToken(t?KE:GE);let i=e.context?e.context.name:null;if(t){if(r==i)return s.acceptToken(YE);if(i&&cR[i])return s.acceptToken(Jd,-2);if(e.dialectEnabled(oR))return s.acceptToken(UE);for(let n=e.context;n;n=n.parent)if(n.name==r)return;s.acceptToken(HE)}else{if(r=="script")return s.acceptToken(d1);if(r=="style")return s.acceptToken(u1);if(r=="textarea")return s.acceptToken(f1);if(lR.hasOwnProperty(r))return s.acceptToken(p1);i&&_0[i]&&_0[i][r]?s.acceptToken(Jd,-1):s.acceptToken($p)}},{contextual:!0}),OR=new ds(s=>{for(let e=0,t=0;;t++){if(s.next<0){t&&s.acceptToken(S0);break}if(s.next==fR)e++;else if(s.next==eh&&e>=2){t>=3&&s.acceptToken(S0,-2);break}else e=0;s.advance()}});function xR(s){for(;s;s=s.parent)if(s.name=="svg"||s.name=="math")return!0;return!1}const bR=new ds((s,e)=>{if(s.next==jp&&s.peek(1)==eh){let t=e.dialectEnabled(aR)||xR(e.context);s.acceptToken(t?FE:y0,2)}else s.next==eh&&s.acceptToken(y0,1)});function Ep(s,e,t){let r=2+s.length;return new ds(i=>{for(let n=0,a=0,o=0;;o++){if(i.next<0){o&&i.acceptToken(e);break}if(n==0&&i.next==x1||n==1&&i.next==jp||n>=2&&n<r&&i.next==s.charCodeAt(n-2))n++,a++;else if(n==r&&i.next==eh){o>a?i.acceptToken(e,-a):i.acceptToken(t,-(a-2));break}else if((i.next==10||i.next==13)&&o){i.acceptToken(e,1);break}else n=a=0;i.advance()}})}const vR=Ep("script",WE,XE),yR=Ep("style",qE,zE),SR=Ep("textarea",ZE,VE),_R=Qi({"Text RawText IncompleteTag IncompleteCloseTag":M.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":M.angleBracket,TagName:M.tagName,"MismatchedCloseTag/TagName":[M.tagName,M.invalid],AttributeName:M.attributeName,"AttributeValue UnquotedAttributeValue":M.attributeValue,Is:M.definitionOperator,"EntityReference CharacterReference":M.character,Comment:M.blockComment,ProcessingInst:M.processingInstruction,DoctypeDecl:M.documentMeta}),wR=Pi.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:mR,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[_R],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[vR,yR,SR,bR,gR,OR,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function b1(s,e){let t=Object.create(null);for(let r of s.getChildren(g1)){let i=r.getChild(eR),n=r.getChild(bf)||r.getChild(O1);i&&(t[e.read(i.from,i.to)]=n?n.type.id==bf?e.read(n.from+1,n.to-1):e.read(n.from,n.to):"")}return t}function T0(s,e){let t=s.getChild(JE);return t?e.read(t.from,t.to):" "}function eu(s,e,t){let r;for(let i of t)if(!i.attrs||i.attrs(r||(r=b1(s.node.parent.firstChild,e))))return{parser:i.parser,bracketed:!0};return null}function v1(s=[],e=[]){let t=[],r=[],i=[],n=[];for(let o of s)(o.tag=="script"?t:o.tag=="style"?r:o.tag=="textarea"?i:n).push(o);let a=e.length?Object.create(null):null;for(let o of e)(a[o.name]||(a[o.name]=[])).push(o);return fv((o,l)=>{let c=o.type.id;if(c==tR)return eu(o,l,t);if(c==sR)return eu(o,l,r);if(c==rR)return eu(o,l,i);if(c==m1&&n.length){let d=o.node,u=d.firstChild,f=u&&T0(u,l),g;if(f){for(let v of n)if(v.tag==f&&(!v.attrs||v.attrs(g||(g=b1(u,l))))){let b=d.lastChild,m=b.type.id==nR?b.from:d.to;if(m>u.to)return{parser:v.parser,overlay:[{from:u.to,to:m}]}}}}if(a&&c==g1){let d=o.node,u;if(u=d.firstChild){let f=a[l.read(u.from,u.to)];if(f)for(let g of f){if(g.tagName&&g.tagName!=T0(d.parent,l))continue;let v=d.lastChild;if(v.type.id==bf){let b=v.from+1,m=v.lastChild,O=v.to-(m&&m.isError?0:1);if(O>b)return{parser:g.parser,overlay:[{from:b,to:O}],bracketed:!0}}else if(v.type.id==O1)return{parser:g.parser,overlay:[{from:v.from,to:v.to}]}}}}return null})}const sa=["_blank","_self","_top","_parent"],tu=["ascii","utf-8","utf-16","latin1","latin1"],su=["get","post","put","delete"],ru=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Js=["true","false"],Ve={},kR={a:{attrs:{href:null,ping:null,type:null,media:null,target:sa,hreflang:null}},abbr:Ve,address:Ve,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Ve,aside:Ve,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Ve,base:{attrs:{href:null,target:sa}},bdi:Ve,bdo:Ve,blockquote:{attrs:{cite:null}},body:Ve,br:Ve,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:ru,formmethod:su,formnovalidate:["novalidate"],formtarget:sa,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Ve,center:Ve,cite:Ve,code:Ve,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Ve,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Ve,div:Ve,dl:Ve,dt:Ve,em:Ve,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Ve,figure:Ve,footer:Ve,form:{attrs:{action:null,name:null,"accept-charset":tu,autocomplete:["on","off"],enctype:ru,method:su,novalidate:["novalidate"],target:sa}},h1:Ve,h2:Ve,h3:Ve,h4:Ve,h5:Ve,h6:Ve,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Ve,hgroup:Ve,hr:Ve,html:{attrs:{manifest:null}},i:Ve,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:ru,formmethod:su,formnovalidate:["novalidate"],formtarget:sa,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Ve,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Ve,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Ve,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:tu,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Ve,noscript:Ve,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Ve,param:{attrs:{name:null,value:null}},pre:Ve,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Ve,rt:Ve,ruby:Ve,samp:Ve,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:tu}},section:Ve,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Ve,source:{attrs:{src:null,type:null,media:null}},span:Ve,strong:Ve,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Ve,summary:Ve,sup:Ve,table:Ve,tbody:Ve,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Ve,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Ve,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Ve,time:{attrs:{datetime:null}},title:Ve,tr:Ve,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Ve,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Ve},y1={accesskey:null,class:null,contenteditable:Js,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Js,autocorrect:Js,autocapitalize:Js,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Js,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Js,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Js,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Js,"aria-hidden":Js,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Js,"aria-multiselectable":Js,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Js,"aria-relevant":null,"aria-required":Js,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},S1="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(s=>"on"+s);for(let s of S1)y1[s]=null;class Ia{constructor(e,t){this.tags={...kR,...e},this.globalAttrs={...y1,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}Ia.default=new Ia;function vo(s,e,t=s.length){if(!e)return"";let r=e.firstChild,i=r&&r.getChild("TagName");return i?s.sliceString(i.from,Math.min(i.to,t)):""}function yo(s,e=!1){for(;s;s=s.parent)if(s.name=="Element")if(e)e=!1;else return s;return null}function _1(s,e,t){let r=t.tags[vo(s,yo(e))];return r?.children||t.allTags}function Rp(s,e){let t=[];for(let r=yo(e);r&&!r.type.isTop;r=yo(r.parent)){let i=vo(s,r);if(i&&r.lastChild.name=="CloseTag")break;i&&t.indexOf(i)<0&&(e.name=="EndTag"||e.from>=r.firstChild.to)&&t.push(i)}return t}const w1=/^[:\-\.\w\u00b7-\uffff]*$/;function Q0(s,e,t,r,i){let n=/\s*>/.test(s.sliceDoc(i,i+5))?"":">",a=yo(t,t.name=="StartTag"||t.name=="TagName");return{from:r,to:i,options:_1(s.doc,a,e).map(o=>({label:o,type:"type"})).concat(Rp(s.doc,t).map((o,l)=>({label:"/"+o,apply:"/"+o+n,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function $0(s,e,t,r){let i=/\s*>/.test(s.sliceDoc(r,r+5))?"":">";return{from:t,to:r,options:Rp(s.doc,e).map((n,a)=>({label:n,apply:n+i,type:"type",boost:99-a})),validFor:w1}}function CR(s,e,t,r){let i=[],n=0;for(let a of _1(s.doc,t,e))i.push({label:"<"+a,type:"type"});for(let a of Rp(s.doc,t))i.push({label:"</"+a+">",type:"type",boost:99-n++});return{from:r,to:r,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function PR(s,e,t,r,i){let n=yo(t),a=n?e.tags[vo(s.doc,n)]:null,o=a&&a.attrs?Object.keys(a.attrs):[],l=a&&a.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:r,to:i,options:l.map(c=>({label:c,type:"property"})),validFor:w1}}function TR(s,e,t,r,i){var n;let a=(n=t.parent)===null||n===void 0?void 0:n.getChild("AttributeName"),o=[],l;if(a){let c=s.sliceDoc(a.from,a.to),d=e.globalAttrs[c];if(!d){let u=yo(t),f=u?e.tags[vo(s.doc,u)]:null;d=f?.attrs&&f.attrs[c]}if(d){let u=s.sliceDoc(r,i).toLowerCase(),f='"',g='"';/^['"]/.test(u)?(l=u[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",g=s.sliceDoc(i,i+1)==u[0]?"":u[0],u=u.slice(1),r++):l=/^[^\s<>='"]*$/;for(let v of d)o.push({label:v,apply:f+v+g,type:"constant"})}}return{from:r,to:i,options:o,validFor:l}}function k1(s,e){let{state:t,pos:r}=e,i=jt(t).resolveInner(r,-1),n=i.resolve(r);for(let a=r,o;n==i&&(o=i.childBefore(a));){let l=o.lastChild;if(!l||!l.type.isError||l.from<l.to)break;n=i=o,a=l.from}return i.name=="TagName"?i.parent&&/CloseTag$/.test(i.parent.name)?$0(t,i,i.from,r):Q0(t,s,i,i.from,r):i.name=="StartTag"||i.name=="IncompleteTag"?Q0(t,s,i,r,r):i.name=="StartCloseTag"||i.name=="IncompleteCloseTag"?$0(t,i,r,r):i.name=="OpenTag"||i.name=="SelfClosingTag"||i.name=="AttributeName"?PR(t,s,i,i.name=="AttributeName"?i.from:r,r):i.name=="Is"||i.name=="AttributeValue"||i.name=="UnquotedAttributeValue"?TR(t,s,i,i.name=="Is"?r:i.from,r):e.explicit&&(n.name=="Element"||n.name=="Text"||n.name=="Document")?CR(t,s,i,r):null}function QR(s){return k1(Ia.default,s)}function $R(s){let{extraTags:e,extraGlobalAttributes:t}=s,r=t||e?new Ia(e,t):Ia.default;return i=>k1(r,i)}const jR=Jr.parser.configure({top:"SingleExpression"}),C1=[{tag:"script",attrs:s=>s.type=="text/typescript"||s.lang=="ts",parser:zy.parser},{tag:"script",attrs:s=>s.type=="text/babel"||s.type=="text/jsx",parser:Zy.parser},{tag:"script",attrs:s=>s.type=="text/typescript-jsx",parser:Vy.parser},{tag:"script",attrs(s){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(s.type)},parser:jR},{tag:"script",attrs(s){return!s.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(s.type)},parser:Jr.parser},{tag:"style",attrs(s){return(!s.lang||s.lang=="css")&&(!s.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(s.type))},parser:Jc.parser}],P1=[{name:"style",parser:Jc.parser.configure({top:"Styles"})}].concat(S1.map(s=>({name:s,parser:Jr.parser}))),T1=Ci.define({name:"html",parser:wR.configure({props:[tn.add({Element(s){let e=/^(\s*)(<\/)?/.exec(s.textAfter);return s.node.to<=s.pos+e[0].length?s.continue():s.lineIndent(s.node.from)+(e[2]?0:s.unit)},"OpenTag CloseTag SelfClosingTag"(s){return s.column(s.node.from)+s.unit},Document(s){if(s.pos+/\s*/.exec(s.textAfter)[0].length<s.node.to)return s.continue();let e=null,t;for(let r=s.node;;){let i=r.lastChild;if(!i||i.name!="Element"||i.to!=r.to)break;e=r=i}return e&&!((t=e.lastChild)&&(t.name=="CloseTag"||t.name=="SelfClosingTag"))?s.lineIndent(e.from)+s.unit:null}}),$i.add({Element(s){let e=s.firstChild,t=s.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:s.to}}}),lp.add({"OpenTag CloseTag":s=>s.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),Sc=T1.configure({wrap:v1(C1,P1)});function Q1(s={}){let e="",t;s.matchClosingTags===!1&&(e="noMatch"),s.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(s.nestedLanguages&&s.nestedLanguages.length||s.nestedAttributes&&s.nestedAttributes.length)&&(t=v1((s.nestedLanguages||[]).concat(C1),(s.nestedAttributes||[]).concat(P1)));let r=t?T1.configure({wrap:t,dialect:e}):e?Sc.configure({dialect:e}):Sc;return new Ji(r,[Sc.data.of({autocomplete:$R(s)}),s.autoCloseTags!==!1?ER:[],xc().support,h1().support])}const j0=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),ER=Pe.inputHandler.of((s,e,t,r,i)=>{if(s.composing||s.state.readOnly||e!=t||r!=">"&&r!="/"||!Sc.isActiveAt(s.state,e,-1))return!1;let n=i(),{state:a}=n,o=a.changeByRange(l=>{var c,d,u;let f=a.doc.sliceString(l.from-1,l.to)==r,{head:g}=l,v=jt(a).resolveInner(g,-1),b;if(f&&r==">"&&v.name=="EndTag"){let m=v.parent;if(((d=(c=m.parent)===null||c===void 0?void 0:c.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(b=vo(a.doc,m.parent,g))&&!j0.has(b)){let O=g+(a.doc.sliceString(g,g+1)===">"?1:0),p=`</${b}>`;return{range:l,changes:{from:g,to:O,insert:p}}}}else if(f&&r=="/"&&v.name=="IncompleteCloseTag"){let m=v.parent;if(v.from==g-2&&((u=m.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(b=vo(a.doc,m,g))&&!j0.has(b)){let O=g+(a.doc.sliceString(g,g+1)===">"?1:0),p=`${b}>`;return{range:re.cursor(g+p.length,-1),changes:{from:g,to:O,insert:p}}}}return{range:l}});return o.changes.empty?!1:(s.dispatch([n,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});class th{static create(e,t,r,i,n){let a=i+(i<<8)+e+(t<<4)|0;return new th(e,t,r,a,n,[],[])}constructor(e,t,r,i,n,a,o){this.type=e,this.value=t,this.from=r,this.hash=i,this.end=n,this.children=a,this.positions=o,this.hashProp=[[ht.contextHash,i]]}addChild(e,t){e.prop(ht.contextHash)!=this.hash&&(e=new $t(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let r=this.children.length-1;return r>=0&&(t=Math.max(t,this.positions[r]+this.children[r].length+this.from)),new $t(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(i,n,a)=>new $t(hs.none,i,n,a,this.hashProp)})}}var _e;(function(s){s[s.Document=1]="Document",s[s.CodeBlock=2]="CodeBlock",s[s.FencedCode=3]="FencedCode",s[s.Blockquote=4]="Blockquote",s[s.HorizontalRule=5]="HorizontalRule",s[s.BulletList=6]="BulletList",s[s.OrderedList=7]="OrderedList",s[s.ListItem=8]="ListItem",s[s.ATXHeading1=9]="ATXHeading1",s[s.ATXHeading2=10]="ATXHeading2",s[s.ATXHeading3=11]="ATXHeading3",s[s.ATXHeading4=12]="ATXHeading4",s[s.ATXHeading5=13]="ATXHeading5",s[s.ATXHeading6=14]="ATXHeading6",s[s.SetextHeading1=15]="SetextHeading1",s[s.SetextHeading2=16]="SetextHeading2",s[s.HTMLBlock=17]="HTMLBlock",s[s.LinkReference=18]="LinkReference",s[s.Paragraph=19]="Paragraph",s[s.CommentBlock=20]="CommentBlock",s[s.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",s[s.Escape=22]="Escape",s[s.Entity=23]="Entity",s[s.HardBreak=24]="HardBreak",s[s.Emphasis=25]="Emphasis",s[s.StrongEmphasis=26]="StrongEmphasis",s[s.Link=27]="Link",s[s.Image=28]="Image",s[s.InlineCode=29]="InlineCode",s[s.HTMLTag=30]="HTMLTag",s[s.Comment=31]="Comment",s[s.ProcessingInstruction=32]="ProcessingInstruction",s[s.Autolink=33]="Autolink",s[s.HeaderMark=34]="HeaderMark",s[s.QuoteMark=35]="QuoteMark",s[s.ListMark=36]="ListMark",s[s.LinkMark=37]="LinkMark",s[s.EmphasisMark=38]="EmphasisMark",s[s.CodeMark=39]="CodeMark",s[s.CodeText=40]="CodeText",s[s.CodeInfo=41]="CodeInfo",s[s.LinkTitle=42]="LinkTitle",s[s.LinkLabel=43]="LinkLabel",s[s.URL=44]="URL"})(_e||(_e={}));class RR{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class AR{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return ma(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,r=0){for(let i=t;i<e;i++)r+=this.text.charCodeAt(i)==9?4-r%4:1;return r}findColumn(e){let t=0;for(let r=0;t<this.text.length&&r<e;t++)r+=this.text.charCodeAt(t)==9?4-r%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}}function E0(s,e,t){if(t.pos==t.text.length||s!=e.block&&t.indent>=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let r=(s.type==_e.OrderedList?Lp:Mp)(t,e,!1);return r>0&&(s.type!=_e.BulletList||Ap(t,e,!1)<0)&&t.text.charCodeAt(t.pos+r-1)==s.value}const $1={[_e.Blockquote](s,e,t){return t.next!=62?!1:(t.markers.push(_t(_e.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(br(t.text.charCodeAt(t.pos+1))?2:1)),s.end=e.lineStart+t.text.length,!0)},[_e.ListItem](s,e,t){return t.indent<t.baseIndent+s.value&&t.next>-1?!1:(t.moveBaseColumn(t.baseIndent+s.value),!0)},[_e.OrderedList]:E0,[_e.BulletList]:E0,[_e.Document](){return!0}};function br(s){return s==32||s==9||s==10||s==13}function ma(s,e=0){for(;e<s.length&&br(s.charCodeAt(e));)e++;return e}function R0(s,e,t){for(;e>t&&br(s.charCodeAt(e-1));)e--;return e}function j1(s){if(s.next!=96&&s.next!=126)return-1;let e=s.pos+1;for(;e<s.text.length&&s.text.charCodeAt(e)==s.next;)e++;if(e<s.pos+3)return-1;if(s.next==96){for(let t=e;t<s.text.length;t++)if(s.text.charCodeAt(t)==96)return-1}return e}function E1(s){return s.next!=62?-1:s.text.charCodeAt(s.pos+1)==32?2:1}function Ap(s,e,t){if(s.next!=42&&s.next!=45&&s.next!=95)return-1;let r=1;for(let i=s.pos+1;i<s.text.length;i++){let n=s.text.charCodeAt(i);if(n==s.next)r++;else if(!br(n))return-1}return t&&s.next==45&&M1(s)>-1&&s.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(I1.SetextHeading)>-1||r<3?-1:1}function R1(s,e){for(let t=s.stack.length-1;t>=0;t--)if(s.stack[t].type==e)return!0;return!1}function Mp(s,e,t){return(s.next==45||s.next==43||s.next==42)&&(s.pos==s.text.length-1||br(s.text.charCodeAt(s.pos+1)))&&(!t||R1(e,_e.BulletList)||s.skipSpace(s.pos+2)<s.text.length)?1:-1}function Lp(s,e,t){let r=s.pos,i=s.next;for(;i>=48&&i<=57;){r++;if(r==s.text.length)return-1;i=s.text.charCodeAt(r)}return r==s.pos||r>s.pos+9||i!=46&&i!=41||r<s.text.length-1&&!br(s.text.charCodeAt(r+1))||t&&!R1(e,_e.OrderedList)&&(s.skipSpace(r+1)==s.text.length||r>s.pos+1||s.next!=49)?-1:r+1-s.pos}function A1(s){if(s.next!=35)return-1;let e=s.pos+1;for(;e<s.text.length&&s.text.charCodeAt(e)==35;)e++;if(e<s.text.length&&s.text.charCodeAt(e)!=32)return-1;let t=e-s.pos;return t>6?-1:t}function M1(s){if(s.next!=45&&s.next!=61||s.indent>=s.baseIndent+4)return-1;let e=s.pos+1;for(;e<s.text.length&&s.text.charCodeAt(e)==s.next;)e++;let t=e;for(;e<s.text.length&&br(s.text.charCodeAt(e));)e++;return e==s.text.length?t:-1}const yf=/^[ \t]*$/,L1=/-->/,N1=/\?>/,Sf=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,L1],[/^\s*<\?/,N1],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?: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|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,yf],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,yf]];function D1(s,e,t){if(s.next!=60)return-1;let r=s.text.slice(s.pos);for(let i=0,n=Sf.length-(t?1:0);i<n;i++)if(Sf[i][0].test(r))return i;return-1}function A0(s,e){let t=s.countIndent(e,s.pos,s.indent),r=s.skipSpace(e),i=s.countIndent(r,e,t);return i>=t+5||r==s.text.length?t+1:i}function Bi(s,e,t){let r=s.length-1;r>=0&&s[r].to==e&&s[r].type==_e.CodeText?s[r].to=t:s.push(_t(_e.CodeText,e,t))}const ec={LinkReference:void 0,IndentedCode(s,e){let t=e.baseIndent+4;if(e.indent<t)return!1;let r=e.findColumn(t),i=s.lineStart+r,n=s.lineStart+e.text.length,a=[],o=[];for(Bi(a,i,n);s.nextLine()&&e.depth>=s.stack.length;)if(e.pos==e.text.length){Bi(o,s.lineStart-1,s.lineStart);for(let l of e.markers)o.push(l)}else{if(e.indent<t)break;{if(o.length){for(let c of o)c.type==_e.CodeText?Bi(a,c.from,c.to):a.push(c);o=[]}Bi(a,s.lineStart-1,s.lineStart);for(let c of e.markers)a.push(c);n=s.lineStart+e.text.length;let l=s.lineStart+e.findColumn(e.baseIndent+4);l<n&&Bi(a,l,n)}}return o.length&&(o=o.filter(l=>l.type!=_e.CodeText),o.length&&(e.markers=o.concat(e.markers))),s.addNode(s.buffer.writeElements(a,-i).finish(_e.CodeBlock,n-i),i),!0},FencedCode(s,e){let t=j1(e);if(t<0)return!1;let r=s.lineStart+e.pos,i=e.next,n=t-e.pos,a=e.skipSpace(t),o=R0(e.text,e.text.length,a),l=[_t(_e.CodeMark,r,r+n)];a<o&&l.push(_t(_e.CodeInfo,s.lineStart+a,s.lineStart+o));for(let c=!0,d=!0,u=!1;s.nextLine()&&e.depth>=s.stack.length;c=!1){let f=e.pos;if(e.indent-e.baseIndent<4)for(;f<e.text.length&&e.text.charCodeAt(f)==i;)f++;if(f-e.pos>=n&&e.skipSpace(f)==e.text.length){for(let g of e.markers)l.push(g);d&&u&&Bi(l,s.lineStart-1,s.lineStart),l.push(_t(_e.CodeMark,s.lineStart+e.pos,s.lineStart+f)),s.nextLine();break}else{u=!0,c||(Bi(l,s.lineStart-1,s.lineStart),d=!1);for(let b of e.markers)l.push(b);let g=s.lineStart+e.basePos,v=s.lineStart+e.text.length;g<v&&(Bi(l,g,v),d=!1)}}return s.addNode(s.buffer.writeElements(l,-r).finish(_e.FencedCode,s.prevLineEnd()-r),r),!0},Blockquote(s,e){let t=E1(e);return t<0?!1:(s.startContext(_e.Blockquote,e.pos),s.addNode(_e.QuoteMark,s.lineStart+e.pos,s.lineStart+e.pos+1),e.moveBase(e.pos+t),null)},HorizontalRule(s,e){if(Ap(e,s,!1)<0)return!1;let t=s.lineStart+e.pos;return s.nextLine(),s.addNode(_e.HorizontalRule,t),!0},BulletList(s,e){let t=Mp(e,s,!1);if(t<0)return!1;s.block.type!=_e.BulletList&&s.startContext(_e.BulletList,e.basePos,e.next);let r=A0(e,e.pos+1);return s.startContext(_e.ListItem,e.basePos,r-e.baseIndent),s.addNode(_e.ListMark,s.lineStart+e.pos,s.lineStart+e.pos+t),e.moveBaseColumn(r),null},OrderedList(s,e){let t=Lp(e,s,!1);if(t<0)return!1;s.block.type!=_e.OrderedList&&s.startContext(_e.OrderedList,e.basePos,e.text.charCodeAt(e.pos+t-1));let r=A0(e,e.pos+t);return s.startContext(_e.ListItem,e.basePos,r-e.baseIndent),s.addNode(_e.ListMark,s.lineStart+e.pos,s.lineStart+e.pos+t),e.moveBaseColumn(r),null},ATXHeading(s,e){let t=A1(e);if(t<0)return!1;let r=e.pos,i=s.lineStart+r,n=R0(e.text,e.text.length,r),a=n;for(;a>r&&e.text.charCodeAt(a-1)==e.next;)a--;(a==n||a==r||!br(e.text.charCodeAt(a-1)))&&(a=e.text.length);let o=s.buffer.write(_e.HeaderMark,0,t).writeElements(s.parser.parseInline(e.text.slice(r+t+1,a),i+t+1),-i);a<e.text.length&&o.write(_e.HeaderMark,a-r,n-r);let l=o.finish(_e.ATXHeading1-1+t,e.text.length-r);return s.nextLine(),s.addNode(l,i),!0},HTMLBlock(s,e){let t=D1(e,s,!1);if(t<0)return!1;let r=s.lineStart+e.pos,i=Sf[t][1],n=[],a=i!=yf;for(;!i.test(e.text)&&s.nextLine();){if(e.depth<s.stack.length){a=!1;break}for(let c of e.markers)n.push(c)}a&&s.nextLine();let o=i==L1?_e.CommentBlock:i==N1?_e.ProcessingInstructionBlock:_e.HTMLBlock,l=s.prevLineEnd();return s.addNode(s.buffer.writeElements(n,-r).finish(o,l-r),r),!0},SetextHeading:void 0};class MR{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,r){if(this.stage==-1)return!1;let i=r.content+`
31
+ `+t.scrub(),n=this.advance(i);return n>-1&&n<i.length?this.complete(e,r,n):!1}finish(e,t){return(this.stage==2||this.stage==3)&&ma(t.content,this.pos)==t.content.length?this.complete(e,t,t.content.length):!1}complete(e,t,r){return e.addLeafElement(t,_t(_e.LinkReference,this.start,this.start+r,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(Y1(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(_t(_e.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(V1(e,ma(e,this.pos),this.start)))return-1}else if(this.stage==2){let t=ma(e,this.pos),r=0;if(t>this.pos){let i=F1(e,t,this.start);if(i){let n=iu(e,i.to-this.start);n>0&&(this.nextStage(i),r=n)}}return r||(r=iu(e,this.pos)),r>0&&r<e.length?r:-1}else return iu(e,this.pos)}}}function iu(s,e){for(;e<s.length;e++){let t=s.charCodeAt(e);if(t==10)break;if(!br(t))return-1}return e}class LR{nextLine(e,t,r){let i=t.depth<e.stack.length?-1:M1(t),n=t.next;if(i<0)return!1;let a=_t(_e.HeaderMark,e.lineStart+t.pos,e.lineStart+i);return e.nextLine(),e.addLeafElement(r,_t(n==61?_e.SetextHeading1:_e.SetextHeading2,r.start,e.prevLineEnd(),[...e.parser.parseInline(r.content,r.start),a])),!0}finish(){return!1}}const I1={LinkReference(s,e){return e.content.charCodeAt(0)==91?new MR(e):null},SetextHeading(){return new LR}},NR=[(s,e)=>A1(e)>=0,(s,e)=>j1(e)>=0,(s,e)=>E1(e)>=0,(s,e)=>Mp(e,s,!0)>=0,(s,e)=>Lp(e,s,!0)>=0,(s,e)=>Ap(e,s,!0)>=0,(s,e)=>D1(e,s,!0)>=0],DR={text:"",end:0};class IR{constructor(e,t,r,i){this.parser=e,this.input=t,this.ranges=i,this.line=new AR,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=i[i.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=i[0].from,this.block=th.create(_e.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=r.length?new XR(r,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let r=0;;){let i=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;r<e.markers.length&&(!i||e.markers[r].from<i.end);){let n=e.markers[r++];this.addNode(n.type,n.from,n.to)}if(!i)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let r of this.parser.blockParsers)if(r){let i=r(this,e);if(i!=!1){if(i==!0)return null;e.forward();continue e}}break}if(e.pos==e.text.length)return this.nextLine()?null:this.finish();let t=new RR(this.lineStart+e.pos,e.text.slice(e.pos));for(let r of this.parser.leafBlockParsers)if(r){let i=r(this,t);i&&t.parsers.push(i)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let r of this.parser.endLeafBlock)if(r(this,e,t))break e}for(let r of t.parsers)if(r.nextLine(this,e,t))return null;t.content+=`
32
+ `+e.scrub();for(let r of e.markers)t.marks.push(r)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=U1(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=DR;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let r=this.absoluteLineStart,i=this.rangeI;for(;this.ranges[i].to<t.end;){i++;let n=this.ranges[i].from,a=this.lineChunkAt(n);t.end=n+a.length,t.text=t.text.slice(0,this.ranges[i-1].to-r)+a,r=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:r}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=r,e.reset(t);e.depth<this.stack.length;e.depth++){let i=this.stack[e.depth],n=this.parser.skipContextMarkup[i.type];if(!n)throw new Error("Unhandled block context "+_e[i.type]);let a=this.line.markers.length;if(!n(i,this,e)){this.line.markers.length>a&&(i.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),r;if(this.input.lineChunks)r=t==`
33
+ `?"":t;else{let i=t.indexOf(`
34
+ `);r=i<0?t:t.slice(0,i)}return e+r.length>this.to?r.slice(0,this.to-e):r}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,r=0){this.block=th.create(e,r,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,r=0){this.startContext(this.parser.getNodeType(e),t,r)}addNode(e,t,r){typeof e=="number"&&(e=new $t(this.parser.nodeSet.types[e],So,So,(r??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(wf(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?B1(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let r of e.parsers)if(r.finish(this,e))return;let t=wf(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(_e.Paragraph,e.content.length),e.start)}elt(e,t,r,i){return typeof e=="string"?_t(this.parser.getNodeType(e),t,r,i):new q1(e,t)}get buffer(){return new X1(this.parser.nodeSet)}}function B1(s,e,t,r,i){let n=s[e].to,a=[],o=[],l=t.from+r;function c(d,u){for(;u?d>=n:d>n;){let f=s[e+1].from-n;r+=f,d+=f,e++,n=s[e].to}}for(let d=t.firstChild;d;d=d.nextSibling){c(d.from+r,!0);let u=d.from+r,f,g=i.get(d.tree);g?f=g:d.to+r>n?(f=B1(s,e,d,r,i),c(d.to+r,!1)):f=d.toTree(),a.push(f),o.push(u-l)}return c(t.to+r,!1),new $t(t.type,a,o,t.to+r-l,t.tree?t.tree.propValues:void 0)}class _h extends rp{constructor(e,t,r,i,n,a,o,l,c){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=r,this.blockNames=i,this.endLeafBlock=n,this.skipContextMarkup=a,this.inlineParsers=o,this.inlineNames=l,this.wrappers=c,this.nodeTypes=Object.create(null);for(let d of e.types)this.nodeTypes[d.name]=d.id}createParse(e,t,r){let i=new IR(this,e,t,r);for(let n of this.wrappers)i=n(i,e,t,r);return i}configure(e){let t=_f(e);if(!t)return this;let{nodeSet:r,skipContextMarkup:i}=this,n=this.blockParsers.slice(),a=this.leafBlockParsers.slice(),o=this.blockNames.slice(),l=this.inlineParsers.slice(),c=this.inlineNames.slice(),d=this.endLeafBlock.slice(),u=this.wrappers;if(ra(t.defineNodes)){i=Object.assign({},i);let f=r.types.slice(),g;for(let v of t.defineNodes){let{name:b,block:m,composite:O,style:p}=typeof v=="string"?{name:v}:v;if(f.some(_=>_.name==b))continue;O&&(i[f.length]=(_,k,w)=>O(k,w,_.value));let x=f.length,y=O?["Block","BlockContext"]:m?x>=_e.ATXHeading1&&x<=_e.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;f.push(hs.define({id:x,name:b,props:y&&[[ht.group,y]]})),p&&(g||(g={}),Array.isArray(p)||p instanceof sr?g[b]=p:Object.assign(g,p))}r=new Va(f),g&&(r=r.extend(Qi(g)))}if(ra(t.props)&&(r=r.extend(...t.props)),ra(t.remove))for(let f of t.remove){let g=this.blockNames.indexOf(f),v=this.inlineNames.indexOf(f);g>-1&&(n[g]=a[g]=void 0),v>-1&&(l[v]=void 0)}if(ra(t.parseBlock))for(let f of t.parseBlock){let g=o.indexOf(f.name);if(g>-1)n[g]=f.parse,a[g]=f.leaf;else{let v=f.before?tc(o,f.before):f.after?tc(o,f.after)+1:o.length-1;n.splice(v,0,f.parse),a.splice(v,0,f.leaf),o.splice(v,0,f.name)}f.endLeaf&&d.push(f.endLeaf)}if(ra(t.parseInline))for(let f of t.parseInline){let g=c.indexOf(f.name);if(g>-1)l[g]=f.parse;else{let v=f.before?tc(c,f.before):f.after?tc(c,f.after)+1:c.length-1;l.splice(v,0,f.parse),c.splice(v,0,f.name)}}return t.wrap&&(u=u.concat(t.wrap)),new _h(r,n,a,o,d,i,l,c,u)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let r=new Np(this,e,t);e:for(let i=t;i<r.end;){let n=r.char(i);for(let a of this.inlineParsers)if(a){let o=a(r,n,i);if(o>=0){i=o;continue e}}i++}return r.resolveMarkers(0)}}function ra(s){return s!=null&&s.length>0}function _f(s){if(!Array.isArray(s))return s;if(s.length==0)return null;let e=_f(s[0]);if(s.length==1)return e;let t=_f(s.slice(1));if(!t||!e)return e||t;let r=(a,o)=>(a||So).concat(o||So),i=e.wrap,n=t.wrap;return{props:r(e.props,t.props),defineNodes:r(e.defineNodes,t.defineNodes),parseBlock:r(e.parseBlock,t.parseBlock),parseInline:r(e.parseInline,t.parseInline),remove:r(e.remove,t.remove),wrap:i?n?(a,o,l,c)=>i(n(a,o,l,c),o,l,c):i:n}}function tc(s,e){let t=s.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}let W1=[hs.none];for(let s=1,e;e=_e[s];s++)W1[s]=hs.define({id:s,name:e,props:s>=_e.Escape?[]:[[ht.group,s in $1?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});const So=[];class X1{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,r,i=0){return this.content.push(e,t,r,4+i*4),this}writeElements(e,t=0){for(let r of e)r.writeTo(this,t);return this}finish(e,t){return $t.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}let Ba=class{constructor(e,t,r,i=So){this.type=e,this.from=t,this.to=r,this.children=i}writeTo(e,t){let r=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-r)}toTree(e){return new X1(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class q1{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return So}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function _t(s,e,t,r){return new Ba(s,e,t,r)}const z1={resolve:"Emphasis",mark:"EmphasisMark"},Z1={resolve:"Emphasis",mark:"EmphasisMark"},Pn={},sh={};class tr{constructor(e,t,r,i){this.type=e,this.from=t,this.to=r,this.side=i}}const M0="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let Wa=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{Wa=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const nu={Escape(s,e,t){if(e!=92||t==s.end-1)return-1;let r=s.char(t+1);for(let i=0;i<M0.length;i++)if(M0.charCodeAt(i)==r)return s.append(_t(_e.Escape,t,t+2));return-1},Entity(s,e,t){if(e!=38)return-1;let r=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(s.slice(t+1,t+31));return r?s.append(_t(_e.Entity,t,t+1+r[0].length)):-1},InlineCode(s,e,t){if(e!=96||t&&s.char(t-1)==96)return-1;let r=t+1;for(;r<s.end&&s.char(r)==96;)r++;let i=r-t,n=0;for(;r<s.end;r++)if(s.char(r)==96){if(n++,n==i&&s.char(r+1)!=96)return s.append(_t(_e.InlineCode,t,r+1,[_t(_e.CodeMark,t,t+i),_t(_e.CodeMark,r+1-i,r+1)]))}else n=0;return-1},HTMLTag(s,e,t){if(e!=60||t==s.end-1)return-1;let r=s.slice(t+1,s.end),i=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(r);if(i)return s.append(_t(_e.Autolink,t,t+1+i[0].length,[_t(_e.LinkMark,t,t+1),_t(_e.URL,t+1,t+i[0].length),_t(_e.LinkMark,t+i[0].length,t+1+i[0].length)]));let n=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(r);if(n)return s.append(_t(_e.Comment,t,t+1+n[0].length));let a=/^\?[^]*?\?>/.exec(r);if(a)return s.append(_t(_e.ProcessingInstruction,t,t+1+a[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(r);return o?s.append(_t(_e.HTMLTag,t,t+1+o[0].length)):-1},Emphasis(s,e,t){if(e!=95&&e!=42)return-1;let r=t+1;for(;s.char(r)==e;)r++;let i=s.slice(t-1,t),n=s.slice(r,r+1),a=Wa.test(i),o=Wa.test(n),l=/\s|^$/.test(i),c=/\s|^$/.test(n),d=!c&&(!o||l||a),u=!l&&(!a||c||o),f=d&&(e==42||!u||a),g=u&&(e==42||!d||o);return s.append(new tr(e==95?z1:Z1,t,r,(f?1:0)|(g?2:0)))},HardBreak(s,e,t){if(e==92&&s.char(t+1)==10)return s.append(_t(_e.HardBreak,t,t+2));if(e==32){let r=t+1;for(;s.char(r)==32;)r++;if(s.char(r)==10&&r>=t+2)return s.append(_t(_e.HardBreak,t,r+1))}return-1},Link(s,e,t){return e==91?s.append(new tr(Pn,t,t+1,1)):-1},Image(s,e,t){return e==33&&s.char(t+1)==91?s.append(new tr(sh,t,t+2,1)):-1},LinkEnd(s,e,t){if(e!=93)return-1;for(let r=s.parts.length-1;r>=0;r--){let i=s.parts[r];if(i instanceof tr&&(i.type==Pn||i.type==sh)){if(!i.side||s.skipSpace(i.to)==t&&!/[(\[]/.test(s.slice(t+1,t+2)))return s.parts[r]=null,-1;let n=s.takeContent(r),a=s.parts[r]=BR(s,n,i.type==Pn?_e.Link:_e.Image,i.from,t+1);if(i.type==Pn)for(let o=0;o<r;o++){let l=s.parts[o];l instanceof tr&&l.type==Pn&&(l.side=0)}return a.to}}return-1}};function BR(s,e,t,r,i){let{text:n}=s,a=s.char(i),o=i;if(e.unshift(_t(_e.LinkMark,r,r+(t==_e.Image?2:1))),e.push(_t(_e.LinkMark,i-1,i)),a==40){let l=s.skipSpace(i+1),c=V1(n,l-s.offset,s.offset),d;c&&(l=s.skipSpace(c.to),l!=c.to&&(d=F1(n,l-s.offset,s.offset),d&&(l=s.skipSpace(d.to)))),s.char(l)==41&&(e.push(_t(_e.LinkMark,i,i+1)),o=l+1,c&&e.push(c),d&&e.push(d),e.push(_t(_e.LinkMark,l,o)))}else if(a==91){let l=Y1(n,i-s.offset,s.offset,!1);l&&(e.push(l),o=l.to)}return _t(t,r,o,e)}function V1(s,e,t){if(s.charCodeAt(e)==60){for(let i=e+1;i<s.length;i++){let n=s.charCodeAt(i);if(n==62)return _t(_e.URL,e+t,i+1+t);if(n==60||n==10)return!1}return null}else{let i=0,n=e;for(let a=!1;n<s.length;n++){let o=s.charCodeAt(n);if(br(o))break;if(a)a=!1;else if(o==40)i++;else if(o==41){if(!i)break;i--}else o==92&&(a=!0)}return n>e?_t(_e.URL,e+t,n+t):n==s.length?null:!1}}function F1(s,e,t){let r=s.charCodeAt(e);if(r!=39&&r!=34&&r!=40)return!1;let i=r==40?41:r;for(let n=e+1,a=!1;n<s.length;n++){let o=s.charCodeAt(n);if(a)a=!1;else{if(o==i)return _t(_e.LinkTitle,e+t,n+1+t);o==92&&(a=!0)}}return null}function Y1(s,e,t,r){for(let i=!1,n=e+1,a=Math.min(s.length,n+999);n<a;n++){let o=s.charCodeAt(n);if(i)i=!1;else{if(o==93)return r?!1:_t(_e.LinkLabel,e+t,n+1+t);if(r&&!br(o)&&(r=!1),o==91)return!1;o==92&&(i=!0)}}return null}class Np{constructor(e,t,r){this.parser=e,this.text=t,this.offset=r,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,r,i,n){return this.append(new tr(e,t,r,(i?1:0)|(n?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof tr&&(t.type==Pn||t.type==sh))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let r=e;r<this.parts.length;r++){let i=this.parts[r];if(!(i instanceof tr&&i.type.resolve&&i.side&2))continue;let n=i.type==z1||i.type==Z1,a=i.to-i.from,o,l=r-1;for(;l>=e;l--){let b=this.parts[l];if(b instanceof tr&&b.side&1&&b.type==i.type&&!(n&&(i.side&1||b.side&2)&&(b.to-b.from+a)%3==0&&((b.to-b.from)%3||a%3))){o=b;break}}if(!o)continue;let c=i.type.resolve,d=[],u=o.from,f=i.to;if(n){let b=Math.min(2,o.to-o.from,a);u=o.to-b,f=i.from+b,c=b==1?"Emphasis":"StrongEmphasis"}o.type.mark&&d.push(this.elt(o.type.mark,u,o.to));for(let b=l+1;b<r;b++)this.parts[b]instanceof Ba&&d.push(this.parts[b]),this.parts[b]=null;i.type.mark&&d.push(this.elt(i.type.mark,i.from,f));let g=this.elt(c,u,f,d);this.parts[l]=n&&o.from!=u?new tr(o.type,o.from,u,o.side):null,(this.parts[r]=n&&i.to!=f?new tr(i.type,f,i.to,i.side):null)?this.parts.splice(r,0,g):this.parts[r]=g}let t=[];for(let r=e;r<this.parts.length;r++){let i=this.parts[r];i instanceof Ba&&t.push(i)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let r=this.parts[t];if(r instanceof tr&&r.type==e&&r.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof tr?t:null}skipSpace(e){return ma(this.text,e-this.offset)+this.offset}elt(e,t,r,i){return typeof e=="string"?_t(this.parser.getNodeType(e),t,r,i):new q1(e,t)}}Np.linkStart=Pn;Np.imageStart=sh;function wf(s,e){if(!e.length)return s;if(!s.length)return e;let t=s.slice(),r=0;for(let i of e){for(;r<t.length&&t[r].to<i.to;)r++;if(r<t.length&&t[r].from<i.from){let n=t[r];n instanceof Ba&&(t[r]=new Ba(n.type,n.from,n.to,wf(n.children,[i])))}else t.splice(r++,0,i)}return t}const WR=[_e.CodeBlock,_e.ListItem,_e.OrderedList,_e.BulletList];class XR{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let n=this.fragment.to;for(;n>0&&this.input.read(n-1,n)!=`
35
+ `;)n--;this.fragmentEnd=n?n-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let i=e+this.fragment.offset;for(;r.to<=i;)if(!r.parent())return!1;for(;;){if(r.from>=i)return this.fragment.from<=t;if(!r.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(ht.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,a=n,o=e.block.children.length,l=a,c=o;for(;;){if(t.to-r>i){if(t.type.isAnonymous&&t.firstChild())continue;break}let d=U1(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,d);else{let u=new $t(e.parser.nodeSet.types[_e.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(u,t.tree),e.addNode(u,d)}if(t.type.is("Block")&&(WR.indexOf(t.type.id)<0?(a=t.to-r,o=e.block.children.length):(a=l,o=c),l=t.to-r,c=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return a-n}}function U1(s,e){let t=s;for(let r=1;r<e.length;r++){let i=e[r-1].to,n=e[r].from;i<s&&(t-=n-i)}return t}const qR=Qi({"Blockquote/...":M.quote,HorizontalRule:M.contentSeparator,"ATXHeading1/... SetextHeading1/...":M.heading1,"ATXHeading2/... SetextHeading2/...":M.heading2,"ATXHeading3/...":M.heading3,"ATXHeading4/...":M.heading4,"ATXHeading5/...":M.heading5,"ATXHeading6/...":M.heading6,"Comment CommentBlock":M.comment,Escape:M.escape,Entity:M.character,"Emphasis/...":M.emphasis,"StrongEmphasis/...":M.strong,"Link/... Image/...":M.link,"OrderedList/... BulletList/...":M.list,"BlockQuote/...":M.quote,"InlineCode CodeText":M.monospace,"URL Autolink":M.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":M.processingInstruction,"CodeInfo LinkLabel":M.labelName,LinkTitle:M.string,Paragraph:M.content}),zR=new _h(new Va(W1).extend(qR),Object.keys(ec).map(s=>ec[s]),Object.keys(ec).map(s=>I1[s]),Object.keys(ec),NR,$1,Object.keys(nu).map(s=>nu[s]),Object.keys(nu),[]);function ZR(s,e,t){let r=[];for(let i=s.firstChild,n=e;;i=i.nextSibling){let a=i?i.from:t;if(a>n&&r.push({from:n,to:a}),!i)break;n=i.to}return r}function VR(s){let{codeParser:e,htmlParser:t}=s;return{wrap:fv((i,n)=>{let a=i.type.id;if(e&&(a==_e.CodeBlock||a==_e.FencedCode)){let o="";if(a==_e.FencedCode){let c=i.node.getChild(_e.CodeInfo);c&&(o=n.read(c.from,c.to))}let l=e(o);if(l)return{parser:l,overlay:c=>c.type.id==_e.CodeText,bracketed:a==_e.FencedCode}}else if(t&&(a==_e.HTMLBlock||a==_e.HTMLTag||a==_e.CommentBlock))return{parser:t,overlay:ZR(i.node,i.from,i.to)};return null})}}const FR={resolve:"Strikethrough",mark:"StrikethroughMark"},YR={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":M.strikethrough}},{name:"StrikethroughMark",style:M.processingInstruction}],parseInline:[{name:"Strikethrough",parse(s,e,t){if(e!=126||s.char(t+1)!=126||s.char(t+2)==126)return-1;let r=s.slice(t-1,t),i=s.slice(t+2,t+3),n=/\s|^$/.test(r),a=/\s|^$/.test(i),o=Wa.test(r),l=Wa.test(i);return s.addDelimiter(FR,t,t+2,!a&&(!l||n||o),!n&&(!o||a||l))},after:"Emphasis"}]};function ga(s,e,t=0,r,i=0){let n=0,a=!0,o=-1,l=-1,c=!1,d=()=>{r.push(s.elt("TableCell",i+o,i+l,s.parser.parseInline(e.slice(o,l),i+o)))};for(let u=t;u<e.length;u++){let f=e.charCodeAt(u);f==124&&!c?((!a||o>-1)&&n++,a=!1,r&&(o>-1&&d(),r.push(s.elt("TableDelimiter",u+i,u+i+1))),o=l=-1):(c||f!=32&&f!=9)&&(o<0&&(o=u),l=u+1),c=!c&&f==92}return o>-1&&(n++,r&&d()),n}function L0(s,e){for(let t=e;t<s.length;t++){let r=s.charCodeAt(t);if(r==124)return!0;r==92&&t++}return!1}const H1=/^[>\s]*\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class N0{constructor(){this.rows=null}nextLine(e,t,r){if(this.rows==null){this.rows=!1;let i;if((t.next==45||t.next==58||t.next==124)&&H1.test(i=t.text.slice(t.pos))){let n=[];ga(e,r.content,0,n,r.start)==ga(e,i,0)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,n),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let i=[];ga(e,t.text,t.pos,i,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,i))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}}const UR={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":M.heading}},"TableRow",{name:"TableCell",style:M.content},{name:"TableDelimiter",style:M.processingInstruction}],parseBlock:[{name:"Table",leaf(s,e){return L0(e.content,0)?new N0:null},endLeaf(s,e,t){if(t.parsers.some(i=>i instanceof N0)||!L0(e.text,e.basePos))return!1;let r=s.peekLine();return H1.test(r)&&ga(s,e.text,e.basePos)==ga(s,r,e.basePos)},before:"SetextHeading"}]};class HR{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const GR={defineNodes:[{name:"Task",block:!0,style:M.list},{name:"TaskMarker",style:M.atom}],parseBlock:[{name:"TaskList",leaf(s,e){return/^\[[ xX]\][ \t]/.test(e.content)&&s.parentType().name=="ListItem"?new HR:null},after:"SetextHeading"}]},D0=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,I0=/[\w-]+(\.[\w-]+)+(:\d+)?(\/[^\s<]*)?/gy,KR=/[\w-]+\.[\w-]+($|[/:])/,B0=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,W0=/\/[a-zA-Z\d@.]+/gy;function X0(s,e,t,r){let i=0;for(let n=e;n<t;n++)s[n]==r&&i++;return i}function JR(s,e){I0.lastIndex=e;let t=I0.exec(s);if(!t||KR.exec(t[0])[0].indexOf("_")>-1)return-1;let r=e+t[0].length;for(;;){let i=s[r-1],n;if(/[?!.,:*_~]/.test(i)||i==")"&&X0(s,e,r,")")>X0(s,e,r,"("))r--;else if(i==";"&&(n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(s.slice(e,r))))r=e+n.index;else break}return r}function q0(s,e){B0.lastIndex=e;let t=B0.exec(s);if(!t)return-1;let r=t[0][t[0].length-1];return r=="_"||r=="-"?-1:e+t[0].length-(r=="."?1:0)}const eA={parseInline:[{name:"Autolink",parse(s,e,t){let r=t-s.offset;if(r&&/\w/.test(s.text[r-1]))return-1;D0.lastIndex=r;let i=D0.exec(s.text),n=-1;if(!i)return-1;if(i[1]||i[2]){if(n=JR(s.text,r+i[0].length),n>-1&&s.hasOpenLink){let a=/([^\[\]]|\[[^\]]*\])*/.exec(s.text.slice(r,n));n=r+a[0].length}}else i[3]?n=q0(s.text,r):(n=q0(s.text,r+i[0].length),n>-1&&i[0]=="xmpp:"&&(W0.lastIndex=n,i=W0.exec(s.text),i&&(n=i.index+i[0].length)));return n<0?-1:(s.addElement(s.elt("URL",t,n+s.offset)),n+s.offset)}}]},tA=[UR,GR,YR,eA];function G1(s,e,t){return(r,i,n)=>{if(i!=s||r.char(n+1)==s)return-1;let a=[r.elt(t,n,n+1)];for(let o=n+1;o<r.end;o++){let l=r.char(o);if(l==s)return r.addElement(r.elt(e,n,o+1,a.concat(r.elt(t,o,o+1))));if(l==92&&a.push(r.elt("Escape",o,o+++2)),br(l))break}return-1}}const sA={defineNodes:[{name:"Superscript",style:M.special(M.content)},{name:"SuperscriptMark",style:M.processingInstruction}],parseInline:[{name:"Superscript",parse:G1(94,"Superscript","SuperscriptMark")}]},rA={defineNodes:[{name:"Subscript",style:M.special(M.content)},{name:"SubscriptMark",style:M.processingInstruction}],parseInline:[{name:"Subscript",parse:G1(126,"Subscript","SubscriptMark")}]},iA={defineNodes:[{name:"Emoji",style:M.character}],parseInline:[{name:"Emoji",parse(s,e,t){let r;return e!=58||!(r=/^[a-zA-Z_0-9]+:/.exec(s.slice(t+1,s.end)))?-1:s.addElement(s.elt("Emoji",t,t+1+r[0].length))}}]},K1=ip({commentTokens:{block:{open:"<!--",close:"-->"}}}),J1=new ht,eS=zR.configure({props:[$i.add(s=>!s.is("Block")||s.is("Document")||kf(s)!=null||nA(s)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),J1.add(kf),tn.add({Document:()=>null}),Qn.add({Document:K1})]});function kf(s){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(s.name);return e?+e[1]:void 0}function nA(s){return s.name=="OrderedList"||s.name=="BulletList"}function oA(s,e){let t=s;for(;;){let r=t.nextSibling,i;if(!r||(i=kf(r.type))!=null&&i<=e)break;t=r}return t.to}const aA=bv.of((s,e,t)=>{for(let r=jt(s).resolveInner(t,-1);r&&!(r.from<e);r=r.parent){let i=r.type.prop(J1);if(i==null)continue;let n=oA(r,i);if(n>t)return{from:t,to:n}}return null});function Dp(s){return new mr(K1,s,[],"markdown")}const lA=Dp(eS),cA=eS.configure([tA,rA,sA,iA,{props:[$i.add({Table:(s,e)=>({from:e.doc.lineAt(s.from).to,to:s.to})})]}]),rh=Dp(cA);function hA(s,e){return t=>{if(t&&s){let r=null;if(t=/\S*/.exec(t)[0],typeof s=="function"?r=s(t):r=Dc.matchLanguageName(s,t,!0),r instanceof Dc)return r.support?r.support.language.parser:Qa.getSkippingParser(r.load());if(r)return r.parser}return e?e.parser:null}}class ou{constructor(e,t,r,i,n,a,o){this.node=e,this.from=t,this.to=r,this.spaceBefore=i,this.spaceAfter=n,this.type=a,this.item=o}blank(e,t=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;r.length<e;)r+=" ";return r}else{for(let i=this.to-this.from-r.length-this.spaceAfter.length;i>0;i--)r+=" ";return r+(t?this.spaceAfter:"")}}marker(e,t){let r=this.node.name=="OrderedList"?String(+sS(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function tS(s,e){let t=[],r=[];for(let i=s;i;i=i.parent){if(i.name=="FencedCode")return r;(i.name=="ListItem"||i.name=="Blockquote")&&t.push(i)}for(let i=t.length-1;i>=0;i--){let n=t[i],a,o=e.lineAt(n.from),l=n.from-o.from;if(n.name=="Blockquote"&&(a=/^ *>( ?)/.exec(o.text.slice(l))))r.push(new ou(n,l,l+a[0].length,"",a[1],">",null));else if(n.name=="ListItem"&&n.parent.name=="OrderedList"&&(a=/^( *)\d+([.)])( *)/.exec(o.text.slice(l)))){let c=a[3],d=a[0].length;c.length>=4&&(c=c.slice(0,c.length-4),d-=4),r.push(new ou(n.parent,l,l+d,a[1],c,a[2],n))}else if(n.name=="ListItem"&&n.parent.name=="BulletList"&&(a=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(l)))){let c=a[4],d=a[0].length;c.length>4&&(c=c.slice(0,c.length-4),d-=4);let u=a[2];a[3]&&(u+=a[3].replace(/[xX]/," ")),r.push(new ou(n.parent,l,l+d,a[1],c,u,n))}}return r}function sS(s,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(s.from,s.from+10))}function au(s,e,t,r=0){for(let i=-1,n=s;;){if(n.name=="ListItem"){let o=sS(n,e),l=+o[2];if(i>=0){if(l!=i+1)return;t.push({from:n.from+o[1].length,to:n.from+o[0].length,insert:String(i+2+r)})}i=l}let a=n.nextSibling;if(!a)break;n=a}}function Ip(s,e){let t=/^[ \t]*/.exec(s)[0].length;if(!t||e.facet(ko)!=" ")return s;let r=jr(s,4,t),i="";for(let n=r;n>0;)n>=4?(i+=" ",n-=4):(i+=" ",n--);return i+s.slice(t)}const dA=(s={})=>({state:e,dispatch:t})=>{let r=jt(e),{doc:i}=e,n=null,a=e.changeByRange(o=>{if(!o.empty||!rh.isActiveAt(e,o.from,-1)&&!rh.isActiveAt(e,o.from,1))return n={range:o};let l=o.from,c=i.lineAt(l),d=tS(r.resolveInner(l,-1),i);for(;d.length&&d[d.length-1].from>l-c.from;)d.pop();if(!d.length)return n={range:o};let u=d[d.length-1];if(u.to-u.spaceAfter.length>l-c.from)return n={range:o};let f=l>=u.to-u.spaceAfter.length&&!/\S/.test(c.text.slice(u.to));if(u.item&&f){let O=u.node.firstChild,p=u.node.getChild("ListItem","ListItem");if(O.to>=l||p&&p.to<l||c.from>0&&!/[^\s>]/.test(i.lineAt(c.from-1).text)||s.nonTightLists===!1){let x=d.length>1?d[d.length-2]:null,y,_="";x&&x.item?(y=c.from+x.from,_=x.marker(i,1)):y=c.from+(x?x.to:0);let k=[{from:y,to:l,insert:_}];return u.node.name=="OrderedList"&&au(u.item,i,k,-2),x&&x.node.name=="OrderedList"&&au(x.item,i,k),{range:re.cursor(y+_.length),changes:k}}else{let x=Z0(d,e,c);return{range:re.cursor(l+x.length+1),changes:{from:c.from,insert:x+e.lineBreak}}}}if(u.node.name=="Blockquote"&&f&&c.from){let O=i.lineAt(c.from-1),p=/>\s*$/.exec(O.text);if(p&&p.index==u.from){let x=e.changes([{from:O.from+p.index,to:O.to},{from:c.from+u.from,to:c.to}]);return{range:o.map(x),changes:x}}}let g=[];u.node.name=="OrderedList"&&au(u.item,i,g);let v=u.item&&u.item.from<c.from,b="";if(!v||/^[\s\d.)\-+*>]*/.exec(c.text)[0].length>=u.to)for(let O=0,p=d.length-1;O<=p;O++)b+=O==p&&!v?d[O].marker(i,1):d[O].blank(O<p?jr(c.text,4,d[O+1].from)-b.length:null);let m=l;for(;m>c.from&&/\s/.test(c.text.charAt(m-c.from-1));)m--;return b=Ip(b,e),fA(u.node,e.doc)&&(b=Z0(d,e,c)+e.lineBreak+b),g.push({from:m,to:l,insert:e.lineBreak+b}),{range:re.cursor(m+b.length+1),changes:g}});return n?!1:(t(e.update(a,{scrollIntoView:!0,userEvent:"input"})),!0)},uA=dA();function z0(s){return s.name=="QuoteMark"||s.name=="ListMark"}function fA(s,e){if(s.name!="OrderedList"&&s.name!="BulletList")return!1;let t=s.firstChild,r=s.getChild("ListItem","ListItem");if(!r)return!1;let i=e.lineAt(t.to),n=e.lineAt(r.from),a=/^[\s>]*$/.test(i.text);return i.number+(a?0:1)<n.number}function Z0(s,e,t){let r="";for(let i=0,n=s.length-2;i<=n;i++)r+=s[i].blank(i<n?jr(t.text,4,s[i+1].from)-r.length:null,i<n);return Ip(r,e)}function pA(s,e){let t=s.resolveInner(e,-1),r=e;z0(t)&&(r=t.from,t=t.parent);for(let i;i=t.childBefore(r);)if(z0(i))r=i.from;else if(i.name=="OrderedList"||i.name=="BulletList")t=i.lastChild,r=t.to;else break;return t}const mA=({state:s,dispatch:e})=>{let t=jt(s),r=null,i=s.changeByRange(n=>{let a=n.from,{doc:o}=s;if(n.empty&&rh.isActiveAt(s,n.from)){let l=o.lineAt(a),c=tS(pA(t,a),o);if(c.length){let d=c[c.length-1],u=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(a-l.from>u&&!/\S/.test(l.text.slice(u,a-l.from)))return{range:re.cursor(l.from+u),changes:{from:l.from+u,to:a}};if(a-l.from==u&&(d.item&&l.from<=d.item.from||/^[\s>]*$/.test(l.text.slice(0,d.to)))){let f=l.from+d.from;if(d.item&&d.node.from<d.item.from&&/\S/.test(l.text.slice(d.from,d.to))){let g=d.blank(jr(l.text,4,d.to)-jr(l.text,4,d.from));return f==l.from&&(g=Ip(g,s)),{range:re.cursor(f+g.length),changes:{from:f,to:l.from+d.to,insert:g}}}if(f<a)return{range:re.cursor(f),changes:{from:f,to:a}}}}}return r={range:n}});return r?!1:(e(s.update(i,{scrollIntoView:!0,userEvent:"delete"})),!0)},gA=[{key:"Enter",run:uA},{key:"Backspace",run:mA}],rS=Q1({matchClosingTags:!1});function OA(s={}){let{codeLanguages:e,defaultCodeLanguage:t,addKeymap:r=!0,base:{parser:i}=lA,completeHTMLTags:n=!0,pasteURLAsLink:a=!0,htmlTagLanguage:o=rS}=s;if(!(i instanceof _h))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let l=s.extensions?[s.extensions]:[],c=[o.support,aA],d;a&&c.push(yA),t instanceof Ji?(c.push(t.support),d=t.language):t&&(d=t);let u=e||d?hA(e,d):void 0;l.push(VR({codeParser:u,htmlParser:o.language.parser})),r&&c.push(Ti.high(wo.of(gA)));let f=Dp(i.configure(l));return n&&c.push(f.data.of({autocomplete:xA})),new Ji(f,c)}function xA(s){let{state:e,pos:t}=s,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(t-25,t));if(!r)return null;let i=jt(e).resolveInner(t,-1);for(;i&&!i.type.isTop;){if(i.name=="CodeBlock"||i.name=="FencedCode"||i.name=="ProcessingInstructionBlock"||i.name=="CommentBlock"||i.name=="Link"||i.name=="Image")return null;i=i.parent}return{from:t-r[0].length,to:t,options:bA(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let lu=null;function bA(){if(lu)return lu;let s=QR(new gp(vt.create({extensions:rS}),0,!0));return lu=s?s.options:[]}const vA=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,yA=Pe.domEventHandlers({paste:(s,e)=>{var t;let{main:r}=e.state.selection;if(r.empty)return!1;let i=(t=s.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!i||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(i)||(/^www\./.test(i)&&(i="https://"+i),!rh.isActiveAt(e.state,r.from,1)))return!1;let n=jt(e.state),a=!1;return n.iterate({from:r.from,to:r.to,enter:o=>{(o.from>r.from||vA.test(o.name))&&(a=!0)},leave:o=>{o.to<r.to&&(a=!0)}}),a?!1:(e.dispatch({changes:[{from:r.from,insert:"["},{from:r.to,insert:`](${i})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}}),Cf=1,SA=2,_A=3,wA=4,kA=5,CA=36,PA=37,TA=38,QA=11,$A=13;function jA(s){return s==45||s==46||s==58||s>=65&&s<=90||s==95||s>=97&&s<=122||s>=161}function EA(s){return s==9||s==10||s==13||s==32}let V0=null,F0=null,Y0=0;function Pf(s,e){let t=s.pos+e;if(F0==s&&Y0==t)return V0;for(;EA(s.peek(e));)e++;let r="";for(;;){let i=s.peek(e);if(!jA(i))break;r+=String.fromCharCode(i),e++}return F0=s,Y0=t,V0=r||null}function U0(s,e){this.name=s,this.parent=e}const RA=new yh({start:null,shift(s,e,t,r){return e==Cf?new U0(Pf(r,1)||"",s):s},reduce(s,e){return e==QA&&s?s.parent:s},reuse(s,e,t,r){let i=e.type.id;return i==Cf||i==$A?new U0(Pf(r,1)||"",s):s},strict:!1}),AA=new ds((s,e)=>{if(s.next==60){if(s.advance(),s.next==47){s.advance();let t=Pf(s,0);if(!t)return s.acceptToken(kA);if(e.context&&t==e.context.name)return s.acceptToken(SA);for(let r=e.context;r;r=r.parent)if(r.name==t)return s.acceptToken(_A,-2);s.acceptToken(wA)}else if(s.next!=33&&s.next!=63)return s.acceptToken(Cf)}},{contextual:!0});function Bp(s,e){return new ds(t=>{let r=0,i=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),r++)if(t.next==i){for(let n=1;n<e.length;n++)if(t.peek(n)!=e.charCodeAt(n))continue e;break}r&&t.acceptToken(s)})}const MA=Bp(CA,"-->"),LA=Bp(PA,"?>"),NA=Bp(TA,"]]>"),DA=Qi({Text:M.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":M.angleBracket,TagName:M.tagName,"MismatchedCloseTag/TagName":[M.tagName,M.invalid],AttributeName:M.attributeName,AttributeValue:M.attributeValue,Is:M.definitionOperator,"EntityReference CharacterReference":M.character,Comment:M.blockComment,ProcessingInst:M.processingInstruction,DoctypeDecl:M.documentMeta,Cdata:M.special(M.string)}),IA=Pi.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(hO#tO'#CnO(vO&jO'#CnOOOO1G.q1G.qO)UOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO)^O#tO,59YOOOO,59Y,59YOOOO'#C{'#C{O)lO&jO,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.tOOOO-E6y-E6y",stateData:")z~OPQOSVOTWOVWOWWOXWOiXOyPO!QTO!SUO~OvZOx]O~O^`Oz^O~OPQOQcOSVOTWOVWOWWOXWOyPO!QTO!SUO~ORdO~P!SOteO!PgO~OuhO!RjO~O^lOz^O~OvZOxoO~O^qOz^O~O[vO`sOdwOz^O~ORyO~P!SO^{Oz^O~OteO!P}O~OuhO!R!PO~O^!QOz^O~O[!SOz^O~O[!VO`sOd!WOz^O~Oa!YOz^O~Oz^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oz^O~O[!_Oz^O~O[!aOz^O~O[!cO`sOd!dOz^O~O[!cO`sOd!dO~Oa!eOz^O~Oz^O{!gO}!hO~Oz^O[ma`madma~O[!kOz^O~O[!lOz^O~O[!mO`sOd!nO~OW!qOX!qO{!sO|!qO~OW!tOX!tO}!sO!O!tO~O[!vOz^O~OW!qOX!qO{!yO|!qO~OW!tOX!tO}!yO!O!tO~O",goto:"%cxPPPPPPPPPPyyP!PP!VPP!`!jP!pyyyP!v!|#S$[$k$q$w$}%TPPPP%ZXWORYbXRORYb_t`qru!T!U!bQ!i!YS!p!e!fR!w!oQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!j!oQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!j!]R!o!eQu`S!UqrU![u!U!bR!b!TQ!r!gR!x!rQ!u!hR!z!uQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:50,context:RA,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"],["isolate",-6,13,18,19,21,22,24,""]],propSources:[DA],skippedNodes:[0],repeatNodeCount:9,tokenData:"!)v~R!YOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs*vsv$qvw+fwx/ix}$q}!O0[!O!P$q!P!Q2z!Q![$q![!]4n!]!^$q!^!_8U!_!`!#t!`!a!$l!a!b!%d!b!c$q!c!}4n!}#P$q#P#Q!'W#Q#R$q#R#S4n#S#T$q#T#o4n#o%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U$q4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qi$zXVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qa%nVVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%gP&YTVPOv&Tw!^&T!_;'S&T;'S;=`&i<%lO&TP&lP;=`<%l&T`&tS!O`Ov&ox;'S&o;'S;=`'Q<%lO&o`'TP;=`<%l&oa'ZP;=`<%l%gX'eWVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^W(ST|WOr'}sv'}w;'S'};'S;=`(c<%lO'}W(fP;=`<%l'}X(lP;=`<%l'^h(vV|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oh)`P;=`<%l(oi)fP;=`<%l$qo)t`VP|W!O`zUOX$qXY)iYZ)iZ]$q]^)i^p$qpq)iqr$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk+PV{YVP!O`Ov%gwx&Tx!^%g!^!_&o!_;'S%g;'S;=`'W<%lO%g~+iast,n![!]-r!c!}-r#R#S-r#T#o-r%W%o-r%p&a-r&b1p-r4U4d-r4e$IS-r$I`$Ib-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~,qQ!Q![,w#l#m-V~,zQ!Q![,w!]!^-Q~-VOX~~-YR!Q![-c!c!i-c#T#Z-c~-fS!Q![-c!]!^-Q!c!i-c#T#Z-c~-ug}!O-r!O!P-r!Q![-r![!]-r!]!^/^!c!}-r#R#S-r#T#o-r$}%O-r%W%o-r%p&a-r&b1p-r1p4U-r4U4d-r4e$IS-r$I`$Ib-r$Je$Jg-r$Kh%#t-r&/x&Et-r&FV;'S-r;'S;:j/c?&r?Ah-r?BY?Mn-r~/cOW~~/fP;=`<%l-rk/rW}bVP|WOr'^rs&Tsv'^w!^'^!^!_'}!_;'S'^;'S;=`(i<%lO'^k0eZVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O1W!O!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk1aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a2S!a;'S$q;'S;=`)c<%lO$qk2_X!PQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qm3TZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a3v!a;'S$q;'S;=`)c<%lO$qm4RXdSVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo4{!P`S^QVP|W!O`Or$qrs%gsv$qwx'^x}$q}!O4n!O!P4n!P!Q$q!Q![4n![!]4n!]!^$q!^!_(o!_!c$q!c!}4n!}#R$q#R#S4n#S#T$q#T#o4n#o$}$q$}%O4n%O%W$q%W%o4n%o%p$q%p&a4n&a&b$q&b1p4n1p4U4n4U4d4n4d4e$q4e$IS4n$IS$I`$q$I`$Ib4n$Ib$Je$q$Je$Jg4n$Jg$Kh$q$Kh%#t4n%#t&/x$q&/x&Et4n&Et&FV$q&FV;'S4n;'S;:j8O;:j;=`)c<%l?&r$q?&r?Ah4n?Ah?BY$q?BY?Mn4n?MnO$qo8RP;=`<%l4ni8]Y|W!O`Oq(oqr8{rs&osv(owx'}x!a(o!a!b!#U!b;'S(o;'S;=`)]<%lO(oi9S_|W!O`Or(ors&osv(owx'}x}(o}!O:R!O!f(o!f!g;e!g!}(o!}#ODh#O#W(o#W#XLp#X;'S(o;'S;=`)]<%lO(oi:YX|W!O`Or(ors&osv(owx'}x}(o}!O:u!O;'S(o;'S;=`)]<%lO(oi;OV!QP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oi;lX|W!O`Or(ors&osv(owx'}x!q(o!q!r<X!r;'S(o;'S;=`)]<%lO(oi<`X|W!O`Or(ors&osv(owx'}x!e(o!e!f<{!f;'S(o;'S;=`)]<%lO(oi=SX|W!O`Or(ors&osv(owx'}x!v(o!v!w=o!w;'S(o;'S;=`)]<%lO(oi=vX|W!O`Or(ors&osv(owx'}x!{(o!{!|>c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[AA,MA,LA,NA,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function _c(s,e){let t=e&&e.getChild("TagName");return t?s.sliceString(t.from,t.to):""}function cu(s,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":_c(s,t)}function BA(s,e,t){let r=e&&e.getChildren("Attribute").find(n=>n.from<=t&&n.to>=t),i=r&&r.getChild("AttributeName");return i?s.sliceString(i.from,i.to):""}function hu(s){for(let e=s&&s.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function WA(s,e){var t;let r=jt(s).resolveInner(e,-1),i=null;for(let n=r;!i&&n.parent;n=n.parent)(n.name=="OpenTag"||n.name=="CloseTag"||n.name=="SelfClosingTag"||n.name=="MismatchedCloseTag")&&(i=n);if(i&&(i.to>e||i.lastChild.type.isError)){let n=i.parent;if(r.name=="TagName")return i.name=="CloseTag"||i.name=="MismatchedCloseTag"?{type:"closeTag",from:r.from,context:n}:{type:"openTag",from:r.from,context:hu(n)};if(r.name=="AttributeName")return{type:"attrName",from:r.from,context:i};if(r.name=="AttributeValue")return{type:"attrValue",from:r.from,context:i};let a=r==i||r.name=="Attribute"?r.childBefore(e):r;return a?.name=="StartTag"?{type:"openTag",from:e,context:hu(n)}:a?.name=="StartCloseTag"&&a.to<=e?{type:"closeTag",from:e,context:n}:a?.name=="Is"?{type:"attrValue",from:e,context:i}:a?{type:"attrName",from:e,context:i}:null}else if(r.name=="StartCloseTag")return{type:"closeTag",from:e,context:r.parent};for(;r.parent&&r.to==e&&!(!((t=r.lastChild)===null||t===void 0)&&t.type.isError);)r=r.parent;return r.name=="Element"||r.name=="Text"||r.name=="Document"?{type:"tag",from:e,context:r.name=="Element"?r:hu(r)}:null}class XA{constructor(e,t,r){this.attrs=t,this.attrValues=r,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(i=>({label:i,type:"text"})):[]}}const du=/^[:\-\.\w\u00b7-\uffff]*$/;function H0(s){return Object.assign(Object.assign({type:"property"},s.completion||{}),{label:s.name})}function G0(s){return typeof s=="string"?{label:`"${s}"`,type:"constant"}:/^"/.test(s.label)?s:Object.assign(Object.assign({},s),{label:`"${s.label}"`})}function qA(s,e){let t=[],r=[],i=Object.create(null);for(let l of e){let c=H0(l);t.push(c),l.global&&r.push(c),l.values&&(i[l.name]=l.values.map(G0))}let n=[],a=[],o=Object.create(null);for(let l of s){let c=r,d=i;l.attributes&&(c=c.concat(l.attributes.map(f=>typeof f=="string"?t.find(g=>g.label==f)||{label:f,type:"property"}:(f.values&&(d==i&&(d=Object.create(d)),d[f.name]=f.values.map(G0)),H0(f)))));let u=new XA(l,c,d);o[u.name]=u,n.push(u),l.top&&a.push(u)}a.length||(a=n);for(let l=0;l<n.length;l++){let c=s[l],d=n[l];if(c.children)for(let u of c.children)o[u]&&d.children.push(o[u]);else d.children=n}return l=>{var c;let{doc:d}=l.state,u=WA(l.state,l.pos);if(!u||u.type=="tag"&&!l.explicit)return null;let{type:f,from:g,context:v}=u;if(f=="openTag"){let b=a,m=cu(d,v);if(m){let O=o[m];b=O?.children||n}return{from:g,options:b.map(O=>O.completion),validFor:du}}else if(f=="closeTag"){let b=cu(d,v);return b?{from:g,to:l.pos+(d.sliceString(l.pos,l.pos+1)==">"?1:0),options:[((c=o[b])===null||c===void 0?void 0:c.closeNameCompletion)||{label:b+">",type:"type"}],validFor:du}:null}else if(f=="attrName"){let b=o[_c(d,v)];return{from:g,options:b?.attrs||r,validFor:du}}else if(f=="attrValue"){let b=BA(d,v,g);if(!b)return null;let m=o[_c(d,v)],O=(m?.attrValues||i)[b];return!O||!O.length?null:{from:g,to:l.pos+(d.sliceString(l.pos,l.pos+1)=='"'?1:0),options:O,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let b=cu(d,v),m=o[b],O=[],p=v&&v.lastChild;b&&(!p||p.name!="CloseTag"||_c(d,p)!=b)&&O.push(m?m.closeCompletion:{label:"</"+b+">",type:"type",boost:2});let x=O.concat((m?.children||(v?n:a)).map(y=>y.openCompletion));if(v&&m?.text.length){let y=v.firstChild;y.to>l.pos-20&&!/\S/.test(l.state.sliceDoc(y.to,l.pos))&&(x=x.concat(m.text))}return{from:g,options:x,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}const Tf=Ci.define({name:"xml",parser:IA.configure({props:[tn.add({Element(s){let e=/^\s*<\//.test(s.textAfter);return s.lineIndent(s.node.from)+(e?0:s.unit)},"OpenTag CloseTag SelfClosingTag"(s){return s.column(s.node.from)+s.unit}}),$i.add({Element(s){let e=s.firstChild,t=s.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:s.to}}}),lp.add({"OpenTag CloseTag":s=>s.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/$/}});function zA(s={}){let e=[Tf.data.of({autocomplete:qA(s.elements||[],s.attributes||[])})];return s.autoCloseTags!==!1&&e.push(ZA),new Ji(Tf,e)}function K0(s,e,t=s.length){if(!e)return"";let r=e.firstChild,i=r&&r.getChild("TagName");return i?s.sliceString(i.from,Math.min(i.to,t)):""}const ZA=Pe.inputHandler.of((s,e,t,r,i)=>{if(s.composing||s.state.readOnly||e!=t||r!=">"&&r!="/"||!Tf.isActiveAt(s.state,e,-1))return!1;let n=i(),{state:a}=n,o=a.changeByRange(l=>{var c,d,u;let{head:f}=l,g=a.doc.sliceString(f-1,f)==r,v=jt(a).resolveInner(f,-1),b;if(g&&r==">"&&v.name=="EndTag"){let m=v.parent;if(((d=(c=m.parent)===null||c===void 0?void 0:c.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(b=K0(a.doc,m.parent,f))){let O=f+(a.doc.sliceString(f,f+1)===">"?1:0),p=`</${b}>`;return{range:l,changes:{from:f,to:O,insert:p}}}}else if(g&&r=="/"&&v.name=="StartCloseTag"){let m=v.parent;if(v.from==f-2&&((u=m.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(b=K0(a.doc,m,f))){let O=f+(a.doc.sliceString(f,f+1)===">"?1:0),p=`${b}>`;return{range:re.cursor(f+p.length,-1),changes:{from:f,to:O,insert:p}}}}return{range:l}});return o.changes.empty?!1:(s.dispatch([n,a.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});function VA(){const s=()=>{const r=document.documentElement;return r.classList.contains("light")?!1:r.classList.contains("dark")||r.classList.contains("cyberpunk")||r.classList.contains("mono")?!0:window.matchMedia("(prefers-color-scheme: dark)").matches},[e,t]=C.useState(s);return C.useEffect(()=>{const r=new MutationObserver(()=>t(s()));r.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]});const i=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>t(s());return i.addEventListener("change",n),()=>{r.disconnect(),i.removeEventListener("change",n)}},[]),e}function Wp(s,e){if(e==="markdown")return"markdown";if(e==="html")return"html";if(e==="json")return"json";const t=s.split(/[/\\]/).pop()?.toLowerCase()||"";switch(t.includes(".")?t.split(".").pop():t){case"ts":return"typescript";case"tsx":case"jsx":return"tsx";case"js":case"mjs":case"cjs":return"javascript";case"json":case"jsonc":return"json";case"py":return"python";case"css":case"scss":case"less":return"css";case"html":case"htm":return"html";case"md":case"markdown":return"markdown";case"xml":case"svg":return"xml";default:return"text"}}function FA(s){switch(s){case"typescript":return[xc({typescript:!0})];case"tsx":return[xc({typescript:!0,jsx:!0})];case"javascript":return[xc({jsx:!0})];case"json":return[q5()];case"python":return[nE()];case"css":return[h1()];case"html":return[Q1()];case"markdown":return[OA()];case"xml":return[zA()];default:return[]}}function iS({path:s,initialContent:e,language:t,hideToolbar:r=!1,onSaved:i,onDirtyChange:n,className:a=""}){const{t:o}=At("common"),l=VA(),c=t??Wp(s),[d,u]=C.useState(e),[f,g]=C.useState(e),[v,b]=C.useState(!1),[m,O]=C.useState("idle"),[p,x]=C.useState(null),y=C.useRef(null),_=C.useRef(d),k=C.useRef(f);_.current=d,k.current=f;const w=d!==f;C.useEffect(()=>{u(e),g(e),O("idle"),x(null)},[s,e]),C.useEffect(()=>{n?.(w)},[w,n]);const S=C.useMemo(()=>{const $=[...FA(c),Pe.theme({"&":{height:"100%",fontSize:"13px"},".cm-scroller":{fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",lineHeight:"1.5"},".cm-content":{paddingBottom:"2rem"}})];return(c==="markdown"||c==="html")&&$.push(Pe.lineWrapping),$},[c]),Q=C.useCallback(async()=>{if(v)return;const $=_.current;if($!==k.current){b(!0),x(null),O("idle");try{await K.files.write(s,$),g($),k.current=$,O("saved"),i?.($),window.setTimeout(()=>O(j=>j==="saved"?"idle":j),1600)}catch(j){O("error"),x(j instanceof Error?j.message:String(j))}finally{b(!1)}}},[s,v,i]),N=C.useCallback(()=>{u(k.current),O("idle"),x(null)},[]);C.useEffect(()=>{const $=j=>{if(!(navigator.platform.toUpperCase().includes("MAC")?j.metaKey:j.ctrlKey)||j.altKey||j.shiftKey||j.key.toLowerCase()!=="s")return;const Z=y.current,z=document.activeElement;!Z||!(z instanceof Node)||!Z.contains(z)||(j.preventDefault(),Q())};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[Q]);const L=s.split(/[/\\]/).pop()||s;return h.jsxs("div",{ref:y,className:`flex flex-col min-h-0 flex-1 ${a}`,children:[!r&&h.jsxs("div",{className:"shrink-0 flex items-center gap-2 px-2 py-1.5 border-b border-border-default bg-surface-elevated/60",children:[h.jsxs("span",{className:"text-xs text-fg-secondary truncate min-w-0 flex items-center gap-1.5",children:[w&&h.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-brand-500 shrink-0",title:o("fileEditor.unsaved")}),h.jsx("span",{className:"truncate font-mono",children:L})]}),h.jsx("div",{className:"flex-1"}),m==="saved"&&h.jsx("span",{className:"text-[11px] text-green-600",children:o("fileEditor.saved")}),m==="error"&&h.jsx("span",{className:"text-[11px] text-red-500 truncate max-w-[40%]",title:p||void 0,children:o("fileEditor.saveFailed")}),w&&h.jsx("button",{type:"button",onClick:N,className:"px-2 py-1 text-[11px] rounded-md text-fg-tertiary hover:text-fg-secondary hover:bg-surface-overlay transition-colors",children:o("fileEditor.revert")}),h.jsx("button",{type:"button",onClick:()=>{Q()},disabled:!w||v,className:"px-2.5 py-1 text-[11px] font-medium rounded-md bg-brand-600 text-white hover:bg-brand-500 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",children:o(v?"saving":"save")})]}),r&&h.jsxs("div",{className:"shrink-0 flex items-center justify-end gap-2 px-2 py-1 border-b border-border-default",children:[m==="saved"&&h.jsx("span",{className:"text-[11px] text-green-600",children:o("fileEditor.saved")}),m==="error"&&h.jsx("span",{className:"text-[11px] text-red-500",children:o("fileEditor.saveFailed")}),w&&h.jsx("button",{type:"button",onClick:N,className:"px-2 py-1 text-[11px] rounded-md text-fg-tertiary hover:text-fg-secondary hover:bg-surface-overlay transition-colors",children:o("fileEditor.revert")}),h.jsx("button",{type:"button",onClick:()=>{Q()},disabled:!w||v,className:"px-2.5 py-1 text-[11px] font-medium rounded-md bg-brand-600 text-white hover:bg-brand-500 disabled:opacity-40 disabled:cursor-not-allowed transition-colors",children:o(v?"saving":"save")})]}),h.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:h.jsx(Ly,{value:d,height:"100%",theme:l?My:"light",extensions:S,basicSetup:{lineNumbers:!0,foldGutter:!0,highlightActiveLine:!0,highlightSelectionMatches:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!1},onChange:$=>{u($),(m==="saved"||m==="error")&&O("idle")},className:"h-full [&_.cm-editor]:h-full [&_.cm-editor]:outline-none"})})]})}function nS(s,e){return s?window.confirm(e):!0}function YA({path:s,content:e,format:t,basePath:r,onHtmlSelection:i,onDirtyChange:n,className:a=""}){const{t:o}=At("common"),[l,c]=C.useState("preview"),[d,u]=C.useState(e),[f,g]=C.useState(e),[v,b]=C.useState(!1);C.useEffect(()=>{u(e),g(e),c("preview"),b(!1)},[s,e]),C.useEffect(()=>{n?.(v)},[v,n]);const m=C.useCallback(p=>{if(p!==l){if(l==="edit"&&p==="preview"){if(!nS(v,o("fileEditor.discardConfirm")))return;v&&(u(f),b(!1))}c(p)}},[l,v,o,f]),O=Wp(s,t);return h.jsxs("div",{className:`flex flex-col min-h-0 flex-1 ${a}`,children:[h.jsxs("div",{className:"shrink-0 flex items-center gap-2 px-2 py-1.5 border-b border-border-default bg-surface-elevated/60",children:[h.jsxs("div",{className:"inline-flex rounded-md border border-border-default overflow-hidden text-[11px]",children:[h.jsx("button",{type:"button",onClick:()=>m("preview"),className:`px-2.5 py-1 transition-colors ${l==="preview"?"bg-brand-600/20 text-brand-500 font-medium":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-overlay"}`,children:o("fileEditor.preview")}),h.jsx("button",{type:"button",onClick:()=>m("edit"),className:`px-2.5 py-1 border-l border-border-default transition-colors ${l==="edit"?"bg-brand-600/20 text-brand-500 font-medium":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-overlay"}`,children:o("edit")})]}),v&&l==="edit"&&h.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-brand-500",title:o("fileEditor.unsaved")}),h.jsx("div",{className:"flex-1"})]}),l==="preview"?h.jsx("div",{className:"flex-1 min-h-0 overflow-auto px-1 py-2",children:h.jsx(vu,{content:d,format:t,className:"text-fg-secondary text-sm",onHtmlSelection:i,basePath:r})}):h.jsx(iS,{path:s,initialContent:d,language:O,hideToolbar:!0,onDirtyChange:b,onSaved:p=>{u(p),g(p),b(!1)}})]})}function UA(s){const e=s.trim();return!e||e==="about:blank"?e:/^[a-z][a-z0-9+.-]*:/i.test(e)?/^file:/i.test(e)?GA(e):e:HA(e)?oS(e):`https://${e}`}function HA(s){return!!(s.startsWith("/")||/^[a-zA-Z]:[\\/]/.test(s)||s.startsWith("\\\\"))}function oS(s){const e=s.replace(/\\/g,"/");return e.startsWith("//")?`file:${uu(e)}`:/^[a-zA-Z]:\//.test(e)?`file:///${uu(e)}`:`file://${uu(e)}`}function GA(s){try{return new URL(s).href}catch{let e=s.replace(/^file:/i,"").replace(/\\/g,"/");return e.startsWith("//")&&(e=e.replace(/^\/\/(localhost)?/i,""),!e.startsWith("/")&&!/^[a-zA-Z]:\//.test(e)&&(e=`/${e}`)),/^\/[a-zA-Z]:\//.test(e)&&(e=e.slice(1)),!e.startsWith("/")&&!/^[a-zA-Z]:\//.test(e)&&(e=`/${e}`),oS(e)}}function uu(s){return encodeURI(s).replace(/#/g,"%23")}function KA({url:s,browserId:e,className:t,onMeta:r}){const{t:i}=At("common"),n=C.useId().replace(/:/g,""),a=e||`eb_${n}`,o=!e,l=C.useRef(null),c=C.useRef(null),d=C.useRef(null),[u,f]=C.useState(s==="about:blank"?"":s),[g,v]=C.useState(!1),[b,m]=C.useState(!1),[O,p]=C.useState(!1),[x,y]=C.useState(null),[_,k]=C.useState(null),[w,S]=C.useState(!1),Q=typeof window<"u"?window.markusDesktop?.browser:void 0,N=typeof window<"u"?window.markusDesktop?.platform:void 0;d.current=_;const L=i(N==="darwin"?"browserFolderAppFinder":N==="win32"?"browserFolderAppExplorer":"browserFolderAppGeneric");return C.useEffect(()=>{if(!Q)return;let $=!1;return(async()=>{const j=await Q.getState(a);if($)return;if(j.ok)s&&j.url!==s&&!j.directoryPath?(p(!0),await Q.navigate(a,s)):s&&j.directoryPath&&j.url!==s&&await Q.navigate(a,s);else{p(!0);const V=await Q.create(a,s);if($||!V.ok){$&&o&&Q.destroy(a);return}}if($)return;const I=await Q.getState(a);$||!I.ok||(document.activeElement!==c.current&&f(I.url&&I.url!=="about:blank"?I.url:s==="about:blank"?"":s),p(!!I.isLoading),y(I.loadError??null),k(I.directoryPath??null),(I.pageId!=null||I.url||I.title)&&r?.({pageId:I.pageId,url:I.url&&I.url!=="about:blank"?I.url:void 0,title:I.title||void 0}),s==="about:blank"&&requestAnimationFrame(()=>{$||(c.current?.focus({preventScroll:!0}),c.current?.select())}))})(),()=>{$=!0,o&&Q.destroy(a)}},[Q,a,s,o]),C.useEffect(()=>{if(s!=="about:blank")return;let $=!1;const j=()=>{if($)return;const Z=c.current;Z&&(Z.focus({preventScroll:!0}),Z.select())};j();const I=[0,50,150,300].map(Z=>window.setTimeout(j,Z)),V=requestAnimationFrame(j);return()=>{$=!0,cancelAnimationFrame(V);for(const Z of I)clearTimeout(Z)}},[s,a]),C.useEffect(()=>{if(Q?.onPageEvent)return Q.onPageEvent($=>{if($.browserId===a){if($.type==="directory"){k($.directoryPath||null),p(!1),y(null),$.url&&document.activeElement!==c.current&&f($.url);return}if($.type==="loading"){p(!0),y(null),k(null);return}if($.type==="loaded"){if(p(!1),d.current)return;$.url&&document.activeElement!==c.current&&f($.url==="about:blank"?"":$.url),window.dispatchEvent(new Event("markus:embedded-browser-resync"));return}if($.type==="load-failed"){if(p(!1),d.current)return;y($.error||"Load failed"),$.url&&document.activeElement!==c.current&&f($.url==="about:blank"?"":$.url);return}$.type==="navigated"&&$.url&&document.activeElement!==c.current&&(d.current||f($.url==="about:blank"?"":$.url))}})},[Q,a]),C.useEffect(()=>{if(!Q||!l.current)return;const $=l.current;let j=!0;const I=()=>{let T=$;for(;T;){const A=getComputedStyle(T);if(A.visibility==="hidden"||A.display==="none")return!1;T=T.parentElement}return!0},V=()=>{if(!j)return;if(!p_()||!I()||f_()||d.current||s==="about:blank"){Q.setBounds(a,{x:0,y:0,width:0,height:0},!1);return}const T=$.getBoundingClientRect();Q.setBounds(a,{x:Math.round(T.left),y:Math.round(T.top),width:Math.round(T.width),height:Math.round(T.height)},T.width>2&&T.height>2)};V();const Z=new ResizeObserver(V);Z.observe($),window.addEventListener("resize",V),window.addEventListener("scroll",V,!0),window.addEventListener("markus:embedded-browser-resync",V),window.addEventListener("markus:native-browser-overlay",V),window.addEventListener("markus:native-browser-page",V);const z=setInterval(()=>{j&&Q.getState(a).then(T=>{if(!j||!T.ok)return;const A=T.directoryPath??null;k(A),T.url&&document.activeElement!==c.current&&(A||T.url!=="about:blank")&&f(T.url==="about:blank"?"":T.url),v(!!T.canGoBack),m(!!T.canGoForward),p(!!T.isLoading),T.loadError!==void 0&&y(A?null:T.loadError??null)})},800),J=()=>{Q.setBounds(a,{x:0,y:0,width:0,height:0},!1)};return window.addEventListener("pagehide",J),()=>{j=!1,Z.disconnect(),window.removeEventListener("resize",V),window.removeEventListener("scroll",V,!0),window.removeEventListener("markus:embedded-browser-resync",V),window.removeEventListener("markus:native-browser-overlay",V),window.removeEventListener("markus:native-browser-page",V),window.removeEventListener("pagehide",J),clearInterval(z),Q.setBounds(a,{x:0,y:0,width:0,height:0},!1)}},[Q,a,s]),C.useEffect(()=>{window.dispatchEvent(new Event("markus:embedded-browser-resync"))},[_,s]),Q?h.jsxs("div",{className:`flex flex-col h-full min-h-0 min-w-0 w-full ${t??""}`,children:[h.jsxs("div",{className:"shrink-0 relative mb-2",children:[h.jsxs("div",{className:"flex items-center gap-1 px-2 py-1.5 border border-border-default rounded-lg bg-surface-elevated",children:[h.jsx("button",{disabled:!g,onClick:()=>{Q.action(a,"back")},className:"w-7 h-7 flex items-center justify-center rounded-md text-fg-tertiary hover:bg-surface-overlay disabled:opacity-30",title:"Back",children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:h.jsx("polyline",{points:"15 18 9 12 15 6"})})}),h.jsx("button",{disabled:!b,onClick:()=>{Q.action(a,"forward")},className:"w-7 h-7 flex items-center justify-center rounded-md text-fg-tertiary hover:bg-surface-overlay disabled:opacity-30",title:"Forward",children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:h.jsx("polyline",{points:"9 18 15 12 9 6"})})}),h.jsx("button",{onClick:()=>{O?Q.action(a,"stop"):Q.action(a,"reload")},className:"w-7 h-7 flex items-center justify-center rounded-md text-fg-tertiary hover:bg-surface-overlay",title:O?"Stop":"Reload",children:O?h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"animate-spin",children:h.jsx("path",{d:"M12 2a10 10 0 0 1 10 10",strokeLinecap:"round"})}):h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[h.jsx("polyline",{points:"23 4 23 10 17 10"}),h.jsx("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]})}),h.jsx("form",{className:"flex-1 min-w-0",onSubmit:$=>{$.preventDefault();let j=u.trim();j&&(j=UA(j),p(!0),y(null),k(null),Q.navigate(a,j),f(j))},children:h.jsx("input",{ref:c,value:u,onChange:$=>f($.target.value),placeholder:i("browserUrlPlaceholder"),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoFocus:s==="about:blank",className:"w-full px-2 py-1 text-xs bg-surface-primary border border-border-default rounded-md text-fg-primary outline-none focus:border-brand-500"})}),O&&h.jsx("span",{className:"shrink-0 text-[10px] text-fg-tertiary px-1 select-none",children:i("browserLoading")}),Q.openDevTools&&h.jsx("button",{type:"button",onClick:()=>{Q.openDevTools?.(a)},className:"w-7 h-7 flex items-center justify-center rounded-md text-fg-tertiary hover:bg-surface-overlay shrink-0",title:i("browserGuestDevTools"),children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M12 20h9"}),h.jsx("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]})})]}),h.jsx("div",{className:`absolute left-2 right-2 bottom-0 h-0.5 overflow-hidden rounded-full transition-opacity ${O?"opacity-100":"opacity-0"}`,"aria-hidden":!O,children:h.jsx("div",{className:"h-full w-1/3 bg-brand-500 animate-[browser-load_1.1s_ease-in-out_infinite]"})})]}),x&&!O&&!_&&h.jsx("div",{className:"shrink-0 mb-2 px-2.5 py-1.5 text-[11px] text-amber-600 dark:text-amber-400 bg-amber-500/10 border border-amber-500/20 rounded-lg",children:x}),h.jsx("div",{ref:l,className:"flex-1 min-h-0 min-w-0 w-full rounded-lg border border-border-default bg-surface-elevated/30 overflow-hidden",children:_&&h.jsxs("div",{className:"h-full w-full flex flex-col items-center justify-center gap-4 px-6 text-center",children:[h.jsx("div",{className:"w-12 h-12 rounded-2xl bg-surface-elevated border border-border-default flex items-center justify-center text-fg-secondary",children:h.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:h.jsx("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z",strokeLinejoin:"round"})})}),h.jsxs("div",{className:"space-y-1.5 max-w-md",children:[h.jsx("p",{className:"text-sm font-medium text-fg-primary",children:i("browserFolderTitle")}),h.jsx("p",{className:"text-xs text-fg-tertiary break-all",children:_})]}),h.jsx("button",{type:"button",disabled:w,onClick:()=>{S(!0),K.system.openPath(_).catch(()=>K.files.reveal(_)).finally(()=>S(!1))},className:"px-3.5 py-2 text-xs rounded-lg bg-brand-600 hover:bg-brand-500 disabled:opacity-50 text-white transition-colors",children:w?i("browserFolderOpening"):i("browserFolderOpen",{app:L})})]})}),h.jsx("style",{children:`
36
+ @keyframes browser-load {
37
+ 0% { transform: translateX(-120%); }
38
+ 100% { transform: translateX(360%); }
39
+ }
40
+ `})]}):h.jsxs("div",{className:`space-y-3 ${t??""}`,children:[h.jsx("p",{className:"text-sm text-fg-secondary break-all",children:s}),h.jsx("button",{onClick:()=>window.open(s,"_blank","noopener,noreferrer"),className:"px-3 py-2 text-xs rounded-lg bg-brand-600/20 text-brand-500 hover:bg-brand-600/30 transition-colors",children:"Open in browser"})]})}var fu={exports:{}},J0;function JA(){return J0||(J0=1,(function(s,e){(function(t,r){s.exports=r()})(globalThis,(()=>(()=>{var t={4567:function(a,o,l){var c=this&&this.__decorate||function(p,x,y,_){var k,w=arguments.length,S=w<3?x:_===null?_=Object.getOwnPropertyDescriptor(x,y):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(p,x,y,_);else for(var Q=p.length-1;Q>=0;Q--)(k=p[Q])&&(S=(w<3?k(S):w>3?k(x,y,S):k(x,y))||S);return w>3&&S&&Object.defineProperty(x,y,S),S},d=this&&this.__param||function(p,x){return function(y,_){x(y,_,p)}};Object.defineProperty(o,"__esModule",{value:!0}),o.AccessibilityManager=void 0;const u=l(9042),f=l(9924),g=l(844),v=l(4725),b=l(2585),m=l(3656);let O=o.AccessibilityManager=class extends g.Disposable{constructor(p,x,y,_){super(),this._terminal=p,this._coreBrowserService=y,this._renderService=_,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let k=0;k<this._terminal.rows;k++)this._rowElements[k]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[k]);if(this._topBoundaryFocusListener=k=>this._handleBoundaryFocus(k,0),this._bottomBoundaryFocusListener=k=>this._handleBoundaryFocus(k,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new f.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((k=>this._handleResize(k.rows)))),this.register(this._terminal.onRender((k=>this._refreshRows(k.start,k.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((k=>this._handleChar(k)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
41
+ `)))),this.register(this._terminal.onA11yTab((k=>this._handleTab(k)))),this.register(this._terminal.onKey((k=>this._handleKey(k.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,m.addDisposableDomListener)(document,"selectionchange",(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,g.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(p){for(let x=0;x<p;x++)this._handleChar(" ")}_handleChar(p){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==p&&(this._charsToAnnounce+=p):this._charsToAnnounce+=p,p===`
42
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=u.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(p){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(p)||this._charsToConsume.push(p)}_refreshRows(p,x){this._liveRegionDebouncer.refresh(p,x,this._terminal.rows)}_renderRows(p,x){const y=this._terminal.buffer,_=y.lines.length.toString();for(let k=p;k<=x;k++){const w=y.lines.get(y.ydisp+k),S=[],Q=w?.translateToString(!0,void 0,void 0,S)||"",N=(y.ydisp+k+1).toString(),L=this._rowElements[k];L&&(Q.length===0?(L.innerText=" ",this._rowColumns.set(L,[0,1])):(L.textContent=Q,this._rowColumns.set(L,S)),L.setAttribute("aria-posinset",N),L.setAttribute("aria-setsize",_))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(p,x){const y=p.target,_=this._rowElements[x===0?1:this._rowElements.length-2];if(y.getAttribute("aria-posinset")===(x===0?"1":`${this._terminal.buffer.lines.length}`)||p.relatedTarget!==_)return;let k,w;if(x===0?(k=y,w=this._rowElements.pop(),this._rowContainer.removeChild(w)):(k=this._rowElements.shift(),w=y,this._rowContainer.removeChild(k)),k.removeEventListener("focus",this._topBoundaryFocusListener),w.removeEventListener("focus",this._bottomBoundaryFocusListener),x===0){const S=this._createAccessibilityTreeNode();this._rowElements.unshift(S),this._rowContainer.insertAdjacentElement("afterbegin",S)}else{const S=this._createAccessibilityTreeNode();this._rowElements.push(S),this._rowContainer.appendChild(S)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(x===0?-1:1),this._rowElements[x===0?1:this._rowElements.length-2].focus(),p.preventDefault(),p.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;const p=document.getSelection();if(!p)return;if(p.isCollapsed)return void(this._rowContainer.contains(p.anchorNode)&&this._terminal.clearSelection());if(!p.anchorNode||!p.focusNode)return void console.error("anchorNode and/or focusNode are null");let x={node:p.anchorNode,offset:p.anchorOffset},y={node:p.focusNode,offset:p.focusOffset};if((x.node.compareDocumentPosition(y.node)&Node.DOCUMENT_POSITION_PRECEDING||x.node===y.node&&x.offset>y.offset)&&([x,y]=[y,x]),x.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(x={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(x.node))return;const _=this._rowElements.slice(-1)[0];if(y.node.compareDocumentPosition(_)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(y={node:_,offset:_.textContent?.length??0}),!this._rowContainer.contains(y.node))return;const k=({node:Q,offset:N})=>{const L=Q instanceof Text?Q.parentNode:Q;let $=parseInt(L?.getAttribute("aria-posinset"),10)-1;if(isNaN($))return console.warn("row is invalid. Race condition?"),null;const j=this._rowColumns.get(L);if(!j)return console.warn("columns is null. Race condition?"),null;let I=N<j.length?j[N]:j.slice(-1)[0]+1;return I>=this._terminal.cols&&(++$,I=0),{row:$,column:I}},w=k(x),S=k(y);if(w&&S){if(w.row>S.row||w.row===S.row&&w.column>=S.column)throw new Error("invalid range");this._terminal.select(w.column,w.row,(S.row-w.row)*this._terminal.cols-w.column+S.column)}}_handleResize(p){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let x=this._rowContainer.children.length;x<this._terminal.rows;x++)this._rowElements[x]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[x]);for(;this._rowElements.length>p;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const p=this._coreBrowserService.mainDocument.createElement("div");return p.setAttribute("role","listitem"),p.tabIndex=-1,this._refreshRowDimensions(p),p}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let p=0;p<this._terminal.rows;p++)this._refreshRowDimensions(this._rowElements[p])}}_refreshRowDimensions(p){p.style.height=`${this._renderService.dimensions.css.cell.height}px`}};o.AccessibilityManager=O=c([d(1,b.IInstantiationService),d(2,v.ICoreBrowserService),d(3,v.IRenderService)],O)},3614:(a,o)=>{function l(f){return f.replace(/\r?\n/g,"\r")}function c(f,g){return g?"\x1B[200~"+f+"\x1B[201~":f}function d(f,g,v,b){f=c(f=l(f),v.decPrivateModes.bracketedPasteMode&&b.rawOptions.ignoreBracketedPasteMode!==!0),v.triggerDataEvent(f,!0),g.value=""}function u(f,g,v){const b=v.getBoundingClientRect(),m=f.clientX-b.left-10,O=f.clientY-b.top-10;g.style.width="20px",g.style.height="20px",g.style.left=`${m}px`,g.style.top=`${O}px`,g.style.zIndex="1000",g.focus()}Object.defineProperty(o,"__esModule",{value:!0}),o.rightClickHandler=o.moveTextAreaUnderMouseCursor=o.paste=o.handlePasteEvent=o.copyHandler=o.bracketTextForPaste=o.prepareTextForTerminal=void 0,o.prepareTextForTerminal=l,o.bracketTextForPaste=c,o.copyHandler=function(f,g){f.clipboardData&&f.clipboardData.setData("text/plain",g.selectionText),f.preventDefault()},o.handlePasteEvent=function(f,g,v,b){f.stopPropagation(),f.clipboardData&&d(f.clipboardData.getData("text/plain"),g,v,b)},o.paste=d,o.moveTextAreaUnderMouseCursor=u,o.rightClickHandler=function(f,g,v,b,m){u(f,g,v),m&&b.rightClickSelect(f),g.value=b.selectionText,g.select()}},7239:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ColorContrastCache=void 0;const c=l(1505);o.ColorContrastCache=class{constructor(){this._color=new c.TwoKeyMap,this._css=new c.TwoKeyMap}setCss(d,u,f){this._css.set(d,u,f)}getCss(d,u){return this._css.get(d,u)}setColor(d,u,f){this._color.set(d,u,f)}getColor(d,u){return this._color.get(d,u)}clear(){this._color.clear(),this._css.clear()}}},3656:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.addDisposableDomListener=void 0,o.addDisposableDomListener=function(l,c,d,u){l.addEventListener(c,d,u);let f=!1;return{dispose:()=>{f||(f=!0,l.removeEventListener(c,d,u))}}}},3551:function(a,o,l){var c=this&&this.__decorate||function(O,p,x,y){var _,k=arguments.length,w=k<3?p:y===null?y=Object.getOwnPropertyDescriptor(p,x):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(O,p,x,y);else for(var S=O.length-1;S>=0;S--)(_=O[S])&&(w=(k<3?_(w):k>3?_(p,x,w):_(p,x))||w);return k>3&&w&&Object.defineProperty(p,x,w),w},d=this&&this.__param||function(O,p){return function(x,y){p(x,y,O)}};Object.defineProperty(o,"__esModule",{value:!0}),o.Linkifier=void 0;const u=l(3656),f=l(8460),g=l(844),v=l(2585),b=l(4725);let m=o.Linkifier=class extends g.Disposable{get currentLink(){return this._currentLink}constructor(O,p,x,y,_){super(),this._element=O,this._mouseService=p,this._renderService=x,this._bufferService=y,this._linkProviderService=_,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new f.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new f.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,g.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,g.toDisposable)((()=>{this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,u.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,u.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,u.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,u.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(O){this._lastMouseEvent=O;const p=this._positionFromMouseEvent(O,this._element,this._mouseService);if(!p)return;this._isMouseOut=!1;const x=O.composedPath();for(let y=0;y<x.length;y++){const _=x[y];if(_.classList.contains("xterm"))break;if(_.classList.contains("xterm-hover"))return}this._lastBufferCell&&p.x===this._lastBufferCell.x&&p.y===this._lastBufferCell.y||(this._handleHover(p),this._lastBufferCell=p)}_handleHover(O){if(this._activeLine!==O.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(O,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,O)||(this._clearCurrentLink(),this._askForLink(O,!0))}_askForLink(O,p){this._activeProviderReplies&&p||(this._activeProviderReplies?.forEach((y=>{y?.forEach((_=>{_.link.dispose&&_.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=O.y);let x=!1;for(const[y,_]of this._linkProviderService.linkProviders.entries())p?this._activeProviderReplies?.get(y)&&(x=this._checkLinkProviderResult(y,O,x)):_.provideLinks(O.y,(k=>{if(this._isMouseOut)return;const w=k?.map((S=>({link:S})));this._activeProviderReplies?.set(y,w),x=this._checkLinkProviderResult(y,O,x),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(O.y,this._activeProviderReplies)}))}_removeIntersectingLinks(O,p){const x=new Set;for(let y=0;y<p.size;y++){const _=p.get(y);if(_)for(let k=0;k<_.length;k++){const w=_[k],S=w.link.range.start.y<O?0:w.link.range.start.x,Q=w.link.range.end.y>O?this._bufferService.cols:w.link.range.end.x;for(let N=S;N<=Q;N++){if(x.has(N)){_.splice(k--,1);break}x.add(N)}}}}_checkLinkProviderResult(O,p,x){if(!this._activeProviderReplies)return x;const y=this._activeProviderReplies.get(O);let _=!1;for(let k=0;k<O;k++)this._activeProviderReplies.has(k)&&!this._activeProviderReplies.get(k)||(_=!0);if(!_&&y){const k=y.find((w=>this._linkAtPosition(w.link,p)));k&&(x=!0,this._handleNewLink(k))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!x)for(let k=0;k<this._activeProviderReplies.size;k++){const w=this._activeProviderReplies.get(k)?.find((S=>this._linkAtPosition(S.link,p)));if(w){x=!0,this._handleNewLink(w);break}}return x}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(O){if(!this._currentLink)return;const p=this._positionFromMouseEvent(O,this._element,this._mouseService);p&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,p)&&this._currentLink.link.activate(O,this._currentLink.link.text)}_clearCurrentLink(O,p){this._currentLink&&this._lastMouseEvent&&(!O||!p||this._currentLink.link.range.start.y>=O&&this._currentLink.link.range.end.y<=p)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,g.disposeArray)(this._linkCacheDisposables))}_handleNewLink(O){if(!this._lastMouseEvent)return;const p=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);p&&this._linkAtPosition(O.link,p)&&(this._currentLink=O,this._currentLink.state={decorations:{underline:O.link.decorations===void 0||O.link.decorations.underline,pointerCursor:O.link.decorations===void 0||O.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,O.link,this._lastMouseEvent),O.link.decorations={},Object.defineProperties(O.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:x=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==x&&(this._currentLink.state.decorations.pointerCursor=x,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",x))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:x=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==x&&(this._currentLink.state.decorations.underline=x,this._currentLink.state.isHovered&&this._fireUnderlineEvent(O.link,x))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((x=>{if(!this._currentLink)return;const y=x.start===0?0:x.start+1+this._bufferService.buffer.ydisp,_=this._bufferService.buffer.ydisp+1+x.end;if(this._currentLink.link.range.start.y>=y&&this._currentLink.link.range.end.y<=_&&(this._clearCurrentLink(y,_),this._lastMouseEvent)){const k=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);k&&this._askForLink(k,!1)}}))))}_linkHover(O,p,x){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(p,!0),this._currentLink.state.decorations.pointerCursor&&O.classList.add("xterm-cursor-pointer")),p.hover&&p.hover(x,p.text)}_fireUnderlineEvent(O,p){const x=O.range,y=this._bufferService.buffer.ydisp,_=this._createLinkUnderlineEvent(x.start.x-1,x.start.y-y-1,x.end.x,x.end.y-y-1,void 0);(p?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(_)}_linkLeave(O,p,x){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(p,!1),this._currentLink.state.decorations.pointerCursor&&O.classList.remove("xterm-cursor-pointer")),p.leave&&p.leave(x,p.text)}_linkAtPosition(O,p){const x=O.range.start.y*this._bufferService.cols+O.range.start.x,y=O.range.end.y*this._bufferService.cols+O.range.end.x,_=p.y*this._bufferService.cols+p.x;return x<=_&&_<=y}_positionFromMouseEvent(O,p,x){const y=x.getCoords(O,p,this._bufferService.cols,this._bufferService.rows);if(y)return{x:y[0],y:y[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(O,p,x,y,_){return{x1:O,y1:p,x2:x,y2:y,cols:this._bufferService.cols,fg:_}}};o.Linkifier=m=c([d(1,b.IMouseService),d(2,b.IRenderService),d(3,v.IBufferService),d(4,b.ILinkProviderService)],m)},9042:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.tooMuchOutput=o.promptLabel=void 0,o.promptLabel="Terminal input",o.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(a,o,l){var c=this&&this.__decorate||function(b,m,O,p){var x,y=arguments.length,_=y<3?m:p===null?p=Object.getOwnPropertyDescriptor(m,O):p;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(b,m,O,p);else for(var k=b.length-1;k>=0;k--)(x=b[k])&&(_=(y<3?x(_):y>3?x(m,O,_):x(m,O))||_);return y>3&&_&&Object.defineProperty(m,O,_),_},d=this&&this.__param||function(b,m){return function(O,p){m(O,p,b)}};Object.defineProperty(o,"__esModule",{value:!0}),o.OscLinkProvider=void 0;const u=l(511),f=l(2585);let g=o.OscLinkProvider=class{constructor(b,m,O){this._bufferService=b,this._optionsService=m,this._oscLinkService=O}provideLinks(b,m){const O=this._bufferService.buffer.lines.get(b-1);if(!O)return void m(void 0);const p=[],x=this._optionsService.rawOptions.linkHandler,y=new u.CellData,_=O.getTrimmedLength();let k=-1,w=-1,S=!1;for(let Q=0;Q<_;Q++)if(w!==-1||O.hasContent(Q)){if(O.loadCell(Q,y),y.hasExtendedAttrs()&&y.extended.urlId){if(w===-1){w=Q,k=y.extended.urlId;continue}S=y.extended.urlId!==k}else w!==-1&&(S=!0);if(S||w!==-1&&Q===_-1){const N=this._oscLinkService.getLinkData(k)?.uri;if(N){const L={start:{x:w+1,y:b},end:{x:Q+(S||Q!==_-1?0:1),y:b}};let $=!1;if(!x?.allowNonHttpProtocols)try{const j=new URL(N);["http:","https:"].includes(j.protocol)||($=!0)}catch{$=!0}$||p.push({text:N,range:L,activate:(j,I)=>x?x.activate(j,I,L):v(0,I),hover:(j,I)=>x?.hover?.(j,I,L),leave:(j,I)=>x?.leave?.(j,I,L)})}S=!1,y.hasExtendedAttrs()&&y.extended.urlId?(w=Q,k=y.extended.urlId):(w=-1,k=-1)}}m(p)}};function v(b,m){if(confirm(`Do you want to navigate to ${m}?
43
+
44
+ WARNING: This link could potentially be dangerous`)){const O=window.open();if(O){try{O.opener=null}catch{}O.location.href=m}else console.warn("Opening link blocked as opener could not be cleared")}}o.OscLinkProvider=g=c([d(0,f.IBufferService),d(1,f.IOptionsService),d(2,f.IOscLinkService)],g)},6193:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.RenderDebouncer=void 0,o.RenderDebouncer=class{constructor(l,c){this._renderCallback=l,this._coreBrowserService=c,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(l){return this._refreshCallbacks.push(l),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(l,c,d){this._rowCount=d,l=l!==void 0?l:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,l):l,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();const l=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(l,c),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const l of this._refreshCallbacks)l(0);this._refreshCallbacks=[]}}},3236:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.Terminal=void 0;const c=l(3614),d=l(3656),u=l(3551),f=l(9042),g=l(3730),v=l(1680),b=l(3107),m=l(5744),O=l(2950),p=l(1296),x=l(428),y=l(4269),_=l(5114),k=l(8934),w=l(3230),S=l(9312),Q=l(4725),N=l(6731),L=l(8055),$=l(8969),j=l(8460),I=l(844),V=l(6114),Z=l(8437),z=l(2584),J=l(7399),T=l(5941),A=l(9074),B=l(2585),q=l(5435),H=l(4567),te=l(779);class ue extends $.CoreTerminal{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}constructor(U={}){super(U),this.browser=V,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new I.MutableDisposable),this._onCursorMove=this.register(new j.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new j.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new j.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new j.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new j.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new j.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new j.EventEmitter),this._onBlur=this.register(new j.EventEmitter),this._onA11yCharEmitter=this.register(new j.EventEmitter),this._onA11yTabEmitter=this.register(new j.EventEmitter),this._onWillOpen=this.register(new j.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(A.DecorationService),this._instantiationService.setService(B.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(te.LinkProviderService),this._instantiationService.setService(Q.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(g.OscLinkProvider)),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((D,se)=>this.refresh(D,se)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((D=>this._reportWindowsOptions(D)))),this.register(this._inputHandler.onColor((D=>this._handleColorEvent(D)))),this.register((0,j.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,j.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,j.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,j.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((D=>this._afterResize(D.cols,D.rows)))),this.register((0,I.toDisposable)((()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)})))}_handleColorEvent(U){if(this._themeService)for(const D of U){let se,F="";switch(D.index){case 256:se="foreground",F="10";break;case 257:se="background",F="11";break;case 258:se="cursor",F="12";break;default:se="ansi",F="4;"+D.index}switch(D.type){case 0:const G=L.color.toColorRGB(se==="ansi"?this._themeService.colors.ansi[D.index]:this._themeService.colors[se]);this.coreService.triggerDataEvent(`${z.C0.ESC}]${F};${(0,T.toRgbString)(G)}${z.C1_ESCAPED.ST}`);break;case 1:if(se==="ansi")this._themeService.modifyColors((ee=>ee.ansi[D.index]=L.channels.toColor(...D.color)));else{const ee=se;this._themeService.modifyColors((we=>we[ee]=L.channels.toColor(...D.color)))}break;case 2:this._themeService.restoreColor(D.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(U){U?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(H.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(U){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(z.C0.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(z.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const U=this.buffer.ybase+this.buffer.y,D=this.buffer.lines.get(U);if(!D)return;const se=Math.min(this.buffer.x,this.cols-1),F=this._renderService.dimensions.css.cell.height,G=D.getWidth(se),ee=this._renderService.dimensions.css.cell.width*G,we=this.buffer.y*this._renderService.dimensions.css.cell.height,Ae=se*this._renderService.dimensions.css.cell.width;this.textarea.style.left=Ae+"px",this.textarea.style.top=we+"px",this.textarea.style.width=ee+"px",this.textarea.style.height=F+"px",this.textarea.style.lineHeight=F+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,d.addDisposableDomListener)(this.element,"copy",(D=>{this.hasSelection()&&(0,c.copyHandler)(D,this._selectionService)})));const U=D=>(0,c.handlePasteEvent)(D,this.textarea,this.coreService,this.optionsService);this.register((0,d.addDisposableDomListener)(this.textarea,"paste",U)),this.register((0,d.addDisposableDomListener)(this.element,"paste",U)),V.isFirefox?this.register((0,d.addDisposableDomListener)(this.element,"mousedown",(D=>{D.button===2&&(0,c.rightClickHandler)(D,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,d.addDisposableDomListener)(this.element,"contextmenu",(D=>{(0,c.rightClickHandler)(D,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),V.isLinux&&this.register((0,d.addDisposableDomListener)(this.element,"auxclick",(D=>{D.button===1&&(0,c.moveTextAreaUnderMouseCursor)(D,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,d.addDisposableDomListener)(this.textarea,"keyup",(U=>this._keyUp(U)),!0)),this.register((0,d.addDisposableDomListener)(this.textarea,"keydown",(U=>this._keyDown(U)),!0)),this.register((0,d.addDisposableDomListener)(this.textarea,"keypress",(U=>this._keyPress(U)),!0)),this.register((0,d.addDisposableDomListener)(this.textarea,"compositionstart",(()=>this._compositionHelper.compositionstart()))),this.register((0,d.addDisposableDomListener)(this.textarea,"compositionupdate",(U=>this._compositionHelper.compositionupdate(U)))),this.register((0,d.addDisposableDomListener)(this.textarea,"compositionend",(()=>this._compositionHelper.compositionend()))),this.register((0,d.addDisposableDomListener)(this.textarea,"input",(U=>this._inputEvent(U)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(U){if(!U)throw new Error("Terminal requires a parent element.");if(U.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=U.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"),U.appendChild(this.element);const D=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),D.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,d.addDisposableDomListener)(this.screenElement,"mousemove",(se=>this.updateCursorStyle(se)))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),D.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",f.promptLabel),V.isChromeOS||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._coreBrowserService=this.register(this._instantiationService.createInstance(_.CoreBrowserService,this.textarea,U.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Q.ICoreBrowserService,this._coreBrowserService),this.register((0,d.addDisposableDomListener)(this.textarea,"focus",(se=>this._handleTextAreaFocus(se)))),this.register((0,d.addDisposableDomListener)(this.textarea,"blur",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(x.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(Q.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(N.ThemeService),this._instantiationService.setService(Q.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(y.CharacterJoinerService),this._instantiationService.setService(Q.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(w.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(Q.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((se=>this._onRender.fire(se)))),this.onResize((se=>this._renderService.resize(se.cols,se.rows))),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(O.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(k.MouseService),this._instantiationService.setService(Q.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(u.Linkifier,this.screenElement)),this.element.appendChild(D);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(v.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((se=>this.scrollLines(se.amount,se.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),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.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(S.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(Q.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((se=>this.scrollLines(se.amount,se.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((se=>this._renderService.handleSelectionChanged(se.start,se.end,se.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((se=>{this.textarea.value=se,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((se=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,d.addDisposableDomListener)(this._viewportElement,"scroll",(()=>this._selectionService.refresh()))),this.register(this._instantiationService.createInstance(b.BufferDecorationRenderer,this.screenElement)),this.register((0,d.addDisposableDomListener)(this.element,"mousedown",(se=>this._selectionService.handleMouseDown(se)))),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(H.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",(se=>this._handleScreenReaderModeOptionChange(se)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(m.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",(se=>{!this._overviewRulerRenderer&&se&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(m.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(p.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const U=this,D=this.element;function se(ee){const we=U._mouseService.getMouseReportCoords(ee,U.screenElement);if(!we)return!1;let Ae,xe;switch(ee.overrideType||ee.type){case"mousemove":xe=32,ee.buttons===void 0?(Ae=3,ee.button!==void 0&&(Ae=ee.button<3?ee.button:3)):Ae=1&ee.buttons?0:4&ee.buttons?1:2&ee.buttons?2:3;break;case"mouseup":xe=0,Ae=ee.button<3?ee.button:3;break;case"mousedown":xe=1,Ae=ee.button<3?ee.button:3;break;case"wheel":if(U._customWheelEventHandler&&U._customWheelEventHandler(ee)===!1||U.viewport.getLinesScrolled(ee)===0)return!1;xe=ee.deltaY<0?0:1,Ae=4;break;default:return!1}return!(xe===void 0||Ae===void 0||Ae>4)&&U.coreMouseService.triggerMouseEvent({col:we.col,row:we.row,x:we.x,y:we.y,button:Ae,action:xe,ctrl:ee.ctrlKey,alt:ee.altKey,shift:ee.shiftKey})}const F={mouseup:null,wheel:null,mousedrag:null,mousemove:null},G={mouseup:ee=>(se(ee),ee.buttons||(this._document.removeEventListener("mouseup",F.mouseup),F.mousedrag&&this._document.removeEventListener("mousemove",F.mousedrag)),this.cancel(ee)),wheel:ee=>(se(ee),this.cancel(ee,!0)),mousedrag:ee=>{ee.buttons&&se(ee)},mousemove:ee=>{ee.buttons||se(ee)}};this.register(this.coreMouseService.onProtocolChange((ee=>{ee?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(ee)),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()),8&ee?F.mousemove||(D.addEventListener("mousemove",G.mousemove),F.mousemove=G.mousemove):(D.removeEventListener("mousemove",F.mousemove),F.mousemove=null),16&ee?F.wheel||(D.addEventListener("wheel",G.wheel,{passive:!1}),F.wheel=G.wheel):(D.removeEventListener("wheel",F.wheel),F.wheel=null),2&ee?F.mouseup||(F.mouseup=G.mouseup):(this._document.removeEventListener("mouseup",F.mouseup),F.mouseup=null),4&ee?F.mousedrag||(F.mousedrag=G.mousedrag):(this._document.removeEventListener("mousemove",F.mousedrag),F.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,d.addDisposableDomListener)(D,"mousedown",(ee=>{if(ee.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(ee))return se(ee),F.mouseup&&this._document.addEventListener("mouseup",F.mouseup),F.mousedrag&&this._document.addEventListener("mousemove",F.mousedrag),this.cancel(ee)}))),this.register((0,d.addDisposableDomListener)(D,"wheel",(ee=>{if(!F.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(ee)===!1)return!1;if(!this.buffer.hasScrollback){const we=this.viewport.getLinesScrolled(ee);if(we===0)return;const Ae=z.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(ee.deltaY<0?"A":"B");let xe="";for(let me=0;me<Math.abs(we);me++)xe+=Ae;return this.coreService.triggerDataEvent(xe,!0),this.cancel(ee,!0)}return this.viewport.handleWheel(ee)?this.cancel(ee):void 0}}),{passive:!1})),this.register((0,d.addDisposableDomListener)(D,"touchstart",(ee=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(ee),this.cancel(ee)}),{passive:!0})),this.register((0,d.addDisposableDomListener)(D,"touchmove",(ee=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(ee)?void 0:this.cancel(ee)}),{passive:!1}))}refresh(U,D){this._renderService?.refreshRows(U,D)}updateCursorStyle(U){this._selectionService?.shouldColumnSelect(U)?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(U,D,se=0){se===1?(super.scrollLines(U,D,se),this.refresh(0,this.rows-1)):this.viewport?.scrollLines(U)}paste(U){(0,c.paste)(U,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(U){this._customKeyEventHandler=U}attachCustomWheelEventHandler(U){this._customWheelEventHandler=U}registerLinkProvider(U){return this._linkProviderService.registerLinkProvider(U)}registerCharacterJoiner(U){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const D=this._characterJoinerService.register(U);return this.refresh(0,this.rows-1),D}deregisterCharacterJoiner(U){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(U)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(U){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+U)}registerDecoration(U){return this._decorationService.registerDecoration(U)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(U,D,se){this._selectionService.setSelection(U,D,se)}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(U,D){this._selectionService?.selectLines(U,D)}_keyDown(U){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1)return!1;const D=this.browser.isMac&&this.options.macOptionIsMeta&&U.altKey;if(!D&&!this._compositionHelper.keydown(U))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;D||U.key!=="Dead"&&U.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const se=(0,J.evaluateKeyboardEvent)(U,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(U),se.type===3||se.type===2){const F=this.rows-1;return this.scrollLines(se.type===2?-F:F),this.cancel(U,!0)}return se.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,U)||(se.cancel&&this.cancel(U,!0),!se.key||!!(U.key&&!U.ctrlKey&&!U.altKey&&!U.metaKey&&U.key.length===1&&U.key.charCodeAt(0)>=65&&U.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(se.key!==z.C0.ETX&&se.key!==z.C0.CR||(this.textarea.value=""),this._onKey.fire({key:se.key,domEvent:U}),this._showCursor(),this.coreService.triggerDataEvent(se.key,!0),!this.optionsService.rawOptions.screenReaderMode||U.altKey||U.ctrlKey?this.cancel(U,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(U,D){const se=U.isMac&&!this.options.macOptionIsMeta&&D.altKey&&!D.ctrlKey&&!D.metaKey||U.isWindows&&D.altKey&&D.ctrlKey&&!D.metaKey||U.isWindows&&D.getModifierState("AltGraph");return D.type==="keypress"?se:se&&(!D.keyCode||D.keyCode>47)}_keyUp(U){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1||((function(D){return D.keyCode===16||D.keyCode===17||D.keyCode===18})(U)||this.focus(),this.updateCursorStyle(U),this._keyPressHandled=!1)}_keyPress(U){let D;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1)return!1;if(this.cancel(U),U.charCode)D=U.charCode;else if(U.which===null||U.which===void 0)D=U.keyCode;else{if(U.which===0||U.charCode===0)return!1;D=U.which}return!(!D||(U.altKey||U.ctrlKey||U.metaKey)&&!this._isThirdLevelShift(this.browser,U)||(D=String.fromCharCode(D),this._onKey.fire({key:D,domEvent:U}),this._showCursor(),this.coreService.triggerDataEvent(D,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(U){if(U.data&&U.inputType==="insertText"&&(!U.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const D=U.data;return this.coreService.triggerDataEvent(D,!0),this.cancel(U),!0}return!1}resize(U,D){U!==this.cols||D!==this.rows?super.resize(U,D):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(U,D){this._charSizeService?.measure(),this.viewport?.syncScrollArea(!0)}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 U=1;U<this.rows;U++)this.buffer.lines.push(this.buffer.getBlankLine(Z.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),this.viewport?.reset(),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;const U=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this.viewport?.reset(),this._customKeyEventHandler=U,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(z.C0.ESC+"[I"):this.coreService.triggerDataEvent(z.C0.ESC+"[O")}_reportWindowsOptions(U){if(this._renderService)switch(U){case q.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const D=this._renderService.dimensions.css.canvas.width.toFixed(0),se=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${z.C0.ESC}[4;${se};${D}t`);break;case q.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const F=this._renderService.dimensions.css.cell.width.toFixed(0),G=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${z.C0.ESC}[6;${G};${F}t`)}}cancel(U,D){if(this.options.cancelEvents||D)return U.preventDefault(),U.stopPropagation(),!1}}o.Terminal=ue},9924:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.TimeBasedDebouncer=void 0,o.TimeBasedDebouncer=class{constructor(l,c=1e3){this._renderCallback=l,this._debounceThresholdMS=c,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(l,c,d){this._rowCount=d,l=l!==void 0?l:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,l):l,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c;const u=Date.now();if(u-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=u,this._innerRefresh();else if(!this._additionalRefreshRequested){const f=u-this._lastRefreshMs,g=this._debounceThresholdMS-f;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),g)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const l=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(l,c)}}},1680:function(a,o,l){var c=this&&this.__decorate||function(O,p,x,y){var _,k=arguments.length,w=k<3?p:y===null?y=Object.getOwnPropertyDescriptor(p,x):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(O,p,x,y);else for(var S=O.length-1;S>=0;S--)(_=O[S])&&(w=(k<3?_(w):k>3?_(p,x,w):_(p,x))||w);return k>3&&w&&Object.defineProperty(p,x,w),w},d=this&&this.__param||function(O,p){return function(x,y){p(x,y,O)}};Object.defineProperty(o,"__esModule",{value:!0}),o.Viewport=void 0;const u=l(3656),f=l(4725),g=l(8460),v=l(844),b=l(2585);let m=o.Viewport=class extends v.Disposable{constructor(O,p,x,y,_,k,w,S){super(),this._viewportElement=O,this._scrollArea=p,this._bufferService=x,this._optionsService=y,this._charSizeService=_,this._renderService=k,this._coreBrowserService=w,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new g.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,u.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((Q=>this._activeBuffer=Q.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((Q=>this._renderDimensions=Q))),this._handleThemeChange(S.colors),this.register(S.onChangeColors((Q=>this._handleThemeChange(Q)))),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(O){this._viewportElement.style.backgroundColor=O.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(O){if(O)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const p=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==p&&(this._lastRecordedBufferHeight=p,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const O=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==O&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=O),this._refreshAnimationFrame=null}syncScrollArea(O=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(O);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(O)}_handleScroll(O){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const p=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:p,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const O=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(O*(this._smoothScrollState.target-this._smoothScrollState.origin)),O<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(O,p){const x=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(p<0&&this._viewportElement.scrollTop!==0||p>0&&x<this._lastRecordedBufferHeight)||(O.cancelable&&O.preventDefault(),!1)}handleWheel(O){const p=this._getPixelsScrolled(O);return p!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+p:this._smoothScrollState.target+=p,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=p,this._bubbleScroll(O,p))}scrollLines(O){if(O!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const p=O*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+p,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:O,suppressScrollEvent:!1})}_getPixelsScrolled(O){if(O.deltaY===0||O.shiftKey)return 0;let p=this._applyScrollModifier(O.deltaY,O);return O.deltaMode===WheelEvent.DOM_DELTA_LINE?p*=this._currentRowHeight:O.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(p*=this._currentRowHeight*this._bufferService.rows),p}getBufferElements(O,p){let x,y="";const _=[],k=p??this._bufferService.buffer.lines.length,w=this._bufferService.buffer.lines;for(let S=O;S<k;S++){const Q=w.get(S);if(!Q)continue;const N=w.get(S+1)?.isWrapped;if(y+=Q.translateToString(!N),!N||S===w.length-1){const L=document.createElement("div");L.textContent=y,_.push(L),y.length>0&&(x=L),y=""}}return{bufferElements:_,cursorElement:x}}getLinesScrolled(O){if(O.deltaY===0||O.shiftKey)return 0;let p=this._applyScrollModifier(O.deltaY,O);return O.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(p/=this._currentRowHeight+0,this._wheelPartialScroll+=p,p=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):O.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(p*=this._bufferService.rows),p}_applyScrollModifier(O,p){const x=this._optionsService.rawOptions.fastScrollModifier;return x==="alt"&&p.altKey||x==="ctrl"&&p.ctrlKey||x==="shift"&&p.shiftKey?O*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:O*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(O){this._lastTouchY=O.touches[0].pageY}handleTouchMove(O){const p=this._lastTouchY-O.touches[0].pageY;return this._lastTouchY=O.touches[0].pageY,p!==0&&(this._viewportElement.scrollTop+=p,this._bubbleScroll(O,p))}};o.Viewport=m=c([d(2,b.IBufferService),d(3,b.IOptionsService),d(4,f.ICharSizeService),d(5,f.IRenderService),d(6,f.ICoreBrowserService),d(7,f.IThemeService)],m)},3107:function(a,o,l){var c=this&&this.__decorate||function(b,m,O,p){var x,y=arguments.length,_=y<3?m:p===null?p=Object.getOwnPropertyDescriptor(m,O):p;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(b,m,O,p);else for(var k=b.length-1;k>=0;k--)(x=b[k])&&(_=(y<3?x(_):y>3?x(m,O,_):x(m,O))||_);return y>3&&_&&Object.defineProperty(m,O,_),_},d=this&&this.__param||function(b,m){return function(O,p){m(O,p,b)}};Object.defineProperty(o,"__esModule",{value:!0}),o.BufferDecorationRenderer=void 0;const u=l(4725),f=l(844),g=l(2585);let v=o.BufferDecorationRenderer=class extends f.Disposable{constructor(b,m,O,p,x){super(),this._screenElement=b,this._bufferService=m,this._coreBrowserService=O,this._decorationService=p,this._renderService=x,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange((()=>this._doRefreshDecorations()))),this.register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this.register(this._decorationService.onDecorationRemoved((y=>this._removeDecoration(y)))),this.register((0,f.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(const b of this._decorationService.decorations)this._renderDecoration(b);this._dimensionsChanged=!1}_renderDecoration(b){this._refreshStyle(b),this._dimensionsChanged&&this._refreshXPosition(b)}_createElement(b){const m=this._coreBrowserService.mainDocument.createElement("div");m.classList.add("xterm-decoration"),m.classList.toggle("xterm-decoration-top-layer",b?.options?.layer==="top"),m.style.width=`${Math.round((b.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,m.style.height=(b.options.height||1)*this._renderService.dimensions.css.cell.height+"px",m.style.top=(b.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",m.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const O=b.options.x??0;return O&&O>this._bufferService.cols&&(m.style.display="none"),this._refreshXPosition(b,m),m}_refreshStyle(b){const m=b.marker.line-this._bufferService.buffers.active.ydisp;if(m<0||m>=this._bufferService.rows)b.element&&(b.element.style.display="none",b.onRenderEmitter.fire(b.element));else{let O=this._decorationElements.get(b);O||(O=this._createElement(b),b.element=O,this._decorationElements.set(b,O),this._container.appendChild(O),b.onDispose((()=>{this._decorationElements.delete(b),O.remove()}))),O.style.top=m*this._renderService.dimensions.css.cell.height+"px",O.style.display=this._altBufferIsActive?"none":"block",b.onRenderEmitter.fire(O)}}_refreshXPosition(b,m=b.element){if(!m)return;const O=b.options.x??0;(b.options.anchor||"left")==="right"?m.style.right=O?O*this._renderService.dimensions.css.cell.width+"px":"":m.style.left=O?O*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(b){this._decorationElements.get(b)?.remove(),this._decorationElements.delete(b),b.dispose()}};o.BufferDecorationRenderer=v=c([d(1,g.IBufferService),d(2,u.ICoreBrowserService),d(3,g.IDecorationService),d(4,u.IRenderService)],v)},5871:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ColorZoneStore=void 0,o.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(l){if(l.options.overviewRulerOptions){for(const c of this._zones)if(c.color===l.options.overviewRulerOptions.color&&c.position===l.options.overviewRulerOptions.position){if(this._lineIntersectsZone(c,l.marker.line))return;if(this._lineAdjacentToZone(c,l.marker.line,l.options.overviewRulerOptions.position))return void this._addLineToZone(c,l.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=l.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=l.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=l.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=l.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:l.options.overviewRulerOptions.color,position:l.options.overviewRulerOptions.position,startBufferLine:l.marker.line,endBufferLine:l.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(l){this._linePadding=l}_lineIntersectsZone(l,c){return c>=l.startBufferLine&&c<=l.endBufferLine}_lineAdjacentToZone(l,c,d){return c>=l.startBufferLine-this._linePadding[d||"full"]&&c<=l.endBufferLine+this._linePadding[d||"full"]}_addLineToZone(l,c){l.startBufferLine=Math.min(l.startBufferLine,c),l.endBufferLine=Math.max(l.endBufferLine,c)}}},5744:function(a,o,l){var c=this&&this.__decorate||function(x,y,_,k){var w,S=arguments.length,Q=S<3?y:k===null?k=Object.getOwnPropertyDescriptor(y,_):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Q=Reflect.decorate(x,y,_,k);else for(var N=x.length-1;N>=0;N--)(w=x[N])&&(Q=(S<3?w(Q):S>3?w(y,_,Q):w(y,_))||Q);return S>3&&Q&&Object.defineProperty(y,_,Q),Q},d=this&&this.__param||function(x,y){return function(_,k){y(_,k,x)}};Object.defineProperty(o,"__esModule",{value:!0}),o.OverviewRulerRenderer=void 0;const u=l(5871),f=l(4725),g=l(844),v=l(2585),b={full:0,left:0,center:0,right:0},m={full:0,left:0,center:0,right:0},O={full:0,left:0,center:0,right:0};let p=o.OverviewRulerRenderer=class extends g.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(x,y,_,k,w,S,Q){super(),this._viewportElement=x,this._screenElement=y,this._bufferService=_,this._decorationService=k,this._renderService=w,this._optionsService=S,this._coreBrowserService=Q,this._colorZoneStore=new u.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement);const N=this._canvas.getContext("2d");if(!N)throw new Error("Ctx cannot be null");this._ctx=N,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,g.toDisposable)((()=>{this._canvas?.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"}))),this.register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",(()=>this._queueRefresh(!0)))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){const x=Math.floor(this._canvas.width/3),y=Math.ceil(this._canvas.width/3);m.full=this._canvas.width,m.left=x,m.center=y,m.right=x,this._refreshDrawHeightConstants(),O.full=0,O.left=0,O.center=m.left,O.right=m.left+m.center}_refreshDrawHeightConstants(){b.full=Math.round(2*this._coreBrowserService.dpr);const x=this._canvas.height/this._bufferService.buffer.lines.length,y=Math.round(Math.max(Math.min(x,12),6)*this._coreBrowserService.dpr);b.left=y,b.center=y,b.right=y}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*b.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*b.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*b.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*b.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const y of this._decorationService.decorations)this._colorZoneStore.addDecoration(y);this._ctx.lineWidth=1;const x=this._colorZoneStore.zones;for(const y of x)y.position!=="full"&&this._renderColorZone(y);for(const y of x)y.position==="full"&&this._renderColorZone(y);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(x){this._ctx.fillStyle=x.color,this._ctx.fillRect(O[x.position||"full"],Math.round((this._canvas.height-1)*(x.startBufferLine/this._bufferService.buffers.active.lines.length)-b[x.position||"full"]/2),m[x.position||"full"],Math.round((this._canvas.height-1)*((x.endBufferLine-x.startBufferLine)/this._bufferService.buffers.active.lines.length)+b[x.position||"full"]))}_queueRefresh(x,y){this._shouldUpdateDimensions=x||this._shouldUpdateDimensions,this._shouldUpdateAnchor=y||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};o.OverviewRulerRenderer=p=c([d(2,v.IBufferService),d(3,v.IDecorationService),d(4,f.IRenderService),d(5,v.IOptionsService),d(6,f.ICoreBrowserService)],p)},2950:function(a,o,l){var c=this&&this.__decorate||function(b,m,O,p){var x,y=arguments.length,_=y<3?m:p===null?p=Object.getOwnPropertyDescriptor(m,O):p;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(b,m,O,p);else for(var k=b.length-1;k>=0;k--)(x=b[k])&&(_=(y<3?x(_):y>3?x(m,O,_):x(m,O))||_);return y>3&&_&&Object.defineProperty(m,O,_),_},d=this&&this.__param||function(b,m){return function(O,p){m(O,p,b)}};Object.defineProperty(o,"__esModule",{value:!0}),o.CompositionHelper=void 0;const u=l(4725),f=l(2585),g=l(2584);let v=o.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(b,m,O,p,x,y){this._textarea=b,this._compositionView=m,this._bufferService=O,this._optionsService=p,this._coreService=x,this._renderService=y,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(b){this._compositionView.textContent=b.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(b){if(this._isComposing||this._isSendingComposition){if(b.keyCode===229||b.keyCode===16||b.keyCode===17||b.keyCode===18)return!1;this._finalizeComposition(!1)}return b.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(b){if(this._compositionView.classList.remove("active"),this._isComposing=!1,b){const m={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let O;this._isSendingComposition=!1,m.start+=this._dataAlreadySent.length,O=this._isComposing?this._textarea.value.substring(m.start,m.end):this._textarea.value.substring(m.start),O.length>0&&this._coreService.triggerDataEvent(O,!0)}}),0)}else{this._isSendingComposition=!1;const m=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(m,!0)}}_handleAnyTextareaChanges(){const b=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const m=this._textarea.value,O=m.replace(b,"");this._dataAlreadySent=O,m.length>b.length?this._coreService.triggerDataEvent(O,!0):m.length<b.length?this._coreService.triggerDataEvent(`${g.C0.DEL}`,!0):m.length===b.length&&m!==b&&this._coreService.triggerDataEvent(m,!0)}}),0)}updateCompositionElements(b){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const m=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),O=this._renderService.dimensions.css.cell.height,p=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,x=m*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=x+"px",this._compositionView.style.top=p+"px",this._compositionView.style.height=O+"px",this._compositionView.style.lineHeight=O+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const y=this._compositionView.getBoundingClientRect();this._textarea.style.left=x+"px",this._textarea.style.top=p+"px",this._textarea.style.width=Math.max(y.width,1)+"px",this._textarea.style.height=Math.max(y.height,1)+"px",this._textarea.style.lineHeight=y.height+"px"}b||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};o.CompositionHelper=v=c([d(2,f.IBufferService),d(3,f.IOptionsService),d(4,f.ICoreService),d(5,u.IRenderService)],v)},9806:(a,o)=>{function l(c,d,u){const f=u.getBoundingClientRect(),g=c.getComputedStyle(u),v=parseInt(g.getPropertyValue("padding-left")),b=parseInt(g.getPropertyValue("padding-top"));return[d.clientX-f.left-v,d.clientY-f.top-b]}Object.defineProperty(o,"__esModule",{value:!0}),o.getCoords=o.getCoordsRelativeToElement=void 0,o.getCoordsRelativeToElement=l,o.getCoords=function(c,d,u,f,g,v,b,m,O){if(!v)return;const p=l(c,d,u);return p?(p[0]=Math.ceil((p[0]+(O?b/2:0))/b),p[1]=Math.ceil(p[1]/m),p[0]=Math.min(Math.max(p[0],1),f+(O?1:0)),p[1]=Math.min(Math.max(p[1],1),g),p):void 0}},9504:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.moveToCellSequence=void 0;const c=l(2584);function d(m,O,p,x){const y=m-u(m,p),_=O-u(O,p),k=Math.abs(y-_)-(function(w,S,Q){let N=0;const L=w-u(w,Q),$=S-u(S,Q);for(let j=0;j<Math.abs(L-$);j++){const I=f(w,S)==="A"?-1:1;Q.buffer.lines.get(L+I*j)?.isWrapped&&N++}return N})(m,O,p);return b(k,v(f(m,O),x))}function u(m,O){let p=0,x=O.buffer.lines.get(m),y=x?.isWrapped;for(;y&&m>=0&&m<O.rows;)p++,x=O.buffer.lines.get(--m),y=x?.isWrapped;return p}function f(m,O){return m>O?"A":"B"}function g(m,O,p,x,y,_){let k=m,w=O,S="";for(;k!==p||w!==x;)k+=y?1:-1,y&&k>_.cols-1?(S+=_.buffer.translateBufferLineToString(w,!1,m,k),k=0,m=0,w++):!y&&k<0&&(S+=_.buffer.translateBufferLineToString(w,!1,0,m+1),k=_.cols-1,m=k,w--);return S+_.buffer.translateBufferLineToString(w,!1,m,k)}function v(m,O){const p=O?"O":"[";return c.C0.ESC+p+m}function b(m,O){m=Math.floor(m);let p="";for(let x=0;x<m;x++)p+=O;return p}o.moveToCellSequence=function(m,O,p,x){const y=p.buffer.x,_=p.buffer.y;if(!p.buffer.hasScrollback)return(function(S,Q,N,L,$,j){return d(Q,L,$,j).length===0?"":b(g(S,Q,S,Q-u(Q,$),!1,$).length,v("D",j))})(y,_,0,O,p,x)+d(_,O,p,x)+(function(S,Q,N,L,$,j){let I;I=d(Q,L,$,j).length>0?L-u(L,$):Q;const V=L,Z=(function(z,J,T,A,B,q){let H;return H=d(T,A,B,q).length>0?A-u(A,B):J,z<T&&H<=A||z>=T&&H<A?"C":"D"})(S,Q,N,L,$,j);return b(g(S,I,N,V,Z==="C",$).length,v(Z,j))})(y,_,m,O,p,x);let k;if(_===O)return k=y>m?"D":"C",b(Math.abs(y-m),v(k,x));k=_>O?"D":"C";const w=Math.abs(_-O);return b((function(S,Q){return Q.cols-S})(_>O?m:y,p)+(w-1)*p.cols+1+((_>O?y:m)-1),v(k,x))}},1296:function(a,o,l){var c=this&&this.__decorate||function(j,I,V,Z){var z,J=arguments.length,T=J<3?I:Z===null?Z=Object.getOwnPropertyDescriptor(I,V):Z;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(j,I,V,Z);else for(var A=j.length-1;A>=0;A--)(z=j[A])&&(T=(J<3?z(T):J>3?z(I,V,T):z(I,V))||T);return J>3&&T&&Object.defineProperty(I,V,T),T},d=this&&this.__param||function(j,I){return function(V,Z){I(V,Z,j)}};Object.defineProperty(o,"__esModule",{value:!0}),o.DomRenderer=void 0;const u=l(3787),f=l(2550),g=l(2223),v=l(6171),b=l(6052),m=l(4725),O=l(8055),p=l(8460),x=l(844),y=l(2585),_="xterm-dom-renderer-owner-",k="xterm-rows",w="xterm-fg-",S="xterm-bg-",Q="xterm-focus",N="xterm-selection";let L=1,$=o.DomRenderer=class extends x.Disposable{constructor(j,I,V,Z,z,J,T,A,B,q,H,te,ue){super(),this._terminal=j,this._document=I,this._element=V,this._screenElement=Z,this._viewportElement=z,this._helperContainer=J,this._linkifier2=T,this._charSizeService=B,this._optionsService=q,this._bufferService=H,this._coreBrowserService=te,this._themeService=ue,this._terminalClass=L++,this._rowElements=[],this._selectionRenderModel=(0,b.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new p.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(k),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(N),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,v.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((ke=>this._injectCss(ke)))),this._injectCss(this._themeService.colors),this._rowFactory=A.createInstance(u.DomRendererRowFactory,document),this._element.classList.add(_+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((ke=>this._handleLinkHover(ke)))),this.register(this._linkifier2.onHideLinkUnderline((ke=>this._handleLinkLeave(ke)))),this.register((0,x.toDisposable)((()=>{this._element.classList.remove(_+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new f.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const j=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*j,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*j),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/j),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/j),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const V of this._rowElements)V.style.width=`${this.dimensions.css.canvas.width}px`,V.style.height=`${this.dimensions.css.cell.height}px`,V.style.lineHeight=`${this.dimensions.css.cell.height}px`,V.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const I=`${this._terminalSelector} .${k} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=I,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(j){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let I=`${this._terminalSelector} .${k} { color: ${j.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;I+=`${this._terminalSelector} .${k} .xterm-dim { color: ${O.color.multiplyOpacity(j.foreground,.5).css};}`,I+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const V=`blink_underline_${this._terminalClass}`,Z=`blink_bar_${this._terminalClass}`,z=`blink_block_${this._terminalClass}`;I+=`@keyframes ${V} { 50% { border-bottom-style: hidden; }}`,I+=`@keyframes ${Z} { 50% { box-shadow: none; }}`,I+=`@keyframes ${z} { 0% { background-color: ${j.cursor.css}; color: ${j.cursorAccent.css}; } 50% { background-color: inherit; color: ${j.cursor.css}; }}`,I+=`${this._terminalSelector} .${k}.${Q} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${V} 1s step-end infinite;}${this._terminalSelector} .${k}.${Q} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${Z} 1s step-end infinite;}${this._terminalSelector} .${k}.${Q} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${z} 1s step-end infinite;}${this._terminalSelector} .${k} .xterm-cursor.xterm-cursor-block { background-color: ${j.cursor.css}; color: ${j.cursorAccent.css};}${this._terminalSelector} .${k} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${j.cursor.css} !important; color: ${j.cursorAccent.css} !important;}${this._terminalSelector} .${k} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${j.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${k} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${j.cursor.css} inset;}${this._terminalSelector} .${k} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${j.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,I+=`${this._terminalSelector} .${N} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${N} div { position: absolute; background-color: ${j.selectionBackgroundOpaque.css};}${this._terminalSelector} .${N} div { position: absolute; background-color: ${j.selectionInactiveBackgroundOpaque.css};}`;for(const[J,T]of j.ansi.entries())I+=`${this._terminalSelector} .${w}${J} { color: ${T.css}; }${this._terminalSelector} .${w}${J}.xterm-dim { color: ${O.color.multiplyOpacity(T,.5).css}; }${this._terminalSelector} .${S}${J} { background-color: ${T.css}; }`;I+=`${this._terminalSelector} .${w}${g.INVERTED_DEFAULT_COLOR} { color: ${O.color.opaque(j.background).css}; }${this._terminalSelector} .${w}${g.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${O.color.multiplyOpacity(O.color.opaque(j.background),.5).css}; }${this._terminalSelector} .${S}${g.INVERTED_DEFAULT_COLOR} { background-color: ${j.foreground.css}; }`,this._themeStyleElement.textContent=I}_setDefaultSpacing(){const j=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${j}px`,this._rowFactory.defaultSpacing=j}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(j,I){for(let V=this._rowElements.length;V<=I;V++){const Z=this._document.createElement("div");this._rowContainer.appendChild(Z),this._rowElements.push(Z)}for(;this._rowElements.length>I;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(j,I){this._refreshRowElements(j,I),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(Q),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(Q),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(j,I,V){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(j,I,V),this.renderRows(0,this._bufferService.rows-1),!j||!I)return;this._selectionRenderModel.update(this._terminal,j,I,V);const Z=this._selectionRenderModel.viewportStartRow,z=this._selectionRenderModel.viewportEndRow,J=this._selectionRenderModel.viewportCappedStartRow,T=this._selectionRenderModel.viewportCappedEndRow;if(J>=this._bufferService.rows||T<0)return;const A=this._document.createDocumentFragment();if(V){const B=j[0]>I[0];A.appendChild(this._createSelectionElement(J,B?I[0]:j[0],B?j[0]:I[0],T-J+1))}else{const B=Z===J?j[0]:0,q=J===z?I[0]:this._bufferService.cols;A.appendChild(this._createSelectionElement(J,B,q));const H=T-J-1;if(A.appendChild(this._createSelectionElement(J+1,0,this._bufferService.cols,H)),J!==T){const te=z===T?I[0]:this._bufferService.cols;A.appendChild(this._createSelectionElement(T,0,te))}}this._selectionContainer.appendChild(A)}_createSelectionElement(j,I,V,Z=1){const z=this._document.createElement("div"),J=I*this.dimensions.css.cell.width;let T=this.dimensions.css.cell.width*(V-I);return J+T>this.dimensions.css.canvas.width&&(T=this.dimensions.css.canvas.width-J),z.style.height=Z*this.dimensions.css.cell.height+"px",z.style.top=j*this.dimensions.css.cell.height+"px",z.style.left=`${J}px`,z.style.width=`${T}px`,z}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const j of this._rowElements)j.replaceChildren()}renderRows(j,I){const V=this._bufferService.buffer,Z=V.ybase+V.y,z=Math.min(V.x,this._bufferService.cols-1),J=this._optionsService.rawOptions.cursorBlink,T=this._optionsService.rawOptions.cursorStyle,A=this._optionsService.rawOptions.cursorInactiveStyle;for(let B=j;B<=I;B++){const q=B+V.ydisp,H=this._rowElements[B],te=V.lines.get(q);if(!H||!te)break;H.replaceChildren(...this._rowFactory.createRow(te,q,q===Z,T,A,z,J,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${_}${this._terminalClass}`}_handleLinkHover(j){this._setCellUnderline(j.x1,j.x2,j.y1,j.y2,j.cols,!0)}_handleLinkLeave(j){this._setCellUnderline(j.x1,j.x2,j.y1,j.y2,j.cols,!1)}_setCellUnderline(j,I,V,Z,z,J){V<0&&(j=0),Z<0&&(I=0);const T=this._bufferService.rows-1;V=Math.max(Math.min(V,T),0),Z=Math.max(Math.min(Z,T),0),z=Math.min(z,this._bufferService.cols);const A=this._bufferService.buffer,B=A.ybase+A.y,q=Math.min(A.x,z-1),H=this._optionsService.rawOptions.cursorBlink,te=this._optionsService.rawOptions.cursorStyle,ue=this._optionsService.rawOptions.cursorInactiveStyle;for(let ke=V;ke<=Z;++ke){const U=ke+A.ydisp,D=this._rowElements[ke],se=A.lines.get(U);if(!D||!se)break;D.replaceChildren(...this._rowFactory.createRow(se,U,U===B,te,ue,q,H,this.dimensions.css.cell.width,this._widthCache,J?ke===V?j:0:-1,J?(ke===Z?I:z)-1:-1))}}};o.DomRenderer=$=c([d(7,y.IInstantiationService),d(8,m.ICharSizeService),d(9,y.IOptionsService),d(10,y.IBufferService),d(11,m.ICoreBrowserService),d(12,m.IThemeService)],$)},3787:function(a,o,l){var c=this&&this.__decorate||function(k,w,S,Q){var N,L=arguments.length,$=L<3?w:Q===null?Q=Object.getOwnPropertyDescriptor(w,S):Q;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$=Reflect.decorate(k,w,S,Q);else for(var j=k.length-1;j>=0;j--)(N=k[j])&&($=(L<3?N($):L>3?N(w,S,$):N(w,S))||$);return L>3&&$&&Object.defineProperty(w,S,$),$},d=this&&this.__param||function(k,w){return function(S,Q){w(S,Q,k)}};Object.defineProperty(o,"__esModule",{value:!0}),o.DomRendererRowFactory=void 0;const u=l(2223),f=l(643),g=l(511),v=l(2585),b=l(8055),m=l(4725),O=l(4269),p=l(6171),x=l(3734);let y=o.DomRendererRowFactory=class{constructor(k,w,S,Q,N,L,$){this._document=k,this._characterJoinerService=w,this._optionsService=S,this._coreBrowserService=Q,this._coreService=N,this._decorationService=L,this._themeService=$,this._workCell=new g.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(k,w,S){this._selectionStart=k,this._selectionEnd=w,this._columnSelectMode=S}createRow(k,w,S,Q,N,L,$,j,I,V,Z){const z=[],J=this._characterJoinerService.getJoinedCharacters(w),T=this._themeService.colors;let A,B=k.getNoBgTrimmedLength();S&&B<L+1&&(B=L+1);let q=0,H="",te=0,ue=0,ke=0,U=!1,D=0,se=!1,F=0;const G=[],ee=V!==-1&&Z!==-1;for(let we=0;we<B;we++){k.loadCell(we,this._workCell);let Ae=this._workCell.getWidth();if(Ae===0)continue;let xe=!1,me=we,ge=this._workCell;if(J.length>0&&we===J[0][0]){xe=!0;const ot=J.shift();ge=new O.JoinedCellData(this._workCell,k.translateToString(!0,ot[0],ot[1]),ot[1]-ot[0]),me=ot[1]-1,Ae=ge.getWidth()}const He=this._isCellInSelection(we,w),nt=S&&we===L,Ct=ee&&we>=V&&we<=Z;let pt=!1;this._decorationService.forEachDecorationAtCell(we,w,void 0,(ot=>{pt=!0}));let Xt=ge.getChars()||f.WHITESPACE_CELL_CHAR;if(Xt===" "&&(ge.isUnderline()||ge.isOverline())&&(Xt=" "),F=Ae*j-I.get(Xt,ge.isBold(),ge.isItalic()),A){if(q&&(He&&se||!He&&!se&&ge.bg===te)&&(He&&se&&T.selectionForeground||ge.fg===ue)&&ge.extended.ext===ke&&Ct===U&&F===D&&!nt&&!xe&&!pt){ge.isInvisible()?H+=f.WHITESPACE_CELL_CHAR:H+=Xt,q++;continue}q&&(A.textContent=H),A=this._document.createElement("span"),q=0,H=""}else A=this._document.createElement("span");if(te=ge.bg,ue=ge.fg,ke=ge.extended.ext,U=Ct,D=F,se=He,xe&&L>=we&&L<=me&&(L=we),!this._coreService.isCursorHidden&&nt&&this._coreService.isCursorInitialized){if(G.push("xterm-cursor"),this._coreBrowserService.isFocused)$&&G.push("xterm-cursor-blink"),G.push(Q==="bar"?"xterm-cursor-bar":Q==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(N)switch(N){case"outline":G.push("xterm-cursor-outline");break;case"block":G.push("xterm-cursor-block");break;case"bar":G.push("xterm-cursor-bar");break;case"underline":G.push("xterm-cursor-underline")}}if(ge.isBold()&&G.push("xterm-bold"),ge.isItalic()&&G.push("xterm-italic"),ge.isDim()&&G.push("xterm-dim"),H=ge.isInvisible()?f.WHITESPACE_CELL_CHAR:ge.getChars()||f.WHITESPACE_CELL_CHAR,ge.isUnderline()&&(G.push(`xterm-underline-${ge.extended.underlineStyle}`),H===" "&&(H=" "),!ge.isUnderlineColorDefault()))if(ge.isUnderlineColorRGB())A.style.textDecorationColor=`rgb(${x.AttributeData.toColorRGB(ge.getUnderlineColor()).join(",")})`;else{let ot=ge.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&ge.isBold()&&ot<8&&(ot+=8),A.style.textDecorationColor=T.ansi[ot].css}ge.isOverline()&&(G.push("xterm-overline"),H===" "&&(H=" ")),ge.isStrikethrough()&&G.push("xterm-strikethrough"),Ct&&(A.style.textDecoration="underline");let wt=ge.getFgColor(),Et=ge.getFgColorMode(),Pt=ge.getBgColor(),he=ge.getBgColorMode();const Xe=!!ge.isInverse();if(Xe){const ot=wt;wt=Pt,Pt=ot;const ir=Et;Et=he,he=ir}let Oe,Ke,Ne,bt=!1;switch(this._decorationService.forEachDecorationAtCell(we,w,void 0,(ot=>{ot.options.layer!=="top"&&bt||(ot.backgroundColorRGB&&(he=50331648,Pt=ot.backgroundColorRGB.rgba>>8&16777215,Oe=ot.backgroundColorRGB),ot.foregroundColorRGB&&(Et=50331648,wt=ot.foregroundColorRGB.rgba>>8&16777215,Ke=ot.foregroundColorRGB),bt=ot.options.layer==="top")})),!bt&&He&&(Oe=this._coreBrowserService.isFocused?T.selectionBackgroundOpaque:T.selectionInactiveBackgroundOpaque,Pt=Oe.rgba>>8&16777215,he=50331648,bt=!0,T.selectionForeground&&(Et=50331648,wt=T.selectionForeground.rgba>>8&16777215,Ke=T.selectionForeground)),bt&&G.push("xterm-decoration-top"),he){case 16777216:case 33554432:Ne=T.ansi[Pt],G.push(`xterm-bg-${Pt}`);break;case 50331648:Ne=b.channels.toColor(Pt>>16,Pt>>8&255,255&Pt),this._addStyle(A,`background-color:#${_((Pt>>>0).toString(16),"0",6)}`);break;default:Xe?(Ne=T.foreground,G.push(`xterm-bg-${u.INVERTED_DEFAULT_COLOR}`)):Ne=T.background}switch(Oe||ge.isDim()&&(Oe=b.color.multiplyOpacity(Ne,.5)),Et){case 16777216:case 33554432:ge.isBold()&&wt<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(wt+=8),this._applyMinimumContrast(A,Ne,T.ansi[wt],ge,Oe,void 0)||G.push(`xterm-fg-${wt}`);break;case 50331648:const ot=b.channels.toColor(wt>>16&255,wt>>8&255,255&wt);this._applyMinimumContrast(A,Ne,ot,ge,Oe,Ke)||this._addStyle(A,`color:#${_(wt.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(A,Ne,T.foreground,ge,Oe,Ke)||Xe&&G.push(`xterm-fg-${u.INVERTED_DEFAULT_COLOR}`)}G.length&&(A.className=G.join(" "),G.length=0),nt||xe||pt?A.textContent=H:q++,F!==this.defaultSpacing&&(A.style.letterSpacing=`${F}px`),z.push(A),we=me}return A&&q&&(A.textContent=H),z}_applyMinimumContrast(k,w,S,Q,N,L){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,p.treatGlyphAsBackgroundColor)(Q.getCode()))return!1;const $=this._getContrastCache(Q);let j;if(N||L||(j=$.getColor(w.rgba,S.rgba)),j===void 0){const I=this._optionsService.rawOptions.minimumContrastRatio/(Q.isDim()?2:1);j=b.color.ensureContrastRatio(N||w,L||S,I),$.setColor((N||w).rgba,(L||S).rgba,j??null)}return!!j&&(this._addStyle(k,`color:${j.css}`),!0)}_getContrastCache(k){return k.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(k,w){k.setAttribute("style",`${k.getAttribute("style")||""}${w};`)}_isCellInSelection(k,w){const S=this._selectionStart,Q=this._selectionEnd;return!(!S||!Q)&&(this._columnSelectMode?S[0]<=Q[0]?k>=S[0]&&w>=S[1]&&k<Q[0]&&w<=Q[1]:k<S[0]&&w>=S[1]&&k>=Q[0]&&w<=Q[1]:w>S[1]&&w<Q[1]||S[1]===Q[1]&&w===S[1]&&k>=S[0]&&k<Q[0]||S[1]<Q[1]&&w===Q[1]&&k<Q[0]||S[1]<Q[1]&&w===S[1]&&k>=S[0])}};function _(k,w,S){for(;k.length<S;)k=w+k;return k}o.DomRendererRowFactory=y=c([d(1,m.ICharacterJoinerService),d(2,v.IOptionsService),d(3,m.ICoreBrowserService),d(4,v.ICoreService),d(5,v.IDecorationService),d(6,m.IThemeService)],y)},2550:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.WidthCache=void 0,o.WidthCache=class{constructor(l,c){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=l.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";const d=l.createElement("span");d.classList.add("xterm-char-measure-element");const u=l.createElement("span");u.classList.add("xterm-char-measure-element"),u.style.fontWeight="bold";const f=l.createElement("span");f.classList.add("xterm-char-measure-element"),f.style.fontStyle="italic";const g=l.createElement("span");g.classList.add("xterm-char-measure-element"),g.style.fontWeight="bold",g.style.fontStyle="italic",this._measureElements=[d,u,f,g],this._container.appendChild(d),this._container.appendChild(u),this._container.appendChild(f),this._container.appendChild(g),c.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(l,c,d,u){l===this._font&&c===this._fontSize&&d===this._weight&&u===this._weightBold||(this._font=l,this._fontSize=c,this._weight=d,this._weightBold=u,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${d}`,this._measureElements[1].style.fontWeight=`${u}`,this._measureElements[2].style.fontWeight=`${d}`,this._measureElements[3].style.fontWeight=`${u}`,this.clear())}get(l,c,d){let u=0;if(!c&&!d&&l.length===1&&(u=l.charCodeAt(0))<256){if(this._flat[u]!==-9999)return this._flat[u];const v=this._measure(l,0);return v>0&&(this._flat[u]=v),v}let f=l;c&&(f+="B"),d&&(f+="I");let g=this._holey.get(f);if(g===void 0){let v=0;c&&(v|=1),d&&(v|=2),g=this._measure(l,v),g>0&&this._holey.set(f,g)}return g}_measure(l,c){const d=this._measureElements[c];return d.textContent=l.repeat(32),d.offsetWidth/32}}},2223:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.TEXT_BASELINE=o.DIM_OPACITY=o.INVERTED_DEFAULT_COLOR=void 0;const c=l(6114);o.INVERTED_DEFAULT_COLOR=257,o.DIM_OPACITY=.5,o.TEXT_BASELINE=c.isFirefox||c.isLegacyEdge?"bottom":"ideographic"},6171:(a,o)=>{function l(d){return 57508<=d&&d<=57558}function c(d){return d>=128512&&d<=128591||d>=127744&&d<=128511||d>=128640&&d<=128767||d>=9728&&d<=9983||d>=9984&&d<=10175||d>=65024&&d<=65039||d>=129280&&d<=129535||d>=127462&&d<=127487}Object.defineProperty(o,"__esModule",{value:!0}),o.computeNextVariantOffset=o.createRenderDimensions=o.treatGlyphAsBackgroundColor=o.allowRescaling=o.isEmoji=o.isRestrictedPowerlineGlyph=o.isPowerlineGlyph=o.throwIfFalsy=void 0,o.throwIfFalsy=function(d){if(!d)throw new Error("value must not be falsy");return d},o.isPowerlineGlyph=l,o.isRestrictedPowerlineGlyph=function(d){return 57520<=d&&d<=57527},o.isEmoji=c,o.allowRescaling=function(d,u,f,g){return u===1&&f>Math.ceil(1.5*g)&&d!==void 0&&d>255&&!c(d)&&!l(d)&&!(function(v){return 57344<=v&&v<=63743})(d)},o.treatGlyphAsBackgroundColor=function(d){return l(d)||(function(u){return 9472<=u&&u<=9631})(d)},o.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},o.computeNextVariantOffset=function(d,u,f=0){return(d-(2*Math.round(u)-f))%(2*Math.round(u))}},6052:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.createSelectionRenderModel=void 0;class l{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(d,u,f,g=!1){if(this.selectionStart=u,this.selectionEnd=f,!u||!f||u[0]===f[0]&&u[1]===f[1])return void this.clear();const v=d.buffers.active.ydisp,b=u[1]-v,m=f[1]-v,O=Math.max(b,0),p=Math.min(m,d.rows-1);O>=d.rows||p<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=g,this.viewportStartRow=b,this.viewportEndRow=m,this.viewportCappedStartRow=O,this.viewportCappedEndRow=p,this.startCol=u[0],this.endCol=f[0])}isCellSelected(d,u,f){return!!this.hasSelection&&(f-=d.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?u>=this.startCol&&f>=this.viewportCappedStartRow&&u<this.endCol&&f<=this.viewportCappedEndRow:u<this.startCol&&f>=this.viewportCappedStartRow&&u>=this.endCol&&f<=this.viewportCappedEndRow:f>this.viewportStartRow&&f<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&f===this.viewportStartRow&&u>=this.startCol&&u<this.endCol||this.viewportStartRow<this.viewportEndRow&&f===this.viewportEndRow&&u<this.endCol||this.viewportStartRow<this.viewportEndRow&&f===this.viewportStartRow&&u>=this.startCol)}}o.createSelectionRenderModel=function(){return new l}},456:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.SelectionModel=void 0,o.SelectionModel=class{constructor(l){this._bufferService=l,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const l=this.selectionStart[0]+this.selectionStartLength;return l>this._bufferService.cols?l%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(l/this._bufferService.cols)-1]:[l%this._bufferService.cols,this.selectionStart[1]+Math.floor(l/this._bufferService.cols)]:[l,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const l=this.selectionStart[0]+this.selectionStartLength;return l>this._bufferService.cols?[l%this._bufferService.cols,this.selectionStart[1]+Math.floor(l/this._bufferService.cols)]:[Math.max(l,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const l=this.selectionStart,c=this.selectionEnd;return!(!l||!c)&&(l[1]>c[1]||l[1]===c[1]&&l[0]>c[0])}handleTrim(l){return this.selectionStart&&(this.selectionStart[1]-=l),this.selectionEnd&&(this.selectionEnd[1]-=l),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(a,o,l){var c=this&&this.__decorate||function(p,x,y,_){var k,w=arguments.length,S=w<3?x:_===null?_=Object.getOwnPropertyDescriptor(x,y):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(p,x,y,_);else for(var Q=p.length-1;Q>=0;Q--)(k=p[Q])&&(S=(w<3?k(S):w>3?k(x,y,S):k(x,y))||S);return w>3&&S&&Object.defineProperty(x,y,S),S},d=this&&this.__param||function(p,x){return function(y,_){x(y,_,p)}};Object.defineProperty(o,"__esModule",{value:!0}),o.CharSizeService=void 0;const u=l(2585),f=l(8460),g=l(844);let v=o.CharSizeService=class extends g.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(p,x,y){super(),this._optionsService=y,this.width=0,this.height=0,this._onCharSizeChange=this.register(new f.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new O(this._optionsService))}catch{this._measureStrategy=this.register(new m(p,x,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],(()=>this.measure())))}measure(){const p=this._measureStrategy.measure();p.width===this.width&&p.height===this.height||(this.width=p.width,this.height=p.height,this._onCharSizeChange.fire())}};o.CharSizeService=v=c([d(2,u.IOptionsService)],v);class b extends g.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(x,y){x!==void 0&&x>0&&y!==void 0&&y>0&&(this._result.width=x,this._result.height=y)}}class m extends b{constructor(x,y,_){super(),this._document=x,this._parentElement=y,this._optionsService=_,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class O extends b{constructor(x){super(),this._optionsService=x,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const y=this._ctx.measureText("W");if(!("width"in y&&"fontBoundingBoxAscent"in y&&"fontBoundingBoxDescent"in y))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const x=this._ctx.measureText("W");return this._validateAndSet(x.width,x.fontBoundingBoxAscent+x.fontBoundingBoxDescent),this._result}}},4269:function(a,o,l){var c=this&&this.__decorate||function(O,p,x,y){var _,k=arguments.length,w=k<3?p:y===null?y=Object.getOwnPropertyDescriptor(p,x):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(O,p,x,y);else for(var S=O.length-1;S>=0;S--)(_=O[S])&&(w=(k<3?_(w):k>3?_(p,x,w):_(p,x))||w);return k>3&&w&&Object.defineProperty(p,x,w),w},d=this&&this.__param||function(O,p){return function(x,y){p(x,y,O)}};Object.defineProperty(o,"__esModule",{value:!0}),o.CharacterJoinerService=o.JoinedCellData=void 0;const u=l(3734),f=l(643),g=l(511),v=l(2585);class b extends u.AttributeData{constructor(p,x,y){super(),this.content=0,this.combinedData="",this.fg=p.fg,this.bg=p.bg,this.combinedData=x,this._width=y}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(p){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}o.JoinedCellData=b;let m=o.CharacterJoinerService=class aS{constructor(p){this._bufferService=p,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new g.CellData}register(p){const x={id:this._nextCharacterJoinerId++,handler:p};return this._characterJoiners.push(x),x.id}deregister(p){for(let x=0;x<this._characterJoiners.length;x++)if(this._characterJoiners[x].id===p)return this._characterJoiners.splice(x,1),!0;return!1}getJoinedCharacters(p){if(this._characterJoiners.length===0)return[];const x=this._bufferService.buffer.lines.get(p);if(!x||x.length===0)return[];const y=[],_=x.translateToString(!0);let k=0,w=0,S=0,Q=x.getFg(0),N=x.getBg(0);for(let L=0;L<x.getTrimmedLength();L++)if(x.loadCell(L,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==Q||this._workCell.bg!==N){if(L-k>1){const $=this._getJoinedRanges(_,S,w,x,k);for(let j=0;j<$.length;j++)y.push($[j])}k=L,S=w,Q=this._workCell.fg,N=this._workCell.bg}w+=this._workCell.getChars().length||f.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-k>1){const L=this._getJoinedRanges(_,S,w,x,k);for(let $=0;$<L.length;$++)y.push(L[$])}return y}_getJoinedRanges(p,x,y,_,k){const w=p.substring(x,y);let S=[];try{S=this._characterJoiners[0].handler(w)}catch(Q){console.error(Q)}for(let Q=1;Q<this._characterJoiners.length;Q++)try{const N=this._characterJoiners[Q].handler(w);for(let L=0;L<N.length;L++)aS._mergeRanges(S,N[L])}catch(N){console.error(N)}return this._stringRangesToCellRanges(S,_,k),S}_stringRangesToCellRanges(p,x,y){let _=0,k=!1,w=0,S=p[_];if(S){for(let Q=y;Q<this._bufferService.cols;Q++){const N=x.getWidth(Q),L=x.getString(Q).length||f.WHITESPACE_CELL_CHAR.length;if(N!==0){if(!k&&S[0]<=w&&(S[0]=Q,k=!0),S[1]<=w){if(S[1]=Q,S=p[++_],!S)break;S[0]<=w?(S[0]=Q,k=!0):k=!1}w+=L}}S&&(S[1]=this._bufferService.cols)}}static _mergeRanges(p,x){let y=!1;for(let _=0;_<p.length;_++){const k=p[_];if(y){if(x[1]<=k[0])return p[_-1][1]=x[1],p;if(x[1]<=k[1])return p[_-1][1]=Math.max(x[1],k[1]),p.splice(_,1),p;p.splice(_,1),_--}else{if(x[1]<=k[0])return p.splice(_,0,x),p;if(x[1]<=k[1])return k[0]=Math.min(x[0],k[0]),p;x[0]<k[1]&&(k[0]=Math.min(x[0],k[0]),y=!0)}}return y?p[p.length-1][1]=x[1]:p.push(x),p}};o.CharacterJoinerService=m=c([d(0,v.IBufferService)],m)},5114:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CoreBrowserService=void 0;const c=l(844),d=l(8460),u=l(3656);class f extends c.Disposable{constructor(b,m,O){super(),this._textarea=b,this._window=m,this.mainDocument=O,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new g(this._window),this._onDprChange=this.register(new d.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new d.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange((p=>this._screenDprMonitor.setWindow(p)))),this.register((0,d.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",(()=>this._isFocused=!0)),this._textarea.addEventListener("blur",(()=>this._isFocused=!1))}get window(){return this._window}set window(b){this._window!==b&&(this._window=b,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}o.CoreBrowserService=f;class g extends c.Disposable{constructor(b){super(),this._parentWindow=b,this._windowResizeListener=this.register(new c.MutableDisposable),this._onDprChange=this.register(new d.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,c.toDisposable)((()=>this.clearListener())))}setWindow(b){this._parentWindow=b,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,u.addDisposableDomListener)(this._parentWindow,"resize",(()=>this._setDprAndFireIfDiffers()))}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.LinkProviderService=void 0;const c=l(844);class d extends c.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,c.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(f){return this.linkProviders.push(f),{dispose:()=>{const g=this.linkProviders.indexOf(f);g!==-1&&this.linkProviders.splice(g,1)}}}}o.LinkProviderService=d},8934:function(a,o,l){var c=this&&this.__decorate||function(v,b,m,O){var p,x=arguments.length,y=x<3?b:O===null?O=Object.getOwnPropertyDescriptor(b,m):O;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")y=Reflect.decorate(v,b,m,O);else for(var _=v.length-1;_>=0;_--)(p=v[_])&&(y=(x<3?p(y):x>3?p(b,m,y):p(b,m))||y);return x>3&&y&&Object.defineProperty(b,m,y),y},d=this&&this.__param||function(v,b){return function(m,O){b(m,O,v)}};Object.defineProperty(o,"__esModule",{value:!0}),o.MouseService=void 0;const u=l(4725),f=l(9806);let g=o.MouseService=class{constructor(v,b){this._renderService=v,this._charSizeService=b}getCoords(v,b,m,O,p){return(0,f.getCoords)(window,v,b,m,O,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,p)}getMouseReportCoords(v,b){const m=(0,f.getCoordsRelativeToElement)(window,v,b);if(this._charSizeService.hasValidSize)return m[0]=Math.min(Math.max(m[0],0),this._renderService.dimensions.css.canvas.width-1),m[1]=Math.min(Math.max(m[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(m[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(m[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(m[0]),y:Math.floor(m[1])}}};o.MouseService=g=c([d(0,u.IRenderService),d(1,u.ICharSizeService)],g)},3230:function(a,o,l){var c=this&&this.__decorate||function(p,x,y,_){var k,w=arguments.length,S=w<3?x:_===null?_=Object.getOwnPropertyDescriptor(x,y):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(p,x,y,_);else for(var Q=p.length-1;Q>=0;Q--)(k=p[Q])&&(S=(w<3?k(S):w>3?k(x,y,S):k(x,y))||S);return w>3&&S&&Object.defineProperty(x,y,S),S},d=this&&this.__param||function(p,x){return function(y,_){x(y,_,p)}};Object.defineProperty(o,"__esModule",{value:!0}),o.RenderService=void 0;const u=l(6193),f=l(4725),g=l(8460),v=l(844),b=l(7226),m=l(2585);let O=o.RenderService=class extends v.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(p,x,y,_,k,w,S,Q){super(),this._rowCount=p,this._charSizeService=_,this._renderer=this.register(new v.MutableDisposable),this._pausedResizeTask=new b.DebouncedIdleTask,this._observerDisposable=this.register(new v.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new g.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new g.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new g.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new g.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new u.RenderDebouncer(((N,L)=>this._renderRows(N,L)),S),this.register(this._renderDebouncer),this.register(S.onDprChange((()=>this.handleDevicePixelRatioChange()))),this.register(w.onResize((()=>this._fullRefresh()))),this.register(w.buffers.onBufferActivate((()=>this._renderer.value?.clear()))),this.register(y.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(k.onDecorationRegistered((()=>this._fullRefresh()))),this.register(k.onDecorationRemoved((()=>this._fullRefresh()))),this.register(y.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],(()=>{this.clear(),this.handleResize(w.cols,w.rows),this._fullRefresh()}))),this.register(y.onMultipleOptionChange(["cursorBlink","cursorStyle"],(()=>this.refreshRows(w.buffer.y,w.buffer.y,!0)))),this.register(Q.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(S.window,x),this.register(S.onWindowChange((N=>this._registerIntersectionObserver(N,x))))}_registerIntersectionObserver(p,x){if("IntersectionObserver"in p){const y=new p.IntersectionObserver((_=>this._handleIntersectionChange(_[_.length-1])),{threshold:0});y.observe(x),this._observerDisposable.value=(0,v.toDisposable)((()=>y.disconnect()))}}_handleIntersectionChange(p){this._isPaused=p.isIntersecting===void 0?p.intersectionRatio===0:!p.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(p,x,y=!1){this._isPaused?this._needsFullRefresh=!0:(y||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(p,x,this._rowCount))}_renderRows(p,x){this._renderer.value&&(p=Math.min(p,this._rowCount-1),x=Math.min(x,this._rowCount-1),this._renderer.value.renderRows(p,x),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:p,end:x}),this._onRender.fire({start:p,end:x}),this._isNextRenderRedrawOnly=!0)}resize(p,x){this._rowCount=x,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(p){this._renderer.value=p,this._renderer.value&&(this._renderer.value.onRequestRedraw((x=>this.refreshRows(x.start,x.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(p){return this._renderDebouncer.addRefreshCallback(p)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(p,x){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value?.handleResize(p,x))):this._renderer.value.handleResize(p,x),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(p,x,y){this._selectionState.start=p,this._selectionState.end=x,this._selectionState.columnSelectMode=y,this._renderer.value?.handleSelectionChanged(p,x,y)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};o.RenderService=O=c([d(2,m.IOptionsService),d(3,f.ICharSizeService),d(4,m.IDecorationService),d(5,m.IBufferService),d(6,f.ICoreBrowserService),d(7,f.IThemeService)],O)},9312:function(a,o,l){var c=this&&this.__decorate||function(S,Q,N,L){var $,j=arguments.length,I=j<3?Q:L===null?L=Object.getOwnPropertyDescriptor(Q,N):L;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")I=Reflect.decorate(S,Q,N,L);else for(var V=S.length-1;V>=0;V--)($=S[V])&&(I=(j<3?$(I):j>3?$(Q,N,I):$(Q,N))||I);return j>3&&I&&Object.defineProperty(Q,N,I),I},d=this&&this.__param||function(S,Q){return function(N,L){Q(N,L,S)}};Object.defineProperty(o,"__esModule",{value:!0}),o.SelectionService=void 0;const u=l(9806),f=l(9504),g=l(456),v=l(4725),b=l(8460),m=l(844),O=l(6114),p=l(4841),x=l(511),y=l(2585),_=" ",k=new RegExp(_,"g");let w=o.SelectionService=class extends m.Disposable{constructor(S,Q,N,L,$,j,I,V,Z){super(),this._element=S,this._screenElement=Q,this._linkifier=N,this._bufferService=L,this._coreService=$,this._mouseService=j,this._optionsService=I,this._renderService=V,this._coreBrowserService=Z,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new x.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new b.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new b.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new b.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new b.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=z=>this._handleMouseMove(z),this._mouseUpListener=z=>this._handleMouseUp(z),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((z=>this._handleTrim(z))),this.register(this._bufferService.buffers.onBufferActivate((z=>this._handleBufferActivate(z)))),this.enable(),this._model=new g.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,m.toDisposable)((()=>{this._removeMouseDownListeners()})))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const S=this._model.finalSelectionStart,Q=this._model.finalSelectionEnd;return!(!S||!Q||S[0]===Q[0]&&S[1]===Q[1])}get selectionText(){const S=this._model.finalSelectionStart,Q=this._model.finalSelectionEnd;if(!S||!Q)return"";const N=this._bufferService.buffer,L=[];if(this._activeSelectionMode===3){if(S[0]===Q[0])return"";const $=S[0]<Q[0]?S[0]:Q[0],j=S[0]<Q[0]?Q[0]:S[0];for(let I=S[1];I<=Q[1];I++){const V=N.translateBufferLineToString(I,!0,$,j);L.push(V)}}else{const $=S[1]===Q[1]?Q[0]:void 0;L.push(N.translateBufferLineToString(S[1],!0,S[0],$));for(let j=S[1]+1;j<=Q[1]-1;j++){const I=N.lines.get(j),V=N.translateBufferLineToString(j,!0);I?.isWrapped?L[L.length-1]+=V:L.push(V)}if(S[1]!==Q[1]){const j=N.lines.get(Q[1]),I=N.translateBufferLineToString(Q[1],!0,0,Q[0]);j&&j.isWrapped?L[L.length-1]+=I:L.push(I)}}return L.map(($=>$.replace(k," "))).join(O.isWindows?`\r
45
+ `:`
46
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(S){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),O.isLinux&&S&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(S){const Q=this._getMouseBufferCoords(S),N=this._model.finalSelectionStart,L=this._model.finalSelectionEnd;return!!(N&&L&&Q)&&this._areCoordsInSelection(Q,N,L)}isCellInSelection(S,Q){const N=this._model.finalSelectionStart,L=this._model.finalSelectionEnd;return!(!N||!L)&&this._areCoordsInSelection([S,Q],N,L)}_areCoordsInSelection(S,Q,N){return S[1]>Q[1]&&S[1]<N[1]||Q[1]===N[1]&&S[1]===Q[1]&&S[0]>=Q[0]&&S[0]<N[0]||Q[1]<N[1]&&S[1]===N[1]&&S[0]<N[0]||Q[1]<N[1]&&S[1]===Q[1]&&S[0]>=Q[0]}_selectWordAtCursor(S,Q){const N=this._linkifier.currentLink?.link?.range;if(N)return this._model.selectionStart=[N.start.x-1,N.start.y-1],this._model.selectionStartLength=(0,p.getRangeLength)(N,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const L=this._getMouseBufferCoords(S);return!!L&&(this._selectWordAt(L,Q),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(S,Q){this._model.clearSelection(),S=Math.max(S,0),Q=Math.min(Q,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,S],this._model.selectionEnd=[this._bufferService.cols,Q],this.refresh(),this._onSelectionChange.fire()}_handleTrim(S){this._model.handleTrim(S)&&this.refresh()}_getMouseBufferCoords(S){const Q=this._mouseService.getCoords(S,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(Q)return Q[0]--,Q[1]--,Q[1]+=this._bufferService.buffer.ydisp,Q}_getMouseEventScrollAmount(S){let Q=(0,u.getCoordsRelativeToElement)(this._coreBrowserService.window,S,this._screenElement)[1];const N=this._renderService.dimensions.css.canvas.height;return Q>=0&&Q<=N?0:(Q>N&&(Q-=N),Q=Math.min(Math.max(Q,-50),50),Q/=50,Q/Math.abs(Q)+Math.round(14*Q))}shouldForceSelection(S){return O.isMac?S.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:S.shiftKey}handleMouseDown(S){if(this._mouseDownTimeStamp=S.timeStamp,(S.button!==2||!this.hasSelection)&&S.button===0){if(!this._enabled){if(!this.shouldForceSelection(S))return;S.stopPropagation()}S.preventDefault(),this._dragScrollAmount=0,this._enabled&&S.shiftKey?this._handleIncrementalClick(S):S.detail===1?this._handleSingleClick(S):S.detail===2?this._handleDoubleClick(S):S.detail===3&&this._handleTripleClick(S),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval((()=>this._dragScroll()),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(S){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(S))}_handleSingleClick(S){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(S)?3:0,this._model.selectionStart=this._getMouseBufferCoords(S),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const Q=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);Q&&Q.length!==this._model.selectionStart[0]&&Q.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(S){this._selectWordAtCursor(S,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(S){const Q=this._getMouseBufferCoords(S);Q&&(this._activeSelectionMode=2,this._selectLineAt(Q[1]))}shouldColumnSelect(S){return S.altKey&&!(O.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(S){if(S.stopImmediatePropagation(),!this._model.selectionStart)return;const Q=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(S),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(S),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const N=this._bufferService.buffer;if(this._model.selectionEnd[1]<N.lines.length){const L=N.lines.get(this._model.selectionEnd[1]);L&&L.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}Q&&Q[0]===this._model.selectionEnd[0]&&Q[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const S=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(S.ydisp+this._bufferService.rows,S.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=S.ydisp),this.refresh()}}_handleMouseUp(S){const Q=S.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&Q<500&&S.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const N=this._mouseService.getCoords(S,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(N&&N[0]!==void 0&&N[1]!==void 0){const L=(0,f.moveToCellSequence)(N[0]-1,N[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(L,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const S=this._model.finalSelectionStart,Q=this._model.finalSelectionEnd,N=!(!S||!Q||S[0]===Q[0]&&S[1]===Q[1]);N?S&&Q&&(this._oldSelectionStart&&this._oldSelectionEnd&&S[0]===this._oldSelectionStart[0]&&S[1]===this._oldSelectionStart[1]&&Q[0]===this._oldSelectionEnd[0]&&Q[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(S,Q,N)):this._oldHasSelection&&this._fireOnSelectionChange(S,Q,N)}_fireOnSelectionChange(S,Q,N){this._oldSelectionStart=S,this._oldSelectionEnd=Q,this._oldHasSelection=N,this._onSelectionChange.fire()}_handleBufferActivate(S){this.clearSelection(),this._trimListener.dispose(),this._trimListener=S.activeBuffer.lines.onTrim((Q=>this._handleTrim(Q)))}_convertViewportColToCharacterIndex(S,Q){let N=Q;for(let L=0;Q>=L;L++){const $=S.loadCell(L,this._workCell).getChars().length;this._workCell.getWidth()===0?N--:$>1&&Q!==L&&(N+=$-1)}return N}setSelection(S,Q,N){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[S,Q],this._model.selectionStartLength=N,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(S){this._isClickInSelection(S)||(this._selectWordAtCursor(S,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(S,Q,N=!0,L=!0){if(S[0]>=this._bufferService.cols)return;const $=this._bufferService.buffer,j=$.lines.get(S[1]);if(!j)return;const I=$.translateBufferLineToString(S[1],!1);let V=this._convertViewportColToCharacterIndex(j,S[0]),Z=V;const z=S[0]-V;let J=0,T=0,A=0,B=0;if(I.charAt(V)===" "){for(;V>0&&I.charAt(V-1)===" ";)V--;for(;Z<I.length&&I.charAt(Z+1)===" ";)Z++}else{let te=S[0],ue=S[0];j.getWidth(te)===0&&(J++,te--),j.getWidth(ue)===2&&(T++,ue++);const ke=j.getString(ue).length;for(ke>1&&(B+=ke-1,Z+=ke-1);te>0&&V>0&&!this._isCharWordSeparator(j.loadCell(te-1,this._workCell));){j.loadCell(te-1,this._workCell);const U=this._workCell.getChars().length;this._workCell.getWidth()===0?(J++,te--):U>1&&(A+=U-1,V-=U-1),V--,te--}for(;ue<j.length&&Z+1<I.length&&!this._isCharWordSeparator(j.loadCell(ue+1,this._workCell));){j.loadCell(ue+1,this._workCell);const U=this._workCell.getChars().length;this._workCell.getWidth()===2?(T++,ue++):U>1&&(B+=U-1,Z+=U-1),Z++,ue++}}Z++;let q=V+z-J+A,H=Math.min(this._bufferService.cols,Z-V+J+T-A-B);if(Q||I.slice(V,Z).trim()!==""){if(N&&q===0&&j.getCodePoint(0)!==32){const te=$.lines.get(S[1]-1);if(te&&j.isWrapped&&te.getCodePoint(this._bufferService.cols-1)!==32){const ue=this._getWordAt([this._bufferService.cols-1,S[1]-1],!1,!0,!1);if(ue){const ke=this._bufferService.cols-ue.start;q-=ke,H+=ke}}}if(L&&q+H===this._bufferService.cols&&j.getCodePoint(this._bufferService.cols-1)!==32){const te=$.lines.get(S[1]+1);if(te?.isWrapped&&te.getCodePoint(0)!==32){const ue=this._getWordAt([0,S[1]+1],!1,!1,!0);ue&&(H+=ue.length)}}return{start:q,length:H}}}_selectWordAt(S,Q){const N=this._getWordAt(S,Q);if(N){for(;N.start<0;)N.start+=this._bufferService.cols,S[1]--;this._model.selectionStart=[N.start,S[1]],this._model.selectionStartLength=N.length}}_selectToWordAt(S){const Q=this._getWordAt(S,!0);if(Q){let N=S[1];for(;Q.start<0;)Q.start+=this._bufferService.cols,N--;if(!this._model.areSelectionValuesReversed())for(;Q.start+Q.length>this._bufferService.cols;)Q.length-=this._bufferService.cols,N++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?Q.start:Q.start+Q.length,N]}}_isCharWordSeparator(S){return S.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(S.getChars())>=0}_selectLineAt(S){const Q=this._bufferService.buffer.getWrappedRangeForLine(S),N={start:{x:0,y:Q.first},end:{x:this._bufferService.cols-1,y:Q.last}};this._model.selectionStart=[0,Q.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,p.getRangeLength)(N,this._bufferService.cols)}};o.SelectionService=w=c([d(3,y.IBufferService),d(4,y.ICoreService),d(5,v.IMouseService),d(6,y.IOptionsService),d(7,v.IRenderService),d(8,v.ICoreBrowserService)],w)},4725:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ILinkProviderService=o.IThemeService=o.ICharacterJoinerService=o.ISelectionService=o.IRenderService=o.IMouseService=o.ICoreBrowserService=o.ICharSizeService=void 0;const c=l(8343);o.ICharSizeService=(0,c.createDecorator)("CharSizeService"),o.ICoreBrowserService=(0,c.createDecorator)("CoreBrowserService"),o.IMouseService=(0,c.createDecorator)("MouseService"),o.IRenderService=(0,c.createDecorator)("RenderService"),o.ISelectionService=(0,c.createDecorator)("SelectionService"),o.ICharacterJoinerService=(0,c.createDecorator)("CharacterJoinerService"),o.IThemeService=(0,c.createDecorator)("ThemeService"),o.ILinkProviderService=(0,c.createDecorator)("LinkProviderService")},6731:function(a,o,l){var c=this&&this.__decorate||function(w,S,Q,N){var L,$=arguments.length,j=$<3?S:N===null?N=Object.getOwnPropertyDescriptor(S,Q):N;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(w,S,Q,N);else for(var I=w.length-1;I>=0;I--)(L=w[I])&&(j=($<3?L(j):$>3?L(S,Q,j):L(S,Q))||j);return $>3&&j&&Object.defineProperty(S,Q,j),j},d=this&&this.__param||function(w,S){return function(Q,N){S(Q,N,w)}};Object.defineProperty(o,"__esModule",{value:!0}),o.ThemeService=o.DEFAULT_ANSI_COLORS=void 0;const u=l(7239),f=l(8055),g=l(8460),v=l(844),b=l(2585),m=f.css.toColor("#ffffff"),O=f.css.toColor("#000000"),p=f.css.toColor("#ffffff"),x=f.css.toColor("#000000"),y={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};o.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const w=[f.css.toColor("#2e3436"),f.css.toColor("#cc0000"),f.css.toColor("#4e9a06"),f.css.toColor("#c4a000"),f.css.toColor("#3465a4"),f.css.toColor("#75507b"),f.css.toColor("#06989a"),f.css.toColor("#d3d7cf"),f.css.toColor("#555753"),f.css.toColor("#ef2929"),f.css.toColor("#8ae234"),f.css.toColor("#fce94f"),f.css.toColor("#729fcf"),f.css.toColor("#ad7fa8"),f.css.toColor("#34e2e2"),f.css.toColor("#eeeeec")],S=[0,95,135,175,215,255];for(let Q=0;Q<216;Q++){const N=S[Q/36%6|0],L=S[Q/6%6|0],$=S[Q%6];w.push({css:f.channels.toCss(N,L,$),rgba:f.channels.toRgba(N,L,$)})}for(let Q=0;Q<24;Q++){const N=8+10*Q;w.push({css:f.channels.toCss(N,N,N),rgba:f.channels.toRgba(N,N,N)})}return w})());let _=o.ThemeService=class extends v.Disposable{get colors(){return this._colors}constructor(w){super(),this._optionsService=w,this._contrastCache=new u.ColorContrastCache,this._halfContrastCache=new u.ColorContrastCache,this._onChangeColors=this.register(new g.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:m,background:O,cursor:p,cursorAccent:x,selectionForeground:void 0,selectionBackgroundTransparent:y,selectionBackgroundOpaque:f.color.blend(O,y),selectionInactiveBackgroundTransparent:y,selectionInactiveBackgroundOpaque:f.color.blend(O,y),ansi:o.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",(()=>this._contrastCache.clear()))),this.register(this._optionsService.onSpecificOptionChange("theme",(()=>this._setTheme(this._optionsService.rawOptions.theme))))}_setTheme(w={}){const S=this._colors;if(S.foreground=k(w.foreground,m),S.background=k(w.background,O),S.cursor=k(w.cursor,p),S.cursorAccent=k(w.cursorAccent,x),S.selectionBackgroundTransparent=k(w.selectionBackground,y),S.selectionBackgroundOpaque=f.color.blend(S.background,S.selectionBackgroundTransparent),S.selectionInactiveBackgroundTransparent=k(w.selectionInactiveBackground,S.selectionBackgroundTransparent),S.selectionInactiveBackgroundOpaque=f.color.blend(S.background,S.selectionInactiveBackgroundTransparent),S.selectionForeground=w.selectionForeground?k(w.selectionForeground,f.NULL_COLOR):void 0,S.selectionForeground===f.NULL_COLOR&&(S.selectionForeground=void 0),f.color.isOpaque(S.selectionBackgroundTransparent)&&(S.selectionBackgroundTransparent=f.color.opacity(S.selectionBackgroundTransparent,.3)),f.color.isOpaque(S.selectionInactiveBackgroundTransparent)&&(S.selectionInactiveBackgroundTransparent=f.color.opacity(S.selectionInactiveBackgroundTransparent,.3)),S.ansi=o.DEFAULT_ANSI_COLORS.slice(),S.ansi[0]=k(w.black,o.DEFAULT_ANSI_COLORS[0]),S.ansi[1]=k(w.red,o.DEFAULT_ANSI_COLORS[1]),S.ansi[2]=k(w.green,o.DEFAULT_ANSI_COLORS[2]),S.ansi[3]=k(w.yellow,o.DEFAULT_ANSI_COLORS[3]),S.ansi[4]=k(w.blue,o.DEFAULT_ANSI_COLORS[4]),S.ansi[5]=k(w.magenta,o.DEFAULT_ANSI_COLORS[5]),S.ansi[6]=k(w.cyan,o.DEFAULT_ANSI_COLORS[6]),S.ansi[7]=k(w.white,o.DEFAULT_ANSI_COLORS[7]),S.ansi[8]=k(w.brightBlack,o.DEFAULT_ANSI_COLORS[8]),S.ansi[9]=k(w.brightRed,o.DEFAULT_ANSI_COLORS[9]),S.ansi[10]=k(w.brightGreen,o.DEFAULT_ANSI_COLORS[10]),S.ansi[11]=k(w.brightYellow,o.DEFAULT_ANSI_COLORS[11]),S.ansi[12]=k(w.brightBlue,o.DEFAULT_ANSI_COLORS[12]),S.ansi[13]=k(w.brightMagenta,o.DEFAULT_ANSI_COLORS[13]),S.ansi[14]=k(w.brightCyan,o.DEFAULT_ANSI_COLORS[14]),S.ansi[15]=k(w.brightWhite,o.DEFAULT_ANSI_COLORS[15]),w.extendedAnsi){const Q=Math.min(S.ansi.length-16,w.extendedAnsi.length);for(let N=0;N<Q;N++)S.ansi[N+16]=k(w.extendedAnsi[N],o.DEFAULT_ANSI_COLORS[N+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(w){this._restoreColor(w),this._onChangeColors.fire(this.colors)}_restoreColor(w){if(w!==void 0)switch(w){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[w]=this._restoreColors.ansi[w]}else for(let S=0;S<this._restoreColors.ansi.length;++S)this._colors.ansi[S]=this._restoreColors.ansi[S]}modifyColors(w){w(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function k(w,S){if(w!==void 0)try{return f.css.toColor(w)}catch{}return S}o.ThemeService=_=c([d(0,b.IOptionsService)],_)},6349:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CircularList=void 0;const c=l(8460),d=l(844);class u extends d.Disposable{constructor(g){super(),this._maxLength=g,this.onDeleteEmitter=this.register(new c.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new c.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new c.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(g){if(this._maxLength===g)return;const v=new Array(g);for(let b=0;b<Math.min(g,this.length);b++)v[b]=this._array[this._getCyclicIndex(b)];this._array=v,this._maxLength=g,this._startIndex=0}get length(){return this._length}set length(g){if(g>this._length)for(let v=this._length;v<g;v++)this._array[v]=void 0;this._length=g}get(g){return this._array[this._getCyclicIndex(g)]}set(g,v){this._array[this._getCyclicIndex(g)]=v}push(g){this._array[this._getCyclicIndex(this._length)]=g,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(g,v,...b){if(v){for(let m=g;m<this._length-v;m++)this._array[this._getCyclicIndex(m)]=this._array[this._getCyclicIndex(m+v)];this._length-=v,this.onDeleteEmitter.fire({index:g,amount:v})}for(let m=this._length-1;m>=g;m--)this._array[this._getCyclicIndex(m+b.length)]=this._array[this._getCyclicIndex(m)];for(let m=0;m<b.length;m++)this._array[this._getCyclicIndex(g+m)]=b[m];if(b.length&&this.onInsertEmitter.fire({index:g,amount:b.length}),this._length+b.length>this._maxLength){const m=this._length+b.length-this._maxLength;this._startIndex+=m,this._length=this._maxLength,this.onTrimEmitter.fire(m)}else this._length+=b.length}trimStart(g){g>this._length&&(g=this._length),this._startIndex+=g,this._length-=g,this.onTrimEmitter.fire(g)}shiftElements(g,v,b){if(!(v<=0)){if(g<0||g>=this._length)throw new Error("start argument out of range");if(g+b<0)throw new Error("Cannot shift elements in list beyond index 0");if(b>0){for(let O=v-1;O>=0;O--)this.set(g+O+b,this.get(g+O));const m=g+v+b-this._length;if(m>0)for(this._length+=m;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let m=0;m<v;m++)this.set(g+m+b,this.get(g+m))}}_getCyclicIndex(g){return(this._startIndex+g)%this._maxLength}}o.CircularList=u},1439:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.clone=void 0,o.clone=function l(c,d=5){if(typeof c!="object")return c;const u=Array.isArray(c)?[]:{};for(const f in c)u[f]=d<=1?c[f]:c[f]&&l(c[f],d-1);return u}},8055:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.contrastRatio=o.toPaddedHex=o.rgba=o.rgb=o.css=o.color=o.channels=o.NULL_COLOR=void 0;let l=0,c=0,d=0,u=0;var f,g,v,b,m;function O(x){const y=x.toString(16);return y.length<2?"0"+y:y}function p(x,y){return x<y?(y+.05)/(x+.05):(x+.05)/(y+.05)}o.NULL_COLOR={css:"#00000000",rgba:0},(function(x){x.toCss=function(y,_,k,w){return w!==void 0?`#${O(y)}${O(_)}${O(k)}${O(w)}`:`#${O(y)}${O(_)}${O(k)}`},x.toRgba=function(y,_,k,w=255){return(y<<24|_<<16|k<<8|w)>>>0},x.toColor=function(y,_,k,w){return{css:x.toCss(y,_,k,w),rgba:x.toRgba(y,_,k,w)}}})(f||(o.channels=f={})),(function(x){function y(_,k){return u=Math.round(255*k),[l,c,d]=m.toChannels(_.rgba),{css:f.toCss(l,c,d,u),rgba:f.toRgba(l,c,d,u)}}x.blend=function(_,k){if(u=(255&k.rgba)/255,u===1)return{css:k.css,rgba:k.rgba};const w=k.rgba>>24&255,S=k.rgba>>16&255,Q=k.rgba>>8&255,N=_.rgba>>24&255,L=_.rgba>>16&255,$=_.rgba>>8&255;return l=N+Math.round((w-N)*u),c=L+Math.round((S-L)*u),d=$+Math.round((Q-$)*u),{css:f.toCss(l,c,d),rgba:f.toRgba(l,c,d)}},x.isOpaque=function(_){return(255&_.rgba)==255},x.ensureContrastRatio=function(_,k,w){const S=m.ensureContrastRatio(_.rgba,k.rgba,w);if(S)return f.toColor(S>>24&255,S>>16&255,S>>8&255)},x.opaque=function(_){const k=(255|_.rgba)>>>0;return[l,c,d]=m.toChannels(k),{css:f.toCss(l,c,d),rgba:k}},x.opacity=y,x.multiplyOpacity=function(_,k){return u=255&_.rgba,y(_,u*k/255)},x.toColorRGB=function(_){return[_.rgba>>24&255,_.rgba>>16&255,_.rgba>>8&255]}})(g||(o.color=g={})),(function(x){let y,_;try{const k=document.createElement("canvas");k.width=1,k.height=1;const w=k.getContext("2d",{willReadFrequently:!0});w&&(y=w,y.globalCompositeOperation="copy",_=y.createLinearGradient(0,0,1,1))}catch{}x.toColor=function(k){if(k.match(/#[\da-f]{3,8}/i))switch(k.length){case 4:return l=parseInt(k.slice(1,2).repeat(2),16),c=parseInt(k.slice(2,3).repeat(2),16),d=parseInt(k.slice(3,4).repeat(2),16),f.toColor(l,c,d);case 5:return l=parseInt(k.slice(1,2).repeat(2),16),c=parseInt(k.slice(2,3).repeat(2),16),d=parseInt(k.slice(3,4).repeat(2),16),u=parseInt(k.slice(4,5).repeat(2),16),f.toColor(l,c,d,u);case 7:return{css:k,rgba:(parseInt(k.slice(1),16)<<8|255)>>>0};case 9:return{css:k,rgba:parseInt(k.slice(1),16)>>>0}}const w=k.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(w)return l=parseInt(w[1]),c=parseInt(w[2]),d=parseInt(w[3]),u=Math.round(255*(w[5]===void 0?1:parseFloat(w[5]))),f.toColor(l,c,d,u);if(!y||!_)throw new Error("css.toColor: Unsupported css format");if(y.fillStyle=_,y.fillStyle=k,typeof y.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(y.fillRect(0,0,1,1),[l,c,d,u]=y.getImageData(0,0,1,1).data,u!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:f.toRgba(l,c,d,u),css:k}}})(v||(o.css=v={})),(function(x){function y(_,k,w){const S=_/255,Q=k/255,N=w/255;return .2126*(S<=.03928?S/12.92:Math.pow((S+.055)/1.055,2.4))+.7152*(Q<=.03928?Q/12.92:Math.pow((Q+.055)/1.055,2.4))+.0722*(N<=.03928?N/12.92:Math.pow((N+.055)/1.055,2.4))}x.relativeLuminance=function(_){return y(_>>16&255,_>>8&255,255&_)},x.relativeLuminance2=y})(b||(o.rgb=b={})),(function(x){function y(k,w,S){const Q=k>>24&255,N=k>>16&255,L=k>>8&255;let $=w>>24&255,j=w>>16&255,I=w>>8&255,V=p(b.relativeLuminance2($,j,I),b.relativeLuminance2(Q,N,L));for(;V<S&&($>0||j>0||I>0);)$-=Math.max(0,Math.ceil(.1*$)),j-=Math.max(0,Math.ceil(.1*j)),I-=Math.max(0,Math.ceil(.1*I)),V=p(b.relativeLuminance2($,j,I),b.relativeLuminance2(Q,N,L));return($<<24|j<<16|I<<8|255)>>>0}function _(k,w,S){const Q=k>>24&255,N=k>>16&255,L=k>>8&255;let $=w>>24&255,j=w>>16&255,I=w>>8&255,V=p(b.relativeLuminance2($,j,I),b.relativeLuminance2(Q,N,L));for(;V<S&&($<255||j<255||I<255);)$=Math.min(255,$+Math.ceil(.1*(255-$))),j=Math.min(255,j+Math.ceil(.1*(255-j))),I=Math.min(255,I+Math.ceil(.1*(255-I))),V=p(b.relativeLuminance2($,j,I),b.relativeLuminance2(Q,N,L));return($<<24|j<<16|I<<8|255)>>>0}x.blend=function(k,w){if(u=(255&w)/255,u===1)return w;const S=w>>24&255,Q=w>>16&255,N=w>>8&255,L=k>>24&255,$=k>>16&255,j=k>>8&255;return l=L+Math.round((S-L)*u),c=$+Math.round((Q-$)*u),d=j+Math.round((N-j)*u),f.toRgba(l,c,d)},x.ensureContrastRatio=function(k,w,S){const Q=b.relativeLuminance(k>>8),N=b.relativeLuminance(w>>8);if(p(Q,N)<S){if(N<Q){const j=y(k,w,S),I=p(Q,b.relativeLuminance(j>>8));if(I<S){const V=_(k,w,S);return I>p(Q,b.relativeLuminance(V>>8))?j:V}return j}const L=_(k,w,S),$=p(Q,b.relativeLuminance(L>>8));if($<S){const j=y(k,w,S);return $>p(Q,b.relativeLuminance(j>>8))?L:j}return L}},x.reduceLuminance=y,x.increaseLuminance=_,x.toChannels=function(k){return[k>>24&255,k>>16&255,k>>8&255,255&k]}})(m||(o.rgba=m={})),o.toPaddedHex=O,o.contrastRatio=p},8969:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CoreTerminal=void 0;const c=l(844),d=l(2585),u=l(4348),f=l(7866),g=l(744),v=l(7302),b=l(6975),m=l(8460),O=l(1753),p=l(1480),x=l(7994),y=l(9282),_=l(5435),k=l(5981),w=l(2660);let S=!1;class Q extends c.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new m.EventEmitter),this._onScroll.event((L=>{this._onScrollApi?.fire(L.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(L){for(const $ in L)this.optionsService.options[$]=L[$]}constructor(L){super(),this._windowsWrappingHeuristics=this.register(new c.MutableDisposable),this._onBinary=this.register(new m.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new m.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new m.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new m.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new m.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new m.EventEmitter),this._instantiationService=new u.InstantiationService,this.optionsService=this.register(new v.OptionsService(L)),this._instantiationService.setService(d.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(g.BufferService)),this._instantiationService.setService(d.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(f.LogService)),this._instantiationService.setService(d.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(b.CoreService)),this._instantiationService.setService(d.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(O.CoreMouseService)),this._instantiationService.setService(d.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(p.UnicodeService)),this._instantiationService.setService(d.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(x.CharsetService),this._instantiationService.setService(d.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(w.OscLinkService),this._instantiationService.setService(d.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new _.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,m.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,m.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,m.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,m.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll(($=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll(($=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new k.WriteBuffer((($,j)=>this._inputHandler.parse($,j)))),this.register((0,m.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(L,$){this._writeBuffer.write(L,$)}writeSync(L,$){this._logService.logLevel<=d.LogLevelEnum.WARN&&!S&&(this._logService.warn("writeSync is unreliable and will be removed soon."),S=!0),this._writeBuffer.writeSync(L,$)}input(L,$=!0){this.coreService.triggerDataEvent(L,$)}resize(L,$){isNaN(L)||isNaN($)||(L=Math.max(L,g.MINIMUM_COLS),$=Math.max($,g.MINIMUM_ROWS),this._bufferService.resize(L,$))}scroll(L,$=!1){this._bufferService.scroll(L,$)}scrollLines(L,$,j){this._bufferService.scrollLines(L,$,j)}scrollPages(L){this.scrollLines(L*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(L){const $=L-this._bufferService.buffer.ydisp;$!==0&&this.scrollLines($)}registerEscHandler(L,$){return this._inputHandler.registerEscHandler(L,$)}registerDcsHandler(L,$){return this._inputHandler.registerDcsHandler(L,$)}registerCsiHandler(L,$){return this._inputHandler.registerCsiHandler(L,$)}registerOscHandler(L,$){return this._inputHandler.registerOscHandler(L,$)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let L=!1;const $=this.optionsService.rawOptions.windowsPty;$&&$.buildNumber!==void 0&&$.buildNumber!==void 0?L=$.backend==="conpty"&&$.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(L=!0),L?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const L=[];L.push(this.onLineFeed(y.updateWindowsModeWrappedState.bind(null,this._bufferService))),L.push(this.registerCsiHandler({final:"H"},(()=>((0,y.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,c.toDisposable)((()=>{for(const $ of L)$.dispose()}))}}}o.CoreTerminal=Q},8460:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.runAndSubscribe=o.forwardEvent=o.EventEmitter=void 0,o.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=l=>(this._listeners.push(l),{dispose:()=>{if(!this._disposed){for(let c=0;c<this._listeners.length;c++)if(this._listeners[c]===l)return void this._listeners.splice(c,1)}}})),this._event}fire(l,c){const d=[];for(let u=0;u<this._listeners.length;u++)d.push(this._listeners[u]);for(let u=0;u<d.length;u++)d[u].call(void 0,l,c)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},o.forwardEvent=function(l,c){return l((d=>c.fire(d)))},o.runAndSubscribe=function(l,c){return c(void 0),l((d=>c(d)))}},5435:function(a,o,l){var c=this&&this.__decorate||function(J,T,A,B){var q,H=arguments.length,te=H<3?T:B===null?B=Object.getOwnPropertyDescriptor(T,A):B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")te=Reflect.decorate(J,T,A,B);else for(var ue=J.length-1;ue>=0;ue--)(q=J[ue])&&(te=(H<3?q(te):H>3?q(T,A,te):q(T,A))||te);return H>3&&te&&Object.defineProperty(T,A,te),te},d=this&&this.__param||function(J,T){return function(A,B){T(A,B,J)}};Object.defineProperty(o,"__esModule",{value:!0}),o.InputHandler=o.WindowsOptionsReportType=void 0;const u=l(2584),f=l(7116),g=l(2015),v=l(844),b=l(482),m=l(8437),O=l(8460),p=l(643),x=l(511),y=l(3734),_=l(2585),k=l(1480),w=l(6242),S=l(6351),Q=l(5941),N={"(":0,")":1,"*":2,"+":3,"-":1,".":2},L=131072;function $(J,T){if(J>24)return T.setWinLines||!1;switch(J){case 1:return!!T.restoreWin;case 2:return!!T.minimizeWin;case 3:return!!T.setWinPosition;case 4:return!!T.setWinSizePixels;case 5:return!!T.raiseWin;case 6:return!!T.lowerWin;case 7:return!!T.refreshWin;case 8:return!!T.setWinSizeChars;case 9:return!!T.maximizeWin;case 10:return!!T.fullscreenWin;case 11:return!!T.getWinState;case 13:return!!T.getWinPosition;case 14:return!!T.getWinSizePixels;case 15:return!!T.getScreenSizePixels;case 16:return!!T.getCellSizePixels;case 18:return!!T.getWinSizeChars;case 19:return!!T.getScreenSizeChars;case 20:return!!T.getIconTitle;case 21:return!!T.getWinTitle;case 22:return!!T.pushTitle;case 23:return!!T.popTitle;case 24:return!!T.setWinLines}return!1}var j;(function(J){J[J.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",J[J.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(j||(o.WindowsOptionsReportType=j={}));let I=0;class V extends v.Disposable{getAttrData(){return this._curAttrData}constructor(T,A,B,q,H,te,ue,ke,U=new g.EscapeSequenceParser){super(),this._bufferService=T,this._charsetService=A,this._coreService=B,this._logService=q,this._optionsService=H,this._oscLinkService=te,this._coreMouseService=ue,this._unicodeService=ke,this._parser=U,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new b.StringToUtf32,this._utf8Decoder=new b.Utf8ToUtf32,this._workCell=new x.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=m.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=m.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new O.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new O.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new O.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new O.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new O.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new O.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new O.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new O.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new O.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new O.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new O.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new O.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new O.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new Z(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((D=>this._activeBuffer=D.activeBuffer))),this._parser.setCsiHandlerFallback(((D,se)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(D),params:se.toArray()})})),this._parser.setEscHandlerFallback((D=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(D)})})),this._parser.setExecuteHandlerFallback((D=>{this._logService.debug("Unknown EXECUTE code: ",{code:D})})),this._parser.setOscHandlerFallback(((D,se,F)=>{this._logService.debug("Unknown OSC code: ",{identifier:D,action:se,data:F})})),this._parser.setDcsHandlerFallback(((D,se,F)=>{se==="HOOK"&&(F=F.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(D),action:se,payload:F})})),this._parser.setPrintHandler(((D,se,F)=>this.print(D,se,F))),this._parser.registerCsiHandler({final:"@"},(D=>this.insertChars(D))),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(D=>this.scrollLeft(D))),this._parser.registerCsiHandler({final:"A"},(D=>this.cursorUp(D))),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(D=>this.scrollRight(D))),this._parser.registerCsiHandler({final:"B"},(D=>this.cursorDown(D))),this._parser.registerCsiHandler({final:"C"},(D=>this.cursorForward(D))),this._parser.registerCsiHandler({final:"D"},(D=>this.cursorBackward(D))),this._parser.registerCsiHandler({final:"E"},(D=>this.cursorNextLine(D))),this._parser.registerCsiHandler({final:"F"},(D=>this.cursorPrecedingLine(D))),this._parser.registerCsiHandler({final:"G"},(D=>this.cursorCharAbsolute(D))),this._parser.registerCsiHandler({final:"H"},(D=>this.cursorPosition(D))),this._parser.registerCsiHandler({final:"I"},(D=>this.cursorForwardTab(D))),this._parser.registerCsiHandler({final:"J"},(D=>this.eraseInDisplay(D,!1))),this._parser.registerCsiHandler({prefix:"?",final:"J"},(D=>this.eraseInDisplay(D,!0))),this._parser.registerCsiHandler({final:"K"},(D=>this.eraseInLine(D,!1))),this._parser.registerCsiHandler({prefix:"?",final:"K"},(D=>this.eraseInLine(D,!0))),this._parser.registerCsiHandler({final:"L"},(D=>this.insertLines(D))),this._parser.registerCsiHandler({final:"M"},(D=>this.deleteLines(D))),this._parser.registerCsiHandler({final:"P"},(D=>this.deleteChars(D))),this._parser.registerCsiHandler({final:"S"},(D=>this.scrollUp(D))),this._parser.registerCsiHandler({final:"T"},(D=>this.scrollDown(D))),this._parser.registerCsiHandler({final:"X"},(D=>this.eraseChars(D))),this._parser.registerCsiHandler({final:"Z"},(D=>this.cursorBackwardTab(D))),this._parser.registerCsiHandler({final:"`"},(D=>this.charPosAbsolute(D))),this._parser.registerCsiHandler({final:"a"},(D=>this.hPositionRelative(D))),this._parser.registerCsiHandler({final:"b"},(D=>this.repeatPrecedingCharacter(D))),this._parser.registerCsiHandler({final:"c"},(D=>this.sendDeviceAttributesPrimary(D))),this._parser.registerCsiHandler({prefix:">",final:"c"},(D=>this.sendDeviceAttributesSecondary(D))),this._parser.registerCsiHandler({final:"d"},(D=>this.linePosAbsolute(D))),this._parser.registerCsiHandler({final:"e"},(D=>this.vPositionRelative(D))),this._parser.registerCsiHandler({final:"f"},(D=>this.hVPosition(D))),this._parser.registerCsiHandler({final:"g"},(D=>this.tabClear(D))),this._parser.registerCsiHandler({final:"h"},(D=>this.setMode(D))),this._parser.registerCsiHandler({prefix:"?",final:"h"},(D=>this.setModePrivate(D))),this._parser.registerCsiHandler({final:"l"},(D=>this.resetMode(D))),this._parser.registerCsiHandler({prefix:"?",final:"l"},(D=>this.resetModePrivate(D))),this._parser.registerCsiHandler({final:"m"},(D=>this.charAttributes(D))),this._parser.registerCsiHandler({final:"n"},(D=>this.deviceStatus(D))),this._parser.registerCsiHandler({prefix:"?",final:"n"},(D=>this.deviceStatusPrivate(D))),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(D=>this.softReset(D))),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(D=>this.setCursorStyle(D))),this._parser.registerCsiHandler({final:"r"},(D=>this.setScrollRegion(D))),this._parser.registerCsiHandler({final:"s"},(D=>this.saveCursor(D))),this._parser.registerCsiHandler({final:"t"},(D=>this.windowOptions(D))),this._parser.registerCsiHandler({final:"u"},(D=>this.restoreCursor(D))),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(D=>this.insertColumns(D))),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(D=>this.deleteColumns(D))),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(D=>this.selectProtected(D))),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(D=>this.requestMode(D,!0))),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(D=>this.requestMode(D,!1))),this._parser.setExecuteHandler(u.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(u.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(u.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(u.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(u.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(u.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(u.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(u.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(u.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(u.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(u.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(u.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new w.OscHandler((D=>(this.setTitle(D),this.setIconName(D),!0)))),this._parser.registerOscHandler(1,new w.OscHandler((D=>this.setIconName(D)))),this._parser.registerOscHandler(2,new w.OscHandler((D=>this.setTitle(D)))),this._parser.registerOscHandler(4,new w.OscHandler((D=>this.setOrReportIndexedColor(D)))),this._parser.registerOscHandler(8,new w.OscHandler((D=>this.setHyperlink(D)))),this._parser.registerOscHandler(10,new w.OscHandler((D=>this.setOrReportFgColor(D)))),this._parser.registerOscHandler(11,new w.OscHandler((D=>this.setOrReportBgColor(D)))),this._parser.registerOscHandler(12,new w.OscHandler((D=>this.setOrReportCursorColor(D)))),this._parser.registerOscHandler(104,new w.OscHandler((D=>this.restoreIndexedColor(D)))),this._parser.registerOscHandler(110,new w.OscHandler((D=>this.restoreFgColor(D)))),this._parser.registerOscHandler(111,new w.OscHandler((D=>this.restoreBgColor(D)))),this._parser.registerOscHandler(112,new w.OscHandler((D=>this.restoreCursorColor(D)))),this._parser.registerEscHandler({final:"7"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:"8"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:"D"},(()=>this.index())),this._parser.registerEscHandler({final:"E"},(()=>this.nextLine())),this._parser.registerEscHandler({final:"H"},(()=>this.tabSet())),this._parser.registerEscHandler({final:"M"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:"="},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:">"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:"c"},(()=>this.fullReset())),this._parser.registerEscHandler({final:"n"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"o"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"|"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"}"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"~"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:"%",final:"@"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:"%",final:"G"},(()=>this.selectDefaultCharset()));for(const D in f.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:D},(()=>this.selectCharset("("+D))),this._parser.registerEscHandler({intermediates:")",final:D},(()=>this.selectCharset(")"+D))),this._parser.registerEscHandler({intermediates:"*",final:D},(()=>this.selectCharset("*"+D))),this._parser.registerEscHandler({intermediates:"+",final:D},(()=>this.selectCharset("+"+D))),this._parser.registerEscHandler({intermediates:"-",final:D},(()=>this.selectCharset("-"+D))),this._parser.registerEscHandler({intermediates:".",final:D},(()=>this.selectCharset("."+D))),this._parser.registerEscHandler({intermediates:"/",final:D},(()=>this.selectCharset("/"+D)));this._parser.registerEscHandler({intermediates:"#",final:"8"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((D=>(this._logService.error("Parsing error: ",D),D))),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new S.DcsHandler(((D,se)=>this.requestStatusString(D,se))))}_preserveStack(T,A,B,q){this._parseStack.paused=!0,this._parseStack.cursorStartX=T,this._parseStack.cursorStartY=A,this._parseStack.decodedLength=B,this._parseStack.position=q}_logSlowResolvingAsync(T){this._logService.logLevel<=_.LogLevelEnum.WARN&&Promise.race([T,new Promise(((A,B)=>setTimeout((()=>B("#SLOW_TIMEOUT")),5e3)))]).catch((A=>{if(A!=="#SLOW_TIMEOUT")throw A;console.warn("async parser handler taking longer than 5000 ms")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(T,A){let B,q=this._activeBuffer.x,H=this._activeBuffer.y,te=0;const ue=this._parseStack.paused;if(ue){if(B=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,A))return this._logSlowResolvingAsync(B),B;q=this._parseStack.cursorStartX,H=this._parseStack.cursorStartY,this._parseStack.paused=!1,T.length>L&&(te=this._parseStack.position+L)}if(this._logService.logLevel<=_.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof T=="string"?` "${T}"`:` "${Array.prototype.map.call(T,(D=>String.fromCharCode(D))).join("")}"`),typeof T=="string"?T.split("").map((D=>D.charCodeAt(0))):T),this._parseBuffer.length<T.length&&this._parseBuffer.length<L&&(this._parseBuffer=new Uint32Array(Math.min(T.length,L))),ue||this._dirtyRowTracker.clearRange(),T.length>L)for(let D=te;D<T.length;D+=L){const se=D+L<T.length?D+L:T.length,F=typeof T=="string"?this._stringDecoder.decode(T.substring(D,se),this._parseBuffer):this._utf8Decoder.decode(T.subarray(D,se),this._parseBuffer);if(B=this._parser.parse(this._parseBuffer,F))return this._preserveStack(q,H,F,D),this._logSlowResolvingAsync(B),B}else if(!ue){const D=typeof T=="string"?this._stringDecoder.decode(T,this._parseBuffer):this._utf8Decoder.decode(T,this._parseBuffer);if(B=this._parser.parse(this._parseBuffer,D))return this._preserveStack(q,H,D,0),this._logSlowResolvingAsync(B),B}this._activeBuffer.x===q&&this._activeBuffer.y===H||this._onCursorMove.fire();const ke=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),U=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);U<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(U,this._bufferService.rows-1),Math.min(ke,this._bufferService.rows-1))}print(T,A,B){let q,H;const te=this._charsetService.charset,ue=this._optionsService.rawOptions.screenReaderMode,ke=this._bufferService.cols,U=this._coreService.decPrivateModes.wraparound,D=this._coreService.modes.insertMode,se=this._curAttrData;let F=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&B-A>0&&F.getWidth(this._activeBuffer.x-1)===2&&F.setCellFromCodepoint(this._activeBuffer.x-1,0,1,se);let G=this._parser.precedingJoinState;for(let ee=A;ee<B;++ee){if(q=T[ee],q<127&&te){const me=te[String.fromCharCode(q)];me&&(q=me.charCodeAt(0))}const we=this._unicodeService.charProperties(q,G);H=k.UnicodeService.extractWidth(we);const Ae=k.UnicodeService.extractShouldJoin(we),xe=Ae?k.UnicodeService.extractWidth(G):0;if(G=we,ue&&this._onA11yChar.fire((0,b.stringFromCodePoint)(q)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+H-xe>ke){if(U){const me=F;let ge=this._activeBuffer.x-xe;for(this._activeBuffer.x=xe,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),F=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),xe>0&&F instanceof m.BufferLine&&F.copyCellsFrom(me,ge,0,xe,!1);ge<ke;)me.setCellFromCodepoint(ge++,0,1,se)}else if(this._activeBuffer.x=ke-1,H===2)continue}if(Ae&&this._activeBuffer.x){const me=F.getWidth(this._activeBuffer.x-1)?1:2;F.addCodepointToCell(this._activeBuffer.x-me,q,H);for(let ge=H-xe;--ge>=0;)F.setCellFromCodepoint(this._activeBuffer.x++,0,0,se)}else if(D&&(F.insertCells(this._activeBuffer.x,H-xe,this._activeBuffer.getNullCell(se)),F.getWidth(ke-1)===2&&F.setCellFromCodepoint(ke-1,p.NULL_CELL_CODE,p.NULL_CELL_WIDTH,se)),F.setCellFromCodepoint(this._activeBuffer.x++,q,H,se),H>0)for(;--H;)F.setCellFromCodepoint(this._activeBuffer.x++,0,0,se)}this._parser.precedingJoinState=G,this._activeBuffer.x<ke&&B-A>0&&F.getWidth(this._activeBuffer.x)===0&&!F.hasContent(this._activeBuffer.x)&&F.setCellFromCodepoint(this._activeBuffer.x,0,1,se),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(T,A){return T.final!=="t"||T.prefix||T.intermediates?this._parser.registerCsiHandler(T,A):this._parser.registerCsiHandler(T,(B=>!$(B.params[0],this._optionsService.rawOptions.windowOptions)||A(B)))}registerDcsHandler(T,A){return this._parser.registerDcsHandler(T,new S.DcsHandler(A))}registerEscHandler(T,A){return this._parser.registerEscHandler(T,A)}registerOscHandler(T,A){return this._parser.registerOscHandler(T,new w.OscHandler(A))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const T=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);T.hasWidth(this._activeBuffer.x)&&!T.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const T=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-T),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(T=this._bufferService.cols-1){this._activeBuffer.x=Math.min(T,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(T,A){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=T,this._activeBuffer.y=this._activeBuffer.scrollTop+A):(this._activeBuffer.x=T,this._activeBuffer.y=A),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(T,A){this._restrictCursor(),this._setCursor(this._activeBuffer.x+T,this._activeBuffer.y+A)}cursorUp(T){const A=this._activeBuffer.y-this._activeBuffer.scrollTop;return A>=0?this._moveCursor(0,-Math.min(A,T.params[0]||1)):this._moveCursor(0,-(T.params[0]||1)),!0}cursorDown(T){const A=this._activeBuffer.scrollBottom-this._activeBuffer.y;return A>=0?this._moveCursor(0,Math.min(A,T.params[0]||1)):this._moveCursor(0,T.params[0]||1),!0}cursorForward(T){return this._moveCursor(T.params[0]||1,0),!0}cursorBackward(T){return this._moveCursor(-(T.params[0]||1),0),!0}cursorNextLine(T){return this.cursorDown(T),this._activeBuffer.x=0,!0}cursorPrecedingLine(T){return this.cursorUp(T),this._activeBuffer.x=0,!0}cursorCharAbsolute(T){return this._setCursor((T.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(T){return this._setCursor(T.length>=2?(T.params[1]||1)-1:0,(T.params[0]||1)-1),!0}charPosAbsolute(T){return this._setCursor((T.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(T){return this._moveCursor(T.params[0]||1,0),!0}linePosAbsolute(T){return this._setCursor(this._activeBuffer.x,(T.params[0]||1)-1),!0}vPositionRelative(T){return this._moveCursor(0,T.params[0]||1),!0}hVPosition(T){return this.cursorPosition(T),!0}tabClear(T){const A=T.params[0];return A===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:A===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(T){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let A=T.params[0]||1;for(;A--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(T){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let A=T.params[0]||1;for(;A--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(T){const A=T.params[0];return A===1&&(this._curAttrData.bg|=536870912),A!==2&&A!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(T,A,B,q=!1,H=!1){const te=this._activeBuffer.lines.get(this._activeBuffer.ybase+T);te.replaceCells(A,B,this._activeBuffer.getNullCell(this._eraseAttrData()),H),q&&(te.isWrapped=!1)}_resetBufferLine(T,A=!1){const B=this._activeBuffer.lines.get(this._activeBuffer.ybase+T);B&&(B.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),A),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+T),B.isWrapped=!1)}eraseInDisplay(T,A=!1){let B;switch(this._restrictCursor(this._bufferService.cols),T.params[0]){case 0:for(B=this._activeBuffer.y,this._dirtyRowTracker.markDirty(B),this._eraseInBufferLine(B++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,A);B<this._bufferService.rows;B++)this._resetBufferLine(B,A);this._dirtyRowTracker.markDirty(B);break;case 1:for(B=this._activeBuffer.y,this._dirtyRowTracker.markDirty(B),this._eraseInBufferLine(B,0,this._activeBuffer.x+1,!0,A),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(B+1).isWrapped=!1);B--;)this._resetBufferLine(B,A);this._dirtyRowTracker.markDirty(0);break;case 2:for(B=this._bufferService.rows,this._dirtyRowTracker.markDirty(B-1);B--;)this._resetBufferLine(B,A);this._dirtyRowTracker.markDirty(0);break;case 3:const q=this._activeBuffer.lines.length-this._bufferService.rows;q>0&&(this._activeBuffer.lines.trimStart(q),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-q,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-q,0),this._onScroll.fire(0))}return!0}eraseInLine(T,A=!1){switch(this._restrictCursor(this._bufferService.cols),T.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,A);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,A);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,A)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(T){this._restrictCursor();let A=T.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const B=this._activeBuffer.ybase+this._activeBuffer.y,q=this._bufferService.rows-1-this._activeBuffer.scrollBottom,H=this._bufferService.rows-1+this._activeBuffer.ybase-q+1;for(;A--;)this._activeBuffer.lines.splice(H-1,1),this._activeBuffer.lines.splice(B,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(T){this._restrictCursor();let A=T.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const B=this._activeBuffer.ybase+this._activeBuffer.y;let q;for(q=this._bufferService.rows-1-this._activeBuffer.scrollBottom,q=this._bufferService.rows-1+this._activeBuffer.ybase-q;A--;)this._activeBuffer.lines.splice(B,1),this._activeBuffer.lines.splice(q,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(T){this._restrictCursor();const A=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return A&&(A.insertCells(this._activeBuffer.x,T.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(T){this._restrictCursor();const A=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return A&&(A.deleteCells(this._activeBuffer.x,T.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(T){let A=T.params[0]||1;for(;A--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(T){let A=T.params[0]||1;for(;A--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(m.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(T){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const A=T.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const q=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);q.deleteCells(0,A,this._activeBuffer.getNullCell(this._eraseAttrData())),q.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(T){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const A=T.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const q=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);q.insertCells(0,A,this._activeBuffer.getNullCell(this._eraseAttrData())),q.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(T){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const A=T.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const q=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);q.insertCells(this._activeBuffer.x,A,this._activeBuffer.getNullCell(this._eraseAttrData())),q.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(T){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const A=T.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const q=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);q.deleteCells(this._activeBuffer.x,A,this._activeBuffer.getNullCell(this._eraseAttrData())),q.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(T){this._restrictCursor();const A=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return A&&(A.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(T.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(T){const A=this._parser.precedingJoinState;if(!A)return!0;const B=T.params[0]||1,q=k.UnicodeService.extractWidth(A),H=this._activeBuffer.x-q,te=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(H),ue=new Uint32Array(te.length*B);let ke=0;for(let D=0;D<te.length;){const se=te.codePointAt(D)||0;ue[ke++]=se,D+=se>65535?2:1}let U=ke;for(let D=1;D<B;++D)ue.copyWithin(U,0,ke),U+=ke;return this.print(ue,0,U),!0}sendDeviceAttributesPrimary(T){return T.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(u.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(u.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(T){return T.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(u.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(u.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(T.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(u.C0.ESC+"[>83;40003;0c")),!0}_is(T){return(this._optionsService.rawOptions.termName+"").indexOf(T)===0}setMode(T){for(let A=0;A<T.length;A++)switch(T.params[A]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(T){for(let A=0;A<T.length;A++)switch(T.params[A]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,f.DEFAULT_CHARSET),this._charsetService.setgCharset(1,f.DEFAULT_CHARSET),this._charsetService.setgCharset(2,f.DEFAULT_CHARSET),this._charsetService.setgCharset(3,f.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(T){for(let A=0;A<T.length;A++)switch(T.params[A]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(T){for(let A=0;A<T.length;A++)switch(T.params[A]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),T.params[A]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(T,A){const B=this._coreService.decPrivateModes,{activeProtocol:q,activeEncoding:H}=this._coreMouseService,te=this._coreService,{buffers:ue,cols:ke}=this._bufferService,{active:U,alt:D}=ue,se=this._optionsService.rawOptions,F=Ae=>Ae?1:2,G=T.params[0];return ee=G,we=A?G===2?4:G===4?F(te.modes.insertMode):G===12?3:G===20?F(se.convertEol):0:G===1?F(B.applicationCursorKeys):G===3?se.windowOptions.setWinLines?ke===80?2:ke===132?1:0:0:G===6?F(B.origin):G===7?F(B.wraparound):G===8?3:G===9?F(q==="X10"):G===12?F(se.cursorBlink):G===25?F(!te.isCursorHidden):G===45?F(B.reverseWraparound):G===66?F(B.applicationKeypad):G===67?4:G===1e3?F(q==="VT200"):G===1002?F(q==="DRAG"):G===1003?F(q==="ANY"):G===1004?F(B.sendFocus):G===1005?4:G===1006?F(H==="SGR"):G===1015?4:G===1016?F(H==="SGR_PIXELS"):G===1048?1:G===47||G===1047||G===1049?F(U===D):G===2004?F(B.bracketedPasteMode):0,te.triggerDataEvent(`${u.C0.ESC}[${A?"":"?"}${ee};${we}$y`),!0;var ee,we}_updateAttrColor(T,A,B,q,H){return A===2?(T|=50331648,T&=-16777216,T|=y.AttributeData.fromColorRGB([B,q,H])):A===5&&(T&=-50331904,T|=33554432|255&B),T}_extractColor(T,A,B){const q=[0,0,-1,0,0,0];let H=0,te=0;do{if(q[te+H]=T.params[A+te],T.hasSubParams(A+te)){const ue=T.getSubParams(A+te);let ke=0;do q[1]===5&&(H=1),q[te+ke+1+H]=ue[ke];while(++ke<ue.length&&ke+te+1+H<q.length);break}if(q[1]===5&&te+H>=2||q[1]===2&&te+H>=5)break;q[1]&&(H=1)}while(++te+A<T.length&&te+H<q.length);for(let ue=2;ue<q.length;++ue)q[ue]===-1&&(q[ue]=0);switch(q[0]){case 38:B.fg=this._updateAttrColor(B.fg,q[1],q[3],q[4],q[5]);break;case 48:B.bg=this._updateAttrColor(B.bg,q[1],q[3],q[4],q[5]);break;case 58:B.extended=B.extended.clone(),B.extended.underlineColor=this._updateAttrColor(B.extended.underlineColor,q[1],q[3],q[4],q[5])}return te}_processUnderline(T,A){A.extended=A.extended.clone(),(!~T||T>5)&&(T=1),A.extended.underlineStyle=T,A.fg|=268435456,T===0&&(A.fg&=-268435457),A.updateExtended()}_processSGR0(T){T.fg=m.DEFAULT_ATTR_DATA.fg,T.bg=m.DEFAULT_ATTR_DATA.bg,T.extended=T.extended.clone(),T.extended.underlineStyle=0,T.extended.underlineColor&=-67108864,T.updateExtended()}charAttributes(T){if(T.length===1&&T.params[0]===0)return this._processSGR0(this._curAttrData),!0;const A=T.length;let B;const q=this._curAttrData;for(let H=0;H<A;H++)B=T.params[H],B>=30&&B<=37?(q.fg&=-50331904,q.fg|=16777216|B-30):B>=40&&B<=47?(q.bg&=-50331904,q.bg|=16777216|B-40):B>=90&&B<=97?(q.fg&=-50331904,q.fg|=16777224|B-90):B>=100&&B<=107?(q.bg&=-50331904,q.bg|=16777224|B-100):B===0?this._processSGR0(q):B===1?q.fg|=134217728:B===3?q.bg|=67108864:B===4?(q.fg|=268435456,this._processUnderline(T.hasSubParams(H)?T.getSubParams(H)[0]:1,q)):B===5?q.fg|=536870912:B===7?q.fg|=67108864:B===8?q.fg|=1073741824:B===9?q.fg|=2147483648:B===2?q.bg|=134217728:B===21?this._processUnderline(2,q):B===22?(q.fg&=-134217729,q.bg&=-134217729):B===23?q.bg&=-67108865:B===24?(q.fg&=-268435457,this._processUnderline(0,q)):B===25?q.fg&=-536870913:B===27?q.fg&=-67108865:B===28?q.fg&=-1073741825:B===29?q.fg&=2147483647:B===39?(q.fg&=-67108864,q.fg|=16777215&m.DEFAULT_ATTR_DATA.fg):B===49?(q.bg&=-67108864,q.bg|=16777215&m.DEFAULT_ATTR_DATA.bg):B===38||B===48||B===58?H+=this._extractColor(T,H,q):B===53?q.bg|=1073741824:B===55?q.bg&=-1073741825:B===59?(q.extended=q.extended.clone(),q.extended.underlineColor=-1,q.updateExtended()):B===100?(q.fg&=-67108864,q.fg|=16777215&m.DEFAULT_ATTR_DATA.fg,q.bg&=-67108864,q.bg|=16777215&m.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",B);return!0}deviceStatus(T){switch(T.params[0]){case 5:this._coreService.triggerDataEvent(`${u.C0.ESC}[0n`);break;case 6:const A=this._activeBuffer.y+1,B=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${u.C0.ESC}[${A};${B}R`)}return!0}deviceStatusPrivate(T){if(T.params[0]===6){const A=this._activeBuffer.y+1,B=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${u.C0.ESC}[?${A};${B}R`)}return!0}softReset(T){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=m.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(T){const A=T.params[0]||1;switch(A){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const B=A%2==1;return this._optionsService.options.cursorBlink=B,!0}setScrollRegion(T){const A=T.params[0]||1;let B;return(T.length<2||(B=T.params[1])>this._bufferService.rows||B===0)&&(B=this._bufferService.rows),B>A&&(this._activeBuffer.scrollTop=A-1,this._activeBuffer.scrollBottom=B-1,this._setCursor(0,0)),!0}windowOptions(T){if(!$(T.params[0],this._optionsService.rawOptions.windowOptions))return!0;const A=T.length>1?T.params[1]:0;switch(T.params[0]){case 14:A!==2&&this._onRequestWindowsOptionsReport.fire(j.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(j.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${u.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:A!==0&&A!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),A!==0&&A!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:A!==0&&A!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),A!==0&&A!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(T){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(T){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(T){return this._windowTitle=T,this._onTitleChange.fire(T),!0}setIconName(T){return this._iconName=T,!0}setOrReportIndexedColor(T){const A=[],B=T.split(";");for(;B.length>1;){const q=B.shift(),H=B.shift();if(/^\d+$/.exec(q)){const te=parseInt(q);if(z(te))if(H==="?")A.push({type:0,index:te});else{const ue=(0,Q.parseColor)(H);ue&&A.push({type:1,index:te,color:ue})}}}return A.length&&this._onColor.fire(A),!0}setHyperlink(T){const A=T.split(";");return!(A.length<2)&&(A[1]?this._createHyperlink(A[0],A[1]):!A[0]&&this._finishHyperlink())}_createHyperlink(T,A){this._getCurrentLinkId()&&this._finishHyperlink();const B=T.split(":");let q;const H=B.findIndex((te=>te.startsWith("id=")));return H!==-1&&(q=B[H].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:q,uri:A}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(T,A){const B=T.split(";");for(let q=0;q<B.length&&!(A>=this._specialColors.length);++q,++A)if(B[q]==="?")this._onColor.fire([{type:0,index:this._specialColors[A]}]);else{const H=(0,Q.parseColor)(B[q]);H&&this._onColor.fire([{type:1,index:this._specialColors[A],color:H}])}return!0}setOrReportFgColor(T){return this._setOrReportSpecialColor(T,0)}setOrReportBgColor(T){return this._setOrReportSpecialColor(T,1)}setOrReportCursorColor(T){return this._setOrReportSpecialColor(T,2)}restoreIndexedColor(T){if(!T)return this._onColor.fire([{type:2}]),!0;const A=[],B=T.split(";");for(let q=0;q<B.length;++q)if(/^\d+$/.exec(B[q])){const H=parseInt(B[q]);z(H)&&A.push({type:2,index:H})}return A.length&&this._onColor.fire(A),!0}restoreFgColor(T){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(T){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(T){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,f.DEFAULT_CHARSET),!0}selectCharset(T){return T.length!==2?(this.selectDefaultCharset(),!0):(T[0]==="/"||this._charsetService.setgCharset(N[T[0]],f.CHARSETS[T[1]]||f.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const T=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,T,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=m.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=m.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(T){return this._charsetService.setgLevel(T),!0}screenAlignmentPattern(){const T=new x.CellData;T.content=4194373,T.fg=this._curAttrData.fg,T.bg=this._curAttrData.bg,this._setCursor(0,0);for(let A=0;A<this._bufferService.rows;++A){const B=this._activeBuffer.ybase+this._activeBuffer.y+A,q=this._activeBuffer.lines.get(B);q&&(q.fill(T),q.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(T,A){const B=this._bufferService.buffer,q=this._optionsService.rawOptions;return(H=>(this._coreService.triggerDataEvent(`${u.C0.ESC}${H}${u.C0.ESC}\\`),!0))(T==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:T==='"p'?'P1$r61;1"p':T==="r"?`P1$r${B.scrollTop+1};${B.scrollBottom+1}r`:T==="m"?"P1$r0m":T===" q"?`P1$r${{block:2,underline:4,bar:6}[q.cursorStyle]-(q.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(T,A){this._dirtyRowTracker.markRangeDirty(T,A)}}o.InputHandler=V;let Z=class{constructor(J){this._bufferService=J,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(J){J<this.start?this.start=J:J>this.end&&(this.end=J)}markRangeDirty(J,T){J>T&&(I=J,J=T,T=I),J<this.start&&(this.start=J),T>this.end&&(this.end=T)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function z(J){return 0<=J&&J<256}Z=c([d(0,_.IBufferService)],Z)},844:(a,o)=>{function l(c){for(const d of c)d.dispose();c.length=0}Object.defineProperty(o,"__esModule",{value:!0}),o.getDisposeArrayDisposable=o.disposeArray=o.toDisposable=o.MutableDisposable=o.Disposable=void 0,o.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const c of this._disposables)c.dispose();this._disposables.length=0}register(c){return this._disposables.push(c),c}unregister(c){const d=this._disposables.indexOf(c);d!==-1&&this._disposables.splice(d,1)}},o.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(c){this._isDisposed||c===this._value||(this._value?.dispose(),this._value=c)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},o.toDisposable=function(c){return{dispose:c}},o.disposeArray=l,o.getDisposeArrayDisposable=function(c){return{dispose:()=>l(c)}}},1505:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.FourKeyMap=o.TwoKeyMap=void 0;class l{constructor(){this._data={}}set(d,u,f){this._data[d]||(this._data[d]={}),this._data[d][u]=f}get(d,u){return this._data[d]?this._data[d][u]:void 0}clear(){this._data={}}}o.TwoKeyMap=l,o.FourKeyMap=class{constructor(){this._data=new l}set(c,d,u,f,g){this._data.get(c,d)||this._data.set(c,d,new l),this._data.get(c,d).set(u,f,g)}get(c,d,u,f){return this._data.get(c,d)?.get(u,f)}clear(){this._data.clear()}}},6114:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isChromeOS=o.isLinux=o.isWindows=o.isIphone=o.isIpad=o.isMac=o.getSafariVersion=o.isSafari=o.isLegacyEdge=o.isFirefox=o.isNode=void 0,o.isNode=typeof process<"u"&&"title"in process;const l=o.isNode?"node":navigator.userAgent,c=o.isNode?"node":navigator.platform;o.isFirefox=l.includes("Firefox"),o.isLegacyEdge=l.includes("Edge"),o.isSafari=/^((?!chrome|android).)*safari/i.test(l),o.getSafariVersion=function(){if(!o.isSafari)return 0;const d=l.match(/Version\/(\d+)/);return d===null||d.length<2?0:parseInt(d[1])},o.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(c),o.isIpad=c==="iPad",o.isIphone=c==="iPhone",o.isWindows=["Windows","Win16","Win32","WinCE"].includes(c),o.isLinux=c.indexOf("Linux")>=0,o.isChromeOS=/\bCrOS\b/.test(l)},6106:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.SortedList=void 0;let l=0;o.SortedList=class{constructor(c){this._getKey=c,this._array=[]}clear(){this._array.length=0}insert(c){this._array.length!==0?(l=this._search(this._getKey(c)),this._array.splice(l,0,c)):this._array.push(c)}delete(c){if(this._array.length===0)return!1;const d=this._getKey(c);if(d===void 0||(l=this._search(d),l===-1)||this._getKey(this._array[l])!==d)return!1;do if(this._array[l]===c)return this._array.splice(l,1),!0;while(++l<this._array.length&&this._getKey(this._array[l])===d);return!1}*getKeyIterator(c){if(this._array.length!==0&&(l=this._search(c),!(l<0||l>=this._array.length)&&this._getKey(this._array[l])===c))do yield this._array[l];while(++l<this._array.length&&this._getKey(this._array[l])===c)}forEachByKey(c,d){if(this._array.length!==0&&(l=this._search(c),!(l<0||l>=this._array.length)&&this._getKey(this._array[l])===c))do d(this._array[l]);while(++l<this._array.length&&this._getKey(this._array[l])===c)}values(){return[...this._array].values()}_search(c){let d=0,u=this._array.length-1;for(;u>=d;){let f=d+u>>1;const g=this._getKey(this._array[f]);if(g>c)u=f-1;else{if(!(g<c)){for(;f>0&&this._getKey(this._array[f-1])===c;)f--;return f}d=f+1}}return d}}},7226:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.DebouncedIdleTask=o.IdleTaskQueue=o.PriorityTaskQueue=void 0;const c=l(6114);class d{constructor(){this._tasks=[],this._i=0}enqueue(g){this._tasks.push(g),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(g){this._idleCallback=void 0;let v=0,b=0,m=g.timeRemaining(),O=0;for(;this._i<this._tasks.length;){if(v=Date.now(),this._tasks[this._i]()||this._i++,v=Math.max(1,Date.now()-v),b=Math.max(v,b),O=g.timeRemaining(),1.5*b>O)return m-v<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(m-v))}ms`),void this._start();m=O}this.clear()}}class u extends d{_requestCallback(g){return setTimeout((()=>g(this._createDeadline(16))))}_cancelCallback(g){clearTimeout(g)}_createDeadline(g){const v=Date.now()+g;return{timeRemaining:()=>Math.max(0,v-Date.now())}}}o.PriorityTaskQueue=u,o.IdleTaskQueue=!c.isNode&&"requestIdleCallback"in window?class extends d{_requestCallback(f){return requestIdleCallback(f)}_cancelCallback(f){cancelIdleCallback(f)}}:u,o.DebouncedIdleTask=class{constructor(){this._queue=new o.IdleTaskQueue}set(f){this._queue.clear(),this._queue.enqueue(f)}flush(){this._queue.flush()}}},9282:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.updateWindowsModeWrappedState=void 0;const c=l(643);o.updateWindowsModeWrappedState=function(d){const u=d.buffer.lines.get(d.buffer.ybase+d.buffer.y-1),f=u?.get(d.cols-1),g=d.buffer.lines.get(d.buffer.ybase+d.buffer.y);g&&f&&(g.isWrapped=f[c.CHAR_DATA_CODE_INDEX]!==c.NULL_CELL_CODE&&f[c.CHAR_DATA_CODE_INDEX]!==c.WHITESPACE_CELL_CODE)}},3734:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ExtendedAttrs=o.AttributeData=void 0;class l{constructor(){this.fg=0,this.bg=0,this.extended=new c}static toColorRGB(u){return[u>>>16&255,u>>>8&255,255&u]}static fromColorRGB(u){return(255&u[0])<<16|(255&u[1])<<8|255&u[2]}clone(){const u=new l;return u.fg=this.fg,u.bg=this.bg,u.extended=this.extended.clone(),u}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}o.AttributeData=l;class c{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(u){this._ext=u}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(u){this._ext&=-469762049,this._ext|=u<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(u){this._ext&=-67108864,this._ext|=67108863&u}get urlId(){return this._urlId}set urlId(u){this._urlId=u}get underlineVariantOffset(){const u=(3758096384&this._ext)>>29;return u<0?4294967288^u:u}set underlineVariantOffset(u){this._ext&=536870911,this._ext|=u<<29&3758096384}constructor(u=0,f=0){this._ext=0,this._urlId=0,this._ext=u,this._urlId=f}clone(){return new c(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}o.ExtendedAttrs=c},9092:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.Buffer=o.MAX_BUFFER_SIZE=void 0;const c=l(6349),d=l(7226),u=l(3734),f=l(8437),g=l(4634),v=l(511),b=l(643),m=l(4863),O=l(7116);o.MAX_BUFFER_SIZE=4294967295,o.Buffer=class{constructor(p,x,y){this._hasScrollback=p,this._optionsService=x,this._bufferService=y,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=f.DEFAULT_ATTR_DATA.clone(),this.savedCharset=O.DEFAULT_CHARSET,this.markers=[],this._nullCell=v.CellData.fromCharData([0,b.NULL_CELL_CHAR,b.NULL_CELL_WIDTH,b.NULL_CELL_CODE]),this._whitespaceCell=v.CellData.fromCharData([0,b.WHITESPACE_CELL_CHAR,b.WHITESPACE_CELL_WIDTH,b.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new d.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new c.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(p){return p?(this._nullCell.fg=p.fg,this._nullCell.bg=p.bg,this._nullCell.extended=p.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new u.ExtendedAttrs),this._nullCell}getWhitespaceCell(p){return p?(this._whitespaceCell.fg=p.fg,this._whitespaceCell.bg=p.bg,this._whitespaceCell.extended=p.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new u.ExtendedAttrs),this._whitespaceCell}getBlankLine(p,x){return new f.BufferLine(this._bufferService.cols,this.getNullCell(p),x)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const p=this.ybase+this.y-this.ydisp;return p>=0&&p<this._rows}_getCorrectBufferLength(p){if(!this._hasScrollback)return p;const x=p+this._optionsService.rawOptions.scrollback;return x>o.MAX_BUFFER_SIZE?o.MAX_BUFFER_SIZE:x}fillViewportRows(p){if(this.lines.length===0){p===void 0&&(p=f.DEFAULT_ATTR_DATA);let x=this._rows;for(;x--;)this.lines.push(this.getBlankLine(p))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new c.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(p,x){const y=this.getNullCell(f.DEFAULT_ATTR_DATA);let _=0;const k=this._getCorrectBufferLength(x);if(k>this.lines.maxLength&&(this.lines.maxLength=k),this.lines.length>0){if(this._cols<p)for(let S=0;S<this.lines.length;S++)_+=+this.lines.get(S).resize(p,y);let w=0;if(this._rows<x)for(let S=this._rows;S<x;S++)this.lines.length<x+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new f.BufferLine(p,y)):this.ybase>0&&this.lines.length<=this.ybase+this.y+w+1?(this.ybase--,w++,this.ydisp>0&&this.ydisp--):this.lines.push(new f.BufferLine(p,y)));else for(let S=this._rows;S>x;S--)this.lines.length>x+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(k<this.lines.maxLength){const S=this.lines.length-k;S>0&&(this.lines.trimStart(S),this.ybase=Math.max(this.ybase-S,0),this.ydisp=Math.max(this.ydisp-S,0),this.savedY=Math.max(this.savedY-S,0)),this.lines.maxLength=k}this.x=Math.min(this.x,p-1),this.y=Math.min(this.y,x-1),w&&(this.y+=w),this.savedX=Math.min(this.savedX,p-1),this.scrollTop=0}if(this.scrollBottom=x-1,this._isReflowEnabled&&(this._reflow(p,x),this._cols>p))for(let w=0;w<this.lines.length;w++)_+=+this.lines.get(w).resize(p,y);this._cols=p,this._rows=x,this._memoryCleanupQueue.clear(),_>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let p=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,p=!1);let x=0;for(;this._memoryCleanupPosition<this.lines.length;)if(x+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),x>100)return!0;return p}get _isReflowEnabled(){const p=this._optionsService.rawOptions.windowsPty;return p&&p.buildNumber?this._hasScrollback&&p.backend==="conpty"&&p.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(p,x){this._cols!==p&&(p>this._cols?this._reflowLarger(p,x):this._reflowSmaller(p,x))}_reflowLarger(p,x){const y=(0,g.reflowLargerGetLinesToRemove)(this.lines,this._cols,p,this.ybase+this.y,this.getNullCell(f.DEFAULT_ATTR_DATA));if(y.length>0){const _=(0,g.reflowLargerCreateNewLayout)(this.lines,y);(0,g.reflowLargerApplyNewLayout)(this.lines,_.layout),this._reflowLargerAdjustViewport(p,x,_.countRemoved)}}_reflowLargerAdjustViewport(p,x,y){const _=this.getNullCell(f.DEFAULT_ATTR_DATA);let k=y;for(;k-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<x&&this.lines.push(new f.BufferLine(p,_))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-y,0)}_reflowSmaller(p,x){const y=this.getNullCell(f.DEFAULT_ATTR_DATA),_=[];let k=0;for(let w=this.lines.length-1;w>=0;w--){let S=this.lines.get(w);if(!S||!S.isWrapped&&S.getTrimmedLength()<=p)continue;const Q=[S];for(;S.isWrapped&&w>0;)S=this.lines.get(--w),Q.unshift(S);const N=this.ybase+this.y;if(N>=w&&N<w+Q.length)continue;const L=Q[Q.length-1].getTrimmedLength(),$=(0,g.reflowSmallerGetNewLineLengths)(Q,this._cols,p),j=$.length-Q.length;let I;I=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+j):Math.max(0,this.lines.length-this.lines.maxLength+j);const V=[];for(let B=0;B<j;B++){const q=this.getBlankLine(f.DEFAULT_ATTR_DATA,!0);V.push(q)}V.length>0&&(_.push({start:w+Q.length+k,newLines:V}),k+=V.length),Q.push(...V);let Z=$.length-1,z=$[Z];z===0&&(Z--,z=$[Z]);let J=Q.length-j-1,T=L;for(;J>=0;){const B=Math.min(T,z);if(Q[Z]===void 0)break;if(Q[Z].copyCellsFrom(Q[J],T-B,z-B,B,!0),z-=B,z===0&&(Z--,z=$[Z]),T-=B,T===0){J--;const q=Math.max(J,0);T=(0,g.getWrappedLineTrimmedLength)(Q,q,this._cols)}}for(let B=0;B<Q.length;B++)$[B]<p&&Q[B].setCell($[B],y);let A=j-I;for(;A-- >0;)this.ybase===0?this.y<x-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+k)-x&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+j,this.ybase+x-1)}if(_.length>0){const w=[],S=[];for(let Z=0;Z<this.lines.length;Z++)S.push(this.lines.get(Z));const Q=this.lines.length;let N=Q-1,L=0,$=_[L];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+k);let j=0;for(let Z=Math.min(this.lines.maxLength-1,Q+k-1);Z>=0;Z--)if($&&$.start>N+j){for(let z=$.newLines.length-1;z>=0;z--)this.lines.set(Z--,$.newLines[z]);Z++,w.push({index:N+1,amount:$.newLines.length}),j+=$.newLines.length,$=_[++L]}else this.lines.set(Z,S[N--]);let I=0;for(let Z=w.length-1;Z>=0;Z--)w[Z].index+=I,this.lines.onInsertEmitter.fire(w[Z]),I+=w[Z].amount;const V=Math.max(0,Q+k-this.lines.maxLength);V>0&&this.lines.onTrimEmitter.fire(V)}}translateBufferLineToString(p,x,y=0,_){const k=this.lines.get(p);return k?k.translateToString(x,y,_):""}getWrappedRangeForLine(p){let x=p,y=p;for(;x>0&&this.lines.get(x).isWrapped;)x--;for(;y+1<this.lines.length&&this.lines.get(y+1).isWrapped;)y++;return{first:x,last:y}}setupTabStops(p){for(p!=null?this.tabs[p]||(p=this.prevStop(p)):(this.tabs={},p=0);p<this._cols;p+=this._optionsService.rawOptions.tabStopWidth)this.tabs[p]=!0}prevStop(p){for(p==null&&(p=this.x);!this.tabs[--p]&&p>0;);return p>=this._cols?this._cols-1:p<0?0:p}nextStop(p){for(p==null&&(p=this.x);!this.tabs[++p]&&p<this._cols;);return p>=this._cols?this._cols-1:p<0?0:p}clearMarkers(p){this._isClearing=!0;for(let x=0;x<this.markers.length;x++)this.markers[x].line===p&&(this.markers[x].dispose(),this.markers.splice(x--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let p=0;p<this.markers.length;p++)this.markers[p].dispose(),this.markers.splice(p--,1);this._isClearing=!1}addMarker(p){const x=new m.Marker(p);return this.markers.push(x),x.register(this.lines.onTrim((y=>{x.line-=y,x.line<0&&x.dispose()}))),x.register(this.lines.onInsert((y=>{x.line>=y.index&&(x.line+=y.amount)}))),x.register(this.lines.onDelete((y=>{x.line>=y.index&&x.line<y.index+y.amount&&x.dispose(),x.line>y.index&&(x.line-=y.amount)}))),x.register(x.onDispose((()=>this._removeMarker(x)))),x}_removeMarker(p){this._isClearing||this.markers.splice(this.markers.indexOf(p),1)}}},8437:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.BufferLine=o.DEFAULT_ATTR_DATA=void 0;const c=l(3734),d=l(511),u=l(643),f=l(482);o.DEFAULT_ATTR_DATA=Object.freeze(new c.AttributeData);let g=0;class v{constructor(m,O,p=!1){this.isWrapped=p,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*m);const x=O||d.CellData.fromCharData([0,u.NULL_CELL_CHAR,u.NULL_CELL_WIDTH,u.NULL_CELL_CODE]);for(let y=0;y<m;++y)this.setCell(y,x);this.length=m}get(m){const O=this._data[3*m+0],p=2097151&O;return[this._data[3*m+1],2097152&O?this._combined[m]:p?(0,f.stringFromCodePoint)(p):"",O>>22,2097152&O?this._combined[m].charCodeAt(this._combined[m].length-1):p]}set(m,O){this._data[3*m+1]=O[u.CHAR_DATA_ATTR_INDEX],O[u.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[m]=O[1],this._data[3*m+0]=2097152|m|O[u.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*m+0]=O[u.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|O[u.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(m){return this._data[3*m+0]>>22}hasWidth(m){return 12582912&this._data[3*m+0]}getFg(m){return this._data[3*m+1]}getBg(m){return this._data[3*m+2]}hasContent(m){return 4194303&this._data[3*m+0]}getCodePoint(m){const O=this._data[3*m+0];return 2097152&O?this._combined[m].charCodeAt(this._combined[m].length-1):2097151&O}isCombined(m){return 2097152&this._data[3*m+0]}getString(m){const O=this._data[3*m+0];return 2097152&O?this._combined[m]:2097151&O?(0,f.stringFromCodePoint)(2097151&O):""}isProtected(m){return 536870912&this._data[3*m+2]}loadCell(m,O){return g=3*m,O.content=this._data[g+0],O.fg=this._data[g+1],O.bg=this._data[g+2],2097152&O.content&&(O.combinedData=this._combined[m]),268435456&O.bg&&(O.extended=this._extendedAttrs[m]),O}setCell(m,O){2097152&O.content&&(this._combined[m]=O.combinedData),268435456&O.bg&&(this._extendedAttrs[m]=O.extended),this._data[3*m+0]=O.content,this._data[3*m+1]=O.fg,this._data[3*m+2]=O.bg}setCellFromCodepoint(m,O,p,x){268435456&x.bg&&(this._extendedAttrs[m]=x.extended),this._data[3*m+0]=O|p<<22,this._data[3*m+1]=x.fg,this._data[3*m+2]=x.bg}addCodepointToCell(m,O,p){let x=this._data[3*m+0];2097152&x?this._combined[m]+=(0,f.stringFromCodePoint)(O):2097151&x?(this._combined[m]=(0,f.stringFromCodePoint)(2097151&x)+(0,f.stringFromCodePoint)(O),x&=-2097152,x|=2097152):x=O|4194304,p&&(x&=-12582913,x|=p<<22),this._data[3*m+0]=x}insertCells(m,O,p){if((m%=this.length)&&this.getWidth(m-1)===2&&this.setCellFromCodepoint(m-1,0,1,p),O<this.length-m){const x=new d.CellData;for(let y=this.length-m-O-1;y>=0;--y)this.setCell(m+O+y,this.loadCell(m+y,x));for(let y=0;y<O;++y)this.setCell(m+y,p)}else for(let x=m;x<this.length;++x)this.setCell(x,p);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,p)}deleteCells(m,O,p){if(m%=this.length,O<this.length-m){const x=new d.CellData;for(let y=0;y<this.length-m-O;++y)this.setCell(m+y,this.loadCell(m+O+y,x));for(let y=this.length-O;y<this.length;++y)this.setCell(y,p)}else for(let x=m;x<this.length;++x)this.setCell(x,p);m&&this.getWidth(m-1)===2&&this.setCellFromCodepoint(m-1,0,1,p),this.getWidth(m)!==0||this.hasContent(m)||this.setCellFromCodepoint(m,0,1,p)}replaceCells(m,O,p,x=!1){if(x)for(m&&this.getWidth(m-1)===2&&!this.isProtected(m-1)&&this.setCellFromCodepoint(m-1,0,1,p),O<this.length&&this.getWidth(O-1)===2&&!this.isProtected(O)&&this.setCellFromCodepoint(O,0,1,p);m<O&&m<this.length;)this.isProtected(m)||this.setCell(m,p),m++;else for(m&&this.getWidth(m-1)===2&&this.setCellFromCodepoint(m-1,0,1,p),O<this.length&&this.getWidth(O-1)===2&&this.setCellFromCodepoint(O,0,1,p);m<O&&m<this.length;)this.setCell(m++,p)}resize(m,O){if(m===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const p=3*m;if(m>this.length){if(this._data.buffer.byteLength>=4*p)this._data=new Uint32Array(this._data.buffer,0,p);else{const x=new Uint32Array(p);x.set(this._data),this._data=x}for(let x=this.length;x<m;++x)this.setCell(x,O)}else{this._data=this._data.subarray(0,p);const x=Object.keys(this._combined);for(let _=0;_<x.length;_++){const k=parseInt(x[_],10);k>=m&&delete this._combined[k]}const y=Object.keys(this._extendedAttrs);for(let _=0;_<y.length;_++){const k=parseInt(y[_],10);k>=m&&delete this._extendedAttrs[k]}}return this.length=m,4*p*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const m=new Uint32Array(this._data.length);return m.set(this._data),this._data=m,1}return 0}fill(m,O=!1){if(O)for(let p=0;p<this.length;++p)this.isProtected(p)||this.setCell(p,m);else{this._combined={},this._extendedAttrs={};for(let p=0;p<this.length;++p)this.setCell(p,m)}}copyFrom(m){this.length!==m.length?this._data=new Uint32Array(m._data):this._data.set(m._data),this.length=m.length,this._combined={};for(const O in m._combined)this._combined[O]=m._combined[O];this._extendedAttrs={};for(const O in m._extendedAttrs)this._extendedAttrs[O]=m._extendedAttrs[O];this.isWrapped=m.isWrapped}clone(){const m=new v(0);m._data=new Uint32Array(this._data),m.length=this.length;for(const O in this._combined)m._combined[O]=this._combined[O];for(const O in this._extendedAttrs)m._extendedAttrs[O]=this._extendedAttrs[O];return m.isWrapped=this.isWrapped,m}getTrimmedLength(){for(let m=this.length-1;m>=0;--m)if(4194303&this._data[3*m+0])return m+(this._data[3*m+0]>>22);return 0}getNoBgTrimmedLength(){for(let m=this.length-1;m>=0;--m)if(4194303&this._data[3*m+0]||50331648&this._data[3*m+2])return m+(this._data[3*m+0]>>22);return 0}copyCellsFrom(m,O,p,x,y){const _=m._data;if(y)for(let w=x-1;w>=0;w--){for(let S=0;S<3;S++)this._data[3*(p+w)+S]=_[3*(O+w)+S];268435456&_[3*(O+w)+2]&&(this._extendedAttrs[p+w]=m._extendedAttrs[O+w])}else for(let w=0;w<x;w++){for(let S=0;S<3;S++)this._data[3*(p+w)+S]=_[3*(O+w)+S];268435456&_[3*(O+w)+2]&&(this._extendedAttrs[p+w]=m._extendedAttrs[O+w])}const k=Object.keys(m._combined);for(let w=0;w<k.length;w++){const S=parseInt(k[w],10);S>=O&&(this._combined[S-O+p]=m._combined[S])}}translateToString(m,O,p,x){O=O??0,p=p??this.length,m&&(p=Math.min(p,this.getTrimmedLength())),x&&(x.length=0);let y="";for(;O<p;){const _=this._data[3*O+0],k=2097151&_,w=2097152&_?this._combined[O]:k?(0,f.stringFromCodePoint)(k):u.WHITESPACE_CELL_CHAR;if(y+=w,x)for(let S=0;S<w.length;++S)x.push(O);O+=_>>22||1}return x&&x.push(O),y}}o.BufferLine=v},4841:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.getRangeLength=void 0,o.getRangeLength=function(l,c){if(l.start.y>l.end.y)throw new Error(`Buffer range end (${l.end.x}, ${l.end.y}) cannot be before start (${l.start.x}, ${l.start.y})`);return c*(l.end.y-l.start.y)+(l.end.x-l.start.x+1)}},4634:(a,o)=>{function l(c,d,u){if(d===c.length-1)return c[d].getTrimmedLength();const f=!c[d].hasContent(u-1)&&c[d].getWidth(u-1)===1,g=c[d+1].getWidth(0)===2;return f&&g?u-1:u}Object.defineProperty(o,"__esModule",{value:!0}),o.getWrappedLineTrimmedLength=o.reflowSmallerGetNewLineLengths=o.reflowLargerApplyNewLayout=o.reflowLargerCreateNewLayout=o.reflowLargerGetLinesToRemove=void 0,o.reflowLargerGetLinesToRemove=function(c,d,u,f,g){const v=[];for(let b=0;b<c.length-1;b++){let m=b,O=c.get(++m);if(!O.isWrapped)continue;const p=[c.get(b)];for(;m<c.length&&O.isWrapped;)p.push(O),O=c.get(++m);if(f>=b&&f<m){b+=p.length-1;continue}let x=0,y=l(p,x,d),_=1,k=0;for(;_<p.length;){const S=l(p,_,d),Q=S-k,N=u-y,L=Math.min(Q,N);p[x].copyCellsFrom(p[_],k,y,L,!1),y+=L,y===u&&(x++,y=0),k+=L,k===S&&(_++,k=0),y===0&&x!==0&&p[x-1].getWidth(u-1)===2&&(p[x].copyCellsFrom(p[x-1],u-1,y++,1,!1),p[x-1].setCell(u-1,g))}p[x].replaceCells(y,u,g);let w=0;for(let S=p.length-1;S>0&&(S>x||p[S].getTrimmedLength()===0);S--)w++;w>0&&(v.push(b+p.length-w),v.push(w)),b+=p.length-1}return v},o.reflowLargerCreateNewLayout=function(c,d){const u=[];let f=0,g=d[f],v=0;for(let b=0;b<c.length;b++)if(g===b){const m=d[++f];c.onDeleteEmitter.fire({index:b-v,amount:m}),b+=m-1,v+=m,g=d[++f]}else u.push(b);return{layout:u,countRemoved:v}},o.reflowLargerApplyNewLayout=function(c,d){const u=[];for(let f=0;f<d.length;f++)u.push(c.get(d[f]));for(let f=0;f<u.length;f++)c.set(f,u[f]);c.length=d.length},o.reflowSmallerGetNewLineLengths=function(c,d,u){const f=[],g=c.map(((O,p)=>l(c,p,d))).reduce(((O,p)=>O+p));let v=0,b=0,m=0;for(;m<g;){if(g-m<u){f.push(g-m);break}v+=u;const O=l(c,b,d);v>O&&(v-=O,b++);const p=c[b].getWidth(v-1)===2;p&&v--;const x=p?u-1:u;f.push(x),m+=x}return f},o.getWrappedLineTrimmedLength=l},5295:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.BufferSet=void 0;const c=l(8460),d=l(844),u=l(9092);class f extends d.Disposable{constructor(v,b){super(),this._optionsService=v,this._bufferService=b,this._onBufferActivate=this.register(new c.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this.register(this._optionsService.onSpecificOptionChange("tabStopWidth",(()=>this.setupTabStops())))}reset(){this._normal=new u.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new u.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(v){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(v),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(v,b){this._normal.resize(v,b),this._alt.resize(v,b),this.setupTabStops(v)}setupTabStops(v){this._normal.setupTabStops(v),this._alt.setupTabStops(v)}}o.BufferSet=f},511:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CellData=void 0;const c=l(482),d=l(643),u=l(3734);class f extends u.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new u.ExtendedAttrs,this.combinedData=""}static fromCharData(v){const b=new f;return b.setFromCharData(v),b}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,c.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(v){this.fg=v[d.CHAR_DATA_ATTR_INDEX],this.bg=0;let b=!1;if(v[d.CHAR_DATA_CHAR_INDEX].length>2)b=!0;else if(v[d.CHAR_DATA_CHAR_INDEX].length===2){const m=v[d.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=m&&m<=56319){const O=v[d.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=O&&O<=57343?this.content=1024*(m-55296)+O-56320+65536|v[d.CHAR_DATA_WIDTH_INDEX]<<22:b=!0}else b=!0}else this.content=v[d.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|v[d.CHAR_DATA_WIDTH_INDEX]<<22;b&&(this.combinedData=v[d.CHAR_DATA_CHAR_INDEX],this.content=2097152|v[d.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}o.CellData=f},643:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.WHITESPACE_CELL_CODE=o.WHITESPACE_CELL_WIDTH=o.WHITESPACE_CELL_CHAR=o.NULL_CELL_CODE=o.NULL_CELL_WIDTH=o.NULL_CELL_CHAR=o.CHAR_DATA_CODE_INDEX=o.CHAR_DATA_WIDTH_INDEX=o.CHAR_DATA_CHAR_INDEX=o.CHAR_DATA_ATTR_INDEX=o.DEFAULT_EXT=o.DEFAULT_ATTR=o.DEFAULT_COLOR=void 0,o.DEFAULT_COLOR=0,o.DEFAULT_ATTR=256|o.DEFAULT_COLOR<<9,o.DEFAULT_EXT=0,o.CHAR_DATA_ATTR_INDEX=0,o.CHAR_DATA_CHAR_INDEX=1,o.CHAR_DATA_WIDTH_INDEX=2,o.CHAR_DATA_CODE_INDEX=3,o.NULL_CELL_CHAR="",o.NULL_CELL_WIDTH=1,o.NULL_CELL_CODE=0,o.WHITESPACE_CELL_CHAR=" ",o.WHITESPACE_CELL_WIDTH=1,o.WHITESPACE_CELL_CODE=32},4863:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.Marker=void 0;const c=l(8460),d=l(844);class u{get id(){return this._id}constructor(g){this.line=g,this.isDisposed=!1,this._disposables=[],this._id=u._nextId++,this._onDispose=this.register(new c.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,d.disposeArray)(this._disposables),this._disposables.length=0)}register(g){return this._disposables.push(g),g}}o.Marker=u,u._nextId=1},7116:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.DEFAULT_CHARSET=o.CHARSETS=void 0,o.CHARSETS={},o.DEFAULT_CHARSET=o.CHARSETS.B,o.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},o.CHARSETS.A={"#":"£"},o.CHARSETS.B=void 0,o.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},o.CHARSETS.C=o.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},o.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},o.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},o.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},o.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},o.CHARSETS.E=o.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},o.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},o.CHARSETS.H=o.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},o.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(a,o)=>{var l,c,d;Object.defineProperty(o,"__esModule",{value:!0}),o.C1_ESCAPED=o.C1=o.C0=void 0,(function(u){u.NUL="\0",u.SOH="",u.STX="",u.ETX="",u.EOT="",u.ENQ="",u.ACK="",u.BEL="\x07",u.BS="\b",u.HT=" ",u.LF=`
47
+ `,u.VT="\v",u.FF="\f",u.CR="\r",u.SO="",u.SI="",u.DLE="",u.DC1="",u.DC2="",u.DC3="",u.DC4="",u.NAK="",u.SYN="",u.ETB="",u.CAN="",u.EM="",u.SUB="",u.ESC="\x1B",u.FS="",u.GS="",u.RS="",u.US="",u.SP=" ",u.DEL=""})(l||(o.C0=l={})),(function(u){u.PAD="€",u.HOP="",u.BPH="‚",u.NBH="ƒ",u.IND="„",u.NEL="…",u.SSA="†",u.ESA="‡",u.HTS="ˆ",u.HTJ="‰",u.VTS="Š",u.PLD="‹",u.PLU="Œ",u.RI="",u.SS2="Ž",u.SS3="",u.DCS="",u.PU1="‘",u.PU2="’",u.STS="“",u.CCH="”",u.MW="•",u.SPA="–",u.EPA="—",u.SOS="˜",u.SGCI="™",u.SCI="š",u.CSI="›",u.ST="œ",u.OSC="",u.PM="ž",u.APC="Ÿ"})(c||(o.C1=c={})),(function(u){u.ST=`${l.ESC}\\`})(d||(o.C1_ESCAPED=d={}))},7399:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.evaluateKeyboardEvent=void 0;const c=l(2584),d={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};o.evaluateKeyboardEvent=function(u,f,g,v){const b={type:0,cancel:!1,key:void 0},m=(u.shiftKey?1:0)|(u.altKey?2:0)|(u.ctrlKey?4:0)|(u.metaKey?8:0);switch(u.keyCode){case 0:u.key==="UIKeyInputUpArrow"?b.key=f?c.C0.ESC+"OA":c.C0.ESC+"[A":u.key==="UIKeyInputLeftArrow"?b.key=f?c.C0.ESC+"OD":c.C0.ESC+"[D":u.key==="UIKeyInputRightArrow"?b.key=f?c.C0.ESC+"OC":c.C0.ESC+"[C":u.key==="UIKeyInputDownArrow"&&(b.key=f?c.C0.ESC+"OB":c.C0.ESC+"[B");break;case 8:b.key=u.ctrlKey?"\b":c.C0.DEL,u.altKey&&(b.key=c.C0.ESC+b.key);break;case 9:if(u.shiftKey){b.key=c.C0.ESC+"[Z";break}b.key=c.C0.HT,b.cancel=!0;break;case 13:b.key=u.altKey?c.C0.ESC+c.C0.CR:c.C0.CR,b.cancel=!0;break;case 27:b.key=c.C0.ESC,u.altKey&&(b.key=c.C0.ESC+c.C0.ESC),b.cancel=!0;break;case 37:if(u.metaKey)break;m?(b.key=c.C0.ESC+"[1;"+(m+1)+"D",b.key===c.C0.ESC+"[1;3D"&&(b.key=c.C0.ESC+(g?"b":"[1;5D"))):b.key=f?c.C0.ESC+"OD":c.C0.ESC+"[D";break;case 39:if(u.metaKey)break;m?(b.key=c.C0.ESC+"[1;"+(m+1)+"C",b.key===c.C0.ESC+"[1;3C"&&(b.key=c.C0.ESC+(g?"f":"[1;5C"))):b.key=f?c.C0.ESC+"OC":c.C0.ESC+"[C";break;case 38:if(u.metaKey)break;m?(b.key=c.C0.ESC+"[1;"+(m+1)+"A",g||b.key!==c.C0.ESC+"[1;3A"||(b.key=c.C0.ESC+"[1;5A")):b.key=f?c.C0.ESC+"OA":c.C0.ESC+"[A";break;case 40:if(u.metaKey)break;m?(b.key=c.C0.ESC+"[1;"+(m+1)+"B",g||b.key!==c.C0.ESC+"[1;3B"||(b.key=c.C0.ESC+"[1;5B")):b.key=f?c.C0.ESC+"OB":c.C0.ESC+"[B";break;case 45:u.shiftKey||u.ctrlKey||(b.key=c.C0.ESC+"[2~");break;case 46:b.key=m?c.C0.ESC+"[3;"+(m+1)+"~":c.C0.ESC+"[3~";break;case 36:b.key=m?c.C0.ESC+"[1;"+(m+1)+"H":f?c.C0.ESC+"OH":c.C0.ESC+"[H";break;case 35:b.key=m?c.C0.ESC+"[1;"+(m+1)+"F":f?c.C0.ESC+"OF":c.C0.ESC+"[F";break;case 33:u.shiftKey?b.type=2:u.ctrlKey?b.key=c.C0.ESC+"[5;"+(m+1)+"~":b.key=c.C0.ESC+"[5~";break;case 34:u.shiftKey?b.type=3:u.ctrlKey?b.key=c.C0.ESC+"[6;"+(m+1)+"~":b.key=c.C0.ESC+"[6~";break;case 112:b.key=m?c.C0.ESC+"[1;"+(m+1)+"P":c.C0.ESC+"OP";break;case 113:b.key=m?c.C0.ESC+"[1;"+(m+1)+"Q":c.C0.ESC+"OQ";break;case 114:b.key=m?c.C0.ESC+"[1;"+(m+1)+"R":c.C0.ESC+"OR";break;case 115:b.key=m?c.C0.ESC+"[1;"+(m+1)+"S":c.C0.ESC+"OS";break;case 116:b.key=m?c.C0.ESC+"[15;"+(m+1)+"~":c.C0.ESC+"[15~";break;case 117:b.key=m?c.C0.ESC+"[17;"+(m+1)+"~":c.C0.ESC+"[17~";break;case 118:b.key=m?c.C0.ESC+"[18;"+(m+1)+"~":c.C0.ESC+"[18~";break;case 119:b.key=m?c.C0.ESC+"[19;"+(m+1)+"~":c.C0.ESC+"[19~";break;case 120:b.key=m?c.C0.ESC+"[20;"+(m+1)+"~":c.C0.ESC+"[20~";break;case 121:b.key=m?c.C0.ESC+"[21;"+(m+1)+"~":c.C0.ESC+"[21~";break;case 122:b.key=m?c.C0.ESC+"[23;"+(m+1)+"~":c.C0.ESC+"[23~";break;case 123:b.key=m?c.C0.ESC+"[24;"+(m+1)+"~":c.C0.ESC+"[24~";break;default:if(!u.ctrlKey||u.shiftKey||u.altKey||u.metaKey)if(g&&!v||!u.altKey||u.metaKey)!g||u.altKey||u.ctrlKey||u.shiftKey||!u.metaKey?u.key&&!u.ctrlKey&&!u.altKey&&!u.metaKey&&u.keyCode>=48&&u.key.length===1?b.key=u.key:u.key&&u.ctrlKey&&(u.key==="_"&&(b.key=c.C0.US),u.key==="@"&&(b.key=c.C0.NUL)):u.keyCode===65&&(b.type=1);else{const O=d[u.keyCode],p=O?.[u.shiftKey?1:0];if(p)b.key=c.C0.ESC+p;else if(u.keyCode>=65&&u.keyCode<=90){const x=u.ctrlKey?u.keyCode-64:u.keyCode+32;let y=String.fromCharCode(x);u.shiftKey&&(y=y.toUpperCase()),b.key=c.C0.ESC+y}else if(u.keyCode===32)b.key=c.C0.ESC+(u.ctrlKey?c.C0.NUL:" ");else if(u.key==="Dead"&&u.code.startsWith("Key")){let x=u.code.slice(3,4);u.shiftKey||(x=x.toLowerCase()),b.key=c.C0.ESC+x,b.cancel=!0}}else u.keyCode>=65&&u.keyCode<=90?b.key=String.fromCharCode(u.keyCode-64):u.keyCode===32?b.key=c.C0.NUL:u.keyCode>=51&&u.keyCode<=55?b.key=String.fromCharCode(u.keyCode-51+27):u.keyCode===56?b.key=c.C0.DEL:u.keyCode===219?b.key=c.C0.ESC:u.keyCode===220?b.key=c.C0.FS:u.keyCode===221&&(b.key=c.C0.GS)}return b}},482:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.Utf8ToUtf32=o.StringToUtf32=o.utf32ToString=o.stringFromCodePoint=void 0,o.stringFromCodePoint=function(l){return l>65535?(l-=65536,String.fromCharCode(55296+(l>>10))+String.fromCharCode(l%1024+56320)):String.fromCharCode(l)},o.utf32ToString=function(l,c=0,d=l.length){let u="";for(let f=c;f<d;++f){let g=l[f];g>65535?(g-=65536,u+=String.fromCharCode(55296+(g>>10))+String.fromCharCode(g%1024+56320)):u+=String.fromCharCode(g)}return u},o.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(l,c){const d=l.length;if(!d)return 0;let u=0,f=0;if(this._interim){const g=l.charCodeAt(f++);56320<=g&&g<=57343?c[u++]=1024*(this._interim-55296)+g-56320+65536:(c[u++]=this._interim,c[u++]=g),this._interim=0}for(let g=f;g<d;++g){const v=l.charCodeAt(g);if(55296<=v&&v<=56319){if(++g>=d)return this._interim=v,u;const b=l.charCodeAt(g);56320<=b&&b<=57343?c[u++]=1024*(v-55296)+b-56320+65536:(c[u++]=v,c[u++]=b)}else v!==65279&&(c[u++]=v)}return u}},o.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(l,c){const d=l.length;if(!d)return 0;let u,f,g,v,b=0,m=0,O=0;if(this.interim[0]){let y=!1,_=this.interim[0];_&=(224&_)==192?31:(240&_)==224?15:7;let k,w=0;for(;(k=63&this.interim[++w])&&w<4;)_<<=6,_|=k;const S=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,Q=S-w;for(;O<Q;){if(O>=d)return 0;if(k=l[O++],(192&k)!=128){O--,y=!0;break}this.interim[w++]=k,_<<=6,_|=63&k}y||(S===2?_<128?O--:c[b++]=_:S===3?_<2048||_>=55296&&_<=57343||_===65279||(c[b++]=_):_<65536||_>1114111||(c[b++]=_)),this.interim.fill(0)}const p=d-4;let x=O;for(;x<d;){for(;!(!(x<p)||128&(u=l[x])||128&(f=l[x+1])||128&(g=l[x+2])||128&(v=l[x+3]));)c[b++]=u,c[b++]=f,c[b++]=g,c[b++]=v,x+=4;if(u=l[x++],u<128)c[b++]=u;else if((224&u)==192){if(x>=d)return this.interim[0]=u,b;if(f=l[x++],(192&f)!=128){x--;continue}if(m=(31&u)<<6|63&f,m<128){x--;continue}c[b++]=m}else if((240&u)==224){if(x>=d)return this.interim[0]=u,b;if(f=l[x++],(192&f)!=128){x--;continue}if(x>=d)return this.interim[0]=u,this.interim[1]=f,b;if(g=l[x++],(192&g)!=128){x--;continue}if(m=(15&u)<<12|(63&f)<<6|63&g,m<2048||m>=55296&&m<=57343||m===65279)continue;c[b++]=m}else if((248&u)==240){if(x>=d)return this.interim[0]=u,b;if(f=l[x++],(192&f)!=128){x--;continue}if(x>=d)return this.interim[0]=u,this.interim[1]=f,b;if(g=l[x++],(192&g)!=128){x--;continue}if(x>=d)return this.interim[0]=u,this.interim[1]=f,this.interim[2]=g,b;if(v=l[x++],(192&v)!=128){x--;continue}if(m=(7&u)<<18|(63&f)<<12|(63&g)<<6|63&v,m<65536||m>1114111)continue;c[b++]=m}}return b}}},225:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.UnicodeV6=void 0;const c=l(1480),d=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],u=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let f;o.UnicodeV6=class{constructor(){if(this.version="6",!f){f=new Uint8Array(65536),f.fill(1),f[0]=0,f.fill(0,1,32),f.fill(0,127,160),f.fill(2,4352,4448),f[9001]=2,f[9002]=2,f.fill(2,11904,42192),f[12351]=1,f.fill(2,44032,55204),f.fill(2,63744,64256),f.fill(2,65040,65050),f.fill(2,65072,65136),f.fill(2,65280,65377),f.fill(2,65504,65511);for(let g=0;g<d.length;++g)f.fill(0,d[g][0],d[g][1]+1)}}wcwidth(g){return g<32?0:g<127?1:g<65536?f[g]:(function(v,b){let m,O=0,p=b.length-1;if(v<b[0][0]||v>b[p][1])return!1;for(;p>=O;)if(m=O+p>>1,v>b[m][1])O=m+1;else{if(!(v<b[m][0]))return!0;p=m-1}return!1})(g,u)?0:g>=131072&&g<=196605||g>=196608&&g<=262141?2:1}charProperties(g,v){let b=this.wcwidth(g),m=b===0&&v!==0;if(m){const O=c.UnicodeService.extractWidth(v);O===0?m=!1:O>b&&(b=O)}return c.UnicodeService.createPropertyValue(0,b,m)}}},5981:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.WriteBuffer=void 0;const c=l(8460),d=l(844);class u extends d.Disposable{constructor(g){super(),this._action=g,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new c.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(g,v){if(v!==void 0&&this._syncCalls>v)return void(this._syncCalls=0);if(this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let b;for(this._isSyncWriting=!0;b=this._writeBuffer.shift();){this._action(b);const m=this._callbacks.shift();m&&m()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(g,v){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(v),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(v)}_innerWrite(g=0,v=!0){const b=g||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const m=this._writeBuffer[this._bufferOffset],O=this._action(m,v);if(O){const x=y=>Date.now()-b>=12?setTimeout((()=>this._innerWrite(0,y))):this._innerWrite(b,y);return void O.catch((y=>(queueMicrotask((()=>{throw y})),Promise.resolve(!1)))).then(x)}const p=this._callbacks[this._bufferOffset];if(p&&p(),this._bufferOffset++,this._pendingData-=m.length,Date.now()-b>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}o.WriteBuffer=u},5941:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.toRgbString=o.parseColor=void 0;const l=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,c=/^[\da-f]+$/;function d(u,f){const g=u.toString(16),v=g.length<2?"0"+g:g;switch(f){case 4:return g[0];case 8:return v;case 12:return(v+v).slice(0,3);default:return v+v}}o.parseColor=function(u){if(!u)return;let f=u.toLowerCase();if(f.indexOf("rgb:")===0){f=f.slice(4);const g=l.exec(f);if(g){const v=g[1]?15:g[4]?255:g[7]?4095:65535;return[Math.round(parseInt(g[1]||g[4]||g[7]||g[10],16)/v*255),Math.round(parseInt(g[2]||g[5]||g[8]||g[11],16)/v*255),Math.round(parseInt(g[3]||g[6]||g[9]||g[12],16)/v*255)]}}else if(f.indexOf("#")===0&&(f=f.slice(1),c.exec(f)&&[3,6,9,12].includes(f.length))){const g=f.length/3,v=[0,0,0];for(let b=0;b<3;++b){const m=parseInt(f.slice(g*b,g*b+g),16);v[b]=g===1?m<<4:g===2?m:g===3?m>>4:m>>8}return v}},o.toRgbString=function(u,f=16){const[g,v,b]=u;return`rgb:${d(g,f)}/${d(v,f)}/${d(b,f)}`}},5770:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.PAYLOAD_LIMIT=void 0,o.PAYLOAD_LIMIT=1e7},6351:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.DcsHandler=o.DcsParser=void 0;const c=l(482),d=l(8742),u=l(5770),f=[];o.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=f,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=f}registerHandler(v,b){this._handlers[v]===void 0&&(this._handlers[v]=[]);const m=this._handlers[v];return m.push(b),{dispose:()=>{const O=m.indexOf(b);O!==-1&&m.splice(O,1)}}}clearHandler(v){this._handlers[v]&&delete this._handlers[v]}setHandlerFallback(v){this._handlerFb=v}reset(){if(this._active.length)for(let v=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;v>=0;--v)this._active[v].unhook(!1);this._stack.paused=!1,this._active=f,this._ident=0}hook(v,b){if(this.reset(),this._ident=v,this._active=this._handlers[v]||f,this._active.length)for(let m=this._active.length-1;m>=0;m--)this._active[m].hook(b);else this._handlerFb(this._ident,"HOOK",b)}put(v,b,m){if(this._active.length)for(let O=this._active.length-1;O>=0;O--)this._active[O].put(v,b,m);else this._handlerFb(this._ident,"PUT",(0,c.utf32ToString)(v,b,m))}unhook(v,b=!0){if(this._active.length){let m=!1,O=this._active.length-1,p=!1;if(this._stack.paused&&(O=this._stack.loopPosition-1,m=b,p=this._stack.fallThrough,this._stack.paused=!1),!p&&m===!1){for(;O>=0&&(m=this._active[O].unhook(v),m!==!0);O--)if(m instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=O,this._stack.fallThrough=!1,m;O--}for(;O>=0;O--)if(m=this._active[O].unhook(!1),m instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=O,this._stack.fallThrough=!0,m}else this._handlerFb(this._ident,"UNHOOK",v);this._active=f,this._ident=0}};const g=new d.Params;g.addParam(0),o.DcsHandler=class{constructor(v){this._handler=v,this._data="",this._params=g,this._hitLimit=!1}hook(v){this._params=v.length>1||v.params[0]?v.clone():g,this._data="",this._hitLimit=!1}put(v,b,m){this._hitLimit||(this._data+=(0,c.utf32ToString)(v,b,m),this._data.length>u.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(v){let b=!1;if(this._hitLimit)b=!1;else if(v&&(b=this._handler(this._data,this._params),b instanceof Promise))return b.then((m=>(this._params=g,this._data="",this._hitLimit=!1,m)));return this._params=g,this._data="",this._hitLimit=!1,b}}},2015:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.EscapeSequenceParser=o.VT500_TRANSITION_TABLE=o.TransitionTable=void 0;const c=l(844),d=l(8742),u=l(6242),f=l(6351);class g{constructor(O){this.table=new Uint8Array(O)}setDefault(O,p){this.table.fill(O<<4|p)}add(O,p,x,y){this.table[p<<8|O]=x<<4|y}addMany(O,p,x,y){for(let _=0;_<O.length;_++)this.table[p<<8|O[_]]=x<<4|y}}o.TransitionTable=g;const v=160;o.VT500_TRANSITION_TABLE=(function(){const m=new g(4095),O=Array.apply(null,Array(256)).map(((w,S)=>S)),p=(w,S)=>O.slice(w,S),x=p(32,127),y=p(0,24);y.push(25),y.push.apply(y,p(28,32));const _=p(0,14);let k;for(k in m.setDefault(1,0),m.addMany(x,0,2,0),_)m.addMany([24,26,153,154],k,3,0),m.addMany(p(128,144),k,3,0),m.addMany(p(144,152),k,3,0),m.add(156,k,0,0),m.add(27,k,11,1),m.add(157,k,4,8),m.addMany([152,158,159],k,0,7),m.add(155,k,11,3),m.add(144,k,11,9);return m.addMany(y,0,3,0),m.addMany(y,1,3,1),m.add(127,1,0,1),m.addMany(y,8,0,8),m.addMany(y,3,3,3),m.add(127,3,0,3),m.addMany(y,4,3,4),m.add(127,4,0,4),m.addMany(y,6,3,6),m.addMany(y,5,3,5),m.add(127,5,0,5),m.addMany(y,2,3,2),m.add(127,2,0,2),m.add(93,1,4,8),m.addMany(x,8,5,8),m.add(127,8,5,8),m.addMany([156,27,24,26,7],8,6,0),m.addMany(p(28,32),8,0,8),m.addMany([88,94,95],1,0,7),m.addMany(x,7,0,7),m.addMany(y,7,0,7),m.add(156,7,0,0),m.add(127,7,0,7),m.add(91,1,11,3),m.addMany(p(64,127),3,7,0),m.addMany(p(48,60),3,8,4),m.addMany([60,61,62,63],3,9,4),m.addMany(p(48,60),4,8,4),m.addMany(p(64,127),4,7,0),m.addMany([60,61,62,63],4,0,6),m.addMany(p(32,64),6,0,6),m.add(127,6,0,6),m.addMany(p(64,127),6,0,0),m.addMany(p(32,48),3,9,5),m.addMany(p(32,48),5,9,5),m.addMany(p(48,64),5,0,6),m.addMany(p(64,127),5,7,0),m.addMany(p(32,48),4,9,5),m.addMany(p(32,48),1,9,2),m.addMany(p(32,48),2,9,2),m.addMany(p(48,127),2,10,0),m.addMany(p(48,80),1,10,0),m.addMany(p(81,88),1,10,0),m.addMany([89,90,92],1,10,0),m.addMany(p(96,127),1,10,0),m.add(80,1,11,9),m.addMany(y,9,0,9),m.add(127,9,0,9),m.addMany(p(28,32),9,0,9),m.addMany(p(32,48),9,9,12),m.addMany(p(48,60),9,8,10),m.addMany([60,61,62,63],9,9,10),m.addMany(y,11,0,11),m.addMany(p(32,128),11,0,11),m.addMany(p(28,32),11,0,11),m.addMany(y,10,0,10),m.add(127,10,0,10),m.addMany(p(28,32),10,0,10),m.addMany(p(48,60),10,8,10),m.addMany([60,61,62,63],10,0,11),m.addMany(p(32,48),10,9,12),m.addMany(y,12,0,12),m.add(127,12,0,12),m.addMany(p(28,32),12,0,12),m.addMany(p(32,48),12,9,12),m.addMany(p(48,64),12,0,11),m.addMany(p(64,127),12,12,13),m.addMany(p(64,127),10,12,13),m.addMany(p(64,127),9,12,13),m.addMany(y,13,13,13),m.addMany(x,13,13,13),m.add(127,13,0,13),m.addMany([27,156,24,26],13,14,0),m.add(v,0,2,0),m.add(v,8,5,8),m.add(v,6,0,6),m.add(v,11,0,11),m.add(v,13,13,13),m})();class b extends c.Disposable{constructor(O=o.VT500_TRANSITION_TABLE){super(),this._transitions=O,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new d.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(p,x,y)=>{},this._executeHandlerFb=p=>{},this._csiHandlerFb=(p,x)=>{},this._escHandlerFb=p=>{},this._errorHandlerFb=p=>p,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,c.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new u.OscParser),this._dcsParser=this.register(new f.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},(()=>!0))}_identifier(O,p=[64,126]){let x=0;if(O.prefix){if(O.prefix.length>1)throw new Error("only one byte as prefix supported");if(x=O.prefix.charCodeAt(0),x&&60>x||x>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(O.intermediates){if(O.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let _=0;_<O.intermediates.length;++_){const k=O.intermediates.charCodeAt(_);if(32>k||k>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");x<<=8,x|=k}}if(O.final.length!==1)throw new Error("final must be a single byte");const y=O.final.charCodeAt(0);if(p[0]>y||y>p[1])throw new Error(`final must be in range ${p[0]} .. ${p[1]}`);return x<<=8,x|=y,x}identToString(O){const p=[];for(;O;)p.push(String.fromCharCode(255&O)),O>>=8;return p.reverse().join("")}setPrintHandler(O){this._printHandler=O}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(O,p){const x=this._identifier(O,[48,126]);this._escHandlers[x]===void 0&&(this._escHandlers[x]=[]);const y=this._escHandlers[x];return y.push(p),{dispose:()=>{const _=y.indexOf(p);_!==-1&&y.splice(_,1)}}}clearEscHandler(O){this._escHandlers[this._identifier(O,[48,126])]&&delete this._escHandlers[this._identifier(O,[48,126])]}setEscHandlerFallback(O){this._escHandlerFb=O}setExecuteHandler(O,p){this._executeHandlers[O.charCodeAt(0)]=p}clearExecuteHandler(O){this._executeHandlers[O.charCodeAt(0)]&&delete this._executeHandlers[O.charCodeAt(0)]}setExecuteHandlerFallback(O){this._executeHandlerFb=O}registerCsiHandler(O,p){const x=this._identifier(O);this._csiHandlers[x]===void 0&&(this._csiHandlers[x]=[]);const y=this._csiHandlers[x];return y.push(p),{dispose:()=>{const _=y.indexOf(p);_!==-1&&y.splice(_,1)}}}clearCsiHandler(O){this._csiHandlers[this._identifier(O)]&&delete this._csiHandlers[this._identifier(O)]}setCsiHandlerFallback(O){this._csiHandlerFb=O}registerDcsHandler(O,p){return this._dcsParser.registerHandler(this._identifier(O),p)}clearDcsHandler(O){this._dcsParser.clearHandler(this._identifier(O))}setDcsHandlerFallback(O){this._dcsParser.setHandlerFallback(O)}registerOscHandler(O,p){return this._oscParser.registerHandler(O,p)}clearOscHandler(O){this._oscParser.clearHandler(O)}setOscHandlerFallback(O){this._oscParser.setHandlerFallback(O)}setErrorHandler(O){this._errorHandler=O}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(O,p,x,y,_){this._parseStack.state=O,this._parseStack.handlers=p,this._parseStack.handlerPos=x,this._parseStack.transition=y,this._parseStack.chunkPos=_}parse(O,p,x){let y,_=0,k=0,w=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,w=this._parseStack.chunkPos+1;else{if(x===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const S=this._parseStack.handlers;let Q=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(x===!1&&Q>-1){for(;Q>=0&&(y=S[Q](this._params),y!==!0);Q--)if(y instanceof Promise)return this._parseStack.handlerPos=Q,y}this._parseStack.handlers=[];break;case 4:if(x===!1&&Q>-1){for(;Q>=0&&(y=S[Q](),y!==!0);Q--)if(y instanceof Promise)return this._parseStack.handlerPos=Q,y}this._parseStack.handlers=[];break;case 6:if(_=O[this._parseStack.chunkPos],y=this._dcsParser.unhook(_!==24&&_!==26,x),y)return y;_===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(_=O[this._parseStack.chunkPos],y=this._oscParser.end(_!==24&&_!==26,x),y)return y;_===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,w=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let S=w;S<p;++S){switch(_=O[S],k=this._transitions.table[this.currentState<<8|(_<160?_:v)],k>>4){case 2:for(let j=S+1;;++j){if(j>=p||(_=O[j])<32||_>126&&_<v){this._printHandler(O,S,j),S=j-1;break}if(++j>=p||(_=O[j])<32||_>126&&_<v){this._printHandler(O,S,j),S=j-1;break}if(++j>=p||(_=O[j])<32||_>126&&_<v){this._printHandler(O,S,j),S=j-1;break}if(++j>=p||(_=O[j])<32||_>126&&_<v){this._printHandler(O,S,j),S=j-1;break}}break;case 3:this._executeHandlers[_]?this._executeHandlers[_]():this._executeHandlerFb(_),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:S,code:_,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const Q=this._csiHandlers[this._collect<<8|_];let N=Q?Q.length-1:-1;for(;N>=0&&(y=Q[N](this._params),y!==!0);N--)if(y instanceof Promise)return this._preserveStack(3,Q,N,k,S),y;N<0&&this._csiHandlerFb(this._collect<<8|_,this._params),this.precedingJoinState=0;break;case 8:do switch(_){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(_-48)}while(++S<p&&(_=O[S])>47&&_<60);S--;break;case 9:this._collect<<=8,this._collect|=_;break;case 10:const L=this._escHandlers[this._collect<<8|_];let $=L?L.length-1:-1;for(;$>=0&&(y=L[$](),y!==!0);$--)if(y instanceof Promise)return this._preserveStack(4,L,$,k,S),y;$<0&&this._escHandlerFb(this._collect<<8|_),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|_,this._params);break;case 13:for(let j=S+1;;++j)if(j>=p||(_=O[j])===24||_===26||_===27||_>127&&_<v){this._dcsParser.put(O,S,j),S=j-1;break}break;case 14:if(y=this._dcsParser.unhook(_!==24&&_!==26),y)return this._preserveStack(6,[],0,k,S),y;_===27&&(k|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let j=S+1;;j++)if(j>=p||(_=O[j])<32||_>127&&_<v){this._oscParser.put(O,S,j),S=j-1;break}break;case 6:if(y=this._oscParser.end(_!==24&&_!==26),y)return this._preserveStack(5,[],0,k,S),y;_===27&&(k|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&k}}}o.EscapeSequenceParser=b},6242:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.OscHandler=o.OscParser=void 0;const c=l(5770),d=l(482),u=[];o.OscParser=class{constructor(){this._state=0,this._active=u,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(f,g){this._handlers[f]===void 0&&(this._handlers[f]=[]);const v=this._handlers[f];return v.push(g),{dispose:()=>{const b=v.indexOf(g);b!==-1&&v.splice(b,1)}}}clearHandler(f){this._handlers[f]&&delete this._handlers[f]}setHandlerFallback(f){this._handlerFb=f}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=u}reset(){if(this._state===2)for(let f=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;f>=0;--f)this._active[f].end(!1);this._stack.paused=!1,this._active=u,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||u,this._active.length)for(let f=this._active.length-1;f>=0;f--)this._active[f].start();else this._handlerFb(this._id,"START")}_put(f,g,v){if(this._active.length)for(let b=this._active.length-1;b>=0;b--)this._active[b].put(f,g,v);else this._handlerFb(this._id,"PUT",(0,d.utf32ToString)(f,g,v))}start(){this.reset(),this._state=1}put(f,g,v){if(this._state!==3){if(this._state===1)for(;g<v;){const b=f[g++];if(b===59){this._state=2,this._start();break}if(b<48||57<b)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+b-48}this._state===2&&v-g>0&&this._put(f,g,v)}}end(f,g=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let v=!1,b=this._active.length-1,m=!1;if(this._stack.paused&&(b=this._stack.loopPosition-1,v=g,m=this._stack.fallThrough,this._stack.paused=!1),!m&&v===!1){for(;b>=0&&(v=this._active[b].end(f),v!==!0);b--)if(v instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=b,this._stack.fallThrough=!1,v;b--}for(;b>=0;b--)if(v=this._active[b].end(!1),v instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=b,this._stack.fallThrough=!0,v}else this._handlerFb(this._id,"END",f);this._active=u,this._id=-1,this._state=0}}},o.OscHandler=class{constructor(f){this._handler=f,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(f,g,v){this._hitLimit||(this._data+=(0,d.utf32ToString)(f,g,v),this._data.length>c.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(f){let g=!1;if(this._hitLimit)g=!1;else if(f&&(g=this._handler(this._data),g instanceof Promise))return g.then((v=>(this._data="",this._hitLimit=!1,v)));return this._data="",this._hitLimit=!1,g}}},8742:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.Params=void 0;const l=2147483647;class c{static fromArray(u){const f=new c;if(!u.length)return f;for(let g=Array.isArray(u[0])?1:0;g<u.length;++g){const v=u[g];if(Array.isArray(v))for(let b=0;b<v.length;++b)f.addSubParam(v[b]);else f.addParam(v)}return f}constructor(u=32,f=32){if(this.maxLength=u,this.maxSubParamsLength=f,f>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(u),this.length=0,this._subParams=new Int32Array(f),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(u),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const u=new c(this.maxLength,this.maxSubParamsLength);return u.params.set(this.params),u.length=this.length,u._subParams.set(this._subParams),u._subParamsLength=this._subParamsLength,u._subParamsIdx.set(this._subParamsIdx),u._rejectDigits=this._rejectDigits,u._rejectSubDigits=this._rejectSubDigits,u._digitIsSub=this._digitIsSub,u}toArray(){const u=[];for(let f=0;f<this.length;++f){u.push(this.params[f]);const g=this._subParamsIdx[f]>>8,v=255&this._subParamsIdx[f];v-g>0&&u.push(Array.prototype.slice.call(this._subParams,g,v))}return u}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(u){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(u<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=u>l?l:u}}addSubParam(u){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(u<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=u>l?l:u,this._subParamsIdx[this.length-1]++}}hasSubParams(u){return(255&this._subParamsIdx[u])-(this._subParamsIdx[u]>>8)>0}getSubParams(u){const f=this._subParamsIdx[u]>>8,g=255&this._subParamsIdx[u];return g-f>0?this._subParams.subarray(f,g):null}getSubParamsAll(){const u={};for(let f=0;f<this.length;++f){const g=this._subParamsIdx[f]>>8,v=255&this._subParamsIdx[f];v-g>0&&(u[f]=this._subParams.slice(g,v))}return u}addDigit(u){let f;if(this._rejectDigits||!(f=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const g=this._digitIsSub?this._subParams:this.params,v=g[f-1];g[f-1]=~v?Math.min(10*v+u,l):u}}o.Params=c},5741:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.AddonManager=void 0,o.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let l=this._addons.length-1;l>=0;l--)this._addons[l].instance.dispose()}loadAddon(l,c){const d={instance:c,dispose:c.dispose,isDisposed:!1};this._addons.push(d),c.dispose=()=>this._wrappedAddonDispose(d),c.activate(l)}_wrappedAddonDispose(l){if(l.isDisposed)return;let c=-1;for(let d=0;d<this._addons.length;d++)if(this._addons[d]===l){c=d;break}if(c===-1)throw new Error("Could not dispose an addon that has not been loaded");l.isDisposed=!0,l.dispose.apply(l.instance),this._addons.splice(c,1)}}},8771:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.BufferApiView=void 0;const c=l(3785),d=l(511);o.BufferApiView=class{constructor(u,f){this._buffer=u,this.type=f}init(u){return this._buffer=u,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(u){const f=this._buffer.lines.get(u);if(f)return new c.BufferLineApiView(f)}getNullCell(){return new d.CellData}}},3785:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.BufferLineApiView=void 0;const c=l(511);o.BufferLineApiView=class{constructor(d){this._line=d}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(d,u){if(!(d<0||d>=this._line.length))return u?(this._line.loadCell(d,u),u):this._line.loadCell(d,new c.CellData)}translateToString(d,u,f){return this._line.translateToString(d,u,f)}}},8285:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.BufferNamespaceApi=void 0;const c=l(8771),d=l(8460),u=l(844);class f extends u.Disposable{constructor(v){super(),this._core=v,this._onBufferChange=this.register(new d.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new c.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new c.BufferApiView(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)}}o.BufferNamespaceApi=f},7975:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ParserApi=void 0,o.ParserApi=class{constructor(l){this._core=l}registerCsiHandler(l,c){return this._core.registerCsiHandler(l,(d=>c(d.toArray())))}addCsiHandler(l,c){return this.registerCsiHandler(l,c)}registerDcsHandler(l,c){return this._core.registerDcsHandler(l,((d,u)=>c(d,u.toArray())))}addDcsHandler(l,c){return this.registerDcsHandler(l,c)}registerEscHandler(l,c){return this._core.registerEscHandler(l,c)}addEscHandler(l,c){return this.registerEscHandler(l,c)}registerOscHandler(l,c){return this._core.registerOscHandler(l,c)}addOscHandler(l,c){return this.registerOscHandler(l,c)}}},7090:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.UnicodeApi=void 0,o.UnicodeApi=class{constructor(l){this._core=l}register(l){this._core.unicodeService.register(l)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(l){this._core.unicodeService.activeVersion=l}}},744:function(a,o,l){var c=this&&this.__decorate||function(m,O,p,x){var y,_=arguments.length,k=_<3?O:x===null?x=Object.getOwnPropertyDescriptor(O,p):x;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(m,O,p,x);else for(var w=m.length-1;w>=0;w--)(y=m[w])&&(k=(_<3?y(k):_>3?y(O,p,k):y(O,p))||k);return _>3&&k&&Object.defineProperty(O,p,k),k},d=this&&this.__param||function(m,O){return function(p,x){O(p,x,m)}};Object.defineProperty(o,"__esModule",{value:!0}),o.BufferService=o.MINIMUM_ROWS=o.MINIMUM_COLS=void 0;const u=l(8460),f=l(844),g=l(5295),v=l(2585);o.MINIMUM_COLS=2,o.MINIMUM_ROWS=1;let b=o.BufferService=class extends f.Disposable{get buffer(){return this.buffers.active}constructor(m){super(),this.isUserScrolling=!1,this._onResize=this.register(new u.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new u.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(m.rawOptions.cols||0,o.MINIMUM_COLS),this.rows=Math.max(m.rawOptions.rows||0,o.MINIMUM_ROWS),this.buffers=this.register(new g.BufferSet(m,this))}resize(m,O){this.cols=m,this.rows=O,this.buffers.resize(m,O),this._onResize.fire({cols:m,rows:O})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(m,O=!1){const p=this.buffer;let x;x=this._cachedBlankLine,x&&x.length===this.cols&&x.getFg(0)===m.fg&&x.getBg(0)===m.bg||(x=p.getBlankLine(m,O),this._cachedBlankLine=x),x.isWrapped=O;const y=p.ybase+p.scrollTop,_=p.ybase+p.scrollBottom;if(p.scrollTop===0){const k=p.lines.isFull;_===p.lines.length-1?k?p.lines.recycle().copyFrom(x):p.lines.push(x.clone()):p.lines.splice(_+1,0,x.clone()),k?this.isUserScrolling&&(p.ydisp=Math.max(p.ydisp-1,0)):(p.ybase++,this.isUserScrolling||p.ydisp++)}else{const k=_-y+1;p.lines.shiftElements(y+1,k-1,-1),p.lines.set(_,x.clone())}this.isUserScrolling||(p.ydisp=p.ybase),this._onScroll.fire(p.ydisp)}scrollLines(m,O,p){const x=this.buffer;if(m<0){if(x.ydisp===0)return;this.isUserScrolling=!0}else m+x.ydisp>=x.ybase&&(this.isUserScrolling=!1);const y=x.ydisp;x.ydisp=Math.max(Math.min(x.ydisp+m,x.ybase),0),y!==x.ydisp&&(O||this._onScroll.fire(x.ydisp))}};o.BufferService=b=c([d(0,v.IOptionsService)],b)},7994:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CharsetService=void 0,o.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(l){this.glevel=l,this.charset=this._charsets[l]}setgCharset(l,c){this._charsets[l]=c,this.glevel===l&&(this.charset=c)}}},1753:function(a,o,l){var c=this&&this.__decorate||function(x,y,_,k){var w,S=arguments.length,Q=S<3?y:k===null?k=Object.getOwnPropertyDescriptor(y,_):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Q=Reflect.decorate(x,y,_,k);else for(var N=x.length-1;N>=0;N--)(w=x[N])&&(Q=(S<3?w(Q):S>3?w(y,_,Q):w(y,_))||Q);return S>3&&Q&&Object.defineProperty(y,_,Q),Q},d=this&&this.__param||function(x,y){return function(_,k){y(_,k,x)}};Object.defineProperty(o,"__esModule",{value:!0}),o.CoreMouseService=void 0;const u=l(2585),f=l(8460),g=l(844),v={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:x=>x.button!==4&&x.action===1&&(x.ctrl=!1,x.alt=!1,x.shift=!1,!0)},VT200:{events:19,restrict:x=>x.action!==32},DRAG:{events:23,restrict:x=>x.action!==32||x.button!==3},ANY:{events:31,restrict:x=>!0}};function b(x,y){let _=(x.ctrl?16:0)|(x.shift?4:0)|(x.alt?8:0);return x.button===4?(_|=64,_|=x.action):(_|=3&x.button,4&x.button&&(_|=64),8&x.button&&(_|=128),x.action===32?_|=32:x.action!==0||y||(_|=3)),_}const m=String.fromCharCode,O={DEFAULT:x=>{const y=[b(x,!1)+32,x.col+32,x.row+32];return y[0]>255||y[1]>255||y[2]>255?"":`\x1B[M${m(y[0])}${m(y[1])}${m(y[2])}`},SGR:x=>{const y=x.action===0&&x.button!==4?"m":"M";return`\x1B[<${b(x,!0)};${x.col};${x.row}${y}`},SGR_PIXELS:x=>{const y=x.action===0&&x.button!==4?"m":"M";return`\x1B[<${b(x,!0)};${x.x};${x.y}${y}`}};let p=o.CoreMouseService=class extends g.Disposable{constructor(x,y){super(),this._bufferService=x,this._coreService=y,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new f.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const _ of Object.keys(v))this.addProtocol(_,v[_]);for(const _ of Object.keys(O))this.addEncoding(_,O[_]);this.reset()}addProtocol(x,y){this._protocols[x]=y}addEncoding(x,y){this._encodings[x]=y}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(x){if(!this._protocols[x])throw new Error(`unknown protocol "${x}"`);this._activeProtocol=x,this._onProtocolChange.fire(this._protocols[x].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(x){if(!this._encodings[x])throw new Error(`unknown encoding "${x}"`);this._activeEncoding=x}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(x){if(x.col<0||x.col>=this._bufferService.cols||x.row<0||x.row>=this._bufferService.rows||x.button===4&&x.action===32||x.button===3&&x.action!==32||x.button!==4&&(x.action===2||x.action===3)||(x.col++,x.row++,x.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,x,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(x))return!1;const y=this._encodings[this._activeEncoding](x);return y&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(y):this._coreService.triggerDataEvent(y,!0)),this._lastEvent=x,!0}explainEvents(x){return{down:!!(1&x),up:!!(2&x),drag:!!(4&x),move:!!(8&x),wheel:!!(16&x)}}_equalEvents(x,y,_){if(_){if(x.x!==y.x||x.y!==y.y)return!1}else if(x.col!==y.col||x.row!==y.row)return!1;return x.button===y.button&&x.action===y.action&&x.ctrl===y.ctrl&&x.alt===y.alt&&x.shift===y.shift}};o.CoreMouseService=p=c([d(0,u.IBufferService),d(1,u.ICoreService)],p)},6975:function(a,o,l){var c=this&&this.__decorate||function(p,x,y,_){var k,w=arguments.length,S=w<3?x:_===null?_=Object.getOwnPropertyDescriptor(x,y):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(p,x,y,_);else for(var Q=p.length-1;Q>=0;Q--)(k=p[Q])&&(S=(w<3?k(S):w>3?k(x,y,S):k(x,y))||S);return w>3&&S&&Object.defineProperty(x,y,S),S},d=this&&this.__param||function(p,x){return function(y,_){x(y,_,p)}};Object.defineProperty(o,"__esModule",{value:!0}),o.CoreService=void 0;const u=l(1439),f=l(8460),g=l(844),v=l(2585),b=Object.freeze({insertMode:!1}),m=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let O=o.CoreService=class extends g.Disposable{constructor(p,x,y){super(),this._bufferService=p,this._logService=x,this._optionsService=y,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new f.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new f.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new f.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new f.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,u.clone)(b),this.decPrivateModes=(0,u.clone)(m)}reset(){this.modes=(0,u.clone)(b),this.decPrivateModes=(0,u.clone)(m)}triggerDataEvent(p,x=!1){if(this._optionsService.rawOptions.disableStdin)return;const y=this._bufferService.buffer;x&&this._optionsService.rawOptions.scrollOnUserInput&&y.ybase!==y.ydisp&&this._onRequestScrollToBottom.fire(),x&&this._onUserInput.fire(),this._logService.debug(`sending data "${p}"`,(()=>p.split("").map((_=>_.charCodeAt(0))))),this._onData.fire(p)}triggerBinaryEvent(p){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${p}"`,(()=>p.split("").map((x=>x.charCodeAt(0))))),this._onBinary.fire(p))}};o.CoreService=O=c([d(0,v.IBufferService),d(1,v.ILogService),d(2,v.IOptionsService)],O)},9074:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.DecorationService=void 0;const c=l(8055),d=l(8460),u=l(844),f=l(6106);let g=0,v=0;class b extends u.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new f.SortedList((p=>p?.marker.line)),this._onDecorationRegistered=this.register(new d.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new d.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,u.toDisposable)((()=>this.reset())))}registerDecoration(p){if(p.marker.isDisposed)return;const x=new m(p);if(x){const y=x.marker.onDispose((()=>x.dispose()));x.onDispose((()=>{x&&(this._decorations.delete(x)&&this._onDecorationRemoved.fire(x),y.dispose())})),this._decorations.insert(x),this._onDecorationRegistered.fire(x)}return x}reset(){for(const p of this._decorations.values())p.dispose();this._decorations.clear()}*getDecorationsAtCell(p,x,y){let _=0,k=0;for(const w of this._decorations.getKeyIterator(x))_=w.options.x??0,k=_+(w.options.width??1),p>=_&&p<k&&(!y||(w.options.layer??"bottom")===y)&&(yield w)}forEachDecorationAtCell(p,x,y,_){this._decorations.forEachByKey(x,(k=>{g=k.options.x??0,v=g+(k.options.width??1),p>=g&&p<v&&(!y||(k.options.layer??"bottom")===y)&&_(k)}))}}o.DecorationService=b;class m extends u.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=c.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=c.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(p){super(),this.options=p,this.onRenderEmitter=this.register(new d.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new d.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=p.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.InstantiationService=o.ServiceCollection=void 0;const c=l(2585),d=l(8343);class u{constructor(...g){this._entries=new Map;for(const[v,b]of g)this.set(v,b)}set(g,v){const b=this._entries.get(g);return this._entries.set(g,v),b}forEach(g){for(const[v,b]of this._entries.entries())g(v,b)}has(g){return this._entries.has(g)}get(g){return this._entries.get(g)}}o.ServiceCollection=u,o.InstantiationService=class{constructor(){this._services=new u,this._services.set(c.IInstantiationService,this)}setService(f,g){this._services.set(f,g)}getService(f){return this._services.get(f)}createInstance(f,...g){const v=(0,d.getServiceDependencies)(f).sort(((O,p)=>O.index-p.index)),b=[];for(const O of v){const p=this._services.get(O.id);if(!p)throw new Error(`[createInstance] ${f.name} depends on UNKNOWN service ${O.id}.`);b.push(p)}const m=v.length>0?v[0].index:g.length;if(g.length!==m)throw new Error(`[createInstance] First service dependency of ${f.name} at position ${m+1} conflicts with ${g.length} static arguments`);return new f(...g,...b)}}},7866:function(a,o,l){var c=this&&this.__decorate||function(m,O,p,x){var y,_=arguments.length,k=_<3?O:x===null?x=Object.getOwnPropertyDescriptor(O,p):x;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(m,O,p,x);else for(var w=m.length-1;w>=0;w--)(y=m[w])&&(k=(_<3?y(k):_>3?y(O,p,k):y(O,p))||k);return _>3&&k&&Object.defineProperty(O,p,k),k},d=this&&this.__param||function(m,O){return function(p,x){O(p,x,m)}};Object.defineProperty(o,"__esModule",{value:!0}),o.traceCall=o.setTraceLogger=o.LogService=void 0;const u=l(844),f=l(2585),g={trace:f.LogLevelEnum.TRACE,debug:f.LogLevelEnum.DEBUG,info:f.LogLevelEnum.INFO,warn:f.LogLevelEnum.WARN,error:f.LogLevelEnum.ERROR,off:f.LogLevelEnum.OFF};let v,b=o.LogService=class extends u.Disposable{get logLevel(){return this._logLevel}constructor(m){super(),this._optionsService=m,this._logLevel=f.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),v=this}_updateLogLevel(){this._logLevel=g[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(m){for(let O=0;O<m.length;O++)typeof m[O]=="function"&&(m[O]=m[O]())}_log(m,O,p){this._evalLazyOptionalParams(p),m.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+O,...p)}trace(m,...O){this._logLevel<=f.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,m,O)}debug(m,...O){this._logLevel<=f.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,m,O)}info(m,...O){this._logLevel<=f.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,m,O)}warn(m,...O){this._logLevel<=f.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,m,O)}error(m,...O){this._logLevel<=f.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,m,O)}};o.LogService=b=c([d(0,f.IOptionsService)],b),o.setTraceLogger=function(m){v=m},o.traceCall=function(m,O,p){if(typeof p.value!="function")throw new Error("not supported");const x=p.value;p.value=function(...y){if(v.logLevel!==f.LogLevelEnum.TRACE)return x.apply(this,y);v.trace(`GlyphRenderer#${x.name}(${y.map((k=>JSON.stringify(k))).join(", ")})`);const _=x.apply(this,y);return v.trace(`GlyphRenderer#${x.name} return`,_),_}}},7302:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.OptionsService=o.DEFAULT_OPTIONS=void 0;const c=l(8460),d=l(844),u=l(6114);o.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:u.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const f=["normal","bold","100","200","300","400","500","600","700","800","900"];class g extends d.Disposable{constructor(b){super(),this._onOptionChange=this.register(new c.EventEmitter),this.onOptionChange=this._onOptionChange.event;const m={...o.DEFAULT_OPTIONS};for(const O in b)if(O in m)try{const p=b[O];m[O]=this._sanitizeAndValidateOption(O,p)}catch(p){console.error(p)}this.rawOptions=m,this.options={...m},this._setupOptions(),this.register((0,d.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(b,m){return this.onOptionChange((O=>{O===b&&m(this.rawOptions[b])}))}onMultipleOptionChange(b,m){return this.onOptionChange((O=>{b.indexOf(O)!==-1&&m()}))}_setupOptions(){const b=O=>{if(!(O in o.DEFAULT_OPTIONS))throw new Error(`No option with key "${O}"`);return this.rawOptions[O]},m=(O,p)=>{if(!(O in o.DEFAULT_OPTIONS))throw new Error(`No option with key "${O}"`);p=this._sanitizeAndValidateOption(O,p),this.rawOptions[O]!==p&&(this.rawOptions[O]=p,this._onOptionChange.fire(O))};for(const O in this.rawOptions){const p={get:b.bind(this,O),set:m.bind(this,O)};Object.defineProperty(this.options,O,p)}}_sanitizeAndValidateOption(b,m){switch(b){case"cursorStyle":if(m||(m=o.DEFAULT_OPTIONS[b]),!(function(O){return O==="block"||O==="underline"||O==="bar"})(m))throw new Error(`"${m}" is not a valid value for ${b}`);break;case"wordSeparator":m||(m=o.DEFAULT_OPTIONS[b]);break;case"fontWeight":case"fontWeightBold":if(typeof m=="number"&&1<=m&&m<=1e3)break;m=f.includes(m)?m:o.DEFAULT_OPTIONS[b];break;case"cursorWidth":m=Math.floor(m);case"lineHeight":case"tabStopWidth":if(m<1)throw new Error(`${b} cannot be less than 1, value: ${m}`);break;case"minimumContrastRatio":m=Math.max(1,Math.min(21,Math.round(10*m)/10));break;case"scrollback":if((m=Math.min(m,4294967295))<0)throw new Error(`${b} cannot be less than 0, value: ${m}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(m<=0)throw new Error(`${b} cannot be less than or equal to 0, value: ${m}`);break;case"rows":case"cols":if(!m&&m!==0)throw new Error(`${b} must be numeric, value: ${m}`);break;case"windowsPty":m=m??{}}return m}}o.OptionsService=g},2660:function(a,o,l){var c=this&&this.__decorate||function(g,v,b,m){var O,p=arguments.length,x=p<3?v:m===null?m=Object.getOwnPropertyDescriptor(v,b):m;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(g,v,b,m);else for(var y=g.length-1;y>=0;y--)(O=g[y])&&(x=(p<3?O(x):p>3?O(v,b,x):O(v,b))||x);return p>3&&x&&Object.defineProperty(v,b,x),x},d=this&&this.__param||function(g,v){return function(b,m){v(b,m,g)}};Object.defineProperty(o,"__esModule",{value:!0}),o.OscLinkService=void 0;const u=l(2585);let f=o.OscLinkService=class{constructor(g){this._bufferService=g,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(g){const v=this._bufferService.buffer;if(g.id===void 0){const y=v.addMarker(v.ybase+v.y),_={data:g,id:this._nextId++,lines:[y]};return y.onDispose((()=>this._removeMarkerFromLink(_,y))),this._dataByLinkId.set(_.id,_),_.id}const b=g,m=this._getEntryIdKey(b),O=this._entriesWithId.get(m);if(O)return this.addLineToLink(O.id,v.ybase+v.y),O.id;const p=v.addMarker(v.ybase+v.y),x={id:this._nextId++,key:this._getEntryIdKey(b),data:b,lines:[p]};return p.onDispose((()=>this._removeMarkerFromLink(x,p))),this._entriesWithId.set(x.key,x),this._dataByLinkId.set(x.id,x),x.id}addLineToLink(g,v){const b=this._dataByLinkId.get(g);if(b&&b.lines.every((m=>m.line!==v))){const m=this._bufferService.buffer.addMarker(v);b.lines.push(m),m.onDispose((()=>this._removeMarkerFromLink(b,m)))}}getLinkData(g){return this._dataByLinkId.get(g)?.data}_getEntryIdKey(g){return`${g.id};;${g.uri}`}_removeMarkerFromLink(g,v){const b=g.lines.indexOf(v);b!==-1&&(g.lines.splice(b,1),g.lines.length===0&&(g.data.id!==void 0&&this._entriesWithId.delete(g.key),this._dataByLinkId.delete(g.id)))}};o.OscLinkService=f=c([d(0,u.IBufferService)],f)},8343:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.createDecorator=o.getServiceDependencies=o.serviceRegistry=void 0;const l="di$target",c="di$dependencies";o.serviceRegistry=new Map,o.getServiceDependencies=function(d){return d[c]||[]},o.createDecorator=function(d){if(o.serviceRegistry.has(d))return o.serviceRegistry.get(d);const u=function(f,g,v){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(b,m,O){m[l]===m?m[c].push({id:b,index:O}):(m[c]=[{id:b,index:O}],m[l]=m)})(u,f,v)};return u.toString=()=>d,o.serviceRegistry.set(d,u),u}},2585:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.IDecorationService=o.IUnicodeService=o.IOscLinkService=o.IOptionsService=o.ILogService=o.LogLevelEnum=o.IInstantiationService=o.ICharsetService=o.ICoreService=o.ICoreMouseService=o.IBufferService=void 0;const c=l(8343);var d;o.IBufferService=(0,c.createDecorator)("BufferService"),o.ICoreMouseService=(0,c.createDecorator)("CoreMouseService"),o.ICoreService=(0,c.createDecorator)("CoreService"),o.ICharsetService=(0,c.createDecorator)("CharsetService"),o.IInstantiationService=(0,c.createDecorator)("InstantiationService"),(function(u){u[u.TRACE=0]="TRACE",u[u.DEBUG=1]="DEBUG",u[u.INFO=2]="INFO",u[u.WARN=3]="WARN",u[u.ERROR=4]="ERROR",u[u.OFF=5]="OFF"})(d||(o.LogLevelEnum=d={})),o.ILogService=(0,c.createDecorator)("LogService"),o.IOptionsService=(0,c.createDecorator)("OptionsService"),o.IOscLinkService=(0,c.createDecorator)("OscLinkService"),o.IUnicodeService=(0,c.createDecorator)("UnicodeService"),o.IDecorationService=(0,c.createDecorator)("DecorationService")},1480:(a,o,l)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.UnicodeService=void 0;const c=l(8460),d=l(225);class u{static extractShouldJoin(g){return(1&g)!=0}static extractWidth(g){return g>>1&3}static extractCharKind(g){return g>>3}static createPropertyValue(g,v,b=!1){return(16777215&g)<<3|(3&v)<<1|(b?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new c.EventEmitter,this.onChange=this._onChange.event;const g=new d.UnicodeV6;this.register(g),this._active=g.version,this._activeProvider=g}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(g){if(!this._providers[g])throw new Error(`unknown Unicode version "${g}"`);this._active=g,this._activeProvider=this._providers[g],this._onChange.fire(g)}register(g){this._providers[g.version]=g}wcwidth(g){return this._activeProvider.wcwidth(g)}getStringCellWidth(g){let v=0,b=0;const m=g.length;for(let O=0;O<m;++O){let p=g.charCodeAt(O);if(55296<=p&&p<=56319){if(++O>=m)return v+this.wcwidth(p);const _=g.charCodeAt(O);56320<=_&&_<=57343?p=1024*(p-55296)+_-56320+65536:v+=this.wcwidth(_)}const x=this.charProperties(p,b);let y=u.extractWidth(x);u.extractShouldJoin(x)&&(y-=u.extractWidth(b)),v+=y,b=x}return v}charProperties(g,v){return this._activeProvider.charProperties(g,v)}}o.UnicodeService=u}},r={};function i(a){var o=r[a];if(o!==void 0)return o.exports;var l=r[a]={exports:{}};return t[a].call(l.exports,l,l.exports,i),l.exports}var n={};return(()=>{var a=n;Object.defineProperty(a,"__esModule",{value:!0}),a.Terminal=void 0;const o=i(9042),l=i(3236),c=i(844),d=i(5741),u=i(8285),f=i(7975),g=i(7090),v=["cols","rows"];class b extends c.Disposable{constructor(O){super(),this._core=this.register(new l.Terminal(O)),this._addonManager=this.register(new d.AddonManager),this._publicOptions={...this._core.options};const p=y=>this._core.options[y],x=(y,_)=>{this._checkReadonlyOptions(y),this._core.options[y]=_};for(const y in this._core.options){const _={get:p.bind(this,y),set:x.bind(this,y)};Object.defineProperty(this._publicOptions,y,_)}}_checkReadonlyOptions(O){if(v.includes(O))throw new Error(`Option "${O}" 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 f.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new g.UnicodeApi(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 u.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const O=this._core.coreService.decPrivateModes;let p="none";switch(this._core.coreMouseService.activeProtocol){case"X10":p="x10";break;case"VT200":p="vt200";break;case"DRAG":p="drag";break;case"ANY":p="any"}return{applicationCursorKeysMode:O.applicationCursorKeys,applicationKeypadMode:O.applicationKeypad,bracketedPasteMode:O.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:p,originMode:O.origin,reverseWraparoundMode:O.reverseWraparound,sendFocusMode:O.sendFocus,wraparoundMode:O.wraparound}}get options(){return this._publicOptions}set options(O){for(const p in O)this._publicOptions[p]=O[p]}blur(){this._core.blur()}focus(){this._core.focus()}input(O,p=!0){this._core.input(O,p)}resize(O,p){this._verifyIntegers(O,p),this._core.resize(O,p)}open(O){this._core.open(O)}attachCustomKeyEventHandler(O){this._core.attachCustomKeyEventHandler(O)}attachCustomWheelEventHandler(O){this._core.attachCustomWheelEventHandler(O)}registerLinkProvider(O){return this._core.registerLinkProvider(O)}registerCharacterJoiner(O){return this._checkProposedApi(),this._core.registerCharacterJoiner(O)}deregisterCharacterJoiner(O){this._checkProposedApi(),this._core.deregisterCharacterJoiner(O)}registerMarker(O=0){return this._verifyIntegers(O),this._core.registerMarker(O)}registerDecoration(O){return this._checkProposedApi(),this._verifyPositiveIntegers(O.x??0,O.width??0,O.height??0),this._core.registerDecoration(O)}hasSelection(){return this._core.hasSelection()}select(O,p,x){this._verifyIntegers(O,p,x),this._core.select(O,p,x)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(O,p){this._verifyIntegers(O,p),this._core.selectLines(O,p)}dispose(){super.dispose()}scrollLines(O){this._verifyIntegers(O),this._core.scrollLines(O)}scrollPages(O){this._verifyIntegers(O),this._core.scrollPages(O)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(O){this._verifyIntegers(O),this._core.scrollToLine(O)}clear(){this._core.clear()}write(O,p){this._core.write(O,p)}writeln(O,p){this._core.write(O),this._core.write(`\r
48
+ `,p)}paste(O){this._core.paste(O)}refresh(O,p){this._verifyIntegers(O,p),this._core.refresh(O,p)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(O){this._addonManager.loadAddon(this,O)}static get strings(){return o}_verifyIntegers(...O){for(const p of O)if(p===1/0||isNaN(p)||p%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...O){for(const p of O)if(p&&(p===1/0||isNaN(p)||p%1!=0||p<0))throw new Error("This API only accepts positive integers")}}a.Terminal=b})(),n})()))})(fu)),fu.exports}var eM=JA(),pu={exports:{}},ex;function tM(){return ex||(ex=1,(function(s,e){(function(t,r){s.exports=r()})(self,(()=>(()=>{var t={};return(()=>{var r=t;Object.defineProperty(r,"__esModule",{value:!0}),r.FitAddon=void 0,r.FitAddon=class{activate(i){this._terminal=i}dispose(){}fit(){const i=this.proposeDimensions();if(!i||!this._terminal||isNaN(i.cols)||isNaN(i.rows))return;const n=this._terminal._core;this._terminal.rows===i.rows&&this._terminal.cols===i.cols||(n._renderService.clear(),this._terminal.resize(i.cols,i.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;const i=this._terminal._core,n=i._renderService.dimensions;if(n.css.cell.width===0||n.css.cell.height===0)return;const a=this._terminal.options.scrollback===0?0:i.viewport.scrollBarWidth,o=window.getComputedStyle(this._terminal.element.parentElement),l=parseInt(o.getPropertyValue("height")),c=Math.max(0,parseInt(o.getPropertyValue("width"))),d=window.getComputedStyle(this._terminal.element),u=l-(parseInt(d.getPropertyValue("padding-top"))+parseInt(d.getPropertyValue("padding-bottom"))),f=c-(parseInt(d.getPropertyValue("padding-right"))+parseInt(d.getPropertyValue("padding-left")))-a;return{cols:Math.max(2,Math.floor(f/n.css.cell.width)),rows:Math.max(1,Math.floor(u/n.css.cell.height))}}}})(),t})()))})(pu)),pu.exports}var sM=tM(),mu={exports:{}},tx;function rM(){return tx||(tx=1,(function(s,e){(function(t,r){s.exports=r()})(self,(()=>(()=>{var t={345:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.runAndSubscribe=o.forwardEvent=o.EventEmitter=void 0,o.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=l=>(this._listeners.push(l),{dispose:()=>{if(!this._disposed){for(let c=0;c<this._listeners.length;c++)if(this._listeners[c]===l)return void this._listeners.splice(c,1)}}})),this._event}fire(l,c){const d=[];for(let u=0;u<this._listeners.length;u++)d.push(this._listeners[u]);for(let u=0;u<d.length;u++)d[u].call(void 0,l,c)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},o.forwardEvent=function(l,c){return l((d=>c.fire(d)))},o.runAndSubscribe=function(l,c){return c(void 0),l((d=>c(d)))}},859:(a,o)=>{function l(c){for(const d of c)d.dispose();c.length=0}Object.defineProperty(o,"__esModule",{value:!0}),o.getDisposeArrayDisposable=o.disposeArray=o.toDisposable=o.MutableDisposable=o.Disposable=void 0,o.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const c of this._disposables)c.dispose();this._disposables.length=0}register(c){return this._disposables.push(c),c}unregister(c){const d=this._disposables.indexOf(c);d!==-1&&this._disposables.splice(d,1)}},o.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(c){this._isDisposed||c===this._value||(this._value?.dispose(),this._value=c)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},o.toDisposable=function(c){return{dispose:c}},o.disposeArray=l,o.getDisposeArrayDisposable=function(c){return{dispose:()=>l(c)}}}},r={};function i(a){var o=r[a];if(o!==void 0)return o.exports;var l=r[a]={exports:{}};return t[a](l,l.exports,i),l.exports}var n={};return(()=>{var a=n;Object.defineProperty(a,"__esModule",{value:!0}),a.SearchAddon=void 0;const o=i(345),l=i(859),c=" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?";class d extends l.Disposable{constructor(f){super(),this._highlightedLines=new Set,this._highlightDecorations=[],this._selectedDecoration=this.register(new l.MutableDisposable),this._linesCacheTimeoutId=0,this._linesCacheDisposables=new l.MutableDisposable,this._onDidChangeResults=this.register(new o.EventEmitter),this.onDidChangeResults=this._onDidChangeResults.event,this._highlightLimit=f?.highlightLimit??1e3}activate(f){this._terminal=f,this.register(this._terminal.onWriteParsed((()=>this._updateMatches()))),this.register(this._terminal.onResize((()=>this._updateMatches()))),this.register((0,l.toDisposable)((()=>this.clearDecorations())))}_updateMatches(){this._highlightTimeout&&window.clearTimeout(this._highlightTimeout),this._cachedSearchTerm&&this._lastSearchOptions?.decorations&&(this._highlightTimeout=setTimeout((()=>{const f=this._cachedSearchTerm;this._cachedSearchTerm=void 0,this.findPrevious(f,{...this._lastSearchOptions,incremental:!0,noScroll:!0})}),200))}clearDecorations(f){this._selectedDecoration.clear(),(0,l.disposeArray)(this._highlightDecorations),this._highlightDecorations=[],this._highlightedLines.clear(),f||(this._cachedSearchTerm=void 0)}clearActiveDecoration(){this._selectedDecoration.clear()}findNext(f,g){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");const v=!this._lastSearchOptions||this._didOptionsChange(this._lastSearchOptions,g);this._lastSearchOptions=g,g?.decorations&&(this._cachedSearchTerm===void 0||f!==this._cachedSearchTerm||v)&&this._highlightAllMatches(f,g);const b=this._findNextAndSelect(f,g);return this._fireResults(g),this._cachedSearchTerm=f,b}_highlightAllMatches(f,g){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");if(!f||f.length===0)return void this.clearDecorations();g=g||{},this.clearDecorations(!0);const v=[];let b,m=this._find(f,0,0,g);for(;m&&(b?.row!==m.row||b?.col!==m.col)&&!(v.length>=this._highlightLimit);)b=m,v.push(b),m=this._find(f,b.col+b.term.length>=this._terminal.cols?b.row+1:b.row,b.col+b.term.length>=this._terminal.cols?0:b.col+1,g);for(const O of v){const p=this._createResultDecoration(O,g.decorations);p&&(this._highlightedLines.add(p.marker.line),this._highlightDecorations.push({decoration:p,match:O,dispose(){p.dispose()}}))}}_find(f,g,v,b){if(!this._terminal||!f||f.length===0)return this._terminal?.clearSelection(),void this.clearDecorations();if(v>this._terminal.cols)throw new Error(`Invalid col: ${v} to search in terminal of ${this._terminal.cols} cols`);let m;this._initLinesCache();const O={startRow:g,startCol:v};if(m=this._findInLine(f,O,b),!m)for(let p=g+1;p<this._terminal.buffer.active.baseY+this._terminal.rows&&(O.startRow=p,O.startCol=0,m=this._findInLine(f,O,b),!m);p++);return m}_findNextAndSelect(f,g){if(!this._terminal||!f||f.length===0)return this._terminal?.clearSelection(),this.clearDecorations(),!1;const v=this._terminal.getSelectionPosition();this._terminal.clearSelection();let b=0,m=0;v&&(this._cachedSearchTerm===f?(b=v.end.x,m=v.end.y):(b=v.start.x,m=v.start.y)),this._initLinesCache();const O={startRow:m,startCol:b};let p=this._findInLine(f,O,g);if(!p)for(let x=m+1;x<this._terminal.buffer.active.baseY+this._terminal.rows&&(O.startRow=x,O.startCol=0,p=this._findInLine(f,O,g),!p);x++);if(!p&&m!==0)for(let x=0;x<m&&(O.startRow=x,O.startCol=0,p=this._findInLine(f,O,g),!p);x++);return!p&&v&&(O.startRow=v.start.y,O.startCol=0,p=this._findInLine(f,O,g)),this._selectResult(p,g?.decorations,g?.noScroll)}findPrevious(f,g){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");const v=!this._lastSearchOptions||this._didOptionsChange(this._lastSearchOptions,g);this._lastSearchOptions=g,g?.decorations&&(this._cachedSearchTerm===void 0||f!==this._cachedSearchTerm||v)&&this._highlightAllMatches(f,g);const b=this._findPreviousAndSelect(f,g);return this._fireResults(g),this._cachedSearchTerm=f,b}_didOptionsChange(f,g){return!!g&&(f.caseSensitive!==g.caseSensitive||f.regex!==g.regex||f.wholeWord!==g.wholeWord)}_fireResults(f){if(f?.decorations){let g=-1;if(this._selectedDecoration.value){const v=this._selectedDecoration.value.match;for(let b=0;b<this._highlightDecorations.length;b++){const m=this._highlightDecorations[b].match;if(m.row===v.row&&m.col===v.col&&m.size===v.size){g=b;break}}}this._onDidChangeResults.fire({resultIndex:g,resultCount:this._highlightDecorations.length})}}_findPreviousAndSelect(f,g){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");if(!this._terminal||!f||f.length===0)return this._terminal?.clearSelection(),this.clearDecorations(),!1;const v=this._terminal.getSelectionPosition();this._terminal.clearSelection();let b=this._terminal.buffer.active.baseY+this._terminal.rows-1,m=this._terminal.cols;const O=!0;this._initLinesCache();const p={startRow:b,startCol:m};let x;if(v&&(p.startRow=b=v.start.y,p.startCol=m=v.start.x,this._cachedSearchTerm!==f&&(x=this._findInLine(f,p,g,!1),x||(p.startRow=b=v.end.y,p.startCol=m=v.end.x))),x||(x=this._findInLine(f,p,g,O)),!x){p.startCol=Math.max(p.startCol,this._terminal.cols);for(let y=b-1;y>=0&&(p.startRow=y,x=this._findInLine(f,p,g,O),!x);y--);}if(!x&&b!==this._terminal.buffer.active.baseY+this._terminal.rows-1)for(let y=this._terminal.buffer.active.baseY+this._terminal.rows-1;y>=b&&(p.startRow=y,x=this._findInLine(f,p,g,O),!x);y--);return this._selectResult(x,g?.decorations,g?.noScroll)}_initLinesCache(){const f=this._terminal;this._linesCache||(this._linesCache=new Array(f.buffer.active.length),this._linesCacheDisposables.value=(0,l.getDisposeArrayDisposable)([f.onLineFeed((()=>this._destroyLinesCache())),f.onCursorMove((()=>this._destroyLinesCache())),f.onResize((()=>this._destroyLinesCache()))])),window.clearTimeout(this._linesCacheTimeoutId),this._linesCacheTimeoutId=window.setTimeout((()=>this._destroyLinesCache()),15e3)}_destroyLinesCache(){this._linesCache=void 0,this._linesCacheDisposables.clear(),this._linesCacheTimeoutId&&(window.clearTimeout(this._linesCacheTimeoutId),this._linesCacheTimeoutId=0)}_isWholeWord(f,g,v){return(f===0||c.includes(g[f-1]))&&(f+v.length===g.length||c.includes(g[f+v.length]))}_findInLine(f,g,v={},b=!1){const m=this._terminal,O=g.startRow,p=g.startCol;if(m.buffer.active.getLine(O)?.isWrapped)return b?void(g.startCol+=m.cols):(g.startRow--,g.startCol+=m.cols,this._findInLine(f,g,v));let y=this._linesCache?.[O];y||(y=this._translateBufferLineToStringWithWrap(O,!0),this._linesCache&&(this._linesCache[O]=y));const[_,k]=y,w=this._bufferColsToStringOffset(O,p),S=v.caseSensitive?f:f.toLowerCase(),Q=v.caseSensitive?_:_.toLowerCase();let N=-1;if(v.regex){const L=RegExp(S,"g");let $;if(b)for(;$=L.exec(Q.slice(0,w));)N=L.lastIndex-$[0].length,f=$[0],L.lastIndex-=f.length-1;else $=L.exec(Q.slice(w)),$&&$[0].length>0&&(N=w+(L.lastIndex-$[0].length),f=$[0])}else b?w-S.length>=0&&(N=Q.lastIndexOf(S,w-S.length)):N=Q.indexOf(S,w);if(N>=0){if(v.wholeWord&&!this._isWholeWord(N,Q,f))return;let L=0;for(;L<k.length-1&&N>=k[L+1];)L++;let $=L;for(;$<k.length-1&&N+f.length>=k[$+1];)$++;const j=N-k[L],I=N+f.length-k[$],V=this._stringLengthToBufferSize(O+L,j);return{term:f,col:V,row:O+L,size:this._stringLengthToBufferSize(O+$,I)-V+m.cols*($-L)}}}_stringLengthToBufferSize(f,g){const v=this._terminal.buffer.active.getLine(f);if(!v)return 0;for(let b=0;b<g;b++){const m=v.getCell(b);if(!m)break;const O=m.getChars();O.length>1&&(g-=O.length-1);const p=v.getCell(b+1);p&&p.getWidth()===0&&g++}return g}_bufferColsToStringOffset(f,g){const v=this._terminal;let b=f,m=0,O=v.buffer.active.getLine(b);for(;g>0&&O;){for(let p=0;p<g&&p<v.cols;p++){const x=O.getCell(p);if(!x)break;x.getWidth()&&(m+=x.getCode()===0?1:x.getChars().length)}if(b++,O=v.buffer.active.getLine(b),O&&!O.isWrapped)break;g-=v.cols}return m}_translateBufferLineToStringWithWrap(f,g){const v=this._terminal,b=[],m=[0];let O=v.buffer.active.getLine(f);for(;O;){const p=v.buffer.active.getLine(f+1),x=!!p&&p.isWrapped;let y=O.translateToString(!x&&g);if(x&&p){const _=O.getCell(O.length-1);_&&_.getCode()===0&&_.getWidth()===1&&p.getCell(0)?.getWidth()===2&&(y=y.slice(0,-1))}if(b.push(y),!x)break;m.push(m[m.length-1]+y.length),f++,O=p}return[b.join(""),m]}_selectResult(f,g,v){const b=this._terminal;if(this._selectedDecoration.clear(),!f)return b.clearSelection(),!1;if(b.select(f.col,f.row,f.size),g){const m=b.registerMarker(-b.buffer.active.baseY-b.buffer.active.cursorY+f.row);if(m){const O=b.registerDecoration({marker:m,x:f.col,width:f.size,backgroundColor:g.activeMatchBackground,layer:"top",overviewRulerOptions:{color:g.activeMatchColorOverviewRuler}});if(O){const p=[];p.push(m),p.push(O.onRender((x=>this._applyStyles(x,g.activeMatchBorder,!0)))),p.push(O.onDispose((()=>(0,l.disposeArray)(p)))),this._selectedDecoration.value={decoration:O,match:f,dispose(){O.dispose()}}}}}if(!v&&(f.row>=b.buffer.active.viewportY+b.rows||f.row<b.buffer.active.viewportY)){let m=f.row-b.buffer.active.viewportY;m-=Math.floor(b.rows/2),b.scrollLines(m)}return!0}_applyStyles(f,g,v){f.classList.contains("xterm-find-result-decoration")||(f.classList.add("xterm-find-result-decoration"),g&&(f.style.outline=`1px solid ${g}`)),v&&f.classList.add("xterm-find-active-result-decoration")}_createResultDecoration(f,g){const v=this._terminal,b=v.registerMarker(-v.buffer.active.baseY-v.buffer.active.cursorY+f.row);if(!b)return;const m=v.registerDecoration({marker:b,x:f.col,width:f.size,backgroundColor:g.matchBackground,overviewRulerOptions:this._highlightedLines.has(b.line)?void 0:{color:g.matchOverviewRuler,position:"center"}});if(m){const O=[];O.push(b),O.push(m.onRender((p=>this._applyStyles(p,g.matchBorder,!1)))),O.push(m.onDispose((()=>(0,l.disposeArray)(O))))}return m}}a.SearchAddon=d})(),n})()))})(mu)),mu.exports}var iM=rM(),gu={exports:{}},sx;function nM(){return sx||(sx=1,(function(s,e){(function(t,r){s.exports=r()})(self,(()=>(()=>{var t={6:(a,o)=>{function l(d){try{const u=new URL(d),f=u.password&&u.username?`${u.protocol}//${u.username}:${u.password}@${u.host}`:u.username?`${u.protocol}//${u.username}@${u.host}`:`${u.protocol}//${u.host}`;return d.toLocaleLowerCase().startsWith(f.toLocaleLowerCase())}catch{return!1}}Object.defineProperty(o,"__esModule",{value:!0}),o.LinkComputer=o.WebLinkProvider=void 0,o.WebLinkProvider=class{constructor(d,u,f,g={}){this._terminal=d,this._regex=u,this._handler=f,this._options=g}provideLinks(d,u){const f=c.computeLink(d,this._regex,this._terminal,this._handler);u(this._addCallbacks(f))}_addCallbacks(d){return d.map((u=>(u.leave=this._options.leave,u.hover=(f,g)=>{if(this._options.hover){const{range:v}=u;this._options.hover(f,g,v)}},u)))}};class c{static computeLink(u,f,g,v){const b=new RegExp(f.source,(f.flags||"")+"g"),[m,O]=c._getWindowedLineStrings(u-1,g),p=m.join("");let x;const y=[];for(;x=b.exec(p);){const _=x[0];if(!l(_))continue;const[k,w]=c._mapStrIdx(g,O,0,x.index),[S,Q]=c._mapStrIdx(g,k,w,_.length);if(k===-1||w===-1||S===-1||Q===-1)continue;const N={start:{x:w+1,y:k+1},end:{x:Q,y:S+1}};y.push({range:N,text:_,activate:v})}return y}static _getWindowedLineStrings(u,f){let g,v=u,b=u,m=0,O="";const p=[];if(g=f.buffer.active.getLine(u)){const x=g.translateToString(!0);if(g.isWrapped&&x[0]!==" "){for(m=0;(g=f.buffer.active.getLine(--v))&&m<2048&&(O=g.translateToString(!0),m+=O.length,p.push(O),g.isWrapped&&O.indexOf(" ")===-1););p.reverse()}for(p.push(x),m=0;(g=f.buffer.active.getLine(++b))&&g.isWrapped&&m<2048&&(O=g.translateToString(!0),m+=O.length,p.push(O),O.indexOf(" ")===-1););}return[p,v]}static _mapStrIdx(u,f,g,v){const b=u.buffer.active,m=b.getNullCell();let O=g;for(;v;){const p=b.getLine(f);if(!p)return[-1,-1];for(let x=O;x<p.length;++x){p.getCell(x,m);const y=m.getChars();if(m.getWidth()&&(v-=y.length||1,x===p.length-1&&y==="")){const _=b.getLine(f+1);_&&_.isWrapped&&(_.getCell(0,m),m.getWidth()===2&&(v+=1))}if(v<0)return[f,x]}f++,O=0}return[f,O]}}o.LinkComputer=c}},r={};function i(a){var o=r[a];if(o!==void 0)return o.exports;var l=r[a]={exports:{}};return t[a](l,l.exports,i),l.exports}var n={};return(()=>{var a=n;Object.defineProperty(a,"__esModule",{value:!0}),a.WebLinksAddon=void 0;const o=i(6),l=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function c(d,u){const f=window.open();if(f){try{f.opener=null}catch{}f.location.href=u}else console.warn("Opening link blocked as opener could not be cleared")}a.WebLinksAddon=class{constructor(d=c,u={}){this._handler=d,this._options=u}activate(d){this._terminal=d;const u=this._options,f=u.urlRegex||l;this._linkProvider=this._terminal.registerLinkProvider(new o.WebLinkProvider(this._terminal,f,this._handler,u))}dispose(){this._linkProvider?.dispose()}}})(),n})()))})(gu)),gu.exports}var oM=nM();function Ou(s,e){try{return getComputedStyle(document.documentElement).getPropertyValue(s).trim()||e}catch{return e}}function rx(s){return typeof navigator<"u"&&navigator.platform.toUpperCase().includes("MAC")?s.metaKey:s.ctrlKey}function lS(s){return!s||s.includes(" ")||/^https?:\/\//i.test(s)?!1:/^[a-zA-Z]:[\\/]/.test(s)||s.startsWith("/")||s.startsWith("~/")||s.startsWith("./")||s.startsWith("../")?!0:/^[\w./\\-]+\.[a-zA-Z0-9]{1,8}$/.test(s)}function ix(s,e){const t=s.trim().replace(/\\/g,"/");return!t||!lS(t)?null:/^[a-zA-Z]:\//.test(t)||t.startsWith("~/")?t:t.startsWith("/")?/^\/packages\//.test(t)?!e||e==="/"?null:Mm(t.slice(1),e):t:!e||e==="/"?null:Mm(t,e)}function nx(s){return s.clientWidth>=16&&s.clientHeight>=16}function aM({terminalId:s,title:e,cwd:t,active:r=!0,onMeta:i,onSelection:n,onOpenUrl:a,onOpenPath:o,apiRef:l}){const c=C.useRef(null),d=C.useRef(null),u=C.useRef(null),f=C.useRef(null),g=C.useRef(i),v=C.useRef(n),b=C.useRef(a),m=C.useRef(o),O=C.useRef(t);g.current=i,v.current=n,b.current=a,m.current=o,C.useEffect(()=>{t&&t!=="/"&&(O.current=t)},[t]);const[p,x]=C.useState(null),[y,_]=C.useState(!1),[k,w]=C.useState(""),[S,Q]=C.useState(!1),N=C.useRef(!0),L=C.useCallback(()=>{const j=c.current,I=d.current,V=u.current;if(!j||!I||!V||!nx(j))return!1;try{return V.fit(),!0}catch{return!1}},[]),$=C.useCallback(()=>{const j=d.current;j&&(j.scrollToBottom(),N.current=!0,Q(!1))},[]);return C.useEffect(()=>{m_(s);const j=c.current,I=window.markusDesktop?.terminal;if(!j)return;if(!I){x("Embedded terminal requires Markus Desktop.");return}let V=!1,Z=null,z=null,J,T,A,B=null,q=null,H=null,te=null;const ue=async()=>{if(V||!c.current)return;if(!nx(c.current)){te=window.setTimeout(()=>{ue()},50);return}const ke=Ou("--color-surface-primary","#0f1419"),U=Ou("--color-fg-primary","#e7e9ea");Z=new eM.Terminal({cursorBlink:!0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:13,lineHeight:1.25,allowProposedApi:!0,theme:{background:ke,foreground:U,cursor:Ou("--color-brand-500","#3b82f6"),selectionBackground:"rgba(59, 130, 246, 0.35)"}});const D=new sM.FitAddon,se=new iM.SearchAddon,F=new oM.WebLinksAddon((G,ee)=>{rx(G)&&b.current?.(ee)});if(Z.loadAddon(D),Z.loadAddon(se),Z.loadAddon(F),Z.open(c.current),d.current=Z,u.current=D,f.current=se,!L())try{D.fit()}catch{}Z.registerLinkProvider({provideLinks:(G,ee)=>{const we=Z.buffer.active.getLine(G-1);if(!we){ee(void 0);return}const Ae=we.translateToString(!0),xe=/(?:(?:[A-Za-z]:|\/|~\/)[\w./\\-]+|(?:\.\.?\/)?[\w./\\-]+\.[a-zA-Z0-9]{1,8})/g,me=[];let ge;for(;ge=xe.exec(Ae);){const He=ge[0];lS(He)&&ix(He,O.current)&&me.push({range:{start:{x:ge.index+1,y:G},end:{x:ge.index+He.length,y:G}},text:He,decorations:{pointerCursor:!0,underline:!0},activate:nt=>{if(!rx(nt))return;const Ct=ix(He,O.current);Ct&&m.current?.(Ct)}})}ee(me.length?me:void 0)}});try{const G=Math.max(Z.cols||80,2),ee=Math.max(Z.rows||24,1);let we=t||O.current;if(!we||we==="/")try{we=await window.markusDesktop?.getDefaultCwd?.()}catch{}we==="/"&&(we=void 0),we&&(O.current=we);const Ae=await I.create(s,{cwd:we,title:e,cols:G,rows:ee});if(V)return;if(!Ae.ok){x(Ae.error||"Failed to create terminal");return}Ae.info&&(Ae.info.cwd&&(O.current=Ae.info.cwd),g.current?.(s,{title:Ae.info.title,cwd:Ae.info.cwd}));const xe=await I.getBuffer(s,{maxChars:12e4});if(V)return;xe.ok&&xe.content&&Z.write(xe.content),L(),I.resize(s,Z.cols,Z.rows),Z.focus()}catch(G){V||x(G instanceof Error?G.message:String(G));return}J=I.onData?.(G=>{G.id!==s||!d.current||(d.current.write(G.data),N.current||Q(!0))}),A=I.onEvent?.(G=>{G.id!==s||G.type!=="cwd"||!G.cwd||(O.current=G.cwd,g.current?.(s,{cwd:G.cwd}))}),T=I.onExit?.(()=>{}),B=Z.onData(G=>{I.write(s,G)}),q=Z.onScroll(()=>{const G=d.current;if(!G)return;const ee=G.buffer.active,we=ee.viewportY>=ee.baseY-1;N.current=we,we&&Q(!1)}),H=Z.onSelectionChange(()=>{const G=d.current,ee=c.current;if(!G||!ee)return;if(!G.getSelection().trim()){v.current?.(null);return}requestAnimationFrame(()=>{const Ae=d.current,xe=c.current;if(!Ae||!xe)return;const me=Ae.getSelection().trim();if(!me){v.current?.(null);return}let ge,He;const nt=xe.querySelectorAll(".xterm-selection div");let Ct=1/0,pt=1/0,Xt=-1/0;if(nt.forEach(wt=>{const Et=wt.getBoundingClientRect();Et.width<1&&Et.height<1||(Ct=Math.min(Ct,Et.top),pt=Math.min(pt,Et.left),Xt=Math.max(Xt,Et.right))}),Ct<1/0)ge=(pt+Xt)/2,He=Ct;else{const wt=Ae.getSelectionPosition?.(),Pt=(xe.querySelector(".xterm-screen")??xe).getBoundingClientRect(),he=Math.max(Ae.cols,1),Xe=Math.max(Ae.rows,1),Oe=Pt.width/he,Ke=Pt.height/Xe;if(wt){const Ne=Ae.buffer.active.viewportY,bt=Math.max(0,wt.start.y-Ne);ge=Pt.left+(wt.start.x+.5)*Oe,He=Pt.top+bt*Ke}else ge=Pt.left+Pt.width/2,He=Pt.top+12}v.current?.({text:me,x:ge,y:He})})}),z=new ResizeObserver(()=>{!L()||!d.current||I.resize(s,d.current.cols,d.current.rows)}),z.observe(c.current),l&&(l.current={getSelection:()=>d.current?.getSelection()??"",getRecentOutput:async(G=80)=>{const ee=await I.getBuffer(s,{maxLines:G});return ee.ok&&ee.content||""},focus:()=>d.current?.focus(),findNext:G=>{f.current?.findNext(G)},clearSelection:()=>d.current?.clearSelection()})};return ue(),()=>{V=!0,te!=null&&window.clearTimeout(te),J?.(),T?.(),A?.(),B?.dispose(),q?.dispose(),H?.dispose(),z?.disconnect(),l&&(l.current=null);try{Z?.dispose()}catch{}d.current=null,u.current=null,f.current=null}},[s]),C.useEffect(()=>{if(!r)return;const j=window.requestAnimationFrame(()=>{L();const I=d.current;I&&(window.markusDesktop?.terminal?.resize(s,I.cols,I.rows),I.focus())});return()=>window.cancelAnimationFrame(j)},[r,s,L]),C.useEffect(()=>{const j=I=>{if(!r)return;if((navigator.platform.toUpperCase().includes("MAC")?I.metaKey&&!I.ctrlKey:I.ctrlKey&&!I.metaKey)&&!I.altKey&&!I.shiftKey&&I.key.toLowerCase()==="f"){const z=I.target;z instanceof HTMLElement&&(c.current?.contains(z)||z.closest(".xterm"))&&(I.preventDefault(),_(!0))}};return window.addEventListener("keydown",j),()=>window.removeEventListener("keydown",j)},[r]),h.jsxs("div",{className:"relative flex-1 min-h-0 flex flex-col rounded-lg overflow-hidden border border-border-default bg-surface-primary",children:[y&&h.jsxs("div",{className:"shrink-0 flex items-center gap-1.5 px-2 py-1.5 border-b border-border-default bg-surface-elevated",children:[h.jsx("input",{autoFocus:!0,value:k,onChange:j=>w(j.target.value),onKeyDown:j=>{j.key==="Enter"?(j.preventDefault(),f.current?.findNext(k)):j.key==="Escape"&&_(!1)},placeholder:"Find in terminal…",className:"flex-1 min-w-0 text-xs bg-transparent outline-none text-fg-primary placeholder:text-fg-muted"}),h.jsx("button",{type:"button",className:"text-[11px] px-2 py-0.5 rounded text-fg-secondary hover:bg-surface-overlay",onClick:()=>f.current?.findNext(k),children:"Next"}),h.jsx("button",{type:"button",className:"text-[11px] px-2 py-0.5 rounded text-fg-tertiary hover:bg-surface-overlay",onClick:()=>_(!1),children:"Esc"})]}),p?h.jsx("div",{className:"flex-1 flex items-center justify-center p-4 text-sm text-red-500",children:p}):h.jsx("div",{ref:c,className:"flex-1 min-h-0 w-full h-full [&_.xterm]:h-full [&_.xterm]:w-full [&_.xterm-viewport]:overflow-auto"}),S&&h.jsx("button",{type:"button",onClick:$,className:"absolute bottom-3 right-3 z-10 text-[11px] px-2.5 py-1 rounded-md bg-brand-600 text-white shadow-lg hover:bg-brand-500",children:"↓ Jump to bottom"})]})}function ox(s){return/^(https?|file):\/\//i.test(s)?s:/^[a-zA-Z]:[\\/]/.test(s)?`file:///${s.replace(/\\/g,"/")}`:`file://${s.startsWith("/")?s:`/${s}`}`}function sc(s){return/^https?:\/\//i.test(s)}function lM(s){return s.kind==="deliverable"?s.deliverable.reference??"":s.kind==="url"?s.url:s.kind==="terminal"?s.terminalId:s.path}function cM(s){return s.kind==="deliverable"?s.deliverable.title||s.deliverable.reference||"":s.kind==="url"?s.title||s.url:s.kind==="terminal"?s.title||"Terminal":s.title||s.path.split(/[/\\]/).pop()||s.path}function hM(s,e){if(s.kind==="file")return`file:${s.path}:${e??""}`;if(s.kind==="url")return`url:${s.browserId||s.url}:${e??""}`;if(s.kind==="terminal")return`terminal:${s.terminalId}:${e??""}`;const t=s.deliverable;return`deliverable:${t.id||t.reference||t.title||"unknown"}:${e??""}`}function xu(s){return s==null||!Number.isFinite(s)?"":s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/(1024*1024)).toFixed(1)} MB`}function dM({payload:s,onClose:e,width:t,onResizeStart:r,onAddToChat:i,tabs:n,activeTabId:a,onSelectTab:o,onCloseTab:l,onNewTab:c,fullscreen:d,onToggleFullscreen:u,onBrowserMeta:f,panelMode:g="browser",onPanelModeChange:v,onTerminalMeta:b,onOpenUrlFromTerminal:m,onOpenPathFromTerminal:O}){const{t:p}=At(["deliverables","agent","common"]),[x,y]=C.useState({mode:"loading"}),[_,k]=C.useState(!1),[w,S]=C.useState(!1),[Q,N]=C.useState(null),[L,$]=C.useState(null),[j,I]=C.useState({}),[V,Z]=C.useState({}),[z,J]=C.useState(!1),T=C.useRef(null),A=C.useRef(null),B=C.useRef(null),q=C.useRef(null),H=C.useRef(!1);H.current=z;const te=C.useCallback(()=>nS(H.current,p("common:fileEditor.discardConfirm",{defaultValue:"Discard unsaved changes?"})),[p]);C.useEffect(()=>{let he=!1;K.browser.tabOwnership().then(Oe=>{if(he)return;const Ke={};for(const Ne of Oe.ownership??[])Ke[Ne.pageId]={agentId:Ne.agentId,agentName:Ne.agentName||Ne.agentId};I(Ke)}).catch(()=>{});const Xe=yt.on("ui:browser_ownership",Oe=>{const Ke=Oe.payload;typeof Ke.pageId=="number"&&I(Ne=>{if(Ke.action==="released"||!Ke.agentId){if(!(Ke.pageId in Ne))return Ne;const bt={...Ne};return delete bt[Ke.pageId],bt}return{...Ne,[Ke.pageId]:{agentId:Ke.agentId,agentName:Ke.agentName||Ke.agentId}}})});return()=>{he=!0,Xe()}},[]),C.useEffect(()=>{let he=!1;K.terminal?.sessionOwnership?.().then(Oe=>{if(he)return;const Ke={};for(const Ne of Oe.ownership??[])Ke[Ne.terminalId]={agentId:Ne.agentId,agentName:Ne.agentName||Ne.agentId};Z(Ke)}).catch(()=>{});const Xe=yt.on("ui:terminal_ownership",Oe=>{const Ke=Oe.payload;typeof Ke.terminalId=="string"&&Z(Ne=>{if(Ke.action==="released"||!Ke.agentId){if(!(Ke.terminalId in Ne))return Ne;const bt={...Ne};return delete bt[Ke.terminalId],bt}return{...Ne,[Ke.terminalId]:{agentId:Ke.agentId,agentName:Ke.agentName||Ke.agentId}}})});return()=>{he=!0,Xe()}},[]);const ue=lM(s),ke=cM(s),U=(n?.length??0)>=1,D=hM(s,a);C.useEffect(()=>{if(!a)return;const he=B.current,Xe=A.current;if(!he||!Xe)return;const Oe=requestAnimationFrame(()=>{he.scrollIntoView({behavior:"smooth",inline:"nearest",block:"nearest"})});return()=>cancelAnimationFrame(Oe)},[a,n?.length]),C.useEffect(()=>{const he=Xe=>{if(Xe.key==="Escape"){if(!te())return;d&&u?u():e()}};return window.addEventListener("keydown",he),()=>window.removeEventListener("keydown",he)},[e,d,u,te]),C.useEffect(()=>{let he=!1;return $(null),J(!1),N(null),s.kind==="url"?(y({mode:"url",url:s.url,browserId:s.browserId}),()=>{he=!0}):s.kind==="terminal"?(y({mode:"terminal",terminalId:s.terminalId,title:s.title,cwd:s.cwd}),()=>{he=!0}):sc(ue)?(y({mode:"url",url:ue}),()=>{he=!0}):(y({mode:"loading"}),s.kind==="deliverable"&&s.deliverable.artifactType&&s.deliverable.artifactData?(y({mode:"artifact",summary:s.deliverable.summary||s.deliverable.title||""}),()=>{he=!0}):ue?s.kind==="deliverable"&&s.deliverable.type==="directory"?(y({mode:"unpreviewable",reference:ue,isDirectory:!0}),()=>{he=!0}):(K.files.preview(ue).then(Oe=>{if(he)return;if(Oe.type==="image"){const Ne=Oe.content?`data:${Oe.mimeType||"image/png"};base64,${Oe.content}`:Oe.streamUrl||(Oe.path?K.files.streamUrl(Oe.path):K.files.streamUrl(ue));y({mode:"image",src:Ne,name:Oe.name||ke});return}if(Oe.type==="audio"){const Ne=Oe.streamUrl||(Oe.path?K.files.streamUrl(Oe.path):K.files.streamUrl(ue));y({mode:"audio",src:Ne,name:Oe.name||ke,mimeType:Oe.mimeType||"audio/mpeg",size:Oe.size});return}if(Oe.type==="video"){const Ne=Oe.streamUrl||(Oe.path?K.files.streamUrl(Oe.path):K.files.streamUrl(ue));y({mode:"video",src:Ne,name:Oe.name||ke,mimeType:Oe.mimeType||"video/mp4",size:Oe.size});return}if(Oe.type==="binary"){y({mode:"binary",name:Oe.name||ke,reference:Oe.path||ue,size:Oe.size,extension:Oe.extension});return}if(typeof Oe.content!="string"){y({mode:"unpreviewable",reference:ue,isDirectory:!1});return}const Ke=B_({format:s.kind==="deliverable"?s.deliverable.format:void 0,reference:ue,content:Oe.content});y({mode:"content",content:Oe.content,format:Ke})}).catch(()=>{he||y({mode:"unpreviewable",reference:ue,isDirectory:!1})}),()=>{he=!0}):(y({mode:"unpreviewable",reference:"",isDirectory:!1}),()=>{he=!0}))},[D,s,ue,ke]);const se=ke||ue,F=C.useCallback((he,Xe)=>{const Oe=he.length>40?`${he.slice(0,24)}…${he.slice(-12)}`:he;return Xe?{label:`🌐 ${Oe}`,content:["[html-selection]",`Text: "${he}"`,`CSS Selector: ${Xe.cssSelector}`,`XPath: ${Xe.xpath}`,ue?`File: ${ue}`:""].filter(Boolean).join(`
49
+ `)}:s.kind==="terminal"?{label:`⌘ ${Oe}`,content:["[terminal-selection]",`Terminal: ${s.title||"Terminal"} (${s.terminalId})`,s.cwd?`Cwd: ${s.cwd}`:"",'"""',he,'"""'].filter(Boolean).join(`
50
+ `)}:{label:`“${Oe}”`,content:`${p("deliverables:chat.selectedFrom",{defaultValue:"Selected from"})} ${se}:
51
+
52
+ """
53
+ ${he}
54
+ """`}},[ue,se,p,s]),G=C.useCallback((he,Xe)=>{!he.trim()||!i||(i(F(he.trim(),Xe)),$(null),window.getSelection()?.removeAllRanges(),q.current?.clearSelection())},[i,F]),ee=C.useCallback(async()=>{if(!i||s.kind!=="terminal")return;const he=(await q.current?.getRecentOutput(80))?.trim();if(!he)return;const Xe=he.length>40?`${he.slice(0,24)}…${he.slice(-12)}`:he;i({label:`⌘ ${Xe}`,content:["[terminal-output]",`Terminal: ${s.title||"Terminal"} (${s.terminalId})`,s.cwd?`Cwd: ${s.cwd}`:"",'"""',he,'"""'].filter(Boolean).join(`
55
+ `)})},[i,s]);C.useEffect(()=>{if(s.kind!=="terminal"||!i)return;const he=navigator.platform.toUpperCase().includes("MAC"),Xe=Oe=>{if(!(he?Oe.metaKey&&!Oe.ctrlKey:Oe.ctrlKey&&!Oe.metaKey)||!Oe.shiftKey||Oe.altKey||Oe.key.toLowerCase()!=="a")return;const Ne=q.current?.getSelection()?.trim();Ne&&(Oe.preventDefault(),G(Ne))};return window.addEventListener("keydown",Xe),()=>window.removeEventListener("keydown",Xe)},[s.kind,i,G]);const we=C.useCallback(he=>{if(!he.text.trim()||!i)return;const Xe=T.current?.querySelector("iframe")?.getBoundingClientRect(),Oe=(Xe?.left??0)+he.rect.x+he.rect.width/2,Ke=(Xe?.top??0)+he.rect.y;$({x:Oe,y:Ke,text:he.text,htmlMeta:{xpath:he.xpath,cssSelector:he.cssSelector}})},[i]);C.useEffect(()=>{const he=T.current;if(!he||!i)return;const Xe=()=>{requestAnimationFrame(()=>{const Ke=window.getSelection(),Ne=Ke?.toString().trim();if(!Ne||!Ke?.rangeCount){$(null);return}const bt=Ke.getRangeAt(0);if(!he.contains(bt.commonAncestorContainer)){$(null);return}const ot=bt.getBoundingClientRect();$({x:ot.left+ot.width/2,y:ot.top,text:Ne})})},Oe=Ke=>{const Ne=document.getElementById("right-panel-selection-toolbar");Ne&&Ne.contains(Ke.target)||$(null)};return he.addEventListener("mouseup",Xe),document.addEventListener("mousedown",Oe),()=>{he.removeEventListener("mouseup",Xe),document.removeEventListener("mousedown",Oe)}},[i,x.mode]);const Ae=()=>{K.files.reveal(ue).catch(()=>{})},xe=()=>{navigator.clipboard?.writeText(ue).then(()=>{k(!0),setTimeout(()=>k(!1),1500)}).catch(()=>{})},me=C.useCallback(async()=>{if(s.kind==="deliverable"){Qr.navigate(Kt.DELIVERABLES,{openDeliverable:s.deliverable.id});return}if(s.kind==="url"){let Xe=s.url;if(s.browserId&&window.markusDesktop?.browser)try{const Oe=await window.markusDesktop.browser.getState(s.browserId);if(Oe.ok){if(Oe.directoryPath){await K.system.openPath(Oe.directoryPath).catch(()=>K.files.reveal(Oe.directoryPath));return}Oe.url&&Oe.url!=="about:blank"&&(Xe=Oe.url)}}catch{}if(!Xe||Xe==="about:blank")return;if(/^https?:\/\//i.test(Xe)||/^file:\/\//i.test(Xe)){Tl(Xe);return}await K.system.openPath(Xe).catch(()=>Tl(ox(Xe)));return}if(s.kind!=="file")return;const he=s.path;if(he){if(/^https?:\/\//i.test(he)||/^file:\/\//i.test(he)){Tl(he);return}await K.system.openPath(he).catch(()=>Tl(ox(he)))}},[s]),ge=s.kind==="deliverable"?!!s.deliverable.id:s.kind==="url"?!!(s.url&&s.url!=="about:blank")||!!s.browserId:s.kind==="file"?!!s.path:!1,He=s.kind==="deliverable"?p("agent:deliverables.openInPage",{defaultValue:"Open in Output"}):p("common:openInSystemBrowser"),nt=!!ue&&!sc(ue)&&(s.kind==="file"||s.kind==="deliverable"),Ct=s.kind==="deliverable"&&s.deliverable.type==="file"&&!!ue&&!sc(ue)&&!s.deliverable.artifactType,pt=s.kind==="deliverable"?{...s.deliverable,hubShareId:Q?.id??s.deliverable.hubShareId??null,shareStatus:Q?.status??s.deliverable.shareStatus??null,shareUrl:Q?.url??s.deliverable.shareUrl??null,shareVisibility:Q?.visibility??s.deliverable.shareVisibility??null}:null,Xt=C.useCallback(he=>{N(he)},[]),wt=C.useMemo(()=>W_(Lm,Rf.getUrl()),[]),Et=s.kind==="deliverable"?s.deliverable.id:null;C.useEffect(()=>{if(!Et||!Lm())return;let he=!1;const Xe=async()=>{try{const Ke=await wt.listMine();if(he)return;const Ne=s.kind==="deliverable"?s.deliverable:null;if(!Ne)return;const bt=Ne.hubShareId&&Ke.find(ts=>ts.id===Ne.hubShareId)||Ke.find(ts=>ts.localId===Ne.id);if(!bt)return;N(ts=>ts&&ts.id===bt.id&&ts.status===bt.status?ts:bt);const ot={hubShareId:Ne.hubShareId??bt.id??null,shareStatus:bt.status??null,shareUrl:bt.url??null,shareVisibility:Ne.shareVisibility??bt.visibility??null};(Ne.shareStatus!==ot.shareStatus||Ne.hubShareId!==ot.hubShareId||Ne.shareUrl!==ot.shareUrl||Ne.shareVisibility!==ot.shareVisibility)&&Ne.id&&K.deliverables.update(Ne.id,ot).catch(ts=>{console.warn("[right-panel] Hub 分享状态本地持久化失败:",ts)})}catch{}};Xe();const Oe=setInterval(Xe,3e4);return()=>{he=!0,clearInterval(Oe)}},[wt,Et,s]);const Pt=pt?.shareStatus??null;return h.jsxs(h.Fragment,{children:[!d&&h.jsx("div",{className:"w-1.5 cursor-col-resize shrink-0 group relative z-10 flex items-center justify-center",onMouseDown:r,children:h.jsx("div",{className:"w-px h-2/3 border-l border-dashed border-transparent group-hover:border-border-default group-active:border-fg-tertiary transition-colors"})}),h.jsxs("div",{className:`bg-surface-primary flex flex-col overflow-hidden ${d?"flex-1 min-w-0":"shrink-0"}`,style:d?void 0:{width:t},"data-right-panel":!0,children:[h.jsxs("header",{"data-electron-drag":!0,className:"relative z-20 h-10 shrink-0 flex items-center gap-1 pl-1.5 pr-1.5 border-b border-border-default bg-surface-primary",children:[v&&h.jsxs("div",{"data-no-drag":!0,className:"shrink-0 flex items-center gap-0.5 pr-1 border-r border-border-default/60",children:[h.jsx("button",{type:"button",onClick:()=>v("browser"),title:p("common:browserMode",{defaultValue:"Browser"}),"aria-label":p("common:browserMode",{defaultValue:"Browser"}),"aria-pressed":g==="browser",className:`w-7 h-7 flex items-center justify-center rounded-md transition-colors ${g==="browser"?"bg-brand-500/15 text-brand-500":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("circle",{cx:"12",cy:"12",r:"10"}),h.jsx("line",{x1:"2",y1:"12",x2:"22",y2:"12"}),h.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]})}),h.jsx("button",{type:"button",onClick:()=>v("terminal"),title:p("common:terminalMode",{defaultValue:"Terminal"}),"aria-label":p("common:terminalMode",{defaultValue:"Terminal"}),"aria-pressed":g==="terminal",className:`w-7 h-7 flex items-center justify-center rounded-md transition-colors ${g==="terminal"?"bg-brand-500/15 text-brand-500":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"4 17 10 11 4 5"}),h.jsx("line",{x1:"12",y1:"19",x2:"20",y2:"19"})]})})]}),U||c?h.jsxs("div",{"data-no-drag":!0,ref:A,role:"tablist",className:"flex-1 min-w-0 flex flex-nowrap items-center gap-0.5 overflow-x-auto overflow-y-hidden overscroll-x-contain scrollbar-thin",onWheel:he=>{const Xe=he.currentTarget;Xe.scrollWidth<=Xe.clientWidth||Math.abs(he.deltaY)<=Math.abs(he.deltaX)||(Xe.scrollLeft+=he.deltaY,he.preventDefault())},children:[n?.map(he=>{const Xe=he.id===a,Oe=he.payload.kind==="url"?he.payload.pageId:void 0,Ke=he.payload.kind==="terminal"?he.payload.terminalId:void 0,Ne=Oe!=null?j[Oe]:Ke?V[Ke]:void 0,bt=Ne?`${he.title} — ${p("common:browserTabControlledBy",{name:Ne.agentName})}`:he.title;return h.jsxs("div",{className:`group shrink-0 flex items-center max-w-[200px] rounded-md text-[11px] border transition-colors ${Xe?Ne?"bg-brand-500/10 border-brand-500/35 text-fg-primary":"bg-surface-elevated border-border-default text-fg-primary":Ne?"border-brand-500/25 text-fg-secondary hover:bg-brand-500/8":"border-transparent text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated/50"}`,children:[h.jsxs("button",{type:"button",role:"tab","aria-selected":Xe,ref:Xe?B:void 0,className:"min-w-0 flex-1 truncate pl-2.5 pr-1 py-1 text-left cursor-pointer flex items-center gap-1",title:bt,onPointerDown:ot=>{ot.button===0&&(he.id!==a&&!te()||o?.(he.id))},onClick:()=>{he.id!==a&&!te()||o?.(he.id)},children:[Ne&&h.jsxs("span",{className:"shrink-0 inline-flex items-center gap-0.5 max-w-[72px] px-1 py-px rounded text-[9px] font-semibold tracking-wide bg-brand-500/20 text-brand-500",title:p("common:browserTabControlledBy",{name:Ne.agentName}),children:[h.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-brand-500 animate-pulse shrink-0","aria-hidden":!0}),h.jsx("span",{className:"truncate",children:Ne.agentName})]}),h.jsx("span",{className:"truncate min-w-0",children:he.title})]}),l&&h.jsx("button",{type:"button",onPointerDown:ot=>{ot.button===0&&(ot.preventDefault(),ot.stopPropagation(),!(he.id===a&&!te())&&l(he.id))},onClick:ot=>{ot.preventDefault(),ot.stopPropagation(),!(he.id===a&&!te())&&l(he.id)},className:`shrink-0 mr-1 p-0.5 rounded hover:bg-surface-overlay transition-colors ${Xe?"text-fg-tertiary hover:text-fg-secondary":"text-fg-muted hover:text-fg-secondary opacity-70 group-hover:opacity-100"}`,title:p("common:closeTab",{defaultValue:"Close tab"}),"aria-label":p("common:closeTab",{defaultValue:"Close tab"}),children:h.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[h.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),h.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},he.id)}),c&&h.jsx("button",{type:"button",onClick:c,className:"shrink-0 w-7 h-7 flex items-center justify-center rounded-md text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated/60 transition-colors",title:p("common:newTab",{defaultValue:"New Tab"}),"aria-label":p("common:newTab",{defaultValue:"New Tab"}),children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),h.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]}):h.jsx("span",{className:"text-sm font-semibold text-fg-primary truncate flex-1 min-w-0 px-1.5",title:ue||ke,children:ke}),h.jsxs("div",{"data-no-drag":!0,className:"shrink-0 flex items-center gap-0.5 pl-1 border-l border-border-default/60",children:[s.kind==="terminal"&&i&&h.jsx("button",{type:"button",onClick:()=>{ee()},title:p("common:addRecentOutput",{defaultValue:"Add recent output to chat"}),"aria-label":p("common:addRecentOutput",{defaultValue:"Add recent output to chat"}),className:"w-7 h-7 flex items-center justify-center rounded-md transition-colors text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated",children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}),Ct&&h.jsxs("button",{type:"button",onClick:()=>S(!0),title:p("deliverables:share.title",{defaultValue:"分享到 Markus Hub"}),"aria-label":p("deliverables:share.title",{defaultValue:"分享到 Markus Hub"}),className:`relative w-7 h-7 flex items-center justify-center rounded-md transition-colors ${Pt==="published"?"text-green-500 hover:text-green-400":Pt==="pending_review"?"text-amber-500 hover:text-amber-400":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,children:[h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("circle",{cx:"18",cy:"5",r:"3"}),h.jsx("circle",{cx:"6",cy:"12",r:"3"}),h.jsx("circle",{cx:"18",cy:"19",r:"3"}),h.jsx("line",{x1:"8.59",y1:"13.51",x2:"15.42",y2:"17.49"}),h.jsx("line",{x1:"15.41",y1:"6.51",x2:"8.59",y2:"10.49"})]}),(Pt==="published"||Pt==="pending_review"||Pt==="rejected")&&h.jsx("span",{className:`absolute -top-0.5 -right-0.5 w-2 h-2 rounded-full border border-surface-primary ${Pt==="published"?"bg-green-500":Pt==="pending_review"?"bg-amber-500":"bg-red-500"}`,"aria-hidden":!0})]}),ge&&h.jsx("button",{type:"button",onClick:()=>{me()},title:He,"aria-label":He,className:"w-7 h-7 flex items-center justify-center rounded-md transition-colors text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated",children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),h.jsx("polyline",{points:"15 3 21 3 21 9"}),h.jsx("line",{x1:"10",y1:"14",x2:"21",y2:"3"})]})}),nt&&h.jsx("button",{onClick:Ae,title:p("detail.openInFileBrowser",{defaultValue:"Reveal in file browser"}),"aria-label":p("detail.openInFileBrowser",{defaultValue:"Reveal in file browser"}),className:"w-7 h-7 flex items-center justify-center rounded-md transition-colors text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated",children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})})}),u&&h.jsx("button",{onClick:u,title:d?p("common:exitFullscreen",{defaultValue:"Exit fullscreen"}):p("common:fullscreen",{defaultValue:"Fullscreen"}),className:"w-7 h-7 flex items-center justify-center rounded-md transition-colors text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated",children:d?h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"4 14 10 14 10 20"}),h.jsx("polyline",{points:"20 10 14 10 14 4"}),h.jsx("line",{x1:"14",y1:"10",x2:"21",y2:"3"}),h.jsx("line",{x1:"3",y1:"21",x2:"10",y2:"14"})]}):h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("polyline",{points:"15 3 21 3 21 9"}),h.jsx("polyline",{points:"9 21 3 21 3 15"}),h.jsx("line",{x1:"21",y1:"3",x2:"14",y2:"10"}),h.jsx("line",{x1:"3",y1:"21",x2:"10",y2:"14"})]})}),h.jsx("button",{onClick:()=>{te()&&e()},title:p("common:collapsePanel",{defaultValue:"Hide panel"}),"aria-label":p("common:collapsePanel",{defaultValue:"Hide panel"}),className:"w-7 h-7 flex items-center justify-center rounded-md transition-colors text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated",children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),h.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})]}),h.jsxs("div",{className:`flex-1 min-w-0 min-h-0 ${x.mode==="url"||x.mode==="terminal"||x.mode==="content"&&["code","json","text","markdown","html"].includes(x.format)?"overflow-hidden p-2 flex flex-col":"overflow-auto p-4"}`,children:[x.mode==="loading"&&h.jsxs("div",{className:"animate-pulse space-y-3",children:[h.jsx("div",{className:"h-4 bg-surface-overlay/60 rounded w-full"}),h.jsx("div",{className:"h-4 bg-surface-overlay/60 rounded w-5/6"}),h.jsx("div",{className:"h-32 bg-surface-overlay/40 rounded-lg w-full mt-2"}),h.jsx("div",{className:"h-4 bg-surface-overlay/60 rounded w-3/4"})]}),x.mode==="image"&&h.jsxs("div",{className:"flex flex-col items-center gap-2",children:[h.jsx("img",{src:x.src,alt:x.name,className:"max-w-full rounded-lg object-contain"}),h.jsx("span",{className:"text-xs text-fg-tertiary",children:x.name})]}),x.mode==="audio"&&h.jsxs("div",{className:"flex flex-col items-stretch gap-3 py-6",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"w-12 h-12 rounded-xl bg-brand-500/15 text-brand-500 flex items-center justify-center shrink-0",children:h.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M9 18V5l12-2v13"}),h.jsx("circle",{cx:"6",cy:"18",r:"3"}),h.jsx("circle",{cx:"18",cy:"16",r:"3"})]})}),h.jsxs("div",{className:"min-w-0",children:[h.jsx("div",{className:"text-sm font-medium text-fg-primary truncate",children:x.name}),h.jsxs("div",{className:"text-[11px] text-fg-tertiary mt-0.5",children:[x.mimeType,x.size!=null?` · ${xu(x.size)}`:""]})]})]}),h.jsx("audio",{controls:!0,preload:"metadata",src:x.src,className:"w-full"})]}),x.mode==="video"&&h.jsxs("div",{className:"flex flex-col items-stretch gap-3",children:[h.jsx("video",{controls:!0,preload:"metadata",src:x.src,className:"w-full max-h-[70vh] rounded-lg bg-black"}),h.jsxs("span",{className:"text-xs text-fg-tertiary",children:[x.name,x.size!=null?` · ${xu(x.size)}`:""]})]}),x.mode==="binary"&&h.jsxs("div",{className:"space-y-4 py-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"w-12 h-12 rounded-xl bg-surface-elevated text-fg-tertiary flex items-center justify-center shrink-0 text-xs font-mono uppercase",children:(x.extension||"file").replace(/^\./,"")||"file"}),h.jsxs("div",{className:"min-w-0",children:[h.jsx("div",{className:"text-sm font-medium text-fg-primary truncate",children:x.name}),h.jsxs("div",{className:"text-[11px] text-fg-tertiary mt-0.5",children:[p("detail.cannotPreview",{type:"file",defaultValue:"This file type cannot be previewed."}),x.size!=null?` · ${xu(x.size)}`:""]})]})]}),x.reference&&h.jsx("div",{className:"flex items-center gap-2",children:h.jsx("button",{onClick:()=>{K.files.reveal(x.reference)},className:"px-3 py-2 text-xs rounded-lg bg-brand-600/20 text-brand-500 hover:bg-brand-600/30 transition-colors",children:p("detail.openInFileBrowser",{defaultValue:"Reveal in file browser"})})})]}),x.mode==="content"&&(()=>{const he=ue?ue.replace(/[/\\][^/\\]+$/,""):void 0,Xe=ue&&!sc(ue)?ue:"",Oe=x.format;return Xe&&(Oe==="code"||Oe==="json"||Oe==="text")?h.jsx("div",{ref:T,className:"flex-1 min-h-0 min-w-0 w-full flex flex-col",children:h.jsx(iS,{path:Xe,initialContent:x.content,language:Wp(Xe,Oe),onDirtyChange:J})}):Xe&&(Oe==="markdown"||Oe==="html")?h.jsx("div",{ref:T,className:"flex-1 min-h-0 min-w-0 w-full flex flex-col",children:h.jsx(YA,{path:Xe,content:x.content,format:Oe,basePath:he,onHtmlSelection:we,onDirtyChange:J})}):h.jsx("div",{ref:T,className:"min-w-0 max-w-full overflow-auto break-words [&_pre]:max-w-full [&_pre]:overflow-x-auto [&_table]:block [&_table]:max-w-full [&_table]:overflow-x-auto [&_img]:max-w-full",children:h.jsx(vu,{content:x.content,format:Oe,className:"text-fg-secondary text-sm",onHtmlSelection:we,basePath:he})})})(),x.mode==="artifact"&&h.jsx("div",{ref:T,className:"min-w-0 max-w-full break-words [&_pre]:max-w-full [&_pre]:overflow-x-auto [&_table]:block [&_table]:max-w-full [&_table]:overflow-x-auto [&_img]:max-w-full",children:h.jsx(vu,{content:x.summary,format:"markdown",className:"text-fg-secondary text-sm"})}),x.mode==="url"&&h.jsx("div",{className:"flex-1 min-h-0 min-w-0 w-full flex flex-col",children:h.jsx(KA,{url:x.url,browserId:x.browserId,className:"flex-1 min-h-0",onMeta:x.browserId&&f?he=>f(x.browserId,he):void 0},x.browserId||x.url)}),x.mode==="terminal"&&h.jsx("div",{className:"flex-1 min-h-0 min-w-0 w-full flex flex-col",children:h.jsx(aM,{terminalId:x.terminalId,title:x.title,cwd:x.cwd,active:!0,apiRef:q,onMeta:b,onOpenUrl:m,onOpenPath:O,onSelection:he=>{if(!he||!i){$(null);return}$({x:he.x,y:he.y,text:he.text})}},x.terminalId)}),x.mode==="unpreviewable"&&h.jsxs("div",{className:"space-y-3",children:[h.jsx("p",{className:"text-sm text-fg-secondary",children:x.isDirectory?p("detail.cannotPreview",{type:"directory",defaultValue:"This item cannot be previewed here."}):p("detail.cannotPreview",{type:"file",defaultValue:"This file cannot be previewed here."})}),x.reference&&h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:Ae,className:"text-xs bg-surface-elevated px-3 py-2 rounded text-brand-500 hover:underline flex-1 truncate text-left cursor-pointer font-mono",title:p("detail.openInFileBrowser",{defaultValue:"Reveal in file browser"}),children:x.reference}),h.jsx("button",{onClick:Ae,className:"px-3 py-2 text-xs rounded-lg bg-brand-600/20 text-brand-500 hover:bg-brand-600/30 transition-colors shrink-0",children:p("common:open",{defaultValue:"Open"})}),h.jsx("button",{onClick:xe,className:`px-3 py-2 text-xs rounded-lg transition-colors shrink-0 ${_?"bg-green-500/20 text-green-600":"bg-surface-overlay/50 text-fg-secondary hover:bg-surface-overlay"}`,children:_?p("common:copied",{defaultValue:"Copied"}):p("common:copy",{defaultValue:"Copy"})})]})]})]},D)]}),L&&i&&h.jsx("div",{id:"right-panel-selection-toolbar",className:"fixed z-50 -translate-x-1/2 -translate-y-full rounded-lg shadow-xl overflow-hidden border border-brand-400/40 bg-brand-600",style:{left:L.x,top:L.y-8},children:h.jsxs("button",{onMouseDown:he=>{he.preventDefault(),he.stopPropagation(),G(L.text,L.htmlMeta)},className:"px-3 py-1.5 text-xs font-medium text-white hover:bg-brand-500 transition-colors flex items-center gap-1.5 whitespace-nowrap",children:[h.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})}),p("deliverables:contextMenu.addToConversation",{defaultValue:"Add to conversation"})]})}),w&&pt&&h.jsx(X_,{item:pt,onClose:()=>S(!1),onShared:Xt})]})}const uM=C.lazy(()=>Mx(()=>import("./index-CiAGgfZx.js").then(s=>s.aE),__vite__mapDeps([0,1])).then(s=>({default:s.MarkdownMessage}))),Xp=[{key:"overview",icon:"▦"},{key:"files",icon:"📄"},{key:"tools",icon:"⚒"},{key:"memory",icon:"🧠"},{key:"deliverables",icon:"📦"}];function Qf(s,e){return e(`agent:profilePage.taskStatus.${s}`,{defaultValue:s.replace(/_/g," ")})}function cS(s,e){const r={idle:"common:status.idle",working:"common:status.working",offline:"common:status.offline",error:"common:status.error"}[s];return r?e(r):s}const hS={idle:"bg-green-400",working:"bg-blue-400 animate-pulse",paused:"bg-amber-400",offline:"bg-gray-500",error:"bg-red-400"};function Kn(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:s.toLocaleString()}function ax({agentId:s,onBack:e,inline:t,defaultTab:r,onSwipeBack:i,highlightMailboxId:n,authUser:a,headless:o,activeTab:l}){const{t:c}=At(["agent","common"]),d=jf(),[u,f]=C.useState(null),[g,v]=C.useState(null),[b,m]=C.useState(r??"overview"),O=o&&l?l:b,[p,x]=C.useState(null),y=C.useMemo(()=>Xp.map($=>({...$,label:c(`agent:tabs.${$.key}`)})),[c]),_=C.useMemo(()=>y.map($=>({id:$.key})),[y]),k=C.useMemo(()=>({onSwipeOutLeft:i}),[i]),w=jx(_,b,m,k),S=C.useRef(null);C.useEffect(()=>{const $=S.current;if(!$)return;$.querySelector('[data-active="true"]')?.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},[b]);const Q=C.useCallback(()=>{K.agents.get(s).then(f).catch(()=>{})},[s]);if(C.useEffect(()=>(m(r??"overview"),x(null),Q(),K.externalAgents.list().then(j=>{const I=j.agents.find(V=>V.markusAgentId===s);x(I??null)}).catch(()=>{}),yt.on("agent:update",j=>{j.payload.agentId===s&&Q()})),[s,Q]),!u)return h.jsx("div",{className:"flex-1 flex items-center justify-center text-fg-tertiary text-sm",children:c("agent:profilePage.loadingAgent")});const N=hS[u.state.status]??"bg-gray-500",L=a?.role==="owner"||a?.role==="admin";return o?h.jsx("div",{className:"flex-1 overflow-y-auto bg-surface-primary",children:h.jsxs("div",{className:"p-5",children:[(O==="overview"||O==="mind")&&h.jsxs(h.Fragment,{children:[h.jsx(lx,{agent:u,onUpdate:Q,externalInfo:p,t:c,canManageAgents:L}),h.jsx("div",{className:"mt-6",children:h.jsx(Sx,{agentId:s,highlightId:n,agentStatus:u.state.status,canManageAgents:L,onAgentStateChange:Q})})]}),O==="files"&&h.jsx(dx,{agentId:s}),O==="tools"&&h.jsx(ux,{tools:u.tools??[],agent:u}),O==="memory"&&h.jsxs(h.Fragment,{children:[h.jsx(px,{agentId:s,initialData:u.heartbeat}),h.jsx("div",{className:"mt-6",children:h.jsx(fx,{agentId:s})})]}),O==="deliverables"&&h.jsx(_x,{agentId:s})]})}):h.jsxs("div",{className:"flex-1 overflow-y-auto bg-surface-primary",children:[h.jsxs("div",{className:"px-5 py-3.5 bg-surface-secondary sticky top-0 z-10",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(js,{name:u.name,avatarUrl:u.avatarUrl,size:40,className:"rounded-xl"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[h.jsx("h2",{className:"text-base font-semibold",children:u.name}),h.jsx("span",{className:`w-2 h-2 rounded-full ${N}`}),h.jsx("span",{className:"text-xs text-fg-tertiary",children:cS(u.state.status,c)}),p&&h.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-brand-500/15 text-brand-500 rounded font-medium",children:c("agent:profilePage.badges.external")}),u.agentRole==="manager"&&h.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-amber-500/15 text-amber-600 rounded font-medium",children:c("agent:profilePage.badges.manager")})]}),h.jsxs("div",{className:"text-xs text-fg-tertiary truncate",children:[u.role,u.roleDescription?` — ${u.roleDescription}`:""]})]}),h.jsxs("div",{className:"flex gap-1.5 shrink-0",children:[!t&&h.jsxs("button",{onClick:()=>Qr.navigate(Kt.TEAM,{agentId:s}),className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors flex items-center gap-1",children:[h.jsx("span",{children:"◈"})," ",c("agent:profilePage.chat")]}),L&&h.jsxs("button",{onClick:async()=>{if(u)try{const{filesMap:$}=await K.agents.getFilesMap(s),j={type:"agent",name:Ex(u.name,u.name),displayName:u.name,version:"1.0.0",description:u.roleDescription??u.role,author:"",category:"general",tags:[],agent:{roleName:u.role,agentRole:u.agentRole},dependencies:{skills:u.skills??[]}};await Rf.publishViaProxy({itemType:"agent",name:u.name,description:j.description,category:"general",config:j,files:$}),v({title:c("agent:profilePage.hub"),message:c("agent:profilePage.publishSuccess",{name:u.name}),variant:"primary"})}catch($){v({title:c("agent:profilePage.hub"),message:c("agent:profilePage.publishFailed",{error:String($)}),variant:"danger"})}},className:"px-3 py-1.5 text-xs bg-green-600 hover:bg-green-500 text-white rounded-lg transition-colors flex items-center gap-1",title:c("agent:profilePage.publishTitle"),children:[h.jsx("span",{children:"↑"})," ",c("agent:profilePage.hub")]}),t&&h.jsx("button",{onClick:e,className:"p-1.5 text-fg-tertiary hover:text-fg-secondary text-lg leading-none",children:"×"})]})]}),h.jsx("div",{ref:S,className:"flex gap-1 mt-3 -mb-[1px] overflow-x-auto scrollbar-hide",children:y.filter($=>!p||["overview","mind"].includes($.key)).map($=>h.jsxs("button",{onClick:()=>m($.key),"data-active":b===$.key,className:`px-3 py-1.5 text-xs rounded-t-lg border border-b-0 transition-colors whitespace-nowrap ${b===$.key?"bg-surface-primary text-fg-primary border-border-default":"text-fg-tertiary border-transparent hover:text-fg-secondary hover:bg-surface-elevated/50"}`,children:[h.jsx("span",{className:"mr-1",children:$.icon}),$.label]},$.key))})]}),h.jsxs("div",{className:"p-5",onTouchStart:d?w.onTouchStart:void 0,onTouchEnd:d?w.onTouchEnd:void 0,children:[(b==="overview"||b==="mind")&&h.jsxs(h.Fragment,{children:[h.jsx(lx,{agent:u,onUpdate:Q,externalInfo:p,t:c,canManageAgents:L}),h.jsx("div",{className:"mt-6",children:h.jsx(Sx,{agentId:s,highlightId:n,agentStatus:u.state.status,canManageAgents:L,onAgentStateChange:Q})})]}),b==="files"&&h.jsx(dx,{agentId:s}),b==="tools"&&h.jsx(ux,{tools:u.tools??[],agent:u}),b==="memory"&&h.jsxs(h.Fragment,{children:[h.jsx(px,{agentId:s,initialData:u.heartbeat}),h.jsx("div",{className:"mt-6",children:h.jsx(fx,{agentId:s})})]}),b==="deliverables"&&h.jsx(_x,{agentId:s})]}),g&&h.jsx(_o,{alertOnly:!0,variant:g.variant??"primary",title:g.title,message:g.message,onConfirm:()=>v(null),onCancel:()=>v(null)})]})}function lx({agent:s,onUpdate:e,externalInfo:t,t:r,canManageAgents:i}){const[n,a]=C.useState(null),[o,l]=C.useState([]),[c,d]=C.useState(null),[u,f]=C.useState(null),[g,v]=C.useState(""),[b,m]=C.useState([]);C.useEffect(()=>{K.usage.agents().then(w=>{const S=w.agents.find(Q=>Q.agentId===s.id);S&&a(S)}).catch(()=>{}),K.agents.getRecentActivities(s.id).then(w=>l(w.activities)).catch(()=>{}),K.system.storage().then(w=>{v(w.dataDir+"/agents/"+s.id);const S=w.agents.find(Q=>Q.id===s.id);S&&f(S)}).catch(()=>{}),s.state.activeTaskIds?.length&&K.tasks.list({assignedAgentId:s.id}).then(w=>{m(w.tasks.filter(S=>s.state.activeTaskIds?.includes(S.id)))}).catch(()=>{})},[s.id,s.state.activeTaskIds]);const O=()=>{s.state.status==="offline"?K.agents.start(s.id).then(e):K.agents.stop(s.id).then(e)},p=C.useMemo(()=>[{method:"POST",path:"/api/gateway/sync",desc:r("agent:profilePage.gateway.sync")},{method:"GET",path:"/api/gateway/manual",desc:r("agent:profilePage.gateway.manual")},{method:"GET",path:"/api/gateway/team",desc:r("agent:profilePage.gateway.team")},{method:"GET",path:"/api/gateway/projects",desc:r("agent:profilePage.gateway.projects")},{method:"GET",path:"/api/gateway/requirements",desc:r("agent:profilePage.gateway.requirements")}],[r]),x=C.useMemo(()=>[{field:"assignedTasks",desc:r("agent:profilePage.syncContext.assignedTasks")},{field:"inboxMessages",desc:r("agent:profilePage.syncContext.inboxMessages")},{field:"teamContext",desc:r("agent:profilePage.syncContext.teamContext")},{field:"projectContext",desc:r("agent:profilePage.syncContext.projectContext")}],[r]);if(t)return h.jsxs("div",{className:"space-y-4",children:[h.jsx(as,{title:r("agent:profilePage.overview.identity"),children:h.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3",children:[h.jsx(qs,{label:r("agent:profilePage.overview.labels.name"),children:s.name}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.agentRole"),children:h.jsx("span",{className:s.agentRole==="manager"?"text-amber-600":"text-blue-600",children:s.agentRole==="manager"?r("agent:profilePage.roles.managerDisplay"):r("agent:profilePage.roles.workerDisplay")})}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.roleTemplate"),children:s.role}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.markusAgentId"),mono:!0,children:s.id}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.organization"),children:s.config?.orgId??"default"}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.created"),children:s.config?.createdAt?new Date(s.config.createdAt).toLocaleDateString():r("agent:profilePage.emDash")})]})}),h.jsx(as,{title:r("agent:profilePage.overview.connectionStatus"),children:h.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1.5",children:[h.jsx(fs,{label:r("agent:profilePage.overview.labels.connection"),value:t.connected?r("common:status.online"):r("common:status.offline"),color:t.connected?"green":"gray"}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.platform"),value:r("agent:profilePage.overview.openClaw")}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.activeTasks"),value:String(s.state.activeTaskIds?.length??0)}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.lastSync"),value:t.lastHeartbeat?new Date(t.lastHeartbeat).toLocaleTimeString():r("agent:profilePage.never")})]})}),h.jsx(as,{title:r("agent:profilePage.overview.externalAgentDetails"),children:h.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3",children:[h.jsx(qs,{label:r("agent:profilePage.overview.labels.externalAgentId"),mono:!0,children:t.externalAgentId}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.registered"),children:new Date(t.registeredAt).toLocaleString()}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.capabilities"),children:t.capabilities.length>0?t.capabilities.join(", "):r("agent:profilePage.overview.noneDeclared")}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.lastHeartbeat"),children:t.lastHeartbeat?new Date(t.lastHeartbeat).toLocaleString():r("agent:profilePage.never")})]})}),h.jsx(as,{title:r("agent:profilePage.overview.syncContextTitle"),children:h.jsx("div",{className:"space-y-1.5",children:x.map(w=>h.jsxs("div",{className:"flex items-start gap-2.5 px-3 py-2 rounded-lg bg-surface-elevated",children:[h.jsx("span",{className:"font-mono text-[10px] text-brand-500 shrink-0 pt-0.5",children:w.field}),h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:w.desc})]},w.field))})}),h.jsx(as,{title:r("agent:profilePage.overview.gatewayEndpoints"),children:h.jsx("div",{className:"space-y-1.5",children:p.map(w=>h.jsxs("div",{className:"flex items-start gap-2.5 px-3 py-2 rounded-lg bg-surface-elevated",children:[h.jsx("span",{className:`text-[10px] font-semibold shrink-0 pt-0.5 ${w.method==="POST"?"text-amber-600":"text-green-600"}`,children:w.method}),h.jsx("span",{className:"font-mono text-[10px] text-fg-secondary shrink-0 pt-0.5",children:w.path}),h.jsx("span",{className:"text-[10px] text-fg-tertiary ml-auto",children:w.desc})]},w.path))})})]});const y=o.filter(w=>w.type==="heartbeat").length,_=o.filter(w=>w.type==="chat").length,k=s.state.activeTaskIds?.length??0;return h.jsxs("div",{className:"space-y-4",children:[h.jsxs("div",{className:"bg-surface-elevated rounded-xl px-4 py-3 flex flex-wrap items-center gap-x-5 gap-y-1.5",children:[h.jsx(qs,{label:r("agent:profilePage.overview.labels.roleTemplate"),children:s.role}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.agentRole"),children:h.jsx("span",{className:s.agentRole==="manager"?"text-amber-600":"text-blue-600",children:s.agentRole==="manager"?r("agent:profilePage.roles.managerDisplay"):r("agent:profilePage.roles.workerDisplay")})}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.agentId"),mono:!0,children:s.id}),h.jsx(qs,{label:r("agent:profilePage.overview.labels.created"),children:s.config?.createdAt?new Date(s.config.createdAt).toLocaleDateString():r("agent:profilePage.emDash")})]}),h.jsxs("div",{className:"bg-surface-elevated rounded-xl px-4 py-3 space-y-3",children:[h.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1.5",children:[h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${hS[s.state.status]||"bg-gray-500"}`}),h.jsx("span",{className:`text-sm font-semibold ${s.state.status==="idle"?"text-green-500":s.state.status==="working"?"text-blue-400":s.state.status==="error"?"text-red-400":"text-fg-secondary"}`,children:cS(s.state.status,r)})]}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.tokensToday"),value:Kn(s.state.tokensUsedToday)}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.activeTasks"),value:String(k),color:k>0?"blue":void 0}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.lastHeartbeat"),value:s.state.lastHeartbeat?new Date(s.state.lastHeartbeat).toLocaleTimeString():r("agent:profilePage.never")}),i&&h.jsx("button",{onClick:O,className:"ml-auto px-3 py-1 text-xs border border-border-default rounded-lg hover:border-brand-500 transition-colors shrink-0",children:s.state.status==="offline"?r("agent:profilePage.overview.startAgent"):r("agent:profilePage.overview.stopAgent")})]}),s.state.status==="error"&&h.jsxs("div",{className:"bg-red-500/10 border border-red-500/20 rounded-lg p-3",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[h.jsx("span",{className:"text-xs font-medium text-red-500",children:r("agent:profilePage.overview.errorDetails")}),s.state.lastErrorAt&&h.jsx("span",{className:"text-[10px] text-red-500/50 ml-auto",children:new Date(s.state.lastErrorAt).toLocaleString()})]}),h.jsx("pre",{className:"text-[11px] text-red-500/80 leading-relaxed whitespace-pre-wrap break-all font-mono bg-red-500/5 rounded p-2",children:wc(s.state.lastError,r)||s.state.lastError||r("agent:profilePage.overview.errorFallback")})]}),s.state.status==="working"&&k>0&&h.jsx("div",{className:"bg-brand-500/10 border border-brand-500/20 rounded-lg p-2.5",children:h.jsx("div",{className:"space-y-1",children:b.map(w=>h.jsxs("div",{className:"flex items-center gap-2 text-[11px]",children:[h.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-brand-400 animate-pulse shrink-0"}),h.jsx("span",{className:"text-fg-secondary truncate flex-1",children:w.title}),h.jsx("span",{className:"text-fg-tertiary capitalize shrink-0",children:Qf(w.status,r)})]},w.id))})}),n&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"border-t border-border-default/40"}),h.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1.5",children:[h.jsx(fs,{label:r("agent:profilePage.overview.labels.totalTokens"),value:Kn(n.totalTokens)}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.requests"),value:String(n.requestCount)}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.toolCalls"),value:String(n.toolCalls)}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.promptTokens"),value:Kn(n.promptTokens)}),h.jsx(fs,{label:r("agent:profilePage.overview.labels.completionTokens"),value:Kn(n.completionTokens)}),h.jsx(fs,{label:"CU Used",value:Kn(n.cuUsed??0)})]})]}),u&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"border-t border-border-default/40"}),h.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1.5",children:[h.jsx(fs,{label:r("agent:profilePage.overview.storage"),value:xx(u.size)}),u.subItems.filter(w=>w.size>0).map(w=>h.jsx(fs,{label:w.name,value:xx(w.size)},w.name)),h.jsxs("button",{onClick:()=>{K.system.openPath(g)},className:"text-[10px] text-fg-tertiary hover:text-fg-secondary ml-auto",children:[r("agent:profilePage.overview.openFolder")," →"]})]})]})]}),y>0&&h.jsx(as,{title:r("agent:profilePage.overview.recentHeartbeats"),action:h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:r("agent:profilePage.overview.heartbeatRuns",{count:y})}),children:h.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:o.filter(w=>w.type==="heartbeat").map(w=>{const S=c===w.id;return h.jsxs("div",{children:[h.jsxs("button",{onClick:()=>d(S?null:w.id),className:"w-full flex items-center gap-2.5 px-5 py-2.5 text-left transition-colors hover:bg-surface-elevated/40 cursor-pointer",children:[h.jsx("span",{className:"w-2 h-2 rounded-full shrink-0 bg-green-400"}),h.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:w.label}),h.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:new Date(w.startedAt).toLocaleString()}),h.jsx("span",{className:"text-fg-tertiary text-[10px]",children:S?"▲":"▼"})]}),S&&h.jsx("div",{className:"border-t border-border-default/60 bg-surface-primary/40",children:h.jsx(Xa,{agentId:s.id,activityId:w.id})})]},w.id)})})}),_>0&&h.jsx(as,{title:r("agent:profilePage.overview.recentA2A"),action:h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:r("agent:profilePage.overview.conversations",{count:_})}),children:h.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:o.filter(w=>w.type==="chat").map(w=>{const S=c===w.id;return h.jsxs("div",{children:[h.jsxs("button",{onClick:()=>d(S?null:w.id),className:"w-full flex items-center gap-2.5 px-5 py-2.5 text-left transition-colors hover:bg-surface-elevated/40 cursor-pointer",children:[h.jsx("span",{className:"w-2 h-2 rounded-full shrink-0 bg-blue-400"}),h.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:w.label}),h.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:new Date(w.startedAt).toLocaleString()}),h.jsx("span",{className:"text-fg-tertiary text-[10px]",children:S?"▲":"▼"})]}),S&&h.jsx("div",{className:"border-t border-border-default/60 bg-surface-primary/40",children:h.jsx(Xa,{agentId:s.id,activityId:w.id})})]},w.id)})})})]})}function fM(s,e){const t=s.split(`
56
+ `),r=e.split(`
57
+ `),i=t.length,n=r.length,a=Array.from({length:i+1},()=>new Array(n+1).fill(0));for(let f=i-1;f>=0;f--)for(let g=n-1;g>=0;g--)a[f][g]=t[f]===r[g]?a[f+1][g+1]+1:Math.max(a[f+1][g],a[f][g+1]);const o=[];let l=0,c=0,d=1,u=1;for(;l<i||c<n;)l<i&&c<n&&t[l]===r[c]?(o.push({type:"equal",content:t[l],oldLineNum:d++,lineNum:u++}),l++,c++):c<n&&(l>=i||a[l][c+1]>=a[l+1][c])?(o.push({type:"add",content:r[c],lineNum:u++}),c++):(o.push({type:"remove",content:t[l],oldLineNum:d++}),l++);return o}function cx(s){return s.match(/\S+|\s+/g)??[""]}function hx({oldText:s,newText:e,mode:t}){const r=cx(s),i=cx(e),n=r.length,a=i.length,o=Array.from({length:n+1},()=>new Array(a+1).fill(0));for(let u=n-1;u>=0;u--)for(let f=a-1;f>=0;f--)o[u][f]=r[u]===i[f]?o[u+1][f+1]+1:Math.max(o[u+1][f],o[u][f+1]);const l=[];let c=0,d=0;for(;c<n||d<a;)c<n&&d<a&&r[c]===i[d]?(l.push({text:t==="remove"?r[c]:i[d],changed:!1}),c++,d++):d<a&&(c>=n||o[c][d+1]>=o[c+1][d])?(t==="add"&&l.push({text:i[d],changed:!0}),d++):(t==="remove"&&l.push({text:r[c],changed:!0}),c++);return h.jsx("span",{children:l.map((u,f)=>u.changed?h.jsx("span",{className:t==="add"?"bg-green-500/30 rounded-sm":"bg-red-500/30 rounded-sm",children:u.text},f):h.jsx("span",{children:u.text},f))})}function pM({agent:s,template:e,templateId:t}){const{t:r}=At(["agent","common"]),i=C.useMemo(()=>fM(s,e),[s,e]),[n,a]=C.useState(!0),o=3,l=C.useMemo(()=>{const g=i.map((O,p)=>O.type!=="equal"?p:-1).filter(O=>O>=0);if(g.length===0)return[];const v=[];let b=Math.max(0,g[0]-o),m=Math.min(i.length-1,g[0]+o);for(let O=1;O<g.length;O++){const p=Math.max(0,g[O]-o),x=Math.min(i.length-1,g[O]+o);p<=m+1||(v.push({start:b,end:m}),b=p),m=x}return v.push({start:b,end:m}),v},[i]),c=(g,v,b)=>{const m=g.type==="add"?"+":g.type==="remove"?"-":" ",O=g.type==="add"?"bg-green-500/8":g.type==="remove"?"bg-red-500/8":"",p=g.type==="add"?"text-green-600/90":g.type==="remove"?"text-red-500/80":"text-fg-tertiary",x=g.type==="add"?"text-green-500":g.type==="remove"?"text-red-500":"text-fg-muted",y=g.type==="remove"?g.oldLineNum:g.lineNum;let _=null;return g.type==="remove"&&v+1<b.length&&b[v+1].type==="add"?_=h.jsx(hx,{oldText:g.content,newText:b[v+1].content,mode:"remove"}):g.type==="add"&&v>0&&b[v-1].type==="remove"&&(_=h.jsx(hx,{oldText:b[v-1].content,newText:g.content,mode:"add"})),h.jsxs("div",{className:`flex ${O} hover:brightness-95 transition-colors`,children:[h.jsx("span",{className:"w-10 shrink-0 text-right pr-2 text-[10px] text-fg-muted/50 select-none leading-[20px]",children:y??""}),h.jsx("span",{className:`w-4 shrink-0 text-center text-[11px] font-mono ${x} select-none leading-[20px]`,children:m}),h.jsxs("span",{className:`flex-1 text-[11px] font-mono ${p} whitespace-pre-wrap break-words leading-[20px]`,children:[_??g.content,g.content===""&&" "]})]},v)},d=i.filter(g=>g.type==="add").length,u=i.filter(g=>g.type==="remove").length,f=n?l.flatMap(g=>{const v=[];for(let b=g.start;b<=g.end;b++)v.push({...i[b],_idx:b});return v}):i.map((g,v)=>({...g,_idx:v}));return h.jsxs("div",{className:"mb-3 bg-surface-elevated rounded-lg overflow-hidden",children:[h.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 bg-surface-elevated",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("span",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider",children:r("agent:profilePage.diff.title",{templateId:t})}),h.jsxs("span",{className:"text-[10px] text-green-500 font-mono",children:["+",d]}),h.jsxs("span",{className:"text-[10px] text-red-500 font-mono",children:["-",u]})]}),h.jsx("button",{onClick:()=>a(g=>!g),className:"text-[10px] text-brand-500 hover:text-brand-400 transition-colors",children:r(n?"agent:profilePage.diff.showFullFile":"agent:profilePage.diff.showChangesOnly")})]}),h.jsxs("div",{className:"max-h-72 overflow-y-auto bg-surface-primary/50",children:[n&&l.length>0&&l[0].start>0&&h.jsx("div",{className:"text-[10px] text-fg-muted/50 text-center py-0.5 bg-surface-elevated/40 border-b border-border-default/30",children:r("agent:profilePage.diff.linesHidden",{count:l[0].start})}),f.map((g,v)=>{const b=v>0?f[v-1]:null,m=n&&b&&g._idx-b._idx>1;return h.jsxs("div",{children:[m&&h.jsx("div",{className:"text-[10px] text-fg-muted/50 text-center py-0.5 bg-surface-elevated/40 border-y border-border-default/30",children:"···"}),c(g,g._idx,i)]},v)}),n&&l.length>0&&l[l.length-1].end<i.length-1&&h.jsx("div",{className:"text-[10px] text-fg-muted/50 text-center py-0.5 bg-surface-elevated/40 border-t border-border-default/30",children:r("agent:profilePage.diff.linesHidden",{count:i.length-1-l[l.length-1].end})}),l.length===0&&h.jsx("div",{className:"text-xs text-fg-tertiary text-center py-4",children:r("agent:profilePage.diff.identical")})]})]})}function mM(s,e){const t=s.split(`
58
+ `),r=e.split(`
59
+ `),i=[],n=Math.max(t.length,r.length);for(let a=0;a<n;a++){const o=t[a],l=r[a];if(o===l){i.push(` ${o??""}`);continue}o!==void 0&&(l===void 0||o!==l)&&i.push(`- ${o}`),l!==void 0&&(o===void 0||o!==l)&&i.push(`+ ${l}`)}if(i.length>80){const a=i.filter(o=>o.startsWith("+ ")||o.startsWith("- "));if(a.length>0)return a.join(`
60
+ `)}return i.join(`
61
+ `)}function dx({agentId:s}){const{t:e}=At(["agent","common"]),[t,r]=C.useState([]),[i,n]=C.useState(!0),[a,o]=C.useState(null),[l,c]=C.useState(""),[d,u]=C.useState(""),[f,g]=C.useState(!1);C.useEffect(()=>{K.system.storage().then(Z=>{u(Z.dataDir+"/agents/"+s+"/role")}).catch(()=>{})},[s]);const[v,b]=C.useState(!1),[m,O]=C.useState(!1),[p,x]=C.useState(null),[y,_]=C.useState(null),k=C.useCallback(()=>{n(!0),Promise.all([K.agents.getFiles(s),K.agents.roleStatus(s).catch(()=>null)]).then(([Z,z])=>{r(Z.files),x(z),Z.files.length>0&&!a&&(o(Z.files[0].name),c(Z.files[0].content))}).catch(()=>{}).finally(()=>n(!1))},[s]);C.useEffect(()=>{k()},[k]);const w=Z=>{const z=t.find(J=>J.name===Z);z&&(o(Z),c(z.content),O(!1),_(null))},S=async()=>{if(a){b(!0);try{await K.agents.updateFile(s,a,l),r(Z=>Z.map(z=>z.name===a?{...z,content:l}:z)),O(!1),a==="ROLE.md"&&await K.agents.updateSystemPrompt(s,l)}catch{}b(!1)}},Q=p?.files.filter(Z=>Z.status==="modified"||Z.status==="added_in_template")??[],N=async Z=>{const z=Z?Q.filter(A=>A.file===Z):Q;if(z.length===0)return;const J=[];for(const A of z)try{const B=await K.agents.roleDiff(s,A.file);B.agentContent!=null&&B.templateContent!=null&&J.push(`## ${A.file}
62
+
63
+ **Template file path:** built-in template \`${p?.templateId??"unknown"}\`
64
+
65
+ **Key changes in the new template version:**
66
+ \`\`\`diff
67
+ `+mM(B.agentContent,B.templateContent)+"\n```\n")}catch{}if(J.length===0)return;const T=`Your role configuration files have been updated in the latest template (\`${p?.templateId??""}\`). Please review the following changes and decide whether to update your files accordingly.
68
+
69
+ `+J.join(`
70
+ ---
71
+
72
+ `)+"\nPlease review each change and update your files if appropriate. You can use the `update_file` tool or ask me to apply the changes.";Qr.navigate(Kt.TEAM,{agentId:s,prefillMessage:T})},L=async Z=>{if(y?.file===Z){_(null);return}try{const z=await K.agents.roleDiff(s,Z);z.agentContent!=null&&z.templateContent!=null&&_({file:Z,agent:z.agentContent,template:z.templateContent})}catch{}};if(i)return h.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:e("agent:profilePage.filesTab.loading")});const $={"ROLE.md":"roleMd","HEARTBEAT.md":"heartbeatMd","POLICIES.md":"policiesMd","CONTEXT.md":"contextMd"},j=Z=>{const z=$[Z];return z?e(`agent:profilePage.filesTab.fileLabels.${z}`):Z},I=p?.hasTemplate&&!p.isUpToDate,V=a?Q.some(Z=>Z.file===a):!1;return h.jsxs("div",{className:"space-y-4",children:[I&&h.jsxs("div",{className:"bg-amber-500/8 border border-amber-500/25 rounded-xl p-4 flex items-start gap-3",children:[h.jsx("span",{className:"text-amber-600 text-sm mt-0.5",children:"↻"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-xs text-amber-600 font-medium",children:e("agent:profilePage.filesTab.templateUpdateAvailable")}),h.jsxs("div",{className:"text-[11px] text-amber-600/70 mt-0.5",children:[e("agent:profilePage.filesTab.filesDiffer",{count:Q.length,templateId:p.templateId})," ",Q.map(Z=>Z.file).join(", ")]})]}),h.jsx("button",{onClick:()=>N(),className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors shrink-0",children:e("agent:profilePage.filesTab.sendToAgent")})]}),h.jsxs(as,{title:e("agent:profilePage.filesTab.agentConfigFiles"),action:p?.hasTemplate?h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:`inline-block w-1.5 h-1.5 rounded-full ${p.isUpToDate?"bg-green-400":"bg-amber-400"}`}),h.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[e("agent:profilePage.filesTab.templateLabel")," ",h.jsx("span",{className:"text-fg-secondary",children:p.templateId}),p.isUpToDate?e("agent:profilePage.filesTab.upToDate"):e("agent:profilePage.filesTab.updatesAvailable")]})]}):h.jsx("div",{className:"text-[10px] text-fg-tertiary",children:e("agent:profilePage.filesTab.customAgentNoTemplate")}),children:[h.jsx("div",{className:"flex gap-2 mb-4 flex-wrap",children:t.map(Z=>{const z=Q.some(J=>J.file===Z.name);return h.jsxs("button",{onClick:()=>w(Z.name),className:`px-3 py-1.5 text-xs rounded-lg border transition-colors relative ${a===Z.name?"bg-brand-600/15 border-brand-500/40 text-brand-500":"border-border-default text-fg-tertiary hover:text-fg-secondary"}`,children:[Z.name,z&&h.jsx("span",{className:"absolute -top-1 -right-1 w-2 h-2 bg-amber-400 rounded-full"})]},Z.name)})}),a&&h.jsxs("div",{children:[h.jsxs("div",{className:"flex items-center justify-between mb-1",children:[h.jsx("div",{className:"text-xs text-fg-secondary",children:j(a)}),h.jsxs("div",{className:"flex gap-2 items-center",children:[V&&h.jsxs(h.Fragment,{children:[h.jsx("button",{onClick:()=>L(a),className:"px-2.5 py-1 text-[11px] text-amber-600 hover:text-amber-600 border border-amber-500/30 hover:border-amber-500/50 rounded-lg transition-colors",children:y?.file===a?e("agent:profilePage.filesTab.hideDiff"):e("agent:profilePage.filesTab.viewDiff")}),h.jsx("button",{onClick:()=>N(a),className:"px-2.5 py-1 text-[11px] bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors",title:e("agent:profilePage.filesTab.sendToAgentTitle"),children:e("agent:profilePage.filesTab.sendToAgent")})]}),v&&h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:e("common:saving")})]})]}),d&&h.jsxs("div",{className:"flex items-center gap-2 mb-3 bg-surface-elevated/40 rounded-lg px-3 py-2",children:[h.jsxs("code",{className:"text-[10px] text-fg-tertiary font-mono flex-1 truncate select-all",title:`${d}/${a}`,children:[d,"/",a]}),h.jsx("button",{onClick:()=>{navigator.clipboard.writeText(`${d}/${a}`),g(!0),setTimeout(()=>g(!1),2e3)},className:"shrink-0 px-2 py-1 text-[10px] text-fg-tertiary hover:text-fg-secondary border border-border-default hover:border-border-hover rounded-md transition-colors",title:e("agent:profilePage.filesTab.copyPath"),children:e(f?"agent:profilePage.filesTab.pathCopied":"agent:profilePage.filesTab.copyPath")}),h.jsx("button",{onClick:()=>{K.system.openPath(d)},className:"shrink-0 px-2 py-1 text-[10px] text-fg-tertiary hover:text-fg-secondary border border-border-default hover:border-border-hover rounded-md transition-colors",title:e("agent:profilePage.filesTab.openInFinder"),children:e("agent:profilePage.filesTab.openInFinder")})]}),y?.file===a&&h.jsx(pM,{agent:y.agent,template:y.template,templateId:p?.templateId??""}),h.jsx(gM,{content:t.find(Z=>Z.name===a)?.content??"",editContent:l,setEditContent:Z=>{c(Z),O(!0)},dirty:m,onSave:S}),a==="ROLE.md"&&h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-2",children:e("agent:profilePage.filesTab.roleMdHint")})]}),t.length===0&&h.jsx(ih,{text:e("agent:profilePage.filesTab.noConfigFiles")})]})]})}function gM({content:s,editContent:e,setEditContent:t,dirty:r,onSave:i}){const[n,a]=C.useState(!1),o=C.useRef(null);return C.useEffect(()=>{n&&o.current?.focus()},[n]),C.useEffect(()=>{a(!1)},[s]),n||r?h.jsx("textarea",{ref:o,value:e,onChange:l=>t(l.target.value),onBlur:()=>{e!==s&&i(),a(!1)},onKeyDown:l=>{l.key==="Escape"&&(l.preventDefault(),t(s),a(!1))},className:"w-full min-h-[60vh] bg-surface-elevated/60 border border-border-default rounded-lg p-4 text-xs font-mono text-fg-secondary leading-relaxed resize-y focus:border-brand-500 outline-none",spellCheck:!1}):h.jsxs("div",{className:"group relative cursor-pointer rounded-lg px-4 py-3 bg-surface-elevated hover:bg-surface-overlay transition-colors min-h-[200px]",onClick:()=>a(!0),role:"button",tabIndex:0,onKeyDown:l=>{l.key==="Enter"&&a(!0)},children:[h.jsx("div",{className:"absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity text-[10px] text-fg-tertiary bg-surface-secondary/80 px-2 py-0.5 rounded",children:"Click to edit"}),e.trim()?h.jsx(C.Suspense,{fallback:h.jsx("div",{className:"text-xs text-fg-tertiary",children:"Loading…"}),children:h.jsx(uM,{content:e,className:"text-sm text-fg-secondary leading-relaxed"})}):h.jsx("div",{className:"text-sm text-fg-tertiary italic py-4 text-center",children:"Empty"})]})}const OM=[{id:"files",prefixes:["file_read","file_write","file_edit","apply_patch"]},{id:"search",prefixes:["grep_search","glob_find","list_directory"]},{id:"runtime",prefixes:["shell_execute","background_exec","process"]},{id:"terminal",prefixes:["terminal__","list_terminals","new_terminal","select_terminal","close_terminal","read_terminal","write_terminal","exec_terminal"]},{id:"web",prefixes:["web_search","web_fetch","web_extract"]},{id:"multimodal",prefixes:["generate_image","text_to_speech","speech_to_text","generate_video"]},{id:"browser",prefixes:["navigate_page","new_page","close_page","select_page","list_pages","open_page","resize_page","click","hover","fill","fill_form","type_text","press_key","take_screenshot","take_snapshot","evaluate_script","wait_for","list_console_messages","list_network_requests","get_console_message","get_network_request","lighthouse_audit","drag","upload_file","emulate","handle_dialog"]},{id:"tasks",prefixes:["task_create","task_list","task_update","task_get","task_assign","task_note","task_comment","task_submit_review","subtask_create","subtask_complete","subtask_cancel","subtask_list","task_check_duplicates","task_cleanup_duplicates","task_board_health","create_task","update_task","add_task_note","create_subtask"]},{id:"requirements",prefixes:["requirement_propose","requirement_list","requirement_get","requirement_update","requirement_update_status","requirement_resubmit","requirement_comment"]},{id:"projects",prefixes:["list_projects","get_project","create_project","update_project","delete_project","project_stats","project_structure","code_stats","git_"]},{id:"deliverables",prefixes:["deliverable_create","deliverable_search","deliverable_list","deliverable_update"]},{id:"packages",prefixes:["package_list","package_install","hub_search","hub_install","builder_list","builder_install","markus-hub__"]},{id:"communication",prefixes:["agent_send_message","agent_list_colleagues","agent_send_group_message","agent_create_group_chat","agent_list_group_chats","agent_broadcast_status","agent_delegate_task","feishu_"]},{id:"memory",prefixes:["memory_save","memory_search","memory_list","memory_update","memory_update_longterm","memory_delete","recall_context","recall_activity","update_working_memory","clear_working_memory","update_notebook","clear_notebook"]},{id:"mailbox",prefixes:["check_mailbox","defer_mailbox_item","drop_mailbox_item","prioritize_mailbox_item","delegate_message"]},{id:"planning",prefixes:["goal_create","goal_update","goal_status","workflow_"]},{id:"teamManager",prefixes:["team_list","team_status","team_update","team_start","team_stop","agent_update","agent_start","agent_stop"]},{id:"subagents",prefixes:["spawn_subagent","spawn_subagents","invoke_coding_tool","coding_tool_apply"]},{id:"system",prefixes:["discover_tools","notify_user","request_user_input","request_user_approval","schedule_wakeup","cancel_wakeup","set_heartbeat_interval"]},{id:"llm",prefixes:["llm_"]}];function xM(s,e){const t=new Map,r=new Set;for(const{id:a,prefixes:o}of OM){const l=e(`agent:toolCategories.${a}`),c=s.filter(d=>!r.has(d.name)&&o.some(u=>d.name.startsWith(u)));c.length>0&&(t.set(l,c),c.forEach(d=>r.add(d.name)))}const i=s.filter(a=>!r.has(a.name));for(const a of i){const o=a.name.indexOf("__");if(o>0){const l=a.name.slice(0,o),c=e("agent:toolCategories.mcp",{server:l});t.has(c)||t.set(c,[]),t.get(c).push(a),r.add(a.name)}}const n=s.filter(a=>!r.has(a.name));return n.length>0&&t.set(e("agent:toolCategories.other"),n),[...t.entries()].map(([a,o])=>({category:a,tools:o}))}function bM(s){return s.replace(/^\[MCP:[^\]]*\]\s*/i,"")}function vM({tools:s}){const{t:e}=At(["agent","common"]),t=xM(s,e);return h.jsxs("div",{className:"space-y-4",children:[h.jsx("div",{className:"text-xs text-fg-tertiary",children:e("agent:profilePage.toolsTab.registeredCount",{count:s.length})}),t.map(r=>h.jsx(as,{title:`${r.category} (${r.tools.length})`,children:h.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:r.tools.map(i=>{const n=y_(i.name),a=e(`common:execution.tools.${n.key}`,{defaultValue:n.label}),o=i.name.includes("__"),l=o?i.name.split("__").pop():i.name,c=bM(i.description||"");return h.jsxs("div",{className:"flex items-start gap-2.5 px-3 py-2.5 rounded-lg bg-surface-elevated min-w-0",children:[h.jsx(S_,{name:n.iconName,size:15,className:"shrink-0 mt-0.5 text-fg-secondary"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[h.jsx("span",{className:"text-xs font-medium text-fg-primary truncate",children:a}),o&&h.jsx("span",{className:"text-[9px] px-1 py-px rounded bg-surface-secondary text-fg-tertiary border border-border-default/40 shrink-0",children:"MCP"})]}),l!==a&&h.jsx("div",{className:"text-[10px] font-mono text-fg-tertiary/70 truncate",children:l}),c&&h.jsx("div",{className:"text-[10px] text-fg-tertiary truncate mt-0.5",title:c,children:c})]})]},i.name)})})},r.category)),s.length===0&&h.jsx("div",{className:"text-center py-12 text-fg-tertiary text-sm",children:e("agent:profilePage.toolsTab.noToolsRegistered")})]})}function yM({agent:s}){const{t:e}=At(["agent","common"]),t=s.proficiency??{},[r,i]=C.useState(null),[n,a]=C.useState(null),[o,l]=C.useState(!1),c=s.availableSkills??[],d=new Map;for(const m of c){const O=m.category||"custom";d.has(O)||d.set(O,[]),d.get(O).push(m)}const u=async m=>{if(r===m){i(null),a(null);return}i(m),l(!0);try{const O=await fetch(`/api/skills/${encodeURIComponent(m)}`);if(O.ok){const p=await O.json();a(p.skill)}else a(null)}catch{a(null)}l(!1)},f={development:"bg-blue-500/15 text-blue-600",devops:"bg-amber-500/15 text-amber-600",communication:"bg-green-500/15 text-green-600",data:"bg-brand-500/15 text-brand-500",productivity:"bg-amber-500/15 text-amber-600",browser:"bg-blue-500/15 text-blue-600",custom:"bg-gray-500/15 text-fg-secondary",platform:"bg-purple-500/15 text-purple-500"},g=m=>{const O=t[m.name],p=O&&O.uses>0?Math.round(O.successes/O.uses*100):null,x=O&&h.jsxs("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:[e("agent:profilePage.skillsTab.usesStats",{uses:O.uses,successes:O.successes}),O.lastUsed&&e("agent:profilePage.skillsTab.lastUsed",{date:new Date(O.lastUsed).toLocaleDateString()})]}),y=r===m.name;return h.jsxs("div",{children:[h.jsxs("div",{className:`flex items-center gap-3 px-4 py-2.5 rounded-lg border cursor-pointer transition-all ${y?"bg-brand-500/10 border-brand-500/40":"bg-surface-elevated/30 border-border-default/30 hover:border-gray-600/50"}`,onClick:()=>u(m.name),children:[h.jsx("span",{className:`text-sm transition-transform ${y?"rotate-90":""}`,children:"▶"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm font-medium",children:m.name}),m.alwaysOn&&h.jsx("span",{className:"px-1.5 py-0.5 rounded text-[9px] font-medium bg-green-500/15 text-green-500",children:e("agent:profilePage.skillsTab.alwaysOn")}),m.builtIn&&!m.alwaysOn&&h.jsx("span",{className:"px-1.5 py-0.5 rounded text-[9px] font-medium bg-surface-overlay/40 text-fg-tertiary",children:e("agent:profilePage.skillsTab.builtIn")}),!m.builtIn&&h.jsx("span",{className:"px-1.5 py-0.5 rounded text-[9px] font-medium bg-brand-500/15 text-brand-400",children:e("agent:profilePage.skillsTab.installed")})]}),h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 truncate",children:m.description}),x]}),p!==null&&h.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[h.jsx("div",{className:"w-16 h-1.5 bg-surface-overlay rounded-full overflow-hidden",children:h.jsx("div",{className:`h-full rounded-full ${p>=80?"bg-green-400":p>=50?"bg-amber-400":"bg-red-400"}`,style:{width:`${p}%`}})}),h.jsxs("span",{className:"text-[10px] text-fg-tertiary w-8 text-right",children:[p,"%"]})]})]}),y&&h.jsx("div",{className:"ml-6 mt-1 mb-2 p-4 bg-surface-elevated/30 rounded-lg border border-border-default/20 space-y-3",children:o?h.jsx("div",{className:"text-[10px] text-fg-tertiary py-3 text-center",children:e("agent:profilePage.skillsTab.loadingDetails")}):n?h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[h.jsx("span",{className:`px-2 py-0.5 rounded text-[10px] font-medium ${f[n.category]??f.custom}`,children:n.category}),h.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["v",n.version]}),n.author&&h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:e("agent:profilePage.skillsTab.byAuthor",{author:n.author})}),n.requiredPermissions?.map(_=>h.jsx("span",{className:"px-1.5 py-0.5 bg-amber-500/10 text-amber-600 text-[10px] rounded",children:_},_))]}),n.description&&h.jsx("p",{className:"text-xs text-fg-secondary leading-relaxed",children:n.description}),n.tags&&n.tags.length>0&&h.jsx("div",{className:"flex gap-1 flex-wrap",children:n.tags.map(_=>h.jsxs("span",{className:"px-1.5 py-0.5 bg-surface-overlay/40 text-fg-tertiary text-[10px] rounded",children:["#",_]},_))}),(n.toolDetails??n.tools??[]).length>0&&h.jsxs("div",{children:[h.jsx("div",{className:"text-[10px] text-fg-tertiary font-semibold uppercase tracking-wider mb-2",children:e("agent:profilePage.skillsTab.toolsHeading",{count:(n.toolDetails??n.tools??[]).length})}),h.jsx("div",{className:"space-y-1.5",children:(n.toolDetails??n.tools??[]).map(_=>h.jsxs("div",{className:"px-3 py-2 bg-surface-secondary/50 rounded border border-border-default/20",children:[h.jsx("div",{className:"text-xs font-medium text-brand-500",children:_.name}),_.description&&h.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:_.description})]},_.name))})]})]}):h.jsx("div",{className:"text-[10px] text-fg-tertiary py-3 text-center",children:e("agent:profilePage.skillsTab.detailsUnavailable")})})]},m.name)},v=["development","productivity","browser","communication","devops","data","platform","custom"],b=[...d.entries()].sort((m,O)=>{const p=v.indexOf(m[0]),x=v.indexOf(O[0]);return(p===-1?999:p)-(x===-1?999:x)});return h.jsxs("div",{className:"space-y-4",children:[h.jsx("div",{className:"flex items-center justify-between",children:h.jsx("div",{className:"text-xs text-fg-tertiary",children:e("agent:profilePage.skillsTab.installedCount",{count:c.length})})}),b.map(([m,O])=>h.jsx(as,{title:h.jsxs("span",{className:"capitalize",children:[m," ",h.jsxs("span",{className:"text-fg-tertiary font-normal",children:["(",O.length,")"]})]}),children:h.jsx("div",{className:"space-y-2",children:O.map(p=>g(p))})},m)),c.length===0&&h.jsx(ih,{text:e("agent:profilePage.skillsTab.noSkills")})]})}function ux({tools:s,agent:e}){const{t}=At(["agent","common"]),[r,i]=C.useState("tools");return h.jsxs("div",{className:"space-y-4",children:[h.jsx("div",{className:"flex items-center gap-2 mb-2",children:["tools","skills"].map(n=>h.jsx("button",{onClick:()=>i(n),className:`px-3 py-1.5 text-xs rounded-lg border transition-colors ${r===n?"bg-brand-600/15 border-brand-500/40 text-brand-500":"border-border-default text-fg-tertiary hover:text-fg-secondary"}`,children:n==="tools"?`${t("agent:profilePage.toolsTab.title",{defaultValue:"Tools"})} (${s.length})`:`${t("agent:tabs.skills")} (${e.availableSkills?.length??0})`},n))}),r==="tools"?h.jsx(vM,{tools:s}):h.jsx(yM,{agent:e})]})}function fx({agentId:s}){const{t:e}=At(["agent","common"]),[t,r]=C.useState(null),[i,n]=C.useState(!0),[a,o]=C.useState("longterm"),[l,c]=C.useState(""),[d,u]=C.useState(""),[f,g]=C.useState(!1),[v,b]=C.useState(null),[m,O]=C.useState(null),[p,x]=C.useState([]),[y,_]=C.useState(!1),k=C.useCallback(()=>{n(!0),K.agents.getMemory(s).then($=>{r($),c($.recentDailyLogs??""),u($.longTermMemory??"")}).catch(()=>{}).finally(()=>n(!1))},[s]);C.useEffect(()=>{k()},[k]);const w=async()=>{g(!0),await K.agents.updateDailyMemory(s,l).catch(()=>{}),g(!1),k()},S=async()=>{g(!0),await K.agents.updateLongTermMemory(s,e("agent:profilePage.memoryTab.userEditedSource"),d).catch(()=>{}),g(!1),k()},Q=l!==(t?.recentDailyLogs??""),N=d!==(t?.longTermMemory??"");if(i)return h.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:e("agent:profilePage.memoryTab.loading")});if(!t)return h.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:e("agent:profilePage.memoryTab.loadFailed")});const L=[{key:"longterm",label:"MEMORY.md"},{key:"entries",label:`Observations (${t.entries.length})`},{key:"sessions",label:e("agent:profilePage.memoryTab.sessions",{count:t.sessions.length})},{key:"daily",label:e("agent:profilePage.memoryTab.dailyLogs")}];return h.jsxs("div",{className:"space-y-4",children:[h.jsx("div",{className:"flex gap-2",children:L.map($=>h.jsx("button",{onClick:()=>o($.key),className:`px-3 py-1.5 text-xs rounded-lg border transition-colors ${a===$.key?"bg-brand-600/15 border-brand-500/40 text-brand-500":"border-border-default text-fg-tertiary hover:text-fg-secondary"}`,children:$.label},$.key))}),a==="entries"&&h.jsx(as,{title:e("agent:profilePage.memoryTab.recentEntries"),children:t.entries.length===0?h.jsx(ih,{text:e("agent:profilePage.memoryTab.noEntries")}):h.jsx("div",{className:"space-y-1.5 max-h-[600px] overflow-y-auto",children:t.entries.map(($,j)=>{const I=v===j;return h.jsxs("div",{children:[h.jsxs("button",{onClick:()=>b(I?null:j),className:"w-full flex gap-2 px-3 py-2 rounded-lg bg-surface-elevated/20 text-xs text-left hover:bg-surface-elevated/40 transition-colors cursor-pointer",children:[h.jsx("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium shrink-0 ${$.type==="fact"?"bg-blue-500/15 text-blue-600":$.type==="task"?"bg-green-500/15 text-green-600":$.type==="note"?"bg-brand-500/15 text-brand-500":"bg-surface-overlay text-fg-secondary"}`,children:$.type}),h.jsx("span",{className:`text-fg-secondary flex-1 min-w-0 ${I?"":"line-clamp-2"}`,children:$.content}),h.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[$.importance!=null&&h.jsxs("span",{className:`px-1 py-0.5 rounded text-[9px] font-medium ${$.importance>=7?"bg-red-500/15 text-red-500":$.importance>=4?"bg-amber-500/15 text-amber-600":"bg-surface-overlay text-fg-tertiary"}`,children:["P",$.importance]}),h.jsx("span",{className:"text-fg-tertiary text-[10px]",children:new Date($.timestamp).toLocaleTimeString()}),h.jsx("span",{className:"text-fg-tertiary text-[10px]",children:I?"▲":"▼"})]})]}),I&&h.jsxs("div",{className:"mx-3 mt-1 mb-2 p-3 bg-surface-elevated/30 rounded-lg border border-border-default/20",children:[h.jsx("pre",{className:"text-xs text-fg-secondary whitespace-pre-wrap font-mono leading-relaxed break-words",children:$.content}),h.jsxs("div",{className:"flex gap-3 mt-2 pt-2 border-t border-border-default/30 text-[10px] text-fg-tertiary",children:[h.jsxs("span",{children:[e("agent:profilePage.overview.labels.type"),": ",$.type]}),$.importance!=null&&h.jsxs("span",{children:[e("agent:profilePage.overview.labels.importance"),": ",$.importance]}),h.jsx("span",{children:new Date($.timestamp).toLocaleString()})]})]})]},j)})})}),a==="sessions"&&h.jsx(as,{title:e("agent:profilePage.memoryTab.chatSessions"),children:t.sessions.length===0?h.jsx(ih,{text:e("agent:profilePage.memoryTab.noSessions")}):h.jsx("div",{className:"space-y-1.5 max-h-[600px] overflow-y-auto",children:t.sessions.map($=>{const j=m===$.id,I=async()=>{if(j){O(null),x([]);return}O($.id),_(!0);try{const V=await K.agents.getMemorySession(s,$.id);x(V.messages)}catch{x([])}_(!1)};return h.jsxs("div",{children:[h.jsxs("button",{onClick:I,className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-lg bg-surface-elevated/20 hover:bg-surface-elevated/40 transition-colors cursor-pointer text-left",children:[h.jsx("div",{className:"text-xs text-fg-secondary font-mono flex-1 truncate",children:$.id}),h.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[$.messageCount," ",e("agent:profilePage.memoryTab.msgs")]}),h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:new Date($.updatedAt).toLocaleDateString()}),h.jsx("span",{className:"text-fg-tertiary text-[10px]",children:j?"▲":"▼"})]}),j&&h.jsx("div",{className:"mx-3 mt-1 mb-2 bg-surface-elevated/30 rounded-lg border border-border-default/20 max-h-96 overflow-y-auto",children:y?h.jsx("div",{className:"text-[10px] text-fg-tertiary py-3 text-center",children:e("agent:profilePage.memoryTab.loadingMessages")}):p.length===0?h.jsx("div",{className:"text-[10px] text-fg-tertiary py-3 text-center",children:e("agent:profilePage.memoryTab.noMessagesInSession")}):(()=>{const V=new Map;for(const Z of p)Z.role==="tool"&&Z.toolCallId&&V.set(Z.toolCallId,Z.content);return h.jsx("div",{className:"divide-y divide-gray-700/30",children:p.filter(Z=>Z.role!=="tool").map((Z,z)=>h.jsxs("div",{className:"px-3 py-2",children:[(Z.role==="user"||Z.role==="system")&&h.jsxs("div",{children:[h.jsx("span",{className:`inline-block px-1.5 py-0.5 rounded text-[10px] font-medium mb-1 ${Z.role==="user"?"bg-blue-500/15 text-blue-600":"bg-surface-overlay text-fg-secondary"}`,children:e(`agent:profilePage.memoryTab.roles.${Z.role}`,{defaultValue:Z.role})}),h.jsx("div",{className:"text-xs text-fg-secondary",children:h.jsx(Oa,{content:Z.content,className:"text-xs text-fg-secondary"})})]}),Z.role==="assistant"&&h.jsxs("div",{className:"space-y-1",children:[Z.content&&h.jsxs("div",{children:[h.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded text-[10px] font-medium mb-1 bg-green-500/15 text-green-600",children:e("agent:profilePage.memoryTab.roles.assistant")}),h.jsx("div",{className:"text-xs text-fg-secondary",children:h.jsx(Oa,{content:Z.content,className:"text-xs text-fg-secondary"})})]}),Z.toolCalls&&Z.toolCalls.length>0&&h.jsx("div",{className:"space-y-0.5",children:Z.toolCalls.map(J=>{let T;try{T=JSON.parse(J.arguments)}catch{}const A={tool:J.name,status:"done",args:T,result:V.get(J.id)};return h.jsx(g_,{entry:{type:"tool",info:A}},J.id)})})]})]},z))})})()})]},$.id)})})}),a==="daily"&&h.jsx(as,{title:e("agent:profilePage.memoryTab.dailyLogs"),action:Q?h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:()=>c(t?.recentDailyLogs??""),className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:e("common:cancel")}),h.jsx("button",{onClick:w,disabled:f,className:"text-xs text-brand-500",children:e(f?"common:saving":"common:save")})]}):null,children:h.jsx("textarea",{value:l,onChange:$=>c($.target.value),placeholder:e("agent:profilePage.memoryTab.noDailyLogs"),className:"w-full min-h-[50vh] bg-surface-elevated/30 border border-border-default/50 hover:border-border-default focus:border-brand-500 rounded-lg p-4 text-xs font-mono text-fg-secondary leading-relaxed resize-y outline-none transition-colors"})}),a==="longterm"&&h.jsx(as,{title:e("agent:profilePage.memoryTab.longTermTitle"),action:N?h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:()=>u(t?.longTermMemory??""),className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:e("common:cancel")}),h.jsx("button",{onClick:S,disabled:f,className:"text-xs text-brand-500",children:e(f?"common:saving":"common:save")})]}):null,children:h.jsx("textarea",{value:d,onChange:$=>u($.target.value),placeholder:e("agent:profilePage.memoryTab.noLongTerm"),className:"w-full min-h-[50vh] bg-surface-elevated/30 border border-border-default/50 hover:border-border-default focus:border-brand-500 rounded-lg p-4 text-xs font-mono text-fg-secondary leading-relaxed resize-y outline-none transition-colors"})})]})}function px({agentId:s,initialData:e}){const{t}=At(["agent","common"]),[r,i]=C.useState(e??null),[n,a]=C.useState(!e),[o,l]=C.useState([]),[c,d]=C.useState(null),[u,f]=C.useState(!1),[g,v]=C.useState(null),b=C.useCallback(()=>Promise.all([K.agents.getHeartbeat(s).then(i).catch(()=>{}),K.agents.getRecentActivities(s).then(y=>{l(y.activities.filter(_=>_.type==="heartbeat"))}).catch(()=>{})]),[s]);C.useEffect(()=>{a(!0),b().finally(()=>a(!1))},[b]),C.useEffect(()=>yt.on("agent:update",_=>{_.payload?.agentId===s&&b()}),[s,b]);const m=async()=>{f(!0),v(null);try{const y=await K.agents.triggerHeartbeat(s);v(y.message),setTimeout(()=>v(null),4e3),setTimeout(b,2e3)}catch(y){v(String(y).replace("Error: ",""))}f(!1)},O=async y=>{try{await K.agents.cancelWakeup(s,y),b()}catch{}};if(n)return h.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:t("agent:profilePage.heartbeatTab.loading")});if(!r)return h.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:t("agent:profilePage.heartbeatTab.noData")});const p=y=>y?y<1e3?`${y}ms`:y<6e4?`${(y/1e3).toFixed(1)}s`:`${(y/6e4).toFixed(1)}m`:null,x=y=>{if(!y)return null;const _=Date.now()-new Date(y).getTime();if(_<0){const k=Math.abs(_);return k<6e4?t("agent:profilePage.relative.inSeconds",{count:Math.ceil(k/1e3)}):k<36e5?t("agent:profilePage.relative.inMinutes",{count:Math.ceil(k/6e4)}):t("agent:profilePage.relative.inHours",{hours:(k/36e5).toFixed(1)})}return _<6e4?t("agent:profilePage.relative.secondsAgo",{count:Math.floor(_/1e3)}):_<36e5?t("agent:profilePage.relative.minutesAgo",{count:Math.floor(_/6e4)}):t("agent:profilePage.relative.hoursAgo",{hours:(_/36e5).toFixed(1)})};return h.jsxs("div",{className:"space-y-4",children:[h.jsxs(as,{title:t("agent:profilePage.heartbeatTab.scheduler"),action:h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:b,className:"text-[10px] text-fg-tertiary hover:text-fg-secondary transition-colors",children:t("common:refresh")}),h.jsx("button",{onClick:m,disabled:u||!r.running,className:"text-[10px] px-2.5 py-1 rounded-md bg-blue-600/20 text-blue-600 hover:bg-blue-600/30 border border-blue-500/30 transition-colors disabled:opacity-40",children:t(u?"agent:profilePage.heartbeatTab.triggering":"agent:profilePage.heartbeatTab.triggerNow")})]}),children:[h.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[h.jsx(fs,{label:t("agent:profilePage.overview.labels.status"),value:r.running?t("agent:profilePage.heartbeatTab.running"):t("agent:profilePage.heartbeatTab.stopped"),color:r.running?"green":"gray"}),h.jsx(_M,{agentId:s,intervalMs:r.intervalMs,onChanged:b}),h.jsx(fs,{label:t("agent:profilePage.heartbeatTab.lastRun"),value:r.lastHeartbeat?x(r.lastHeartbeat)??t("agent:profilePage.emDash"):t("agent:profilePage.never")}),h.jsx(fs,{label:t("agent:profilePage.heartbeatTab.nextWake"),value:r.nextWakeAt?x(r.nextWakeAt)??t("agent:profilePage.emDash"):r.running?t("agent:profilePage.heartbeatTab.pending"):t("agent:profilePage.emDash")})]}),h.jsx("p",{className:"mt-2 text-[10px] text-fg-tertiary leading-relaxed",children:t("agent:profilePage.heartbeatTab.rhythmHint")}),g&&h.jsx("div",{className:"mt-3 text-[11px] text-blue-600 bg-blue-500/10 border border-blue-500/20 rounded-lg px-3 py-2",children:g})]}),r.wakeups&&r.wakeups.length>0&&h.jsx(as,{title:t("agent:profilePage.heartbeatTab.wakeupsTitle"),action:h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:t("agent:profilePage.heartbeatTab.wakeupsCount",{count:r.wakeups.length})}),children:h.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:r.wakeups.map(y=>h.jsxs("div",{className:"flex items-center gap-2.5 px-5 py-2.5",children:[h.jsx("span",{className:"text-sm shrink-0 opacity-60",children:"⏰"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-xs text-fg-secondary truncate",children:y.note||t("agent:profilePage.heartbeatTab.wakeupNoNote")}),h.jsxs("div",{className:"text-[10px] text-fg-tertiary",children:[x(y.wakeAt)??new Date(y.wakeAt).toLocaleString(),y.recurringMs?` · ${t("agent:profilePage.heartbeatTab.recurring")}`:"",` · ${y.deliveryMode==="in_session"?t("agent:profilePage.heartbeatTab.deliveryInSession"):t("agent:profilePage.heartbeatTab.deliveryMailbox")}`]})]}),h.jsx("button",{onClick:()=>O(y.id),className:"text-[10px] px-2 py-0.5 rounded text-fg-tertiary hover:text-red-500 hover:bg-red-500/10 transition-colors shrink-0",children:t("agent:profilePage.heartbeatTab.cancelWakeup")})]},y.id))})}),r.pendingCallbacks&&r.pendingCallbacks.length>0&&h.jsx(as,{title:t("agent:profilePage.heartbeatTab.pendingOpsTitle"),action:h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:t("agent:profilePage.heartbeatTab.pendingOpsCount",{count:r.pendingCallbacks.length})}),children:h.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:r.pendingCallbacks.map(y=>h.jsxs("div",{className:"flex items-center gap-2.5 px-5 py-2.5",children:[h.jsx("span",{className:"text-sm shrink-0 opacity-60",children:y.type==="background_exec"?"⚙":"↔"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-xs text-fg-secondary truncate font-mono",children:y.label}),h.jsxs("div",{className:"text-[10px] text-fg-tertiary",children:[t(`agent:profilePage.heartbeatTab.callbackType.${y.type}`),` · ${t("agent:profilePage.heartbeatTab.timesOut")} ${x(y.timeoutAt)??new Date(y.timeoutAt).toLocaleString()}`]})]})]},y.id))})}),r.lastSummary&&h.jsx(as,{title:t("agent:profilePage.heartbeatTab.lastSummary"),action:r.lastSummaryAt?h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:new Date(r.lastSummaryAt).toLocaleString()}):void 0,children:h.jsx("div",{className:"bg-surface-primary/50 rounded-lg px-4 py-3",children:h.jsx(Oa,{content:r.lastSummary,className:"text-xs text-fg-secondary leading-relaxed"})})}),o.length>0?h.jsx(as,{title:t("agent:profilePage.heartbeatTab.recentRuns"),action:h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:t("agent:profilePage.heartbeatTab.runsThisSession",{count:o.length})}),children:h.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:[...o].reverse().map(y=>{const _=c===y.id;return h.jsxs("div",{children:[h.jsxs("button",{onClick:()=>d(_?null:y.id),className:"w-full flex items-center gap-2.5 px-5 py-2.5 text-left transition-colors hover:bg-surface-elevated/40 cursor-pointer",children:[h.jsx("span",{className:"w-2 h-2 rounded-full shrink-0 bg-blue-400"}),h.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:y.label}),h.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:t("agent:profilePage.heartbeatTab.actionsCount",{count:y.logCount})}),h.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:new Date(y.startedAt).toLocaleString()}),h.jsx("svg",{className:`w-3 h-3 text-fg-tertiary shrink-0 transition-transform ${_?"rotate-180":""}`,viewBox:"0 0 12 12",fill:"currentColor",children:h.jsx("path",{d:"M3 4.5l3 3 3-3",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})]}),_&&h.jsx("div",{className:"border-t border-border-default/60 bg-surface-primary/40",children:h.jsx(Xa,{agentId:s,activityId:y.id})})]},y.id)})})}):r.lastHeartbeat?null:h.jsx(as,{title:t("agent:profilePage.heartbeatTab.recentRuns"),children:h.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[h.jsx("div",{className:"text-xl mb-2 opacity-40",children:"♡"}),h.jsx("p",{className:"text-xs text-fg-tertiary",children:t("agent:profilePage.heartbeatTab.noRunsYet")}),h.jsx("p",{className:"text-[10px] text-fg-tertiary mt-1",children:r.running?t("agent:profilePage.heartbeatTab.firstHeartbeatSoon",{when:p(r.intervalMs-r.uptimeMs%r.intervalMs)??t("agent:profilePage.heartbeatTab.soon")}):t("agent:profilePage.heartbeatTab.schedulerStopped")}),r.running&&h.jsx("button",{onClick:m,disabled:u,className:"mt-3 text-[10px] px-3 py-1.5 rounded-md bg-blue-600/15 text-blue-600 hover:bg-blue-600/25 border border-blue-500/25 transition-colors disabled:opacity-40",children:t(u?"agent:profilePage.heartbeatTab.triggering":"agent:profilePage.heartbeatTab.runFirstNow")})]})})]})}function SM({taskId:s,isLive:e}){const{t}=At("agent"),[r,i]=C.useState([]),[n,a]=C.useState(""),[o,l]=C.useState(!0),[c,d]=C.useState("compact");if(C.useEffect(()=>{l(!0),a(""),K.tasks.getLogs(s).then(g=>{i(g.logs),l(!1)}).catch(()=>l(!1))},[s]),C.useEffect(()=>{if(!e)return;const g=yt.on("task:log",b=>{const m=b.payload;if(m.taskId!==s)return;const O={id:m.id,taskId:m.taskId,agentId:m.agentId,seq:m.seq,type:m.logType,content:m.content,metadata:m.metadata,createdAt:m.createdAt};i(p=>O.id&&p.some(x=>x.id===O.id)?p:[...p,O]),O.type==="text"&&a("")}),v=yt.on("task:log:delta",b=>{const m=b.payload;m.taskId===s&&a(O=>O+m.text)});return()=>{g(),v()}},[s,e]),o)return h.jsx("div",{className:"px-4 py-3 text-xs text-fg-tertiary",children:t("profilePage.taskLog.loading")});if(r.length===0&&!n)return h.jsx("div",{className:"px-4 py-3 text-xs text-fg-tertiary",children:t("profilePage.taskLog.noLogs")});const u=r.map(g=>v_(g)),f=new Set(u.filter(g=>g.executionRound!=null).map(g=>g.executionRound)).size>1;return h.jsx("div",{className:"px-3 py-2",children:c==="compact"?h.jsx(Rx,{entries:u,streamingText:n,isActive:e,onExpand:()=>d("full"),showRounds:f}):h.jsx(Ax,{entries:u,streamingText:n,isActive:e,onCollapse:()=>d("compact"),showRounds:f})})}function Xa({agentId:s,activityId:e,isLive:t=!1}){const{t:r}=At("agent"),[i,n]=C.useState([]),[a,o]=C.useState(!0),[l,c]=C.useState("compact");if(C.useEffect(()=>{o(!0),K.agents.getActivityLogs(s,e).then(u=>{n(u.logs),o(!1)}).catch(()=>o(!1))},[s,e]),C.useEffect(()=>t?yt.on("agent:activity_log",f=>{const g=f.payload;if(g.agentId!==s||g.activityId!==e)return;const v={seq:g.seq,type:g.type,content:g.content,metadata:g.metadata,createdAt:g.createdAt};n(b=>b.some(m=>m.seq===v.seq)?b:[...b,v])}):void 0,[s,e,t]),a)return h.jsx("div",{className:"px-4 py-3 text-xs text-fg-tertiary",children:r("profilePage.activityLog.loading")});if(i.length===0)return h.jsx("div",{className:"px-4 py-3 text-xs text-fg-tertiary",children:r("profilePage.activityLog.noLogs")});const d=i.map(u=>b_(u,e,s)).filter(u=>u!==null);return h.jsx("div",{className:"px-3 py-2",children:l==="compact"?h.jsx(Rx,{entries:d,isActive:t,onExpand:()=>c("full")}):h.jsx(Ax,{entries:d,isActive:t,onCollapse:()=>c("compact")})})}function as({title:s,action:e,children:t}){return h.jsxs("div",{className:"bg-surface-elevated rounded-xl p-5",children:[h.jsxs("div",{className:"flex items-center justify-between mb-3",children:[h.jsx("h3",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider",children:s}),e]}),t]})}function qs({label:s,mono:e,children:t}){return h.jsxs("div",{className:"flex flex-col gap-0.5",children:[h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:s}),h.jsx("span",{className:`text-xs text-fg-secondary ${e?"font-mono text-[10px]":""}`,children:t})]})}function fs({label:s,value:e,color:t}){const r=t==="green"?"text-green-500":t==="blue"?"text-blue-400":t==="indigo"?"text-brand-500":t==="red"?"text-red-400":"text-fg-secondary";return h.jsxs("div",{className:"flex items-baseline gap-1.5",children:[h.jsx("span",{className:`text-sm font-semibold ${r}`,children:e}),h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:s})]})}const mx=[1800*1e3,3600*1e3,10800*1e3,360*60*1e3,720*60*1e3,1440*60*1e3],gx=5,Ox=1440;function _M({agentId:s,intervalMs:e,onChanged:t}){const{t:r}=At(["agent","common"]),[i,n]=C.useState(!1),[a,o]=C.useState(null),[l,c]=C.useState(!1),[d,u]=C.useState(String(Math.round(e/6e4))),f=p=>p%(3600*1e3)===0?r("agent:profilePage.heartbeatTab.intervalHours",{count:p/(3600*1e3)}):r("agent:profilePage.heartbeatTab.intervalMinutes",{count:Math.round(p/6e4)}),g=async p=>{n(!0),o(null);try{await K.agents.updateConfig(s,{heartbeatIntervalMs:p}),t()}catch(x){o(String(x).replace("Error: ",""))}n(!1)},v=p=>{if(p.target.value==="custom"){c(!0);return}c(!1),g(Number(p.target.value))},b=()=>{const p=Math.round(Number(d));if(!Number.isFinite(p)||p<gx||p>Ox){o(r("agent:profilePage.heartbeatTab.intervalRangeHint"));return}g(p*60*1e3)},m=mx.includes(e),O=l||!m?"custom":String(e);return h.jsxs("div",{className:"flex flex-col gap-1",children:[h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:r("agent:profilePage.heartbeatTab.safetyNetInterval")}),h.jsxs("select",{value:O,onChange:v,disabled:i,className:"text-xs bg-bg-secondary border border-gray-700/50 rounded-md px-1.5 py-1 text-fg-secondary focus:outline-none focus:border-blue-500/50 disabled:opacity-40",children:[!m&&h.jsx("option",{value:String(e),children:f(e)}),mx.map(p=>h.jsx("option",{value:String(p),children:f(p)},p)),h.jsx("option",{value:"custom",children:r("agent:profilePage.heartbeatTab.intervalCustom")})]}),(l||!m)&&h.jsxs("div",{className:"flex items-center gap-1.5 mt-1",children:[h.jsx("input",{type:"number",min:gx,max:Ox,value:d,onChange:p=>u(p.target.value),disabled:i,className:"w-16 text-xs bg-bg-secondary border border-gray-700/50 rounded-md px-1.5 py-1 text-fg-secondary focus:outline-none focus:border-blue-500/50 disabled:opacity-40"}),h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:r("agent:profilePage.heartbeatTab.intervalCustomUnit")}),h.jsx("button",{onClick:b,disabled:i,className:"text-[10px] px-2 py-1 rounded-md bg-blue-600/20 text-blue-600 hover:bg-blue-600/30 border border-blue-500/30 transition-colors disabled:opacity-40",children:r(i?"agent:profilePage.heartbeatTab.intervalSaving":"agent:profilePage.heartbeatTab.intervalSave")})]}),a&&h.jsx("span",{className:"text-[10px] text-red-400",children:a})]})}function ih({text:s}){return h.jsx("div",{className:"text-xs text-fg-tertiary py-6 text-center",children:s})}function xx(s){if(s===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(s)/Math.log(1024)),e.length-1),r=s/Math.pow(1024,t);return`${r<10?r.toFixed(1):Math.round(r)} ${e[t]}`}const bx={0:"0",1:"1",2:"2",3:"3",4:"4"},vx={0:"text-red-500",1:"text-amber-500",2:"text-fg-secondary",3:"text-fg-tertiary",4:"text-fg-tertiary/60"},wM={pick:"bg-brand-500/20 text-brand-500",continue:"bg-gray-500/20 text-gray-500",preempt:"bg-amber-500/20 text-amber-500",merge:"bg-blue-500/20 text-blue-500",defer:"bg-purple-500/20 text-purple-500",delegate:"bg-green-500/20 text-green-500",drop:"bg-red-500/20 text-red-500"},kM={idle:"bg-green-500/20 text-green-500",focused:"bg-brand-500/20 text-brand-500",deciding:"bg-amber-500/20 text-amber-500"},rc={system_event:"⚙",human_chat:"💬",task_comment:"💬",mention:"@",session_reply:"↩",task_status_update:"📋",a2a_message:"🔗",review_request:"👀",requirement_update:"📝",requirement_comment:"💬",daily_report:"📊",heartbeat:"♡",memory_consolidation:"🧠"},CM=["all","interaction","task","notification","system"],PM={interaction:["human_chat","a2a_message","mention"],task:["task_status_update","task_comment","requirement_comment","review_request","session_reply"],notification:["requirement_update"],system:["system_event","heartbeat","daily_report","memory_consolidation"]},TM={completed:"bg-green-500",processing:"bg-blue-400 animate-pulse",deferred:"bg-purple-400",merged:"bg-brand-400",queued:"bg-amber-400",dropped:"bg-red-500"},QM={pending:"text-gray-400",assigned:"text-blue-400",in_progress:"text-brand-400",completed:"text-green-400",failed:"text-red-400",cancelled:"text-gray-500",review:"text-amber-400",approved:"text-green-500",rejected:"text-red-500",draft:"text-gray-400"};function bu(s){const e=s.match(/Comment from .+?:\s*(.+?)(?:\n\n\*\*MANDATORY|\n\n---|\n\n\[|$)/s);if(e?.[1]){const t=e[1].trim().replace(/\n/g," ");return t.length>80?t.slice(0,80)+"…":t}}function yx(s,e){const t=s.payload,r=t?.summary??"",i=t?.content??"",n=s.metadata?.senderName;switch(s.sourceType){case"task_status_update":{const a=r.match(/^Task "(.+?)" status:/),o=r.match(/status:\s*(\S+)\s*→\s*(\S+)/),l=a?.[1]??r;if(o){const d=o[1],u=o[2],f=Qf(d,e),g=Qf(u,e),v=QM[u]??"text-fg-secondary";return{title:l,subtitle:e("agent:profilePage.mind.mailbox.statusArrow",{from:f,to:g}),badge:{label:g,color:v}}}const c=r.match(/^Task:\s*(.+)/);return c?{title:c[1]}:{title:l}}case"task_comment":{const a=r.match(/^Comment on task "(.+?)" from (.+?)(\s*\(\+\d+\))?$/),o=bu(i);if(a){const l=o?e("agent:profilePage.mind.mailbox.commentFromAuthor",{author:a[2],text:o}):e("agent:profilePage.mind.mailbox.commentFrom",{name:a[2]});return{title:a[1],subtitle:l}}return{title:r}}case"requirement_update":{const a=r.match(/^Requirement "(.+?)"\s+(.*)/);return a?{title:a[1],subtitle:a[2]}:{title:r}}case"requirement_comment":{const a=r.match(/^Comment on requirement "(.+?)" from (.+?)(\s*\(\+\d+\))?$/),o=bu(i);if(a){const l=o?e("agent:profilePage.mind.mailbox.commentFromAuthor",{author:a[2],text:o}):e("agent:profilePage.mind.mailbox.commentFrom",{name:a[2]});return{title:a[1],subtitle:l}}return{title:r}}case"human_chat":{const a=i.slice(0,120).replace(/\n/g," ");return{title:n?e("agent:profilePage.mind.mailbox.chatFrom",{sender:n}):e("agent:profilePage.mind.mailbox.humanChat"),subtitle:a+(i.length>120?"…":"")}}case"a2a_message":{const a=i.slice(0,120).replace(/\n/g," ");return{title:n?e("agent:profilePage.mind.mailbox.messageFrom",{sender:n}):e("agent:profilePage.mind.mailbox.agentMessage"),subtitle:a+(i.length>120?"…":"")}}case"mention":{const a=r.match(/from (.+)$/),o=bu(i);return{title:a?e("agent:profilePage.mind.mailbox.mentionedBy",{name:a[1]}):e("agent:profilePage.mind.mailbox.mention"),subtitle:o||void 0}}case"review_request":{const a=i.slice(0,120).replace(/\n/g," ");return{title:n?e("agent:profilePage.mind.mailbox.reviewRequestFrom",{sender:n}):e("agent:profilePage.mind.mailbox.reviewRequest"),subtitle:a+(i.length>120?"…":"")}}case"session_reply":{const a=i.slice(0,120).replace(/\n/g," ");return{title:n?e("agent:profilePage.mind.mailbox.replyInSession",{sender:n}):e("agent:profilePage.mind.mailbox.sessionReply"),subtitle:a+(i.length>120?"…":"")}}case"heartbeat":return{title:e("agent:profilePage.mind.mailbox.scheduledHeartbeat")};case"daily_report":return{title:e("agent:profilePage.mind.mailbox.dailyReport")};case"memory_consolidation":return{title:e("agent:profilePage.mind.mailbox.memoryConsolidation")};case"system_event":{const a=r.match(/^\[Announcement]\s*(.+)/);return a?{title:a[1],subtitle:e("agent:profilePage.mind.mailbox.systemAnnouncement")}:{title:r||e("agent:profilePage.mind.mailbox.systemEvent")}}default:return{title:r||s.sourceType}}}function Sx({agentId:s,highlightId:e,agentStatus:t,canManageAgents:r,onAgentStateChange:i}){const{t:n}=At(["agent","common","team"]),[a,o]=C.useState(null),[l,c]=C.useState(null),[d,u]=C.useState(!0),[f,g]=C.useState("all"),[v,b]=C.useState("all"),[m,O]=C.useState(e??null),[p,x]=C.useState(e??null),[y,_]=C.useState(!1),[k,w]=C.useState(!0),[S,Q]=C.useState(null),N=50,L=3,$=C.useCallback(async(T=!0)=>{T&&u(!0);try{const A=f==="all"?void 0:f,B=v==="all"?void 0:v,[q,H]=await Promise.all([K.agents.getMindState(s),K.agents.getMailbox(s,{limit:N,category:A,status:B})]);o(q),c(H),w((H.history?.length??0)>=N)}catch{}u(!1)},[s,f,v]),j=C.useCallback(async()=>{if(!l)return;const T=f==="all"?void 0:f,A=v==="all"?void 0:v;try{const B=await K.agents.getMailbox(s,{limit:N,offset:l.history.length,category:T,status:A});c(q=>q?{...q,history:[...q.history,...B.history]}:B),w((B.history?.length??0)>=N)}catch{}},[s,l,f,v]);C.useEffect(()=>{O(e??null),x(e??null),$()},[$,e]);const I=C.useRef(!1);if(C.useEffect(()=>{if(!p||d)return;if(l?.history?.some(A=>A.id===p)){I.current=!1;const A=document.getElementById(`mbx-${p}`);if(A){setTimeout(()=>A.scrollIntoView({behavior:"smooth",block:"center"}),100);const B=setTimeout(()=>x(null),3e3);return()=>clearTimeout(B)}}else k&&!I.current&&(I.current=!0,(async()=>{let A=l?.history??[],B=k;for(;B;)try{const q=await K.agents.getMailbox(s,{limit:N,offset:A.length}),H=[...A,...q.history];A=H,B=(q.history?.length??0)>=N;const te=q.history.some(ue=>ue.id===p);if(c(ue=>ue?{...ue,history:H}:q),w(B),te||!B)break}catch{break}I.current=!1})())},[p,d,l,k,s]),C.useEffect(()=>{let T=null;const A=q=>{q.payload?.agentId===s&&(T&&clearTimeout(T),T=setTimeout(()=>{T=null,$(!1)},500))},B=[yt.on("agent:mailbox",A),yt.on("agent:decision",A),yt.on("agent:attention",A),yt.on("agent:focus",A),yt.on("agent:update",A),yt.on("agent:triage",A)];return()=>{T&&clearTimeout(T),B.forEach(q=>q())}},[s,$]),d&&!a)return h.jsx("div",{className:"text-fg-tertiary text-sm animate-pulse",children:n("agent:profilePage.mind.loading")});const V=a?.mailboxDepth??a?.queuedItems?.length??0,Z=(()=>{const T=a?.attentionState??"idle";return T==="deciding"||T==="idle"&&V>0?"deciding":T!=="idle"&&!a?.currentFocus?"idle":T})(),z=Z==="idle"&&l?.history?.some(T=>T.status==="processing"),J=(a?.attentionState??"idle")==="idle"&&V>0;return h.jsxs("div",{className:"space-y-4",children:[h.jsxs("section",{children:[h.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[h.jsx("span",{className:`px-2.5 py-1 text-xs font-medium rounded-full ${kM[Z]??"bg-gray-500/20 text-gray-500"}`,children:n(`agent:profilePage.mind.attention.${Z}`)}),a?.currentFocus?(()=>{const T=yx({id:a.currentFocus.mailboxItemId,sourceType:a.currentFocus.type,payload:{summary:a.currentFocus.label,taskId:a.currentFocus.taskId},metadata:{},queuedAt:a.currentFocus.startedAt},n);return h.jsxs("span",{className:"text-sm text-fg-secondary inline-flex items-center gap-2",children:[h.jsxs("span",{children:[rc[a.currentFocus.type]??"●"," ",h.jsx("span",{className:"text-fg-primary font-medium",children:T.title}),T.subtitle&&h.jsx("span",{className:"text-fg-tertiary ml-1.5 text-xs",children:T.subtitle}),h.jsx("span",{className:"text-fg-tertiary ml-2 text-xs",children:n("agent:profilePage.mind.since",{time:new Date(a.currentFocus.startedAt).toLocaleTimeString()})})]}),r&&h.jsxs("button",{onClick:()=>Q(a.currentFocus.mailboxItemId),className:"px-2 py-0.5 text-[10px] font-medium rounded-md bg-red-500/15 text-red-500 hover:bg-red-500/25 transition-colors shrink-0",children:["✕ ",n("agent:profilePage.mind.cancelCurrentBtn")]})]})})():J?h.jsx("span",{className:"text-sm text-amber-500",children:n("agent:profilePage.mind.queuedButIdle",{count:V,defaultValue:"Queue has {{count}} item(s) — attention loop should pick them up…"})}):Z==="deciding"?h.jsx("span",{className:"text-sm text-amber-500",children:n("agent:profilePage.mind.decidingWaiting",{count:V})}):h.jsx("span",{className:"text-sm text-fg-tertiary",children:n("agent:profilePage.mind.idleWaiting")}),h.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[r&&t==="offline"&&h.jsxs("button",{onClick:()=>{K.agents.start(s).then(()=>{i?.(),$()})},className:"px-2.5 py-1 text-[11px] font-medium rounded-lg bg-green-500/15 text-green-500 hover:bg-green-500/25 transition-colors",children:["▶ ",n("agent:profilePage.mind.continueBtn")]}),r&&(t==="working"||t==="idle")&&h.jsxs("button",{onClick:()=>{K.agents.stop(s).then(()=>{i?.(),$()})},className:"px-2.5 py-1 text-[11px] font-medium rounded-lg bg-red-500/15 text-red-500 hover:bg-red-500/25 transition-colors",children:["■ ",n("team:contextMenu.stop")]}),h.jsx("button",{onClick:()=>{$()},className:"text-xs text-fg-tertiary hover:text-fg-secondary active:text-fg-primary transition-colors",children:n("agent:profilePage.mind.refresh")})]})]}),z&&h.jsxs("div",{className:"mb-3 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/30 flex items-center gap-2",children:[h.jsx("span",{className:"text-amber-500 text-sm",children:"⚠"}),h.jsx("span",{className:"text-[11px] text-amber-600",children:n("agent:profilePage.mind.staleProcessingWarning")})]}),(a?.queuedItems?.length??0)>0&&(()=>{const T=a.queuedItems,A=T.length>L,B=A&&!y?T.slice(0,L):T,q=T.reduce((H,te)=>(H[te.sourceType]=(H[te.sourceType]??0)+1,H),{});return h.jsxs("div",{className:"mb-3",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[h.jsx("h4",{className:"text-xs font-medium text-amber-500 uppercase tracking-wider",children:n("agent:profilePage.mind.queue",{count:T.length})}),h.jsx("div",{className:"flex gap-1.5 flex-wrap",children:Object.entries(q).map(([H,te])=>h.jsxs("span",{className:"text-[10px] text-fg-tertiary bg-amber-500/10 px-1.5 py-0.5 rounded",children:[rc[H]??"●"," ",te]},H))})]}),h.jsxs("div",{className:"space-y-1",children:[B.map((H,te)=>h.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded bg-amber-500/5 border border-amber-500/20 text-sm",children:[h.jsx("span",{className:"text-fg-tertiary w-4 text-right text-xs",children:te+1}),h.jsx("span",{className:"text-sm",children:rc[H.sourceType]??"●"}),h.jsx("span",{className:`text-[10px] ${vx[H.priority]??"text-fg-tertiary"}`,children:n(`agent:profilePage.mind.priority.${bx[H.priority]??H.priority}`,{defaultValue:`P${H.priority}`})}),h.jsx("span",{className:"text-fg-secondary truncate flex-1 text-xs",children:H.summary}),h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:new Date(H.queuedAt).toLocaleTimeString()})]},H.id)),A&&h.jsx("button",{onClick:()=>_(!y),className:"w-full text-center text-[11px] text-amber-500 hover:text-amber-400 py-1 transition-colors",children:y?n("agent:profilePage.mind.collapseQueue"):n("agent:profilePage.mind.expandQueue",{count:T.length-L})})]})]})})()]}),(a?.notebook?.length??0)>0&&h.jsx("section",{className:"bg-surface-2 rounded-lg border border-border-subtle p-3",children:h.jsxs("details",{open:!0,children:[h.jsxs("summary",{className:"flex items-center gap-2 cursor-pointer list-none",children:[h.jsx("span",{className:"text-sm",children:"📓"}),h.jsx("h4",{className:"text-xs font-medium text-fg-secondary uppercase tracking-wider",children:"Notebook"}),h.jsxs("span",{className:"text-[10px] text-fg-quaternary ml-auto",children:[a.notebook.length," ",a.notebook.length===1?"entry":"entries"]})]}),h.jsx("div",{className:"mt-2 space-y-2",children:a.notebook.map(T=>{const A=Date.now()-T.updatedAt,B=A<6e4?`${Math.round(A/1e3)}s ago`:A<36e5?`${Math.round(A/6e4)}min ago`:`${(A/36e5).toFixed(1)}h ago`,q=T.managed==="system"?"text-blue-400":T.managed==="cpp"?"text-purple-400":"text-emerald-400";return h.jsxs("div",{className:"px-3 py-2 rounded bg-surface-3 border border-border-subtle",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[h.jsx("span",{className:"text-xs font-medium text-fg-primary",children:T.key}),h.jsxs("span",{className:`text-[10px] ${q}`,children:["[",T.managed,"]"]}),h.jsx("span",{className:"text-[10px] text-fg-quaternary ml-auto",children:B})]}),h.jsx("pre",{className:"text-[11px] text-fg-secondary whitespace-pre-wrap break-words leading-relaxed max-h-32 overflow-y-auto",children:T.text.length>500?T.text.slice(0,500)+"…":T.text})]},T.key)})})]})}),a?.deliberationActivity&&h.jsxs("section",{className:"bg-surface-2 rounded-lg border border-amber-500/20 p-3",children:[h.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[h.jsx("span",{className:"text-sm",children:"🧠"}),h.jsx("h4",{className:"text-xs font-medium text-amber-500 uppercase tracking-wider",children:n("agent:profilePage.mind.deliberationInProgress")}),h.jsx("span",{className:"text-[10px] text-fg-quaternary ml-auto",children:n("agent:profilePage.mind.since",{time:new Date(a.deliberationActivity.startedAt).toLocaleTimeString()})})]}),h.jsx(Xa,{agentId:s,activityId:a.deliberationActivity.activityId,isLive:!0})]}),a?.lastTriage&&(()=>{const A=Date.now()-new Date(a.lastTriage.timestamp).getTime()>6e4;return h.jsx("section",{className:`bg-surface-2 rounded-lg border p-3 transition-opacity ${A?"border-border-subtle opacity-60":"border-indigo-500/20"}`,children:h.jsxs("details",{open:!A,children:[h.jsxs("summary",{className:"flex items-center gap-2 cursor-pointer list-none",children:[h.jsx("span",{className:"text-sm",children:"🧠"}),h.jsx("h4",{className:"text-xs font-medium text-indigo-400 uppercase tracking-wider",children:n("agent:profilePage.mind.triageDecision")}),h.jsx("span",{className:"text-[10px] text-fg-quaternary ml-auto",children:new Date(a.lastTriage.timestamp).toLocaleTimeString()})]}),h.jsx("p",{className:"text-xs text-fg-secondary leading-relaxed mt-2",children:a.lastTriage.reasoning}),h.jsxs("div",{className:"flex flex-wrap gap-2 mt-2 text-[10px]",children:[h.jsx("span",{className:"px-1.5 py-0.5 rounded bg-green-500/10 text-green-400",children:n("agent:profilePage.mind.processingItem",{id:a.lastTriage.processedItemId.slice(0,12)})}),a.lastTriage.deferredItemIds.length>0&&h.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 text-amber-400",children:n("agent:profilePage.mind.deferred",{count:a.lastTriage.deferredItemIds.length})}),a.lastTriage.droppedItemIds.length>0&&h.jsx("span",{className:"px-1.5 py-0.5 rounded bg-red-500/10 text-red-400",children:n("agent:profilePage.mind.dropped",{count:a.lastTriage.droppedItemIds.length})}),(a.lastTriage.inlineCompletedIds?.length??0)>0&&h.jsx("span",{className:"px-1.5 py-0.5 rounded bg-blue-500/10 text-blue-400",children:n("agent:profilePage.mind.inlineCompleted",{count:a.lastTriage.inlineCompletedIds.length})})]})]})})})(),h.jsxs("section",{children:[h.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[h.jsx("h3",{className:"text-xs font-medium text-fg-tertiary uppercase tracking-wider",children:n("agent:profilePage.mind.mailboxHistory")}),h.jsx("div",{className:"flex gap-1 ml-auto flex-wrap",children:CM.map(T=>{const A=l?.sourceTypeCounts,B=T==="all"?A?Object.values(A).reduce((q,H)=>q+H,0):void 0:A?(PM[T]??[]).reduce((q,H)=>q+(A[H]??0),0):void 0;return h.jsxs("button",{onClick:()=>g(T),className:`px-2 py-0.5 text-[10px] rounded-md border transition-colors ${f===T?"bg-brand-500/20 border-brand-500/40 text-brand-300":"bg-surface-2 border-border-subtle text-fg-secondary hover:bg-surface-3"}`,children:[n(`agent:profilePage.mind.categoryFilters.${T}`),B!=null&&B>0&&h.jsx("span",{className:"ml-1 opacity-60",children:B})]},T)})})]}),h.jsx("div",{className:"flex gap-1 mb-2 flex-wrap",children:[{key:"all",dot:""},{key:"queued",dot:"bg-amber-400"},{key:"processing",dot:"bg-blue-400"},{key:"completed",dot:"bg-green-500"},{key:"merged",dot:"bg-brand-400"},{key:"deferred",dot:"bg-purple-400"},{key:"dropped",dot:"bg-red-500"}].map(T=>{const A=l?.statusCounts,B=T.key==="all"?A?Object.values(A).reduce((q,H)=>q+H,0):void 0:A?.[T.key];return h.jsxs("button",{onClick:()=>b(T.key),className:`px-2 py-0.5 text-[10px] rounded-md border transition-colors flex items-center gap-1 ${v===T.key?"bg-brand-500/20 border-brand-500/40 text-brand-300":"bg-surface-2 border-border-subtle text-fg-secondary hover:bg-surface-3"}`,children:[T.dot&&h.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${T.dot}`}),n(`agent:profilePage.mind.statusFilters.${T.key}`),B!=null&&B>0&&h.jsx("span",{className:"ml-1 opacity-60",children:B})]},T.key)})}),(!l?.history||l.history.length===0)&&!d&&h.jsx("div",{className:"text-center text-fg-tertiary text-sm py-8",children:n("agent:profilePage.mind.noHistory")}),h.jsx("div",{className:"space-y-1",children:l?.history?.map(T=>{const A=m===T.id,B=rc[T.sourceType]??"●",q=yx(T,n),H=T.metadata?.senderName,te=T.metadata?.senderRole,ue=p===T.id;return h.jsxs("div",{id:`mbx-${T.id}`,className:`bg-surface-2 rounded-lg border transition-colors duration-1000 ${ue?"border-brand-500 ring-1 ring-brand-500/40":"border-border-subtle"}`,children:[h.jsxs("button",{className:"w-full px-3 py-2.5 flex items-start gap-2 text-left hover:bg-surface-3/50 transition-colors rounded-lg",onClick:()=>O(A?null:T.id),children:[h.jsx("span",{className:"text-xs mt-0.5 text-fg-tertiary",children:A?"▾":"▸"}),h.jsx("span",{className:`w-2 h-2 mt-1.5 rounded-full shrink-0 ${TM[T.status]??"bg-gray-400"}`}),h.jsx("span",{className:"text-sm",children:B}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:`text-xs font-medium text-fg-primary ${A?"":"truncate"}`,children:q.title}),q.badge&&h.jsx("span",{className:`text-[10px] font-medium shrink-0 ${q.badge.color}`,children:q.badge.label}),h.jsx("span",{className:`text-[10px] shrink-0 ${vx[T.priority]??"text-fg-tertiary"}`,children:n(`agent:profilePage.mind.priority.${bx[T.priority]??T.priority}`,{defaultValue:""})})]}),q.subtitle&&h.jsx("div",{className:`text-[11px] text-fg-secondary mt-0.5 ${A?"":"truncate"}`,children:q.subtitle}),h.jsxs("div",{className:"text-[10px] text-fg-tertiary mt-0.5 flex gap-2 flex-wrap",children:[h.jsx("span",{children:new Date(T.queuedAt).toLocaleString()}),T.completedAt&&h.jsxs("span",{children:["→ ",new Date(T.completedAt).toLocaleTimeString()]}),T.activity&&h.jsxs(h.Fragment,{children:[T.activity.totalTokens>0&&h.jsx("span",{children:n("agent:profilePage.mind.tokensCount",{count:Kn(T.activity.totalTokens)})}),T.activity.totalTools>0&&h.jsx("span",{children:n("agent:profilePage.mind.toolsCount",{count:T.activity.totalTools})})]})]})]}),h.jsx("span",{className:"text-[10px] text-fg-tertiary bg-surface-3 px-1.5 py-0.5 rounded shrink-0",children:T.sourceType}),r&&T.status==="processing"&&h.jsxs("button",{onClick:ke=>{ke.stopPropagation(),Q(T.id)},className:"px-2 py-0.5 text-[10px] font-medium rounded-md bg-red-500/15 text-red-500 hover:bg-red-500/25 transition-colors shrink-0",children:["✕ ",n("agent:profilePage.mind.cancelCurrentBtn")]})]}),A&&h.jsxs("div",{className:"border-t border-border-subtle px-3 py-3 space-y-3",children:[H&&h.jsxs("div",{className:"text-[10px] text-fg-tertiary",children:[n("agent:profilePage.mind.from")," ",h.jsx("span",{className:"text-fg-secondary",children:H}),te&&h.jsxs("span",{className:"text-fg-tertiary",children:[" (",te,")"]})]}),T.payload?.content&&["human_chat","a2a_message","task_comment","requirement_comment","review_request","session_reply","mention"].includes(T.sourceType)&&h.jsx("div",{className:"text-xs text-fg-secondary bg-surface-primary/50 rounded-md p-2.5 whitespace-pre-wrap break-words max-h-60 overflow-y-auto",children:T.payload.content}),T.decisions&&T.decisions.length>0&&h.jsxs("div",{children:[h.jsx("h5",{className:"text-[10px] font-medium text-fg-tertiary uppercase tracking-wider mb-1",children:n("agent:profilePage.mind.decisions")}),h.jsx("div",{className:"space-y-1",children:T.decisions.map(ke=>h.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[h.jsx("span",{className:`px-1.5 py-0.5 rounded shrink-0 ${wM[ke.decisionType]??"bg-gray-500/20 text-gray-500"}`,children:ke.decisionType}),h.jsx("span",{className:"text-fg-secondary flex-1",children:ke.reasoning}),h.jsx("span",{className:"text-fg-tertiary shrink-0",children:new Date(ke.createdAt).toLocaleTimeString()})]},ke.id))})]}),T.activity?h.jsxs("div",{children:[h.jsxs("h5",{className:"text-[10px] font-medium text-fg-tertiary uppercase tracking-wider mb-1",children:[n("agent:profilePage.mind.activityHeading",{label:T.activity.label}),h.jsx("span",{className:`ml-2 inline-block px-1 py-0 rounded text-[9px] ${T.activity.success?"bg-green-500/15 text-green-500":"bg-red-500/15 text-red-500"}`,children:T.activity.success?n("agent:profilePage.mind.success"):n("agent:profilePage.mind.failed")})]}),T.activity.type==="task"&&T.payload?.taskId?h.jsx(SM,{taskId:T.payload.taskId,isLive:!T.activity.endedAt}):h.jsx(Xa,{agentId:s,activityId:T.activity.id,isLive:!T.activity.endedAt})]}):T.status==="processing"?h.jsx("div",{className:"text-xs text-fg-tertiary text-center py-2 animate-pulse",children:n("agent:profilePage.mind.processing")}):T.status==="completed"?h.jsx("div",{className:"text-xs text-fg-tertiary text-center py-2",children:n("agent:profilePage.mind.noActivityLog")}):null]})]},T.id)})}),k&&(l?.history?.length??0)>0&&h.jsx("div",{className:"text-center mt-3",children:h.jsx("button",{onClick:j,className:"text-xs text-brand-400 hover:text-brand-300 transition-colors",children:n("agent:profilePage.mind.loadEarlier")})})]}),S&&h.jsx(_o,{title:n("agent:profilePage.mind.cancelConfirmTitle"),message:n("agent:profilePage.mind.cancelConfirmMessage"),confirmLabel:n("agent:profilePage.mind.cancelCurrentBtn"),onConfirm:()=>{Q(null),K.agents.cancelProcessing(s).then(()=>{let T=0;const A=()=>{T+=1,$(),T<8&&window.setTimeout(A,750)};A()}).catch(()=>{$()})},onCancel:()=>Q(null)})]})}function _x({agentId:s}){const{t:e}=At(["agent","common"]),t=nh(),[r,i]=C.useState([]),[n,a]=C.useState(!0),[o,l]=C.useState(null),c=C.useCallback(u=>{t?.openRightPanel?t.openRightPanel({kind:"deliverable",deliverable:u}):l(u)},[t]),d=C.useCallback(async()=>{a(!0);try{const{results:u}=await K.deliverables.search({agentId:s,limit:200});i(u)}catch{i([])}a(!1)},[s]);return C.useEffect(()=>{d()},[d]),C.useEffect(()=>{const u=yt.on("deliverable:created",()=>d()),f=yt.on("deliverable:updated",()=>d()),g=yt.on("deliverable:removed",()=>d());return()=>{u(),f(),g()}},[d]),n?h.jsx("div",{className:"space-y-3 py-4",children:[1,2,3].map(u=>h.jsxs("div",{className:"animate-pulse space-y-2",children:[h.jsx("div",{className:"h-4 bg-surface-elevated rounded w-3/4"}),h.jsx("div",{className:"h-3 bg-surface-elevated rounded w-1/2"})]},u))}):r.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center py-16 text-center",children:[h.jsx("span",{className:"text-3xl mb-3",children:"📦"}),h.jsx("p",{className:"text-sm text-fg-secondary",children:e("agent:deliverables.empty")}),h.jsx("p",{className:"text-xs text-fg-tertiary mt-1",children:e("agent:deliverables.emptyHint")})]}):h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"space-y-2",children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-3",children:e("agent:deliverables.count",{count:r.length})}),r.map(u=>{const f=O_[u.type]??{icon:"📎",color:"bg-surface-elevated text-fg-secondary"},g=Nm[u.status]??Nm.active;return h.jsxs("button",{onClick:()=>c(u),className:"w-full text-left rounded-xl border border-border-default bg-surface-elevated/30 overflow-hidden transition-colors hover:border-brand-500/40 hover:bg-surface-elevated/50 px-4 py-3 flex items-start gap-3",children:[h.jsx("span",{className:`inline-flex items-center justify-center w-8 h-8 rounded-lg text-sm shrink-0 ${f.color}`,children:f.icon}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[h.jsx("span",{className:"text-sm font-medium text-fg-primary truncate",children:u.title}),h.jsx("span",{className:`px-1.5 py-0.5 text-[10px] rounded font-medium ${g.color}`,children:u.status})]}),u.summary&&h.jsx("p",{className:"text-xs text-fg-tertiary mt-0.5 line-clamp-1",children:u.summary}),h.jsxs("div",{className:"flex items-center gap-3 mt-1 text-[10px] text-fg-tertiary",children:[h.jsx("span",{children:new Date(u.createdAt).toLocaleDateString()}),u.tags.length>0&&h.jsx("span",{children:u.tags.slice(0,3).join(", ")})]})]}),h.jsx("svg",{className:"w-4 h-4 text-fg-tertiary shrink-0 mt-1",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})]},u.id)})]}),o&&h.jsx(x_,{item:o,onClose:()=>l(null),onOpenInPage:u=>{l(null),Qr.navigate(Kt.DELIVERABLES,{openDeliverable:u})}})]})}const $M=C.lazy(()=>Mx(()=>import("./index-CiAGgfZx.js").then(s=>s.aE),__vite__mapDeps([0,1])).then(s=>({default:s.MarkdownMessage}))),qp=[{key:"overview",labelKey:"teamProfile.overview",icon:"▦"},{key:"announcements",labelKey:"teamProfile.announcements",icon:"◈"},{key:"norms",labelKey:"teamProfile.norms",icon:"☰"},{key:"settings",labelKey:"teamProfile.settings",icon:"⚙"}],wx={idle:"bg-green-400",working:"bg-blue-400 animate-pulse",offline:"bg-gray-500",error:"bg-red-400"};function kx({teamId:s,onBack:e,inline:t,headless:r,activeTab:i,onSelectAgent:n}){const{t:a}=At("team"),[o,l]=C.useState(null),[c,d]=C.useState(null),[u,f]=C.useState("overview"),g=r&&i?i:u,[v,b]=C.useState(""),[m,O]=C.useState(""),[p,x]=C.useState(!1),[y,_]=C.useState(!1),[k,w]=C.useState(""),[S,Q]=C.useState(""),N=C.useRef(null),L=C.useRef(null),$=C.useRef(null),j=C.useRef(null),[I,V]=C.useState(!1),[Z,z]=C.useState(!1),[J,T]=C.useState(""),[A,B]=C.useState(""),[q,H]=C.useState(!1),[te,ue]=C.useState([]),ke=C.useRef(null),U=C.useCallback(async()=>{try{const ge=(await K.teams.list()).teams.find(nt=>nt.id===s);ge&&l(ge);const He=await K.teams.status(s);ue(He.agents)}catch{}},[s]),D=C.useCallback(async()=>{try{const me=await K.teams.getFile(s,"ANNOUNCEMENT.md");b(me.content)}catch{b("")}try{const me=await K.teams.getFile(s,"NORMS.md");O(me.content)}catch{O("")}},[s]);C.useEffect(()=>{f("overview"),U(),D()},[s,U,D]),C.useEffect(()=>{p&&L.current&&L.current.focus()},[p]),C.useEffect(()=>{y&&j.current&&j.current.focus()},[y]);const se=async(me,ge)=>{V(!0);try{await K.teams.updateFile(s,me,ge),me==="ANNOUNCEMENT.md"?(b(ge),x(!1)):(O(ge),_(!1))}catch{}V(!1)},F=async()=>{J.trim()&&(await K.teams.update(s,{name:J.trim()}),z(!1),U())},G=async()=>{await K.teams.update(s,{description:A}),H(!1),U()};if(!o)return h.jsx("div",{className:"flex-1 flex items-center justify-center text-fg-tertiary text-sm",children:"Loading team..."});const ee=o.members.find(me=>me.agentRole==="manager"),we=te.filter(me=>me.status!=="offline").length,Ae=g==="announcements"&&p||g==="norms"&&y;if(r)return h.jsx("div",{className:`flex-1 bg-surface-primary ${Ae?"flex flex-col overflow-hidden":"overflow-y-auto"}`,children:h.jsxs("div",{className:`${Ae?"flex-1 flex flex-col min-h-0 p-5":"p-5"}`,children:[g==="overview"&&h.jsxs("div",{className:"space-y-5",children:[h.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[h.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default",children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Manager"}),h.jsx("div",{className:"text-sm font-medium",children:ee?.name??o.managerName??"None"})]}),h.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default",children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Team ID"}),h.jsx("div",{className:"text-sm font-mono text-fg-secondary truncate",children:o.id})]})]}),h.jsxs("div",{className:"space-y-3",children:[h.jsx("div",{className:"text-xs text-fg-tertiary font-medium px-1",children:"Members"}),o.members.map(me=>{const ge=te.find(Ct=>Ct.id===me.id),He=wx[ge?.status??"offline"]??"bg-gray-500",nt=me.type==="agent";return h.jsxs("div",{onClick:()=>nt&&n?.(me.id),className:`p-3 bg-surface-secondary rounded-xl border border-border-default flex items-center gap-3${nt&&n?" cursor-pointer hover:border-brand-500/40 transition-colors":""}`,children:[h.jsx(js,{name:me.name,avatarUrl:me.avatarUrl,size:32,className:"rounded-lg"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm font-medium",children:me.name}),h.jsx("span",{className:`w-2 h-2 rounded-full ${He}`}),h.jsx("span",{className:"text-xs text-fg-tertiary",children:ge?.status??"offline"}),me.agentRole==="manager"&&h.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-amber-500/15 text-amber-600 rounded font-medium",children:"Manager"})]}),h.jsxs("div",{className:"text-xs text-fg-tertiary",children:[me.role," · ",me.type]})]}),nt&&n&&h.jsx("svg",{className:"w-4 h-4 text-fg-tertiary shrink-0",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("polyline",{points:"9 18 15 12 9 6"})})]},me.id)}),o.members.length===0&&h.jsx("div",{className:"text-sm text-fg-tertiary text-center py-8",children:"No members"})]})]}),g==="announcements"&&h.jsx(ic,{content:v,draft:k,setDraft:w,editing:p,setEditing:x,textareaRef:L,contentRef:N,saving:I,onSave:()=>se("ANNOUNCEMENT.md",k),placeholder:a("teamProfile.annPlaceholder"),emptyText:a("teamProfile.noAnnouncements")}),g==="norms"&&h.jsx(ic,{content:m,draft:S,setDraft:Q,editing:y,setEditing:_,textareaRef:j,contentRef:$,saving:I,onSave:()=>se("NORMS.md",S),placeholder:a("teamProfile.normsPlaceholder"),emptyText:a("teamProfile.noNorms")}),g==="settings"&&h.jsxs("div",{className:"space-y-5",children:[h.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default space-y-4",children:[h.jsxs("div",{children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Team Name"}),Z?h.jsxs("div",{className:"flex gap-2 items-center",children:[h.jsx("input",{ref:ke,value:J,onChange:me=>T(me.target.value),onKeyDown:me=>me.key==="Enter"&&F(),className:"flex-1 bg-surface-elevated border border-border-default rounded-lg px-3 py-1.5 text-sm text-fg-primary focus:outline-none focus:border-brand-500",autoFocus:!0}),h.jsx("button",{onClick:F,className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 rounded-lg text-white",children:"Save"}),h.jsx("button",{onClick:()=>z(!1),className:"px-3 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary",children:"Cancel"})]}):h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm",children:o.name}),h.jsx("button",{onClick:()=>{T(o.name),z(!0)},className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"})]})]}),h.jsxs("div",{children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Description"}),q?h.jsxs("div",{className:"space-y-2",children:[h.jsx("textarea",{value:A,onChange:me=>B(me.target.value),className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-1.5 text-sm text-fg-primary resize-y focus:outline-none focus:border-brand-500",rows:3,autoFocus:!0}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:G,className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 rounded-lg text-white",children:"Save"}),h.jsx("button",{onClick:()=>H(!1),className:"px-3 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary",children:"Cancel"})]})]}):h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm text-fg-secondary",children:o.description||"No description"}),h.jsx("button",{onClick:()=>{B(o.description??""),H(!0)},className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"})]})]})]}),h.jsx(Cx,{teamId:s,teamName:o.name,onDeleted:e})]})]})});const xe=u==="announcements"&&p||u==="norms"&&y;return h.jsxs("div",{className:`flex-1 bg-surface-primary ${xe?"flex flex-col overflow-hidden":"overflow-y-auto"}`,children:[h.jsxs("div",{className:"px-5 py-3.5 bg-surface-secondary sticky top-0 z-10 shrink-0",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"w-10 h-10 rounded-xl bg-brand-600 text-white flex items-center justify-center text-lg font-bold shrink-0",children:h.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),h.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[h.jsx("h2",{className:"text-base font-semibold",children:o.name}),h.jsxs("span",{className:"px-1.5 py-0.5 text-[10px] bg-brand-500/15 text-brand-500 rounded font-medium",children:[o.members.length," members"]}),h.jsxs("span",{className:"px-1.5 py-0.5 text-[10px] bg-green-500/15 text-green-600 rounded font-medium",children:[we," online"]})]}),h.jsx("div",{className:"text-xs text-fg-tertiary truncate",children:o.description||"No description"})]}),h.jsxs("button",{onClick:async()=>{if(o)try{const{files:me}=await K.teams.getFilesMap(o.id),ge=o.members.filter(nt=>nt.type==="agent"),He={type:"team",name:Ex(o.name,o.name),displayName:o.name,version:"1.0.0",description:o.description??"",author:"",category:"general",tags:[],team:{members:ge.map(nt=>({name:nt.name,roleName:nt.role,role:nt.agentRole??"worker",count:1,skills:[]}))}};await Rf.publishViaProxy({itemType:"team",name:o.name,description:o.description??"",category:"general",config:He,files:me}),d({title:"Hub",message:`Published "${o.name}" to Markus Hub`,variant:"primary"})}catch(me){d({title:"Hub",message:`Failed to publish: ${me}`,variant:"danger"})}},className:"px-3 py-1.5 text-xs bg-green-600 hover:bg-green-500 text-white rounded-lg transition-colors flex items-center gap-1",title:"Publish to Markus Hub",children:[h.jsx("span",{children:"↑"})," Hub"]}),t&&h.jsx("button",{onClick:e,className:"p-1.5 text-fg-tertiary hover:text-fg-secondary text-lg leading-none",children:"×"})]}),h.jsx("div",{className:"flex gap-1 mt-3 -mb-[1px] overflow-x-auto",children:qp.map(me=>h.jsxs("button",{onClick:()=>f(me.key),className:`px-3 py-1.5 text-xs rounded-t-lg whitespace-nowrap transition-colors ${u===me.key?"bg-surface-primary text-fg-primary border border-border-default border-b-gray-950":"text-fg-tertiary hover:text-fg-secondary"}`,children:[me.icon," ",a(me.labelKey)]},me.key))})]}),h.jsxs("div",{className:`${xe?"flex-1 flex flex-col min-h-0 p-5":"p-5"}`,children:[u==="overview"&&h.jsxs("div",{className:"space-y-5",children:[h.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[h.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default",children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Manager"}),h.jsx("div",{className:"text-sm font-medium",children:ee?.name??o.managerName??"None"})]}),h.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default",children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Team ID"}),h.jsx("div",{className:"text-sm font-mono text-fg-secondary truncate",children:o.id})]})]}),h.jsxs("div",{className:"space-y-3",children:[h.jsx("div",{className:"text-xs text-fg-tertiary font-medium px-1",children:"Members"}),o.members.map(me=>{const ge=te.find(Ct=>Ct.id===me.id),He=wx[ge?.status??"offline"]??"bg-gray-500",nt=me.type==="agent";return h.jsxs("div",{onClick:()=>nt&&n?.(me.id),className:`p-3 bg-surface-secondary rounded-xl border border-border-default flex items-center gap-3${nt&&n?" cursor-pointer hover:border-brand-500/40 transition-colors":""}`,children:[h.jsx(js,{name:me.name,avatarUrl:me.avatarUrl,size:32,className:"rounded-lg"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm font-medium",children:me.name}),h.jsx("span",{className:`w-2 h-2 rounded-full ${He}`}),h.jsx("span",{className:"text-xs text-fg-tertiary",children:ge?.status??"offline"}),me.agentRole==="manager"&&h.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-amber-500/15 text-amber-600 rounded font-medium",children:"Manager"})]}),h.jsxs("div",{className:"text-xs text-fg-tertiary",children:[me.role," · ",me.type]})]}),nt&&n&&h.jsx("svg",{className:"w-4 h-4 text-fg-tertiary shrink-0",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("polyline",{points:"9 18 15 12 9 6"})})]},me.id)}),o.members.length===0&&h.jsx("div",{className:"text-sm text-fg-tertiary text-center py-8",children:"No members"})]})]}),u==="announcements"&&h.jsx(ic,{content:v,draft:k,setDraft:w,editing:p,setEditing:x,textareaRef:L,contentRef:N,saving:I,onSave:()=>se("ANNOUNCEMENT.md",k),placeholder:a("teamProfile.annPlaceholder"),emptyText:a("teamProfile.noAnnouncements")}),u==="norms"&&h.jsx(ic,{content:m,draft:S,setDraft:Q,editing:y,setEditing:_,textareaRef:j,contentRef:$,saving:I,onSave:()=>se("NORMS.md",S),placeholder:a("teamProfile.normsPlaceholder"),emptyText:a("teamProfile.noNorms")}),u==="settings"&&h.jsxs("div",{className:"space-y-5",children:[h.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default space-y-4",children:[h.jsxs("div",{children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Team Name"}),Z?h.jsxs("div",{className:"flex gap-2 items-center",children:[h.jsx("input",{ref:ke,value:J,onChange:me=>T(me.target.value),onKeyDown:me=>me.key==="Enter"&&F(),className:"flex-1 bg-surface-elevated border border-border-default rounded-lg px-3 py-1.5 text-sm text-fg-primary focus:outline-none focus:border-brand-500",autoFocus:!0}),h.jsx("button",{onClick:F,className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 rounded-lg text-white",children:"Save"}),h.jsx("button",{onClick:()=>z(!1),className:"px-3 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary",children:"Cancel"})]}):h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm",children:o.name}),h.jsx("button",{onClick:()=>{T(o.name),z(!0)},className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"})]})]}),h.jsxs("div",{children:[h.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Description"}),q?h.jsxs("div",{className:"space-y-2",children:[h.jsx("textarea",{value:A,onChange:me=>B(me.target.value),className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-1.5 text-sm text-fg-primary resize-y focus:outline-none focus:border-brand-500",rows:3,autoFocus:!0}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:G,className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 rounded-lg text-white",children:"Save"}),h.jsx("button",{onClick:()=>H(!1),className:"px-3 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary",children:"Cancel"})]})]}):h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm text-fg-secondary",children:o.description||"No description"}),h.jsx("button",{onClick:()=>{B(o.description??""),H(!0)},className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"})]})]})]}),h.jsx(Cx,{teamId:s,teamName:o.name,onDeleted:e})]})]}),c&&h.jsx(_o,{alertOnly:!0,variant:c.variant??"primary",title:c.title,message:c.message,onConfirm:()=>d(null),onCancel:()=>d(null)})]})}function ic({content:s,draft:e,setDraft:t,editing:r,setEditing:i,textareaRef:n,contentRef:a,saving:o,onSave:l,placeholder:c,emptyText:d}){return r?h.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[h.jsx("textarea",{ref:n,value:e,onChange:u=>t(u.target.value),onBlur:()=>{e!==s?l():i(!1)},onKeyDown:u=>{u.key==="Escape"&&(u.preventDefault(),t(s),i(!1))},className:"flex-1 w-full bg-transparent border border-brand-500/30 rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none resize-none px-3 py-2 font-mono",placeholder:c}),o&&h.jsx("div",{className:"text-xs text-fg-tertiary mt-1 shrink-0",children:"Saving..."})]}):h.jsx("div",{ref:a,className:"group relative cursor-pointer rounded-lg px-1 py-1 hover:bg-surface-elevated/50 transition-colors min-h-[80px]",onClick:()=>{t(s),i(!0)},role:"button",tabIndex:0,onKeyDown:u=>{u.key==="Enter"&&(t(s),i(!0))},children:s.trim()?h.jsx(C.Suspense,{fallback:h.jsx("div",{className:"text-xs text-fg-tertiary",children:"Loading…"}),children:h.jsx($M,{content:s,className:"text-sm text-fg-secondary leading-relaxed"})}):h.jsx("div",{className:"text-sm text-fg-tertiary italic",children:d})})}function Cx({teamId:s,teamName:e,onDeleted:t}){const[r,i]=C.useState(!1),[n,a]=C.useState(!1),[o,l]=C.useState(!1),[c,d]=C.useState(!1);return h.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-red-900/30 space-y-3",children:[h.jsx("div",{className:"text-sm font-medium text-red-500",children:"Danger Zone"}),r?h.jsxs("div",{className:"space-y-3",children:[h.jsxs("div",{className:"text-xs text-fg-secondary",children:['Delete team "',e,'"? This removes the team record from the database.']}),h.jsxs("label",{className:"flex items-center gap-2 text-xs text-fg-secondary cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:o,onChange:u=>l(u.target.checked),className:"rounded"}),"Also delete all members in this team"]}),h.jsxs("label",{className:"flex items-center gap-2 text-xs text-fg-secondary cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:n,onChange:u=>a(u.target.checked),className:"rounded"}),"Also delete disk files (workspace, memory, logs)"]}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{disabled:c,onClick:async()=>{d(!0);try{await K.teams.delete(s,o,{purgeFiles:n}),window.dispatchEvent(new CustomEvent("markus:data-changed")),t()}catch{d(!1)}},className:"px-4 py-1.5 text-xs bg-red-600 hover:bg-red-700 text-white rounded-lg transition-colors disabled:opacity-50",children:c?"Deleting...":"Confirm Delete"}),h.jsx("button",{onClick:()=>i(!1),className:"px-4 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay text-fg-secondary rounded-lg transition-colors border border-border-default",children:"Cancel"})]})]}):h.jsx("button",{onClick:()=>i(!0),className:"px-4 py-1.5 text-xs bg-red-600/20 hover:bg-red-600/30 text-red-500 rounded-lg transition-colors border border-red-500/30",children:"Delete Team"})]})}function nc(s,e,t,r){return s==="channel"?`ch:${t}`:s==="dm"?`dm:${r??""}`:e||"_direct"}class bi{currentConvKey="";loadingSession=null;msgBuffers=new Map;sessionMsgCache=new Map;activeSession=new Map;actBuffers=new Map;sessionTabs=new Map;phase=new Map;sendCount=new Map;streamingSessions=new Map;sessionCacheOrder=[];static MAX_MESSAGES=500;static MAX_CONVERSATIONS=20;static MAX_SESSION_CACHE=30;static NEW_CHAT_ID="__new_chat__";getPhase(e){return this.phase.get(e)??"idle"}beginLoad(e){this.getPhase(e)!=="streaming"&&this.phase.set(e,"loading")}completeLoad(e){this.getPhase(e)==="loading"&&this.phase.set(e,"ready")}beginStream(e){this.phase.set(e,"streaming")}endStream(e){this.getPhase(e)==="streaming"&&this.phase.set(e,"ready")}resetConv(e){this.phase.set(e,"idle"),this.activeSession.delete(e)}updateMessages(e,t,r){const i=this.activeSession.get(e),n=!r||i===r||i===void 0,a=n?this.msgBuffers.get(e)??[]:this.sessionMsgCache.get(r)??[];let o=t(a);o.length>bi.MAX_MESSAGES&&(o=o.slice(-500));let l=!1;return n&&(this.msgBuffers.set(e,o),this.evictIfNeeded(e),l=this.currentConvKey===e),r&&r!==bi.NEW_CHAT_ID&&(this.sessionMsgCache.set(r,o),this.touchSessionCache(r)),{displayChanged:l,newMessages:l?o:void 0}}applyLoadResult(e,t,r){const i=this.sessionMsgCache.get(t),n=this.isCacheFresher(t,r);n||(this.sessionMsgCache.set(t,r),this.touchSessionCache(t));const a=this.getPhase(e),o=this.activeSession.get(e);if(this.currentConvKey===e&&(this.loadingSession===t||o===t)&&a!=="streaming"){const c=this.mergeDbWithCache(r,n?i:void 0);return this.msgBuffers.set(e,c),this.loadingSession=t,this.completeLoad(e),{displayChanged:!0,newMessages:c}}return{displayChanged:!1}}mergeDbWithCache(e,t){if(!t||t.length===0)return[...e];const r=new Set,i=[];for(const n of e)r.add(n.id),i.push(n);for(const n of t){if(r.has(n.id))continue;const a=n.rawCreatedAt?Date.parse(n.rawCreatedAt):NaN;let o=i.length;for(;o>0&&i[o-1].rawCreatedAt&&Number.isFinite(a);){const l=Date.parse(i[o-1].rawCreatedAt);if(!Number.isFinite(l)||l<=a)break;o--}i.splice(o,0,n),r.add(n.id)}return i}appendActivity(e,t,r){const i=r??e,n=[...this.actBuffers.get(i)??[],t];if(this.actBuffers.set(i,n),this.currentConvKey!==e)return{displayChanged:!1};const a=this.activeSession.get(e);return!r||!a||a===r?{displayChanged:!0,newActivities:n}:{displayChanged:!1}}getActiveSession(e){return this.activeSession.get(e)}setActiveSession(e,t){this.activeSession.set(e,t)}saveToCache(e,t){if(!t||t===bi.NEW_CHAT_ID)return;const r=this.msgBuffers.get(e);r&&r.length>0&&(this.sessionMsgCache.set(t,r),this.touchSessionCache(t))}restoreFromCache(e,t){const r=this.sessionMsgCache.get(t);if(r&&r.length>0)return this.msgBuffers.set(e,r),r;this.msgBuffers.delete(e)}isCacheFresher(e,t){const r=this.sessionMsgCache.get(e);if(!r||r.length===0)return!1;if(r.length>t.length)return!0;const i=r.reduce((l,c)=>l+c.text.length,0),n=t.reduce((l,c)=>l+c.text.length,0);if(i>n)return!0;const a=r.reduce((l,c)=>l+(c.segments?.length??0),0),o=t.reduce((l,c)=>l+(c.segments?.length??0),0);return a>o}incrementSend(e){this.sendCount.set(e,(this.sendCount.get(e)??0)+1)}decrementSend(e){const t=Math.max(0,(this.sendCount.get(e)??1)-1);return this.sendCount.set(e,t),t}resetSend(e){this.sendCount.set(e,0)}isSending(e){return(this.sendCount.get(e)??0)>0}addStreamSession(e,t){const r=this.streamingSessions.get(e)??new Set;r.add(t),this.streamingSessions.set(e,r)}removeStreamSession(e,t){if(t){const r=this.streamingSessions.get(e);r&&(r.delete(t),r.size===0&&this.streamingSessions.delete(e))}else this.streamingSessions.delete(e)}getStreamSessions(e){return this.streamingSessions.get(e)}getMessages(e){return this.msgBuffers.get(e)}getActivities(e){return this.actBuffers.get(e)??[]}deleteBuffer(e){this.msgBuffers.delete(e)}evictIfNeeded(e){if(this.msgBuffers.size<=bi.MAX_CONVERSATIONS)return;const t=[...this.msgBuffers.keys()],r=t.filter(i=>i!==e&&i!==this.currentConvKey).slice(0,t.length-bi.MAX_CONVERSATIONS);for(const i of r)this.msgBuffers.delete(i),this.actBuffers.delete(i),this.sessionTabs.delete(i),this.activeSession.delete(i)}touchSessionCache(e){const t=this.sessionCacheOrder.indexOf(e);for(t!==-1&&this.sessionCacheOrder.splice(t,1),this.sessionCacheOrder.push(e);this.sessionCacheOrder.length>bi.MAX_SESSION_CACHE;){const r=this.sessionCacheOrder.shift();if(new Set(this.activeSession.values()).has(r)){this.sessionCacheOrder.push(r);break}this.sessionMsgCache.delete(r)}}}const Tt=bi.NEW_CHAT_ID;function jM(s){const e=C.useRef(new bi),[t,r]=C.useState(s??[]),[i,n]=C.useState(!1),[a,o]=C.useState([]),l=C.useRef(null);C.useEffect(()=>()=>{l.current!==null&&cancelAnimationFrame(l.current)},[]);const c=C.useCallback((p,x,y)=>{const _=e.current.updateMessages(p,x,y);_.displayChanged&&_.newMessages&&r(_.newMessages)},[]),d=C.useCallback((p,x,y)=>{e.current.updateMessages(p,x,y).displayChanged&&l.current===null&&(l.current=requestAnimationFrame(()=>{l.current=null;const k=e.current.getMessages(p);k&&e.current.currentConvKey===p&&r([...k])}))},[]),u=C.useCallback((p,x,y)=>{const _=e.current.appendActivity(p,x,y);_.displayChanged&&_.newActivities&&o(_.newActivities)},[]),f=C.useCallback(p=>e.current.getPhase(p),[]),g=C.useCallback(p=>e.current.beginLoad(p),[]),v=C.useCallback(p=>e.current.beginStream(p),[]),b=C.useCallback(p=>e.current.endStream(p),[]),m=C.useCallback(p=>{e.current.resetConv(p),e.current.deleteBuffer(p)},[]),O=C.useCallback(async(p,x,y)=>{e.current.loadingSession=p,e.current.beginLoad(x);try{const _=await y(),k=e.current.applyLoadResult(x,p,_.messages);return k.displayChanged&&k.newMessages&&r(k.newMessages),{count:_.messages.length,hasMore:_.hasMore,oldestCursor:_.oldestCursor}}catch{return e.current.currentConvKey===x&&e.current.getPhase(x)!=="streaming"&&(r([]),e.current.completeLoad(x)),{count:0,hasMore:!1,oldestCursor:null}}},[]);return{manager:e.current,messages:t,setMessages:r,sending:i,setSending:n,activities:a,setActivities:o,get msgBuffers(){return e.current.msgBuffers},get sessionMsgCache(){return e.current.sessionMsgCache},get activeSessionBuffer(){return e.current.activeSession},get actBuffers(){return e.current.actBuffers},get sessionTabsBuffer(){return e.current.sessionTabs},get currentConvKeyRef(){return{get current(){return e.current.currentConvKey},set current(p){e.current.currentConvKey=p}}},get loadingSessionRef(){return{get current(){return e.current.loadingSession},set current(p){e.current.loadingSession=p}}},updateConvMsgs:c,updateConvMsgsRaf:d,appendConvActivity:u,getPhase:f,beginLoad:g,beginStream:v,endStream:b,resetConv:m,loadAndDisplay:O,incrementSending:p=>e.current.incrementSend(p),decrementSending:p=>e.current.decrementSend(p),resetSending:p=>e.current.resetSend(p),isSendingFor:p=>e.current.isSending(p),setStreamSession:(p,x)=>e.current.addStreamSession(p,x),clearStreamSession:(p,x)=>e.current.removeStreamSession(p,x),getStreamSession:p=>e.current.getStreamSessions(p),saveSessionToCache:(p,x)=>e.current.saveToCache(p,x),restoreSessionFromCache:(p,x)=>{const y=e.current.restoreFromCache(p,x);return r(y??[]),y},isSessionCacheFresherThanDb:(p,x)=>e.current.isCacheFresher(p,x)}}function EM({value:s,onSelect:e,disabled:t}){const{t:r}=At("team"),[i,n]=C.useState(!1),[a,o]=C.useState(!0),[l,c]=C.useState(""),[d,u]=C.useState(!1),[f,g]=C.useState([]),[v,b]=C.useState(null),m=C.useRef(null),O=C.useCallback(async()=>{u(!0);try{const w=await fetch("/api/settings/llm",{credentials:"include"});if(!w.ok)throw new Error(`HTTP ${w.status}`);const S=await w.json(),Q=S.providers?.markus;if(Q?.configured&&Q.enabled!==!1&&(!Q.models||Q.models.length===0))try{const j=await fetch("/api/models/live/markus",{credentials:"include"});if(j.ok){const I=await j.json();I.models?.length&&(Q.models=I.models)}}catch{}const N=[];for(const[j,I]of Object.entries(S.providers??{})){if(!I.configured||I.enabled===!1)continue;const V=(I.models??[]).map(Z=>({id:Z.id,name:Z.name}));V.length!==0&&N.push({provider:j,displayName:I.displayName??j,models:V})}N.sort((j,I)=>j.displayName.localeCompare(I.displayName)),g(N);const L=j=>!j?.provider||!j.model?!1:!!N.find(V=>V.provider===j.provider)?.models.some(V=>V.id===j.model);let $=null;if(S.routingDefaultModel?.provider&&S.routingDefaultModel?.model)$={provider:S.routingDefaultModel.provider,model:S.routingDefaultModel.model};else if(S.defaultProvider){const j=S.providers?.[S.defaultProvider];j?.model&&($={provider:S.defaultProvider,model:j.model})}if($&&!L($)){const j=N.find(V=>V.provider==="markus"),I=j?.models[0]?{provider:"markus",model:j.models[0].id}:N[0]?.models[0]?{provider:N[0].provider,model:N[0].models[0].id}:null;I?($=I,K.settings.updateRouting({defaultProvider:I.provider,routingDefaultModel:I}).catch(()=>{})):$=null}b($)}catch{g([])}finally{u(!1)}},[]);C.useEffect(()=>{O()},[O]),C.useEffect(()=>{i&&(o(!0),c(""),O())},[i,O]),C.useEffect(()=>{if(!i)return;const w=S=>{m.current?.contains(S.target)||n(!1)};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[i]);const p=C.useMemo(()=>{const w=l.trim().toLowerCase();return f.map(S=>({...S,models:w?S.models.filter(Q=>Q.id.toLowerCase().includes(w)||(Q.name?.toLowerCase().includes(w)??!1)||S.displayName.toLowerCase().includes(w)||S.provider.toLowerCase().includes(w)):S.models})).filter(S=>S.models.length>0)},[f,l]),x=C.useCallback(w=>!w?.provider||!w.model?!1:f.length===0?!0:!!f.find(Q=>Q.provider===w.provider)?.models.some(Q=>Q.id===w.model),[f]);C.useEffect(()=>{if(!s||f.length===0||x(s))return;const w=v&&x(v)?v:(()=>{const S=f.find(Q=>Q.provider==="markus");return S?.models[0]?{provider:"markus",model:S.models[0].id}:f[0]?.models[0]?{provider:f[0].provider,model:f[0].models[0].id}:null})();w&&e(w,!1)},[s,f,v,x,e]);const y=s&&x(s)?s:v,k=(y?.model?y.model.includes("/")?y.model.split("/").pop():y.model:"")||r("chatModel.title",{defaultValue:"Model"});return h.jsxs("div",{ref:m,className:"relative shrink-0",children:[h.jsxs("button",{type:"button",disabled:t,onClick:()=>n(w=>!w),className:"max-w-[180px] px-1.5 py-1 text-[12px] text-fg-secondary hover:text-fg-primary disabled:opacity-40 rounded-md hover:bg-surface-elevated transition-colors flex items-center gap-1",title:y?`${y.provider}: ${y.model}`:r("chatModel.title",{defaultValue:"Model"}),children:[h.jsx("span",{className:"truncate",children:k}),h.jsx("svg",{className:"w-3 h-3 shrink-0 opacity-60",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:h.jsx("path",{d:"M6 9l6 6 6-6",strokeLinecap:"round",strokeLinejoin:"round"})})]}),i&&h.jsxs("div",{className:"absolute bottom-full right-0 mb-2 w-[300px] max-h-[360px] flex flex-col rounded-xl border border-border-default bg-surface-elevated shadow-xl z-50 overflow-hidden",children:[h.jsxs("div",{className:"p-2 border-b border-border-default/60 space-y-2",children:[h.jsx("input",{autoFocus:!0,value:l,onChange:w=>c(w.target.value),placeholder:r("chatModel.search",{defaultValue:"Search models"}),className:"w-full px-2.5 py-1.5 text-xs rounded-lg bg-surface-base border border-border-default/50 outline-none focus:border-brand-500/50"}),h.jsxs("label",{className:"flex items-center justify-between gap-2 px-0.5 text-xs text-fg-secondary cursor-pointer select-none",children:[h.jsx("span",{children:r("chatModel.applyGlobal",{defaultValue:"Apply to global"})}),h.jsx("button",{type:"button",role:"switch","aria-checked":a,onClick:()=>o(w=>!w),className:`relative w-9 h-5 rounded-full transition-colors ${a?"bg-brand-600":"bg-fg-tertiary/30"}`,children:h.jsx("span",{className:`absolute top-0.5 left-0.5 w-4 h-4 rounded-full bg-white transition-transform ${a?"translate-x-4":""}`})})]})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto py-1",children:[d&&h.jsx("div",{className:"px-3 py-4 text-xs text-fg-tertiary",children:r("common:loading",{defaultValue:"Loading…"})}),!d&&p.length===0&&h.jsx("div",{className:"px-3 py-4 text-xs text-fg-tertiary",children:r("chatModel.empty",{defaultValue:"No enabled providers / models"})}),!d&&p.map(w=>h.jsxs("div",{className:"mb-1",children:[h.jsx("div",{className:"px-3 py-1 text-[10px] uppercase tracking-wide text-fg-tertiary",children:w.displayName}),w.models.slice(0,80).map(S=>{const Q=y?.provider===w.provider&&y?.model===S.id;return h.jsxs("button",{type:"button",onClick:()=>{e({provider:w.provider,model:S.id},a),a&&b({provider:w.provider,model:S.id}),n(!1)},className:`w-full text-left px-3 py-1.5 text-xs flex items-center gap-2 hover:bg-surface-base transition-colors ${Q?"text-fg-primary":"text-fg-secondary"}`,children:[h.jsx("span",{className:"truncate flex-1",children:S.id}),Q&&h.jsx("svg",{className:"w-3.5 h-3.5 shrink-0",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:h.jsx("path",{d:"M5 12l5 5L20 7",strokeLinecap:"round",strokeLinejoin:"round"})})]},`${w.provider}:${S.id}`)})]},w.provider))]})]})]})}async function RM(s,e,t){s&&!s.startsWith("new_")&&await K.sessions.setModelOverride(s,e),t&&await K.settings.updateRouting({defaultProvider:e.provider,routingDefaultModel:{provider:e.provider,model:e.model}})}const Px="markus_team_sidebars_c";function AM(s){const e=s.metadata??{};if(typeof e.sessionId=="string"&&e.sessionId)return e.sessionId;if(s.actionType==="open_chat"&&s.actionTarget)try{const t=typeof s.actionTarget=="string"?JSON.parse(s.actionTarget):s.actionTarget;if(t&&typeof t=="object"&&typeof t.sessionId=="string")return t.sessionId}catch{}}const MM=["chat","overview","files","tools","memory","deliverables"],LM=["chat","overview","announcements","norms","settings"];function NM(s,e){if(s==="chat")return e("page.chatTitle");if(Xp.find(i=>i.key===s))return e(`agent:tabs.${s}`);const r=qp.find(i=>i.key===s);return r?e(r.labelKey):s}function DM(s){if(s==="chat")return"💬";const e=Xp.find(r=>r.key===s);if(e)return e.icon;const t=qp.find(r=>r.key===s);return t?t.icon:""}function fi(s){return s!=="chat"}const $f=new Set;function IM(){return window.location.hash}function BM(s){return $f.add(s),()=>{$f.delete(s)}}typeof window<"u"&&window.addEventListener("hashchange",()=>$f.forEach(s=>s()));function tL({initialAgentId:s,authUser:e,previewMode:t,previewData:r}={}){const{t:i,i18n:n}=At(["team","common"]),a=C.useMemo(()=>({today:i("page.dateToday"),yesterday:i("page.dateYesterday")}),[i]),o=Ef(Kt.TEAM),[l,c]=C.useState(r?.agents??[]),[d,u]=C.useState(r?.humans??[]),[f,g]=C.useState(!r),v=jf(),b=C.useSyncExternalStore(BM,IM),m=v&&(b.startsWith(`#${Kt.TEAM}/`)||b.startsWith("#chat/")),O=v&&b.match(/^#team\/t\/(.+)$/),p=v?O?"team":m?"chat":"roster":"roster",x=O?O[1]:null,y=C.useRef(Kt.TEAM),_=C.useCallback(()=>{y.current=window.location.hash.slice(1)||Kt.TEAM,window.location.hash=`${Kt.TEAM}/d`},[]),k=C.useCallback(P=>{window.location.hash=`${Kt.TEAM}/t/${P}`},[]);C.useEffect(()=>{if(!v)return;const P=()=>{fi(Q.current)&&S("chat")};return window.addEventListener("popstate",P),()=>window.removeEventListener("popstate",P)},[v]);const[w,S]=C.useState("chat"),Q=C.useRef("chat");Q.current=w;const N=Dm({side:"left",defaultWidth:280,minWidth:220,maxWidth:400,storageKey:"markus_chat_sidebar"}),[L,$]=C.useState(()=>{try{return localStorage.getItem(Px)==="1"}catch{return!1}}),j=C.useCallback(P=>{$(P);try{localStorage.setItem(Px,P?"1":"0")}catch{}},[]),I=nh(),V=I?.leftCollapsed??!1,Z=I?.rightPanel??null,z=I?.rightPanelTabs??[],J=I?.activeRightPanelTabId??null,T=I?.rightPanelFullscreen??!1,A=Z?"2xl:pr-8":"2xl:pr-[280px]",B=I?.setHostAvailable,q=I?.collapseRightPanelOnly??I?.toggleRightPanel,H=I?.openRightPanel,te=400,ue=320,ke=6,[U,D]=C.useState(typeof window<"u"?window.innerWidth:1440),[se,F]=C.useState("auto"),G=C.useRef(V);C.useEffect(()=>{G.current!==V&&(G.current=V,$(V))},[V]);const ee=I?.keyboardPane??"content",we=C.useRef(!1),Ae=C.useRef(ee);C.useEffect(()=>{if(t||v||!o)return;const P=Ae.current;Ae.current=ee,(ee==="l1"||ee==="l2")&&P!==ee&&L&&($(!1),I?.setLeftCollapsed(!1))},[ee,t,v,o,L,I]),C.useEffect(()=>{if(t||v||!o)return;const P=R=>{const E=I?.keyboardPane??"content";if(E==="l0"||E==="l1"||E==="l2"||R.metaKey||R.ctrlKey||R.altKey)return;if(R.target instanceof HTMLElement){const Y=R.target.tagName;if(Y==="INPUT"||Y==="TEXTAREA"||Y==="SELECT"||R.target.isContentEditable||R.target.closest(".xterm"))return}const X=R.key.length===1?R.key.toLowerCase():R.key;X!=="h"&&X!=="ArrowLeft"||(R.preventDefault(),L&&(j(!1),I?.setLeftCollapsed(!1)),I?.setKeyboardPane(we.current?"l2":"l1"))};return document.addEventListener("keydown",P,!0),()=>document.removeEventListener("keydown",P,!0)},[t,v,o,I,L,j]),C.useEffect(()=>{if(B)return B(o&&!v),()=>B(!1)},[o,v,B]),C.useEffect(()=>t||v||!o?void 0:yt.on("ui:right_panel",R=>{const E=R.payload;if(E.action==="collapse"){q?.();return}if(E.action!=="open"||!E.panel||!H)return;const X=E.panel;if(X.kind==="url"&&X.url){const Y=`eb_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`;H({kind:"url",url:X.url,title:X.title||X.url,browserId:Y});return}if(X.kind==="file"&&X.path){H({kind:"file",path:X.path,title:X.title});return}if(X.kind==="terminal"){const Y=X.terminalId||`term_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`;H({kind:"terminal",terminalId:Y,title:X.title||"Terminal",cwd:X.cwd});return}X.kind==="deliverable"&&X.deliverableId&&K.deliverables.get(X.deliverableId).then(Y=>{Y.deliverable&&H({kind:"deliverable",deliverable:Y.deliverable})}).catch(()=>{})}),[t,v,o,q,H]);const xe=C.useCallback(P=>{const R=`ctx_${Date.now()}_${Math.random().toString(36).slice(2,7)}`;Mi(E=>[...E,{id:R,...P}]),requestAnimationFrame(()=>cr.current?.focus())},[]),me=C.useCallback(P=>{if(P)try{const R=JSON.parse(P);if(!Array.isArray(R)||R.length===0)return;const E=R.filter(Y=>!!Y&&typeof Y.content=="string"&&Y.content.trim().length>0);if(E.length===0)return;const X=E.map(Y=>({id:`ctx_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,label:Y.label?.trim()||"Context",content:Y.content}));Mi(Y=>[...Y,...X]),requestAnimationFrame(()=>{const Y=cr.current;Y&&(Y.focus(),Y.setSelectionRange(Y.value.length,Y.value.length))})}catch{}},[]),[ge,He]=C.useState(()=>{if(t)return!0;try{return localStorage.getItem("markus_team_panel_visible")==="true"}catch{return!1}}),nt=Dm({side:"left",defaultWidth:260,minWidth:200,maxWidth:400,storageKey:"markus_team_detail_panel"}),Ct=C.useRef(null),[pt,Xt]=C.useState(!1),[wt,Et]=C.useState(!1),Pt=C.useCallback(()=>{pt?Et(P=>!P):He(P=>{const R=!P;try{localStorage.setItem("markus_team_panel_visible",String(R))}catch{}return R})},[pt]);C.useEffect(()=>{if(v)return;const P=Ct.current;if(!P)return;const R=new ResizeObserver(([E])=>{if(!E)return;const X=E.contentRect.width;if(D(X),!t){const Y=X-N.width-nt.width;Xt(Y<400)}});return R.observe(P),()=>R.disconnect()},[v,t,N.width,nt.width]);const he=ge&&!pt&&!wt,Xe=L?0:N.width+ke+(he?nt.width+ke:0),Oe=Math.max(0,U-Xe-ke-8),Ke=Math.min(te,Math.floor(Oe*.4)),Ne=Math.max(0,Oe-Ke),bt=Math.min(Math.round(Oe/2),Ne),ir=Math.max(0,Math.min(se==="auto"?bt:se,Ne)),ts=C.useRef(!1);C.useEffect(()=>{const P=(I?.rightPanel??null)!==null;P&&!ts.current&&($(!0),F("auto")),ts.current=P},[I?.rightPanel]);const Ka=C.useRef(ir);Ka.current=ir;const Ja=C.useRef(Ne);Ja.current=Ne;const el=C.useCallback(P=>{P.preventDefault();const R=P.clientX,E=Ka.current,X=oe=>{const de=E+(R-oe.clientX),Se=Ja.current,ae=Math.min(ue,Se);F(Math.max(ae,Math.min(Se,de)))},Y=()=>{document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",Y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",X),document.addEventListener("mouseup",Y),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[]);C.useEffect(()=>{if(!wt)return;const P=R=>{R.target.closest("[data-l2-floating]")||Et(!1)};return document.addEventListener("mousedown",P),()=>document.removeEventListener("mousedown",P)},[wt]);const[rn,si]=C.useState(null),[Qo,tl]=C.useState(),[ji,nr]=C.useState(),[Ei,Dn]=C.useState(!1),[$o,nn]=C.useState(""),[wh,Lr]=C.useState(!1),[Ri,on]=C.useState(""),or=C.useRef(null),sl=C.useRef(null),vr=C.useCallback((P,R)=>{tl(P),nr(R),v?(S("profile"),history.pushState({mobileProfile:!0},"",window.location.hash)):S(P??"overview")},[v]),jo=[{id:"chat"},{id:"profile"}],ri=C.useCallback(P=>{P==="profile"?vr():fi(Q.current)?history.back():S("chat")},[vr]),Nr=jx(jo,w,ri),us=C.useCallback((P,R)=>{gt("direct"),Yt(P),v&&_(),vr(R?.tab,R?.highlightMailboxId),si(null)},[v,_,vr]),Eo=C.useCallback((P,R)=>{const E=l.find(X=>X.name.toLowerCase()===P.toLowerCase());if(E){const X=R.target.getBoundingClientRect();si({agentId:E.id,top:X.bottom,left:X.left})}},[l]),rl=C.useMemo(()=>l.map(P=>P.name),[l]),[ie,gt]=C.useState(()=>r?.chatMode??(s?"direct":localStorage.getItem("markus_chat_mode")??"direct")),[be,Yt]=C.useState(()=>s??localStorage.getItem("markus_chat_agent")??""),[mt,ks]=C.useState(()=>r?.activeChannel??localStorage.getItem("markus_chat_channel")??"#general"),[Ut,gs]=C.useState(""),il=500,Ai=C.useRef(new Set),Ro=P=>{if(Ai.current.add(P),Ai.current.size>il){const R=Math.floor(il*.2),E=Ai.current.values();for(let X=0;X<R;X++){const Y=E.next().value;Y&&Ai.current.delete(Y)}}},nl=C.useMemo(()=>{if(r?.channelMessages){const P=r.activeChannel??"custom:general";return r.channelMessages.filter(R=>R.channel===P).map(R=>Sn(R))}},[]),{manager:ol,messages:zt,setMessages:Cs,sending:Ms,setSending:Os,activities:kh,setActivities:yr,msgBuffers:ss,sessionMsgCache:ar,activeSessionBuffer:ii,actBuffers:Sr,sessionTabsBuffer:Ws,currentConvKeyRef:at,updateConvMsgs:ft,updateConvMsgsRaf:ni,appendConvActivity:an,beginLoad:al,beginStream:ln,endStream:Ps,resetConv:W,loadAndDisplay:le,incrementSending:pe,decrementSending:je,resetSending:Ge,isSendingFor:tt,setStreamSession:Ot,clearStreamSession:St,getStreamSession:Ye,saveSessionToCache:ns,restoreSessionFromCache:Ls}=jM(nl),[Mt,xs]=C.useState(""),[Ht,Ts]=C.useState(null),[_r,Mi]=C.useState([]),[Wt,wr]=C.useState([]),lr=C.useRef(null),[Ch,ll]=C.useState(!!r?.streamLastMessage),cn=C.useRef(null),dS=400;C.useEffect(()=>(Ms?(cn.current&&(clearTimeout(cn.current),cn.current=null),ll(!0)):Ch&&(cn.current=setTimeout(()=>{ll(!1),cn.current=null},dS)),()=>{cn.current&&clearTimeout(cn.current)}),[Ms]);const zp=Ms||Ch||(()=>{for(let P=zt.length-1;P>=Math.max(0,zt.length-8);P--){const R=zt[P];if(R.isStreaming&&!R.isStopped)return!0}return!1})(),Ph=C.useRef({fullText:"",timers:[]});C.useEffect(()=>{if(!t||!r?.streamLastMessage||zt.length===0)return;const P=zt[zt.length-1];if(!P||P.sender!=="agent")return;const R=P.text;Ph.current.fullText=R;const E=Ph.current.timers;function X(){let oe=0;Cs(Se=>Se.map((ae,ce)=>ce===Se.length-1?{...ae,text:""}:ae)),ll(!0);const de=setInterval(()=>{if(oe+=1+Math.floor(Math.random()*2),oe>=R.length){clearInterval(de),Cs(ce=>ce.map((We,Ze)=>Ze===ce.length-1?{...We,text:R}:We));const Se=setTimeout(()=>ll(!1),800);E.push(Se);const ae=setTimeout(X,6e3);E.push(ae)}else Cs(Se=>Se.map((ae,ce)=>ce===Se.length-1?{...ae,text:R.slice(0,oe)}:ae))},30);E.push(de)}const Y=setTimeout(X,1500);return E.push(Y),()=>{E.forEach(oe=>clearTimeout(oe)),Ph.current.timers=[]}},[]);const Li=C.useRef(0),[Zp,Dr]=C.useState(!1),[Th,Vp]=C.useState(!1),[cl,oi]=C.useState(!1),[Us,Qh]=C.useState([]),[Fp,Yp]=C.useState(null),$h=C.useRef(null),cr=C.useRef(null),[hl,In]=C.useState(null),Ni=C.useRef(null),jh=C.useRef(!1),Ao=C.useCallback(()=>{const P=cr.current;if(!P)return;const R=jh.current,E=R?36:52,X=R?160:120;P.style.height="auto";const Y=Math.max(E,Math.min(P.scrollHeight,X));P.style.height=`${Y}px`,P.style.overflowY=Y>=X?"auto":"hidden"},[]);C.useEffect(()=>{const P=requestAnimationFrame(()=>Ao());return()=>cancelAnimationFrame(P)},[Mt,Us.length,Ao]);const Eh=P=>{try{const R=localStorage.getItem(`markus_closed_tabs_${P}`);return R?new Set(JSON.parse(R)):new Set}catch{return new Set}},uS=(P,R)=>{const E=Eh(P);E.add(R);try{localStorage.setItem(`markus_closed_tabs_${P}`,JSON.stringify([...E]))}catch{}},fS=(P,R)=>{const E=Eh(P);if(E.delete(R))try{localStorage.setItem(`markus_closed_tabs_${P}`,JSON.stringify([...E]))}catch{}},pS=P=>{try{return localStorage.getItem(`markus_active_session_${P}`)}catch{return null}},dl=(P,R)=>{if(P)try{R&&R!==Tt?localStorage.setItem(`markus_active_session_${P}`,R):localStorage.removeItem(`markus_active_session_${P}`)}catch{}},[Rh,hn]=C.useState([]),[lt,Ir]=C.useState(null),[dn,un]=C.useState(!1),[Up,Ah]=C.useState([]),[Mo,Mh]=C.useState(null),[mS,Hp]=C.useState(null),[ul,Lh]=C.useState([]),[Bn,Nh]=C.useState(null),[gS,Gp]=C.useState(null),[Kp,Dh]=C.useState([]),[Lo,OS]=C.useState([]),Xs=P=>{OS(R=>{const E=typeof P=="function"?P(R):P,X=new Set;return E.filter(Y=>X.has(Y.id)?!1:(X.add(Y.id),!0))})},fl=C.useRef(null),Ih=C.useRef(null),kr=C.useRef(null),[Qs,No]=C.useState(r?.groupChats??[]),Bh=C.useRef(Qs);Bh.current=Qs;const Jp=C.useRef(null),[Do,bs]=C.useState(!1),[fn,Io]=C.useState(!1),[em,Wn]=C.useState(""),[Wh,Di]=C.useState([]),[tm,sm]=C.useState(!1),Xh=C.useRef(void 0),[Cr,rm]=C.useState(r?.teams??[]),[xS,bS]=C.useState([]),[pl,im]=C.useState([]),[vS,yS]=C.useState(null),[WM,XM]=C.useState(!1),[qM,zM]=C.useState(""),[nm,Bo]=C.useState(!1),[om,SS]=C.useState(""),[Wo,Xn]=C.useState(0),[am,ml]=C.useState(!1),[lm,_S]=C.useState(""),[qh,Xo]=C.useState(0),[zh,wS]=C.useState([]),cm=C.useRef(!1),Zh=C.useCallback(()=>{cm.current||(cm.current=!0,(async()=>{try{const{skills:P}=await K.skills.list();wS(P.map(R=>({name:R.name,description:R.description??R.name})))}catch{}})())},[]);C.useEffect(()=>{Zh()},[Zh]);const pn=lm?zh.filter(P=>P.name.toLowerCase().includes(lm.toLowerCase())):zh,[kS,CS]=C.useState([]),hm=C.useRef(!1),PS=C.useCallback(()=>{hm.current||(hm.current=!0,(async()=>{const P=[];try{const[R,E,X,Y,oe]=await Promise.all([K.projects.list().catch(()=>({projects:[]})),K.requirements.list().catch(()=>({requirements:[]})),K.tasks.list({pageSize:100}).catch(()=>({tasks:[]})),K.deliverables.search({limit:100}).catch(()=>({results:[]})),K.teams.list().catch(()=>({teams:[],ungrouped:[]}))]);for(const de of R.projects)P.push({id:de.id,name:de.name,entityType:"project",role:de.status});for(const de of E.requirements)P.push({id:de.id,name:de.title,entityType:"requirement",role:de.priority});for(const de of X.tasks)P.push({id:de.id,name:de.title,entityType:"task",role:de.status});for(const de of Y.results)P.push({id:de.id,name:de.title,entityType:"deliverable",role:de.type});for(const de of oe.teams)try{const Se=await K.workflows.list(de.id);for(const ae of Se.workflows)P.push({id:ae.name,name:ae.displayName||ae.name,entityType:"workflow",role:`v${ae.version}`})}catch{}}catch{}CS(P)})())},[]),rs=ie==="channel"?Qs.find(P=>P.channelKey===mt)?.teamId:void 0,TS=C.useRef(null),qn=C.useRef(null),$s=C.useRef(null),dm=C.useRef(void 0),gl=C.useRef(!1),Br=C.useRef(!0),um=C.useRef(void 0);C.useEffect(()=>{if(!dn)return;const P=R=>{Ih.current&&!Ih.current.contains(R.target)&&fl.current&&!fl.current.contains(R.target)&&un(!1)};return document.addEventListener("mousedown",P),()=>document.removeEventListener("mousedown",P)},[dn]);const Ol=(P,R)=>{if(!R||P===R)return`notes:${P}`;const[E,X]=[P,R].sort();return`dm:${E}:${X}`};C.useEffect(()=>{localStorage.setItem("markus_chat_mode",ie)},[ie]),C.useEffect(()=>{localStorage.setItem("markus_chat_agent",be)},[be]),C.useEffect(()=>{localStorage.setItem("markus_chat_channel",mt)},[mt]);const{counts:Vh,sessionAgentMap:qo,markRead:zo,setActiveKey:QS,clearActiveKey:$S}=__({enabled:!t}),xl=C.useMemo(()=>{const P={};for(const[R,E]of Object.entries(Vh))R.startsWith("channel:")&&(P[R.slice(8)]=E);return P},[Vh]),Fh=w_(qo,Vh);C.useEffect(()=>{let P=0;for(const R of Fh.values())P+=R;for(const R of Object.values(xl))P+=R;window.dispatchEvent(new CustomEvent("markus:team-unread-changed",{detail:{count:P}}))},[Fh,xl]);const bl=Fh,jS=C.useCallback(async P=>{for(const[R,E]of Object.entries(qo))E===P&&zo(`session:${R}`)},[qo,zo]);C.useEffect(()=>{if(t||!((!v||p==="chat")&&w==="chat"))return;if(ie==="direct"&&be&&jS(be),ie==="channel"&&mt)zo(`channel:${mt}`);else if(ie==="direct"&&lt)zo(`session:${lt}`);else if(ie==="dm"&&Ut){const E=`dm:${[e?.id,Ut].sort().join(":")}`;zo(`channel:${E}`)}const R=[];if(ie==="direct"&&lt){R.push(`session:${lt}`);for(const[E,X]of Object.entries(qo))X===be&&R.push(`session:${E}`)}else ie==="channel"&&mt?R.push(`channel:${mt}`):ie==="dm"&&Ut&&e?.id&&R.push(`channel:dm:${[e.id,Ut].sort().join(":")}`);for(const E of R)QS(E);return()=>{for(const E of R)$S(E)}},[t,ie,mt,lt,Ut,be,p,w,qo]);const hr=C.useCallback(()=>K.agents.list().then(P=>c(P.agents)).catch(()=>{}),[]),Hs=C.useCallback(()=>K.teams.list().then(P=>rm(P.teams)).catch(()=>{}),[]),zn=C.useCallback(()=>K.groupChats.list().then(P=>No(P.chats)).catch(()=>{}),[]),ES=C.useMemo(()=>hd(hr,3e3),[hr]),vl=C.useMemo(()=>hd(Hs,5e3),[Hs]),Yh=C.useMemo(()=>hd(zn,3e3),[zn]),Zo=C.useCallback(()=>{K.users.list(e?.orgId).then(P=>u(P.users)).catch(()=>{})},[e?.orgId]);C.useEffect(()=>{t||(Promise.all([hr(),Hs()]).finally(()=>g(!1)),Zo(),K.tasks.list().then(P=>im(P.tasks)).catch(()=>{}),K.externalAgents.list().then(P=>bS(P.agents)).catch(()=>{}),zn())},[t,Zo]),C.useEffect(()=>{if(!(!t||!r)&&(c(r.agents??[]),u(r.humans??[]),rm(r.teams??[]),No(r.groupChats??[]),r.channelMessages)){const P=r.activeChannel??"custom:general";Cs(r.channelMessages.filter(R=>R.channel===P).map(R=>Sn(R)))}},[t,r]),C.useEffect(()=>{if(t||!o)return;hr(),Hs();const P=setInterval(hr,3e4),R=setInterval(Hs,6e4),E=yt.on("agent:update",()=>{ES(),vl()}),X=yt.on("team:update",()=>{vl(),Yh()}),Y=yt.on("agent:removed",vl),oe=yt.on("chat:group_created",()=>{zn(),Hs(),hr()}),de=yt.on("chat:group_updated",Yh),Se=yt.on("chat:group_deleted",()=>{Yh(),vl()}),ae=yt.on("task:update",We=>{const Ze=We?.payload;Ze?.taskId&&im(Ie=>Ie.map(Te=>Te.id===Ze.taskId?{...Te,status:Ze.status??Te.status}:Te))}),ce=()=>{hr(),Hs(),Zo()};return window.addEventListener("markus:data-changed",ce),()=>{clearInterval(P),clearInterval(R),E(),X(),Y(),oe(),de(),Se(),ae(),window.removeEventListener("markus:data-changed",ce)}},[t,o,Zo]),C.useEffect(()=>{if(t)return;const P=ce=>{const We=ce.detail;if(N_(We.page)===Kt.TEAM){if(We.params?.agentId){if(We.params.profileTab)us(We.params.agentId,{tab:We.params.profileTab});else if(gt("direct"),Yt(We.params.agentId),S("chat"),v&&_(),We.params.sessionId){const Ze=We.params.sessionId;setTimeout(async()=>{try{const{sessions:Ie}=await K.sessions.listByAgent(We.params.agentId,20),Te=Ie.find(dt=>dt.id===Ze);Te&&Cl(Te)}catch{}},300)}}if(We.params?.selectAgent&&(gt("direct"),Yt(We.params.selectAgent),S("chat"),v&&_()),We.params?.openDeliverable){const Ze=We.params.openDeliverable;localStorage.removeItem("markus_nav_openDeliverable"),v?Qr.navigate(Kt.DELIVERABLES,{openDeliverable:Ze}):H&&K.deliverables.get(Ze).then(Ie=>{Ie.deliverable&&H({kind:"deliverable",deliverable:Ie.deliverable})}).catch(()=>{})}if(We.params?.prefillMessage){const Ze=We.params.prefillMessage;localStorage.removeItem("markus_nav_prefillMessage"),localStorage.removeItem("markus_nav_autoSend"),S("chat"),We.params?.autoSend==="true"?setTimeout(()=>dm.current?.(Ze),300):(xs(Ze),setTimeout(()=>{const Ie=cr.current;Ie&&(Ie.focus(),Ie.setSelectionRange(Ie.value.length,Ie.value.length))},100))}if(We.params?.chatChips){const Ze=We.params.chatChips;localStorage.removeItem("markus_nav_chatChips"),S("chat"),me(Ze)}if(We.params?.dm&&(gt("dm"),gs(We.params.dm),S("chat"),v&&_()),We.params?.channel&&(gt("channel"),ks(We.params.channel),S("chat"),v&&_()),We.params?.selectTeam){const Ze=We.params.selectTeam;if(v)k(Ze);else{const Ie=Bh.current.find(Te=>Te.type==="team"&&Te.teamId===Ze);gt("channel"),ks(Ie?.channelKey??`group:${Ze}`),S("chat"),bs(!1),He(!0)}}We.params?.openHire}},R=localStorage.getItem("markus_nav_agentId");if(R){localStorage.removeItem("markus_nav_agentId");const ce=localStorage.getItem("markus_nav_profileTab");localStorage.removeItem("markus_nav_profileTab"),gt("direct"),Yt(R),ce?us(R,{tab:ce}):(S("chat"),v&&_())}const E=localStorage.getItem("markus_nav_dm");E&&(localStorage.removeItem("markus_nav_dm"),gt("dm"),gs(E),S("chat"),v&&_());const X=localStorage.getItem("markus_nav_channel");X&&(localStorage.removeItem("markus_nav_channel"),gt("channel"),ks(X),S("chat"),v&&_());const Y=localStorage.getItem("markus_nav_prefillMessage");Y&&(localStorage.removeItem("markus_nav_prefillMessage"),localStorage.removeItem("markus_nav_autoSend"),S("chat"),xs(Y),setTimeout(()=>{const ce=cr.current;ce&&(ce.focus(),ce.setSelectionRange(ce.value.length,ce.value.length))},150));const oe=localStorage.getItem("markus_nav_chatChips");oe&&(localStorage.removeItem("markus_nav_chatChips"),S("chat"),me(oe));const de=localStorage.getItem("markus_nav_openDeliverable");de&&(localStorage.removeItem("markus_nav_openDeliverable"),v?Qr.navigate(Kt.DELIVERABLES,{openDeliverable:de}):H&&K.deliverables.get(de).then(ce=>{ce.deliverable&&H({kind:"deliverable",deliverable:ce.deliverable})}).catch(()=>{}));const Se=localStorage.getItem("markus_nav_selectAgent");Se&&(localStorage.removeItem("markus_nav_selectAgent"),gt("direct"),Yt(Se),S("chat"),v&&_());const ae=localStorage.getItem("markus_nav_selectTeam");if(ae)if(localStorage.removeItem("markus_nav_selectTeam"),v)k(ae);else{const ce=Bh.current.find(We=>We.type==="team"&&We.teamId===ae);gt("channel"),ks(ce?.channelKey??`group:${ae}`),S("chat"),bs(!1),He(!0)}return window.addEventListener("markus:navigate",P),()=>window.removeEventListener("markus:navigate",P)},[t]),C.useEffect(()=>{const P=Jp.current;if(!P)return;const R=Qs.find(E=>E.type==="team"&&E.teamId===P);Jp.current=null,gt("channel"),ks(R?.channelKey??`group:${P}`),S("chat"),bs(!1),He(!0)},[Qs,Cr]),C.useEffect(()=>{if(t&&r?.chatMode==="channel"||l.length===0||be&&l.some(E=>E.id===be))return;const P=localStorage.getItem("markus_nav_after_remove");if(P&&(localStorage.removeItem("markus_nav_after_remove"),P.startsWith("channel:"))){gt("channel"),ks(P.slice(8)),S("chat");return}const R=l.find(E=>!E.teamId&&E.role?.toLowerCase()==="secretary")??l.find(E=>E.role?.toLowerCase()==="secretary")??l.find(E=>E.name?.toLowerCase().includes("secretary"));R?(gt("direct"),Yt(R.id),S("chat")):l.length>0&&(gt("direct"),Yt(l[0].id),S("chat"))},[l,be]);const Zn=C.useRef(!1),Pr=C.useRef(!1),yl=C.useRef(!1),Sl=C.useRef(0),Vn=C.useRef(0),[RS,ai]=C.useState(!1),Ii=C.useRef(0),[fm,mn]=C.useState(0),li=C.useCallback(()=>{Pr.current=!1,yl.current=!1,Br.current=!0},[]),Uh=C.useCallback(()=>{Pr.current=!0,Br.current=!1,Vn.current+=1,Zn.current=!1,ai(!0)},[]),gn=C.useCallback(P=>{const R=qn.current;if(!R)return;const E=R.scrollHeight-R.scrollTop-R.clientHeight,X=E<160,Y=E<48,oe=Sl.current,de=R.scrollTop<oe-2;if(Sl.current=R.scrollTop,de&&E>20){yl.current=!0,Uh();return}if(yl.current){Y?(li(),ai(!1),Ii.current=0,mn(0)):Uh();return}if(X&&!Pr.current){li(),ai(!1),Ii.current=0,mn(0);return}P?.fromProgrammatic||Zn.current||!Pr.current&&Br.current||Pr.current&&(Br.current=!1,ai(!0))},[Uh,li]);C.useEffect(()=>{const P=qn.current;if(!P)return;const R=()=>{yl.current=!0},E=()=>{gn({fromProgrammatic:Zn.current})};P.addEventListener("wheel",R,{passive:!0}),P.addEventListener("touchmove",R,{passive:!0}),P.addEventListener("scroll",E,{passive:!0});const X=typeof ResizeObserver<"u"?new ResizeObserver(()=>gn()):null;return X?.observe(P),Sl.current=P.scrollTop,gn(),()=>{P.removeEventListener("wheel",R),P.removeEventListener("touchmove",R),P.removeEventListener("scroll",E),X?.disconnect()}},[p,gn]);const Hh=C.useMemo(()=>new Set(Kp),[Kp]),os=C.useMemo(()=>{const P=ie==="channel"?zt:zt.filter(R=>!R.isActivityLog);return Hh.size===0?P:P.filter(R=>!(R.isNotification&&Hh.has(R.id)))},[zt,ie,Hh]);C.useEffect(()=>{jh.current=w==="chat"&&os.length>0,Ao()},[w,os.length,Ao]);const ci=ew({count:os.length,getScrollElement:()=>qn.current,getItemKey:P=>os[P]?.id??P,estimateSize:P=>{const R=os[P];return R?R.segments&&R.segments.length>0?300:R.text.length>500?200:120:120},overscan:8});ci.shouldAdjustScrollPositionOnItemSizeChange=(P,R,E)=>Im()?!1:P.start<(E.scrollOffset??0);const hi=C.useCallback((P="instant")=>{if(!Br.current||Pr.current)return;const R=++Vn.current;Zn.current=!0;const E=()=>R===Vn.current&&Br.current&&!Pr.current,X=()=>{if(R!==Vn.current)return;if(Zn.current=!1,!E()){gn();return}const Y=qn.current;Y&&(Sl.current=Y.scrollTop,Y.scrollHeight-Y.scrollTop-Y.clientHeight<160&&!Pr.current&&(li(),ai(!1),Ii.current=0,mn(0))),requestAnimationFrame(()=>{R===Vn.current&&gn({fromProgrammatic:!0})})};if(os.length>0)ci.scrollToIndex(os.length-1,{align:"end",behavior:P}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(!E()){R===Vn.current&&(Zn.current=!1);return}ci.scrollToIndex(os.length-1,{align:"end",behavior:"instant"}),requestAnimationFrame(X)})});else{const Y=qn.current;Y&&Y.scrollTo({top:Y.scrollHeight,behavior:P}),requestAnimationFrame(X)}},[os.length,ci,gn,li]),pm=C.useRef(o);C.useEffect(()=>{pm.current=o},[o]),C.useLayoutEffect(()=>{if(gl.current){gl.current=!1;const P=wl.current;P>0&&(wl.current=0,ci.scrollToIndex(P,{align:"start",behavior:"instant"}));return}pm.current&&(!Br.current||Pr.current||Im()||hi())},[zt,hi,ci]);const mm=C.useRef(w);C.useEffect(()=>{const P=mm.current!=="chat";if(mm.current=w,w==="chat"&&P&&Br.current&&!Pr.current){const R=[],E=requestAnimationFrame(()=>hi("instant"));for(const X of[60,160,320])R.push(setTimeout(()=>hi("instant"),X));return()=>{cancelAnimationFrame(E);for(const X of R)clearTimeout(X)}}},[w,Ms,hi]);const gm=C.useRef(A);C.useEffect(()=>{if(gm.current===A||(gm.current=A,w!=="chat")||os.length===0||Ms||cl||!Br.current||Pr.current)return;const P=[],R=requestAnimationFrame(()=>hi("instant"));for(const E of[60,160,320])P.push(setTimeout(()=>hi("instant"),E));return()=>{cancelAnimationFrame(R);for(const E of P)clearTimeout(E)}},[A,w,os.length,Ms,cl,hi]);const Om=C.useCallback(async(P,R)=>{const E=R??`ch:${P}`;at.current===E&&oi(!0);try{const X=await K.channels.getMessages(P,50),Y=X.messages.map(oe=>Sn(oe,e?.id));ss.set(E,Y),at.current===E&&(Cs(Y),Dr(X.hasMore),kr.current=X.messages[0]?new Date(X.messages[0].createdAt).toISOString():null)}catch{at.current===E&&(Cs([]),Dr(!1))}finally{at.current===E&&oi(!1)}},[]),Gh=C.useCallback(async(P,R)=>{const E=at.current===R&&(ss.get(R)?.length??0)===0;E&&oi(!0);try{const{count:X,hasMore:Y,oldestCursor:oe}=await le(P,R,async()=>{const de=await K.sessions.getMessages(P,50);return{messages:k_(de.messages.map(dd).filter(ae=>ae.sender!=="agent"||ae.text||ae.segments&&ae.segments.length>0||ae.isStreaming)),hasMore:de.hasMore,oldestCursor:de.messages[0]?new Date(de.messages[0].createdAt).toISOString():null}});return Dr(Y),kr.current=oe,X}finally{E&&at.current===R&&oi(!1)}},[le,ss]),xm=C.useRef(new Map),On=C.useCallback(async(P,R,E)=>{if(!P||!R||R===Tt)return;let X=null;try{if($s.current&&!$s.current.signal.aborted&&Ye(E)?.has(R)){ln(E),at.current===E&&Os(!0);return}const Y=`${P}:${R}`,oe=xm.current.get(Y)??0;if(Date.now()-oe<1500)return;const de=await K.sessions.streamStatus(P,R),ae=[...ss.get(E)??[]].reverse().find(ve=>ve.sender==="agent"),ce=de.status==="streaming",We=!!de.active&&(de.status==="done"||de.status==="error")&&!!ae?.isStreaming;if(!ce&&!We)return;xm.current.set(Y,Date.now()),Ni.current?.abort(),X=new AbortController,Ni.current=X,ln(E),Os(!0),Ot(E,R);let Ze=ae?.id;if(!ae||ae.isError)Ze=`reattach_${Date.now()}`,ft(E,ve=>[...ve,{id:Ze,sender:"agent",text:"",time:new Date().toLocaleTimeString(),isStreaming:!0,segments:[]}],R);else{const ve=(ae.segments??[]).filter(ze=>ze.type==="tool").map(ze=>ze.status==="stopped"||ze.status==="running"?{...ze,status:"running"}:ze);ft(E,ze=>ze.map(Qe=>Qe.id===ae.id?{...Qe,text:"",isStreaming:!0,isStopped:!1,segments:ve,committedSegments:void 0}:Qe),R)}let Ie=!1;const Te=ve=>{at.current===E&&(Li.current=Date.now(),ni(E,ze=>{const Qe=[...ze],De=Ze?Qe.findIndex(fe=>fe.id===Ze):-1,Me=De>=0?De:Qe.map((fe,ye)=>({m:fe,j:ye})).reverse().find(fe=>fe.m.sender==="agent")?.j??-1;if(Me<0)return ze;const qe=Qe[Me].segments??[],it=qe[qe.length-1],Rt=it?.type==="text"?it.thinking??"":"";let Gt="",Ns="",ne=ve;for(;ne.length>0;)if(Ie){const fe=ne.indexOf("</think>");fe>=0?(Gt+=ne.slice(0,fe),ne=ne.slice(fe+8),Ie=!1):(Gt+=ne,ne="")}else{const fe=ne.indexOf("<think>");fe>=0?(Ns+=ne.slice(0,fe),ne=ne.slice(fe+7),Ie=!0):(Ns+=ne,ne="")}const Ue=Rt+Gt||void 0,Ce=it?.type==="text"?[...qe.slice(0,-1),{type:"text",content:it.content+Ns,thinking:Ue,createdAt:it.createdAt}]:[...qe,{type:"text",content:Ns,thinking:Ue,createdAt:new Date().toISOString()}];return Qe[Me]={...Qe[Me],text:(Qe[Me].text??"")+Ns,segments:Ce,isStreaming:!0},Qe},R))},dt=ve=>{if(at.current===E&&(Li.current=Date.now(),ve.phase!=="heartbeat")){if((ve.phase==="start"||ve.phase==="end")&&an(E,{...ve,phase:ve.phase,ts:Date.now()},R),ve.phase==="start"){const ze=`${ve.tool}_${Date.now()}`,Qe=new Date().toISOString(),De=Me=>{const qe=[...Me];for(let it=qe.length-1;it>=0;it--){const Rt=qe[it];if(Rt.type==="tool"&&Rt.tool===ve.tool&&(Rt.status==="running"||Rt.status==="stopped"))return qe[it]={...Rt,status:"running",args:ve.arguments??Rt.args},qe}return qe.push({type:"tool",key:ze,tool:ve.tool,status:"running",args:ve.arguments,createdAt:Qe}),qe};ft(E,Me=>{const qe=[...Me],it=Ze?qe.findIndex(ne=>ne.id===Ze):-1;if(it<0)return Me;const Rt=De(qe[it].segments??[]),Gt=qe[it].committedSegments,Ns=Gt&&De(Gt);return qe[it]={...qe[it],segments:Rt,committedSegments:Ns,isStreaming:!0},qe},R)}else if(ve.phase==="end"){const ze=new Date().toISOString(),Qe=De=>{const Me=[...De];for(let qe=Me.length-1;qe>=0;qe--){const it=Me[qe];if(it.type==="tool"&&it.tool===ve.tool&&(it.status==="running"||it.status==="stopped")){Me[qe]={...it,status:ve.success===!1?"error":"done",args:ve.arguments??it.args,result:ve.result,error:ve.error,durationMs:ve.durationMs,liveOutput:void 0,createdAt:ze};break}}return Me};ft(E,De=>{const Me=[...De],qe=Ze?Me.findIndex(Ns=>Ns.id===Ze):-1;if(qe<0)return De;const it=Qe(Me[qe].segments??[]),Rt=Me[qe].committedSegments,Gt=Rt&&Qe(Rt);return Me[qe]={...Me[qe],segments:it,committedSegments:Gt,isStreaming:!0},Me},R)}else if(ve.phase==="subagent_progress"&&ve.subagentEvent){const ze=Qe=>{const De=[...Qe];for(let Me=De.length-1;Me>=0;Me--){const qe=De[Me];if(qe.type==="tool"&&(qe.tool==="spawn_subagent"||qe.tool==="spawn_subagents")&&(qe.status==="running"||qe.status==="stopped")){De[Me]={...qe,status:"running",subagentLogs:Bm(qe.subagentLogs,ve.subagentEvent)};break}}return De};ni(E,Qe=>{const De=[...Qe],Me=Ze?De.findIndex(Gt=>Gt.id===Ze):-1;if(Me<0)return Qe;const qe=ze(De[Me].segments??[]),it=De[Me].committedSegments,Rt=it&&ze(it);return De[Me]={...De[Me],segments:qe,committedSegments:Rt,isStreaming:!0},De},R)}}},Be=ve=>{at.current===E&&(Li.current=Date.now(),ft(E,ze=>{const Qe=[...ze],De=Ze?Qe.findIndex(qe=>qe.id===Ze):-1;if(De<0)return ze;const Me=[...Qe[De].committedSegments??[]];if(ve.type==="thinking_commit")Me.push({type:"text",content:"",thinking:ve.content,createdAt:ve.createdAt});else if(ve.type==="text_commit")Me.push({type:"text",content:ve.content,createdAt:ve.createdAt});else return ze;return Qe[De]={...Qe[De],committedSegments:Me,isStreaming:!0},Qe},R))},st=ve=>{if(at.current!==E)return;Li.current=Date.now();const ze=(ve.segments??[]).map((Qe,De)=>Qe.type==="tool"?{type:"tool",key:`${Qe.tool}_${De}`,tool:Qe.tool??"tool",status:Qe.status==="error"?"error":Qe.status==="running"||Qe.status==="stopped"?"running":"done",args:Qe.arguments,result:Qe.result,error:Qe.error,durationMs:Qe.durationMs,createdAt:Qe.createdAt,...Qe.subagentLogs?.length?{subagentLogs:Qe.subagentLogs}:{}}:{type:"text",content:Qe.content??"",thinking:Qe.thinking,createdAt:Qe.createdAt});ft(E,Qe=>{const De=[...Qe],Me=Ze?De.findIndex(qe=>qe.id===Ze):-1;return Me<0?Qe:(De[Me]={...De[Me],text:ve.content||De[Me].text,segments:ze,committedSegments:ze,isStreaming:!0,isStopped:!1},De)},R);for(const Qe of ze)Qe.type==="tool"&&an(E,{tool:Qe.tool,phase:Qe.status==="running"||Qe.status==="stopped"?"start":"end",success:Qe.status!=="error",arguments:Qe.args,result:Qe.result,error:Qe.error,durationMs:Qe.durationMs,ts:Date.now()},R)},rt=await K.sessions.reattachStream(P,R,{onChunk:Te,onActivity:dt,onCommit:Be,onSnapshot:st},X.signal,0);if(!rt.attached){Ps(E),at.current===E&&(ft(E,ve=>{const ze=[...ve],Qe=Ze?ze.findIndex(qe=>qe.id===Ze):-1,De=Qe>=0?Qe:ze.map((qe,it)=>({m:qe,j:it})).reverse().find(qe=>qe.m.sender==="agent"&&qe.m.isStreaming)?.j??-1;if(De<0)return ve;const Me=ze[De];return Me.isStreaming?(ze[De]={...Me,isStreaming:!1,isStopped:Me.isError?Me.isStopped:!0},ze):ve},R),Os(!1));return}at.current===E&&(ft(E,ve=>{const ze=[...ve],Qe=Ze?ze.findIndex(it=>it.id===Ze):-1,De=Qe>=0?Qe:ze.map((it,Rt)=>({m:it,j:Rt})).reverse().find(it=>it.m.sender==="agent")?.j??-1;if(De<0)return ve;const Me=ze[De],qe=rt.segments?.length?Wm(rt.segments,Me.segments):void 0;return ze[De]={...Me,text:rt.content||Me.text,isStreaming:!1,isStopped:!1,...qe?{segments:qe,committedSegments:qe}:{}},ze},R),Os(!1)),Ps(E),Ni.current===X&&(Ni.current=null)}catch(Y){if(Ni.current===X&&(Ni.current=null),Ps(E),at.current===E&&Os(!1),Y instanceof Error&&Y.name==="AbortError")return}},[an,ln,Ps,Ye,ss,Ot,ft,ni]);C.useEffect(()=>{if(!o||t||ie!=="direct"||!be)return;const P=lt;!P||P===Tt||On(be,P,at.current)},[o,t,ie,be,lt,On]);const _l=C.useCallback(async P=>{if(!P)return hn([]),[];try{const{sessions:R}=await K.sessions.listByAgent(P,10);return hn(R),R}catch{return hn([]),[]}},[]),wl=C.useRef(0),AS=C.useCallback(async()=>{if(!(Th||!Zp||!kr.current)){Vp(!0);try{const P=at.current;if(ie==="channel"||ie==="dm"){const R=ie==="dm"?Ol(e?.id??"",Ut):mt,E=await K.channels.getMessages(R,50,kr.current),X=E.messages.map(Y=>Sn(Y,e?.id));wl.current=X.length,gl.current=!0,Cs(Y=>{let oe=[...X,...Y];return oe.length>500&&(oe=oe.slice(-500)),ss.set(P,oe),oe}),Dr(E.hasMore),E.messages[0]&&(kr.current=new Date(E.messages[0].createdAt).toISOString())}else if(lt){const R=await K.sessions.getMessages(lt,50,kr.current),E=R.messages.map(dd);wl.current=E.length,gl.current=!0,Cs(X=>{let Y=[...E,...X];return Y.length>500&&(Y=Y.slice(-500)),ss.set(P,Y),Y}),Dr(R.hasMore),R.messages[0]&&(kr.current=new Date(R.messages[0].createdAt).toISOString())}}catch{}finally{Vp(!1)}}},[Th,Zp,ie,mt,lt,e?.id,Ut]);um.current=AS;const Kh=C.useRef(!1),MS=C.useCallback(P=>{Kh.current||(Kh.current=!0,requestAnimationFrame(()=>{Kh.current=!1,P.target.scrollTop<100&&um.current?.()}))},[]);C.useEffect(()=>{if(t)return;const P=nc(ie,be,mt,Ut),R=at.current;at.current=P,R&&R!==P&&(Ws.set(R,Lo),lt&&ii.set(R,lt)),R!==P&&(li(),ai(!1),Ii.current=0,mn(0));const E=ss.get(P),X=Ws.get(P),Y=ii.get(P),oe=Ye(P),de=Y??lt,Se=tt(P)&&(ie!=="direct"||!oe||!de||oe.has(de)),ae=de??P,ce=Sr.get(ae)??[];if(yr(Se?ce:[]),Os(Se),ie==="direct"&&be&&_l(be),X&&X.length>0&&Xs(X),un(!1),E!==void 0&&E.length>0)if(Se||ol.completeLoad(P),oi(!1),Cs(E),Dr(!1),Y!==void 0&&Ir(Y),(!X||X.length===0)&&Xs([]),ie==="channel"||ie==="dm"){const Ze=ie==="dm"?Ol(e?.id??"",Ut):mt;Om(Ze,P)}else ie==="direct"&&be&&Y&&Y!==Tt&&(Se?On(be,Y,P):Gh(Y,P).then(()=>{at.current===P&&be&&On(be,Y,P)}));else if(al(P),oi(!0),Cs([]),Dr(!1),kr.current=null,ss.delete(P),ie==="channel"||ie==="dm"){const Ze=ie==="dm"?Ol(e?.id??"",Ut):mt;Om(Ze,P),(!X||X.length===0)&&Xs([])}else ie==="direct"&&be?_l(be).then(Ze=>{if(at.current===P)if(Ze.length>0){const Ie=Ze.find(De=>De.isMain),Te=Eh(be),dt=Ie?[Ie,...Ze.filter(De=>!De.isMain&&!Te.has(De.id)).slice(0,4)]:Ze.filter(De=>!Te.has(De.id)).slice(0,5);let Be=X&&X.length>0?X:dt;const st=pS(be),rt=Y!==void 0?Y:st??Ie?.id??Be[0].id;if(rt&&rt!==Tt&&!Be.some(De=>De.id===rt)){const De=Ze.find(Me=>Me.id===rt);De&&(Be=[...Be,De])}const ve=rt&&Be.some(De=>De.id===rt)?rt:Be[0].id;Ir(ve),ii.set(P,ve),dl(be,ve),Xs(Be);const Qe=Ze.find(De=>De.id===ve)?.metadata?.modelOverride;In(Qe?.provider&&Qe?.model?{provider:Qe.provider,model:Qe.model}:null),Gh(ve,P).then(()=>{at.current===P&&be&&On(be,ve,P)})}else Ir(null),In(null),oi(!1),(!X||X.length===0)&&Xs([])}).catch(()=>{at.current===P&&oi(!1)}):oi(!1)},[t,ie,be,mt,Ut,n.language,i]),C.useEffect(()=>t?void 0:yt.on("chat:message",R=>{const E=R.payload,X=E.channel??"";if(!X)return;const Y=E.senderType??"agent",oe=E.text??E.message??"",de=E.senderId??E.agentId??"",Se=E.senderName??E.agentId??i("page.fallbackAgent"),ae=E.metadata,ce=E.messageId??E.id??"";if(ce&&Ai.current.has(ce))return;const We=Y==="human"&&de===(e?.id??""),Ze={id:ce||`ws_${Date.now()}_${de}`,sender:We?"user":"agent",text:oe,time:new Date().toLocaleTimeString(),agentName:We?void 0:Se,agentId:We?void 0:de,replyToId:E.replyToId??void 0,replyToSender:E.replyToSender??void 0,replyToText:E.replyToText??void 0};if(ae&&Y==="agent"){const Te=[];if(ae.thinking?.length&&Te.push({type:"text",content:"",thinking:ae.thinking.join(`
73
+
74
+ `)}),ae.toolCalls?.length)for(let dt=0;dt<ae.toolCalls.length;dt++){const Be=ae.toolCalls[dt];Te.push({type:"tool",key:`${Be.tool}_${dt}`,tool:Be.tool,status:Be.status==="error"?"error":"done",args:Be.arguments,result:Be.result,durationMs:Be.durationMs})}Te.length>0&&(Te.push({type:"text",content:oe}),Ze.segments=Te)}let Ie;if(X.startsWith("notes:"))Ie=`dm:${X.slice(6)}`;else if(X.startsWith("dm:")){const Te=X.slice(3).split(":");Ie=`dm:${Te.find(Be=>Be!==(e?.id??""))??Te[0]??""}`}else Ie=`ch:${X}`;ft(Ie,Te=>[...Te,Ze]),Ie===at.current&&!Br.current&&(Ii.current+=1,mn(Ii.current),ai(!0)),Y==="agent"&&Ie===`ch:${mt}`&&wr(Te=>{const dt=Te.filter(Be=>Be.id!==de);return dt.length===0&&lr.current&&(clearTimeout(lr.current),lr.current=null),dt})}),[t,ft,e?.id,mt]),C.useEffect(()=>t?void 0:yt.on("chat:agent_no_response",R=>{const E=R.payload,X=E.channel??"",Y=E.agentId??"";X&&Y&&`ch:${mt}`==`ch:${X}`&&wr(oe=>{const de=oe.filter(Se=>Se.id!==Y);return de.length===0&&lr.current&&(clearTimeout(lr.current),lr.current=null),de})}),[t,mt]),C.useEffect(()=>t?void 0:yt.on("chat:proactive_message",R=>{const E=R.payload,X=E.targetUserId;if(X&&X!==e?.id)return;const Y=E.agentId??"",oe=E.agentName??i("page.fallbackAgent"),de=E.message??"",Se=E.sessionId??"",ae=E.messageId??"",ce=E.metadata??{};if(!Y||!de||de==="[cancelled]"||de==="[Stream cancelled]")return;const We=ce.role==="user",Ze=!We&&(!!ce.activityLog||de.startsWith("[ACTIVITY:")),{cleaned:Ie,priority:Te}=C_(de),dt=!We&&(!!ce.notifyUser||Ie!==de),Be=nc("direct",Y,"","");if(Se&&at.current===Be){const qe=lt;if(qe&&qe!==Tt&&qe!==Se)return}const st=!!ce.isMainSession&&!We,rt=Se||lt,ve=typeof ce.userText=="string"?ce.userText:"",ze=typeof ce.userMessageId=="string"?ce.userMessageId:"",Qe=typeof ce.createdAt=="string"&&ce.createdAt||(typeof R.timestamp=="string"?R.timestamp:void 0)||new Date().toISOString(),De=(()=>{try{return new Date(Qe).toLocaleTimeString()}catch{return new Date().toLocaleTimeString()}})(),Me={id:ae||`proactive_${Date.now()}`,sender:We?"user":"agent",text:Ie,time:De,rawCreatedAt:Qe,...We?{}:{agentName:oe,agentId:Y,...dt?{isNotification:!0,notifyPriority:ce.priority??Te}:{},...Ze?{isActivityLog:!0,activityType:ce.activityType,outcome:ce.outcome,mailboxItemId:ce.mailboxItemId,taskId:ce.taskId,requirementId:ce.requirementId}:{},...!Ze&&ce.taskId?{taskId:ce.taskId}:{},...!Ze&&ce.requirementId?{requirementId:ce.requirementId}:{}}};dt&&Me.id&&Dh(qe=>qe.includes(Me.id)?qe:[...qe,Me.id]),ft(Be,qe=>{if(qe.some(Rt=>Rt.id===Me.id))return qe;let it=qe;if(!We&&ve&&(it.some(Gt=>ze&&Gt.id===ze||Gt.sender==="user"&&Gt.text===ve)||(it=Xm(it,{id:ze||`feishu_user_${Me.id}`,sender:"user",text:ve,time:new Date().toLocaleTimeString(),rawCreatedAt:Me.rawCreatedAt}))),st)for(let Rt=it.length-1;Rt>=0;Rt--){const Gt=it[Rt];if(Gt.sender==="agent"&&Gt.agentId===Y&&Gt.isStopped){const Ns=[...it];return Ns[Rt]={...Me,id:Gt.id},Ns}}return Xm(it,Me)},rt||void 0)}),[t,ft,i,lt]),pl.find(P=>P.id===vS),C.useEffect(()=>{yS(null)},[be]);const LS=P=>I_(P),NS=()=>{const P=ie==="direct"?be:null;P&&K.agents.cancelProcessing(P).catch(()=>{}),$s.current?.abort(),$s.current=null,Ni.current?.abort(),Ni.current=null;const R=at.current;Ge(R),Sr.delete(lt??R),lt&&St(R,lt),Ps(R),Os(!1),yr([])},[xn,Jh]=C.useState(null),[bm,vm]=C.useState(!1),ym=C.useRef(null),bn=async(P,R)=>{const E=!P&&_r.length>0?_r.map(Ie=>Ie.content).join(`
75
+
76
+ `)+`
77
+
78
+ `:"",X=(P??E+Mt).trim();if(!X&&Us.length===0||ie==="direct"&&!be)return;li();const Y=Date.now(),oe=ym.current;if(!R?.isRetry&&!R?.isResume&&X&&oe&&oe.text===X&&Y-oe.at<1500)return;if(ym.current={text:X,at:Y},Ms&&ie==="direct"){if(lt&&lt!==Tt){const Te=at.current;if([...ss.get(Te)??[]].reverse().find(st=>st.sender==="user")?.text===X&&!R?.isRetry&&!R?.isResume)return $s.current?.abort(),$s.current=null,K.agents.cancelProcessing(be).catch(()=>{}),Ge(Te),Sr.delete(lt??Te),Ps(Te),ft(Te,st=>{const rt=[...st];return rt.length>0&&rt[rt.length-1].sender==="agent"&&rt.pop(),rt.length>0&&rt[rt.length-1].sender==="user"&&rt[rt.length-1].text===X&&rt.pop(),rt}),Os(!1),yr([]),await new Promise(st=>setTimeout(st,50)),bn(X,{isRetry:!0});$s.current?.abort(),$s.current=null,K.agents.cancelProcessing(be).catch(()=>{}),Ge(Te),Sr.delete(lt??Te),Ps(Te),ft(Te,st=>{const rt=[...st];for(let ve=rt.length-1;ve>=0;ve--)if(rt[ve].sender==="agent"&&!rt[ve].isStopped&&!rt[ve].isError){const ze=rt[ve];if(!(ze.text?.trim()||(ze.segments??[]).some(De=>De.type==="text"&&(De.content||De.thinking)||De.type==="tool")))rt.splice(ve,1);else{const De=(ze.segments??[]).map(Me=>Me.type==="tool"&&Me.status==="running"?{...Me,status:"stopped"}:Me);rt[ve]={...ze,isStopped:!0,segments:De}}break}return rt}),Os(!1),yr([]),await new Promise(st=>setTimeout(st,50))}}else if(Ms&&ie!=="direct"){$s.current?.abort(),$s.current=null;const Ie=at.current;Ge(Ie),Sr.delete(Ie),Ps(Ie),ft(Ie,Te=>{const dt=[...Te];for(let Be=dt.length-1;Be>=0;Be--)if(dt[Be].sender==="agent"&&!dt[Be].isStopped&&!dt[Be].isError){const st=dt[Be];if(!(st.text?.trim()||(st.segments??[]).some(ve=>ve.type==="text"&&(ve.content||ve.thinking)||ve.type==="tool")))dt.splice(Be,1);else{const ve=(st.segments??[]).map(ze=>ze.type==="tool"&&ze.status==="running"?{...ze,status:"stopped"}:ze);dt[Be]={...st,isStopped:!0,segments:ve}}break}return dt}),Os(!1),yr([]),await new Promise(Te=>setTimeout(Te,50))}const de=Us.length>0?Us.map(Ie=>Ie.dataUrl):void 0,Se=Us.length>0?Us.map(Ie=>Ie.name):void 0,ae=nc(ie,be,mt,Ut),ce=Ht;P||(xs(""),Mi([])),Qh([]),Bo(!1),Ts(null);const We=ie==="dm";pe(ae);const Ze=lt??ae;if(Sr.set(Ze,[]),at.current===ae&&!We&&(Os(!0),yr([])),ie==="dm"){const Ie=Ol(e?.id??"",Ut),Te=`opt_${Date.now()}`,dt={id:Te,sender:"user",text:X,time:new Date().toLocaleTimeString(),rawCreatedAt:new Date().toISOString()};de?.length&&(dt.images=de),ce&&(dt.replyToId=ce.id,dt.replyToSender=ce.sender,dt.replyToText=ce.text),ft(ae,Be=>[...Be,dt]);try{const Be=await K.channels.sendMessage(Ie,{text:X,senderName:e?.name??i("page.fallbackYou"),senderId:e?.id,mentions:[],orgId:"default",humanOnly:!0,...de?.length?{images:de}:{},...Se?.length?{fileNames:Se}:{}});Be.userMessage&&Ro(Be.userMessage.id),ft(ae,st=>{const rt=st.filter(ze=>ze.id!==Te),ve=[];return Be.userMessage&&ve.push(Sn(Be.userMessage,e?.id)),ve.length>0?[...rt,...ve]:st})}catch(Be){oc(Be)&&ac(),ft(ae,st=>[...st.filter(ve=>ve.id!==Te),{id:`err_${Date.now()}`,sender:"agent",text:i("page.errorWithMessage",{message:String(Be)}),time:new Date().toLocaleTimeString(),agentName:i("page.systemName"),isError:!0}])}je(ae),at.current===ae&&Os(!1)}else if(ie==="channel"){const Ie=`opt_${Date.now()}`,Te={id:Ie,sender:"user",text:X,time:new Date().toLocaleTimeString(),rawCreatedAt:new Date().toISOString()};ce&&(Te.replyToId=ce.id,Te.replyToSender=ce.sender,Te.replyToText=ce.text),ft(ae,st=>[...st,Te]);const dt=LS(X),Be=Qs.find(st=>st.channelKey===mt);if(mt.startsWith("group:")){const st=[];if(Be?.members){for(const rt of Be.members)if(rt.type==="agent"){const ve=l.find(ze=>ze.id===rt.id);ve&&st.push({id:ve.id,name:ve.name,avatarUrl:ve.avatarUrl})}}st.length>0&&(lr.current&&clearTimeout(lr.current),wr(st),lr.current=setTimeout(()=>wr([]),12e4))}try{const st=await K.channels.sendMessage(mt,{text:X,senderName:e?.name??i("page.fallbackYou"),mentions:dt,senderId:e?.id,orgId:"default",replyToId:ce?.id,...de?.length?{images:de}:{},...Se?.length?{fileNames:Se}:{}});st.userMessage&&Ro(st.userMessage.id),st.agentMessage&&Ro(st.agentMessage.id),ft(ae,rt=>{const ve=rt.filter(Qe=>Qe.id!==Ie),ze=[];return st.userMessage&&ze.push(Sn(st.userMessage,e?.id)),st.agentMessage&&ze.push(Sn(st.agentMessage,e?.id)),ze.length>0?[...ve,...ze]:rt})}catch(st){oc(st)&&ac();const rt=wc(st,i)||i("page.errorWithMessage",{message:String(st)});ft(ae,ve=>[...ve,{id:`err_${Date.now()}`,sender:"agent",text:rt,time:new Date().toLocaleTimeString(),agentName:i("page.systemName"),isError:!0}]),lr.current&&(clearTimeout(lr.current),lr.current=null),wr([])}je(ae),at.current===ae&&Os(!1)}else{ln(ae);const Ie=`${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`,Te=`a_${Ie}`,dt=`u_${Ie}`;let Be=R?.sessionIdOverride??(lt===Tt?null:lt);if(R?.isResume){const ne=new Date().toISOString();ft(ae,Ue=>[...Ue,{id:Te,sender:"agent",text:"",time:new Date().toLocaleTimeString(),rawCreatedAt:ne,segments:[]}],Be)}else{const ne=new Date().toISOString(),Ue={id:dt,sender:"user",text:X,time:new Date().toLocaleTimeString(),rawCreatedAt:ne};de?.length&&(Ue.images=de),ce&&(Ue.replyToId=ce.id,Ue.replyToSender=ce.sender,Ue.replyToText=ce.text),ft(ae,Ce=>[...Ce,Ue,{id:Te,sender:"agent",text:"",time:new Date().toLocaleTimeString(),rawCreatedAt:ne,segments:[]}],Be)}let st=!1;const rt=ne=>{Li.current=Date.now(),ni(ae,Ue=>{const Ce=[...Ue],fe=Ce.findIndex(di=>di.id===Te);if(fe<0)return Ue;const ye=Ce[fe].segments??[],Ee=ye[ye.length-1],et=Ee?.type==="text"?Ee.thinking??"":"";let Nt="",Je="",ut=ne;for(;ut.length>0;)if(st){const di=ut.indexOf("</think>");di>=0?(Nt+=ut.slice(0,di),ut=ut.slice(di+8),st=!1):(Nt+=ut,ut="")}else{const di=ut.indexOf("<think>");di>=0?(Je+=ut.slice(0,di),ut=ut.slice(di+7),st=!0):(Je+=ut,ut="")}const Vt=et+Nt||void 0,c_=Ee?.type==="text"?[...ye.slice(0,-1),{type:"text",content:Ee.content+Je,thinking:Vt,createdAt:Ee.createdAt}]:[...ye,{type:"text",content:Je,thinking:Vt,createdAt:new Date().toISOString()}];return Ce[fe]={...Ce[fe],text:Ce[fe].text+Je,segments:c_},Ce},Be)},ve=ne=>{if(Li.current=Date.now(),ne.type==="session_start"&&ne.sessionId){const Ue=Be;Be=ne.sessionId,Ue&&Ue!==ne.sessionId&&St(ae,Ue),Ot(ae,ne.sessionId),hl&&K.sessions.setModelOverride(ne.sessionId,hl).catch(()=>{}),ne.userMessageId&&!R?.isResume&&ft(ae,fe=>fe.map(ye=>ye.id===dt?{...ye,id:ne.userMessageId}:ye),ne.sessionId);const Ce=ss.get(ae);if(Ce&&Ce.length>0&&ar.set(ne.sessionId,Ce),at.current===ae){const fe=lt;(!fe||fe===Tt||fe===ne.sessionId)&&(Ir(ne.sessionId),ii.set(ae,ne.sessionId),be&&dl(be,ne.sessionId),Xs(ye=>ye.some(Ee=>Ee.id===Tt)?ye.map(Ee=>Ee.id===Tt?{...Ee,id:ne.sessionId}:Ee):ye.some(Ee=>Ee.id===ne.sessionId)?ye:[...ye,{id:ne.sessionId,agentId:be??"",userId:null,title:"",createdAt:new Date().toISOString(),lastMessageAt:new Date().toISOString()}]))}return}ft(ae,Ue=>{const Ce=[...Ue],fe=Ce.findIndex(Ee=>Ee.id===Te);if(fe<0)return Ue;const ye=[...Ce[fe].committedSegments??[]];return ne.type==="thinking_commit"?ye.push({type:"text",content:"",thinking:ne.content,createdAt:ne.createdAt}):ye.push({type:"text",content:ne.content,createdAt:ne.createdAt}),Ce[fe]={...Ce[fe],committedSegments:ye},Ce},Be)},ze=ne=>{Li.current=Date.now(),ne.phase!=="heartbeat"&&((ne.phase==="start"||ne.phase==="end")&&an(ae,{...ne,phase:ne.phase,ts:Date.now()},Be),ne.phase==="start"?ft(ae,Ue=>{const Ce=[...Ue],fe=Ce.findIndex(ut=>ut.id===Te);if(fe<0)return Ue;const ye=[...Ce[fe].segments??[]];let Ee=!1;if(ne.arguments)for(let ut=ye.length-1;ut>=0;ut--){const Vt=ye[ut];if(Vt.type==="tool"&&Vt.tool===ne.tool&&Vt.status==="running"){ye[ut]={...Vt,args:ne.arguments},Ee=!0;break}}const et=`${ne.tool}_${Date.now()}`,Nt=new Date().toISOString();Ee||ye.push({type:"tool",key:et,tool:ne.tool,status:"running",args:ne.arguments,createdAt:Nt});const Je=[...Ce[fe].committedSegments??[]];return ne.arguments!==void 0&&Je.push({type:"tool",key:et,tool:ne.tool,status:"running",args:ne.arguments,createdAt:Nt}),Ce[fe]={...Ce[fe],segments:ye,committedSegments:Je},Ce},Be):ne.phase==="output"?ni(ae,Ue=>{const Ce=[...Ue],fe=Ce.findIndex(Ee=>Ee.id===Te);if(fe<0)return Ue;const ye=[...Ce[fe].segments??[]];for(let Ee=ye.length-1;Ee>=0;Ee--){const et=ye[Ee];if(et.type==="tool"&&et.tool===ne.tool&&et.status==="running"){ye[Ee]={...et,liveOutput:D_(et.liveOutput,ne.output??"")};break}}return Ce[fe]={...Ce[fe],segments:ye},Ce},Be):ne.phase==="subagent_progress"&&ne.subagentEvent?ni(ae,Ue=>{const Ce=[...Ue],fe=Ce.findIndex(Nt=>Nt.id===Te);if(fe<0)return Ue;const ye=Nt=>{const Je=[...Nt];for(let ut=Je.length-1;ut>=0;ut--){const Vt=Je[ut];if(Vt.type==="tool"&&(Vt.tool==="spawn_subagent"||Vt.tool==="spawn_subagents")&&Vt.status==="running"){Je[ut]={...Vt,subagentLogs:Bm(Vt.subagentLogs,ne.subagentEvent)};break}}return Je},Ee=ye(Ce[fe].segments??[]),et=ye(Ce[fe].committedSegments??[]);return Ce[fe]={...Ce[fe],segments:Ee,committedSegments:et},Ce},Be):ft(ae,Ue=>{const Ce=[...Ue],fe=Ce.findIndex(Je=>Je.id===Te);if(fe<0)return Ue;const ye=new Date().toISOString(),Ee=[...Ce[fe].segments??[]];let et;for(let Je=Ee.length-1;Je>=0;Je--){const ut=Ee[Je];if(ut.type==="tool"&&ut.tool===ne.tool&&ut.status==="running"){et=ut.subagentLogs,Ee[Je]={...ut,status:ne.success===!1?"error":"done",args:ne.arguments,result:ne.result,error:ne.error,durationMs:ne.durationMs,liveOutput:void 0,createdAt:ye};break}}const Nt=[...Ce[fe].committedSegments??[]];for(let Je=Nt.length-1;Je>=0;Je--){const ut=Nt[Je];if(ut.type==="tool"&&ut.tool===ne.tool&&ut.status==="running"){Nt[Je]={...ut,status:ne.success===!1?"error":"done",args:ne.arguments,result:ne.result,error:ne.error,durationMs:ne.durationMs,liveOutput:void 0,createdAt:ye,subagentLogs:et??ut.subagentLogs};break}}return Ce[fe]={...Ce[fe],segments:Ee,committedSegments:Nt},Ce},Be))},Qe=new AbortController;$s.current=Qe;const De=R?.sessionIdOverride??(lt===Tt?null:lt),Me=De;Me&&Ot(ae,Me);try{Li.current=Date.now();const ne=await K.agents.messageStream(be,X,rt,ze,Qe.signal,de,De,R?.isRetry,R?.isResume,ve,Se,ce,hl);if(at.current===ae){ne.merged&&ft(ae,Ce=>Ce.filter(fe=>fe.id!==Te&&fe.id!==dt),Be),!ne.merged&&ne.segments?.length&&ft(ae,Ce=>{const fe=[...Ce],ye=fe.findIndex(Je=>Je.id===Te);if(ye<0)return Ce;const Ee=Wm(ne.segments,fe[ye].segments);let et=ne.content||fe[ye].text;et||(et=Ee.filter(Je=>Je.type==="text").map(Je=>Je.content).join(""));const Nt=!et?.trim()&&!Ee.some(Je=>Je.type==="text"&&(Je.content||Je.thinking)||Je.type==="tool");return fe[ye]={...fe[ye],text:et,segments:Ee,committedSegments:Ee,isStopped:ne.cancelled||fe[ye].isStopped,emptyReply:ne.emptyReply||Nt||void 0,isError:ne.emptyReply||Nt?!0:fe[ye].isError},fe},Be),!ne.merged&&!ne.segments?.length&&ft(ae,Ce=>{const fe=[...Ce],ye=fe.findIndex(Vt=>Vt.id===Te);if(ye<0)return Ce;const Ee=fe[ye],et=Ee.committedSegments??[],Je=et.filter(Vt=>Vt.type==="text"&&!!Vt.content).map(Vt=>Vt.content).join("")||ne.content||Ee.text,ut=!Je?.trim()&&et.length===0;return(et.length>0||Je||ne.cancelled||ne.emptyReply||ut)&&(fe[ye]={...Ee,text:Je,segments:et.length>0?et:Ee.segments,isStopped:ne.cancelled||Ee.isStopped,emptyReply:ne.emptyReply||ut||void 0,isError:ne.emptyReply||ut?!0:Ee.isError}),fe},Be),ne.sessionId&&(Ir(Ce=>!Ce||Ce===Tt||Ce===ne.sessionId?ne.sessionId:Ce),Xs(Ce=>Ce.some(fe=>fe.id===Tt)?Ce.map(fe=>fe.id===Tt?{...fe,id:ne.sessionId}:fe):Ce.some(fe=>fe.id===ne.sessionId)?Ce:[...Ce,{id:ne.sessionId,agentId:be??"",userId:null,title:"",createdAt:new Date().toISOString(),lastMessageAt:new Date().toISOString()}])),_l(be).then(Ce=>{if(at.current===ae&&(hn(Ce),ne.sessionId)){const fe=Ce.find(ye=>ye.id===ne.sessionId);fe&&Xs(ye=>ye.some(et=>et.id===fe.id)?ye.map(et=>et.id===fe.id?fe:et):[fe,...ye.filter(et=>et.id!==Tt)])}});const Ue=ne.sessionId??(Me&&Me!==Tt?Me:null);if(!Qe.signal.aborted&&!ne.merged&&ne.segments===void 0&&ie==="direct"&&be&&Ue)try{if((await K.sessions.streamStatus(be,Ue)).status==="streaming"){ft(ae,fe=>fe.map(ye=>ye.id===Te?{...ye,isStreaming:!0,isStopped:!1,segments:(ye.segments??[]).map(Ee=>Ee.type==="tool"&&(Ee.status==="stopped"||Ee.status==="running")?{...Ee,status:"running"}:Ee)}:ye),Ue),je(ae),$s.current===Qe&&($s.current=null),Ot(ae,Ue),On(be,Ue,ae);return}}catch{}}}catch(ne){const Ue=ne?.sessionId;Ue&&ie==="direct"&&at.current===ae&&(Ir(Ue),Xs(fe=>fe.map(ye=>ye.id===Tt?{...ye,id:Ue}:ye)),_l(be).then(fe=>{if(at.current!==ae)return;hn(fe);const ye=fe.find(Ee=>Ee.id===Ue);ye&&Xs(Ee=>Ee.some(Nt=>Nt.id===ye.id)?Ee.map(Nt=>Nt.id===ye.id?ye:Nt):[ye,...Ee])})),oc(ne)&&ac();const Ce=wc(ne,i);Ce?ft(ae,fe=>{const ye=[...fe],Ee=ye.findIndex(et=>et.id===Te);if(Ee>=0){const et=ye[Ee].segments??[];ye[Ee]={...ye[Ee],text:Ce,isError:!0,segments:[...et,{type:"text",content:Ce}]}}return ye},Be):ft(ae,fe=>{const ye=[...fe],Ee=ye.findIndex(et=>et.id===Te);if(Ee>=0){const et=ye[Ee];if(!(et.text||et.segments&&et.segments.length>0&&et.segments.some(Je=>Je.type==="text"&&(Je.content||Je.thinking)||Je.type==="tool")))return fe.filter(Je=>Je.id!==Te);ye[Ee]={...et,isStopped:!0}}return ye},Be)}ft(ae,ne=>{const Ue=[...ne],Ce=Ue.findIndex(fe=>fe.id===Te);if(Ce>=0){const fe=(Ue[Ce].segments??[]).map(ye=>ye.type==="tool"&&ye.status==="running"?{...ye,status:"stopped"}:ye);Ue[Ce]={...Ue[Ce],segments:fe}}return Ue},Be),Qe.signal.aborted&&ft(ae,ne=>{const Ue=[...ne],Ce=Ue.findIndex(fe=>fe.id===Te);if(Ce>=0){const fe=Ue[Ce];if(!(fe.text||fe.segments&&fe.segments.length>0&&fe.segments.some(Ee=>Ee.type==="text"&&(Ee.content||Ee.thinking)||Ee.type==="tool")))return ne.filter(Ee=>Ee.id!==Te);Ue[Ce]={...fe,isStopped:!0}}return Ue},Be);const it=(ss.get(ae)??[]).find(ne=>ne.id===Te),Rt=lt&&lt!==Tt?lt:null,Gt=it?.text||it?.segments?.some(ne=>ne.type==="text"&&ne.content||ne.type==="tool");it&&!Gt&&ie==="direct"&&Rt&&!Qe.signal.aborted&&await(async(Ue,Ce)=>{for(let fe=0;fe<Ue;fe++){await new Promise(ye=>setTimeout(ye,Ce));try{const Ee=(await K.sessions.getMessages(Rt,2)).messages.find(et=>et.role==="assistant");if(Ee?.content){const et=dd(Ee);ft(ae,Nt=>{const Je=[...Nt],ut=Je.findIndex(Vt=>Vt.id===Te);return ut>=0&&(Je[ut]={...Je[ut],text:et.text,segments:et.segments}),Je},Be);return}}catch{}}})(5,3e3);const Ns=je(ae);Be&&St(ae,Be),Ps(ae),$s.current===Qe||$s.current===null?($s.current=null,Sr.delete(Be??ae),at.current===ae&&(Os(Ns>0),Ns===0&&yr([]))):Sr.delete(Be??ae)}};dm.current=bn;const[DS,Sm]=C.useState(null),[kl,ed]=C.useState(null),IS=C.useMemo(()=>{for(let P=zt.length-1;P>=0;P--)if(zt[P]?.sender==="agent"&&!zt[P]?.isActivityLog)return zt[P].id;return null},[zt]),BS=C.useCallback(P=>{const R=P.segments?P.segments.filter(E=>E.type==="text").map(E=>E.content).join(`
79
+ `):P.text;navigator.clipboard.writeText(R),Sm(P.id),setTimeout(()=>Sm(E=>E===P.id?null:E),2e3)},[]),td=C.useCallback((P,R,E)=>{const X=at.current,Y=ss.get(X)??zt,oe=Y.findIndex(Se=>Se.id===P.id);if(oe<0)return;const de=R&&oe>0&&Y[oe-1]?.id===R.id;ft(X,Se=>{const ae=Se.findIndex(ce=>ce.id===(de?R.id:P.id));return ae>=0?Se.slice(0,ae):Se}),bn(E,{isRetry:!0})},[zt,ft]),WS=C.useCallback(P=>{const R=at.current,E=ss.get(R)??zt,X=E.findIndex(Se=>Se.id===P.id);if(X<0)return;let Y=null;for(let Se=X-1;Se>=0;Se--)if(E[Se]?.sender==="user"){Y=E[Se];break}const oe=Y?.text??"";if(!oe)return;if(X<E.length-1){const Se=E.length-1-X;ed({retryMsg:P,userMsg:Y,retryText:oe,followCount:Se});return}td(P,Y,oe)},[zt,td]),XS=C.useCallback(P=>{const R=at.current;(ss.get(R)??zt).findIndex(Y=>Y.id===P.id)<0||(ft(R,Y=>{const oe=[...Y],de=oe.findIndex(ce=>ce.id===P.id);if(de<0)return Y;const Se=oe[de],ae=[...Se.segments??[]];for(;ae.length>0;){const ce=ae[ae.length-1];if(ce.type==="tool"&&(ce.status==="stopped"||ce.status==="running"))ae.pop();else if(ce.type==="text"&&!ce.content)ae.pop();else break}return oe[de]={...Se,segments:ae,isStopped:!1,isError:!1},oe}),bn("[Continue from where you left off. Do not repeat content already generated.]",{isResume:!0}))},[zt,ft]),qS=C.useCallback(P=>{const R=P.sender==="user"?e?.name??i("page.fallbackYou"):P.agentName??i("page.fallbackAgent");if(Ts({id:P.id,sender:R,text:P.text}),ie==="channel"&&P.sender==="agent"&&P.agentName){const E=`@${P.agentName} `;xs(X=>X.startsWith(E)?X:E+X)}cr.current?.focus()},[e?.name,ie,i]),zS=async P=>{if(!xn||!be||ie!=="direct")return;const R=lt;if(!(!R||R===Tt)){vm(!0);try{const E=await K.agents.evolveFromMessage(be,{parentSessionId:R,sourceMessageId:xn.id.startsWith("a_")||xn.id.startsWith("u_")?void 0:xn.id,sourceText:(xn.text||"").slice(0,500)||void 0,userNote:P.trim()||void 0}),X=new Date().toISOString(),Y={id:E.sessionId,agentId:be,userId:e?.id??null,title:"Remember / Evolution",isMain:!1,metadata:{kind:"evolution",parentSessionId:E.parentSessionId,sourceMessageId:xn.id,sourceAgentId:be,createdFrom:"remember_button"},createdAt:X,lastMessageAt:X};Jh(null),hn(de=>[Y,...de.filter(Se=>Se.id!==Y.id)]),Xs(de=>de.some(Se=>Se.id===Y.id)?de:[...de,Y]),Ir(Y.id);const oe=nc("direct",be,mt,Ut);ii.set(oe,Y.id),dl(be,Y.id),W(oe),Cs([]),Dr(!1),kr.current=null,await bn(E.seedPrompt,{sessionIdOverride:E.sessionId})}catch(E){console.error("evolve-from-message failed",E)}finally{vm(!1)}}},Cl=async P=>{const R=lt;Ir(P.id),un(!1),Dr(!1),kr.current=null,li(),ai(!1),Ii.current=0,mn(0);const E=at.current,X=Ye(E),Y=!!X&&(X.has(P.id)||X.has(Tt)),oe=tt(E)&&Y;Os(oe),yr(oe?Sr.get(P.id)??[]:[]),ii.set(E,P.id),be&&dl(be,P.id),R&&R!==Tt&&ns(E,R),Ls(E,P.id),Xs(Se=>Se.some(ae=>ae.id===P.id)?Se:[...Se,P]),be&&fS(be,P.id),await Gh(P.id,E);const de=P.metadata?.modelOverride;In(de?.provider&&de?.model?{provider:de.provider,model:de.model}:null),be&&!oe&&On(be,P.id,E)},ZS=P=>{if(Xs(R=>R.filter(E=>E.id!==P)),be&&P!==Tt&&uS(be,P),lt===P){const R=Lo.filter(E=>E.id!==P);R.length>0?Cl(R[R.length-1]):sd()}},_m=C.useCallback(async P=>{if(P.length<2){Di([]);return}sm(!0);try{const R=ie==="channel"?"channel":ie==="direct"?"direct":"all",E=ie==="channel"?mt:void 0,{results:X}=await K.messages.search(P,{scope:R,channel:E,limit:30});Di(X)}catch{Di([])}sm(!1)},[ie,mt]),VS=C.useCallback(P=>{Wn(P),Xh.current&&clearTimeout(Xh.current),Xh.current=setTimeout(()=>_m(P),300)},[_m]),FS=C.useCallback(P=>{Io(!1),Wn(""),Di([]),P.source==="channel"&&P.channel?(gt("channel"),ks(P.channel)):P.source==="direct"&&P.agentId&&(gt("direct"),Yt(P.agentId)),setTimeout(()=>{const R=document.getElementById(`msg-${P.id}`);R&&(R.scrollIntoView({behavior:"smooth",block:"center"}),R.classList.add("bg-brand-500/10"),setTimeout(()=>R.classList.remove("bg-brand-500/10"),2e3))},500)},[]),sd=()=>{Ir(Tt),In(null);const P=at.current;W(P),Cs([]),Dr(!1),kr.current=null,un(!1),Xs(R=>{const E=R.filter(X=>X.id!==Tt);return[{id:Tt,agentId:be??"",userId:null,title:i("page.newChat"),createdAt:new Date().toISOString(),lastMessageAt:new Date().toISOString()},...E]})},YS=P=>{xs(P);const R=cr.current?.selectionStart??P.length,E=P.slice(0,R),X=E.lastIndexOf("@");if(X>=0){const Y=X===0?"":E[X-1];if(X===0||/[\s\n,,。!?!?;;::、()()\[\]【】]/.test(Y)){const de=E.slice(X+1);if(!de.includes(" ")&&!de.includes(`
80
+ `)){PS(),Bo(!0),SS(de.toLowerCase()),Xn(0);return}}}if(Bo(!1),zh.length>0){const Y=E.lastIndexOf("/");if(Y>=0){const oe=Y===0?"":E[Y-1];if(Y===0||/[\s\n,,。!?!?;;::、()()\[\]【】]/.test(oe)){const Se=E.slice(Y+1);if(!Se.includes(" ")&&!Se.includes(`
81
+ `)){Zh(),ml(!0),_S(Se.toLowerCase()),Xo(0);return}}}}ml(!1)},wm=C.useCallback(P=>{const R=cr.current?.selectionStart??Mt.length,X=Mt.slice(0,R).lastIndexOf("/"),Y=Mt.slice(R),oe=Mt.slice(0,X)+"/"+P.name+" "+Y;xs(oe),ml(!1),Xo(0);const de=X+P.name.length+2;requestAnimationFrame(()=>{const Se=cr.current;Se&&(Se.focus(),Se.setSelectionRange(de,de))})},[Mt]),Pl=(P,R,E)=>{const X=cr.current?.selectionStart??Mt.length,oe=Mt.slice(0,X).lastIndexOf("@"),de=Mt.slice(X),Se=Mt.slice(0,oe)+de;xs(Se),Bo(!1),Xn(0);const ae=R&&E?`@[${P}](${R}:${E})`:P.includes(" ")?`@[${P}]`:`@${P}`,ce=R?Em[R]??"📄":"🤖";xe({label:`${ce} ${P}`,content:`${ae} `}),requestAnimationFrame(()=>{const We=cr.current;We&&(We.focus(),We.setSelectionRange(We.value.length,We.value.length))})},US=10*1024*1024,km=5,HS=new Set(["application/pdf","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.ms-excel","application/msword","text/csv","text/html","application/json","application/xml","text/xml","application/epub+zip"]),Fn=C.useCallback(P=>P.type.startsWith("image/")||HS.has(P.type),[]),rd=P=>P.dataUrl.startsWith("data:image/"),GS=(P,R)=>{if(rd({dataUrl:R}))return null;const E=P.split(".").pop()?.toLowerCase()??"";return{pdf:"📄",docx:"📝",doc:"📝",xlsx:"📊",xls:"📊",pptx:"📎",csv:"📊",json:"🔧",xml:"🔧",html:"🌐",epub:"📚"}[E]??"📁"},Vo=C.useCallback(P=>{const R=Array.from(P).filter(Fn);if(R.length!==0)for(const E of R){if(E.size>US)continue;const X=new FileReader;X.onload=()=>{const Y=X.result;Qh(oe=>oe.length>=km||oe.some(de=>de.dataUrl===Y)?oe:[...oe,{id:`img_${Date.now()}_${Math.random().toString(36).slice(2,6)}`,dataUrl:Y,name:E.name}])},X.readAsDataURL(E)}},[Fn]),KS=C.useCallback(P=>{Qh(R=>R.filter(E=>E.id!==P))},[]),JS=C.useCallback(P=>{const R=P.clipboardData?.files;if(R&&R.length>0){const E=Array.from(R).filter(Fn);E.length>0&&(P.preventDefault(),Vo(E))}},[Vo,Fn]),e_=C.useCallback(P=>{P.preventDefault();const R=P.dataTransfer?.files;R&&R.length>0&&Vo(Array.from(R).filter(Fn))},[Vo,Fn]),t_=C.useCallback(P=>{P.preventDefault()},[]),Zt=l.find(P=>P.id===be),vn=rs??(ie==="direct"?Zt?.teamId:void 0),Fo=!!(!v&&!T&&vn&&Cr.some(P=>P.id===vn)),Cm=!!(Fo&&!L&&(ge&&!pt||wt));we.current=Fo,C.useEffect(()=>{if(ee==="l2"){if(!Fo){I?.setKeyboardPane("l1");return}!L&&!ge&&!wt&&I?.setKeyboardPane("l1")}},[ee,Fo,L,ge,wt,I]);const Pm=C.useRef(ee);C.useEffect(()=>{if(t||v||!o)return;const P=Pm.current;if(Pm.current=ee,!(ee!=="l2"||P==="l2")){if(!vn){I?.setKeyboardPane("l1");return}pt?Et(!0):He(!0)}},[ee,t,v,o,vn,pt,I]);const id=e?.name??i("page.fallbackYou"),Tm=os[os.length-1],s_=Ms&&Tm?.sender==="agent",r_=Ch&&Tm?.sender==="agent",Qm=C.useMemo(()=>{if(ie!=="channel")return null;if(mt.startsWith("group:custom:")){const R=Qs.find(E=>E.channelKey===mt);return R?.members?new Set(R.members.filter(E=>E.type==="agent").map(E=>E.id)):null}if(!rs)return null;const P=Cr.find(R=>R.id===rs);return P?new Set(P.members.filter(R=>R.type==="agent").map(R=>R.id)):null},[ie,mt,rs,Cr,Qs]),$m=l.filter(P=>Qm?Qm.has(P.id):!0).filter(P=>P.name.toLowerCase().includes(om)),jm=kS.filter(P=>P.name.toLowerCase().includes(om)),Em={workflow:"⚙️",project:"📁",requirement:"📋",task:"✅",deliverable:"📦"},yn=C.useMemo(()=>[...$m.map(P=>({kind:"agent",agent:P})),...jm.map(P=>({kind:"entity",entity:P}))],[$m,jm]),nd=d.find(P=>P.id===Ut),od=Ut===e?.id||!Ut,dr=Qs.find(P=>P.channelKey===mt);C.useEffect(()=>{if(t||!mt.startsWith("group:custom:"))return;const P=Qs.find(R=>R.channelKey===mt);!P||P.members||K.groupChats.getById(P.id).then(R=>{R.chat.members&&No(E=>E.map(X=>X.id===P.id?{...X,members:R.chat.members}:X))}).catch(()=>{})},[t,mt,Qs]);const ad=C.useCallback(async()=>{if(t||ie!=="direct"||!be){Ah([]);return}try{qm("/approvals");const{approvals:P}=await K.approvals.list("pending");Ah(P.filter(R=>R.status==="pending"&&Array.isArray(R.questions)&&R.questions.length>0&&(R.details?.agentId??R.agentId)===be))}catch{}},[t,ie,be]),ld=C.useCallback(async()=>{if(t||ie!=="direct"||!be||!lt||lt===Tt){Lh([]);return}try{qm("/notifications");const{notifications:P}=await K.notifications.list(e?.id,!0,{type:"agent_report",limit:30}),R=P.filter(E=>!E.read&&E.type==="agent_report"&&!E.metadata?.creditExhausted&&E.metadata?.agentId===be&&AM(E)===lt).sort((E,X)=>new Date(X.createdAt).getTime()-new Date(E.createdAt).getTime()).slice(0,5);Lh(R),Dh(R.map(E=>E.metadata?.messageId).filter(E=>typeof E=="string"&&E.length>0))}catch{}},[t,ie,be,lt,e?.id]);C.useEffect(()=>{ad(),ld();let P=null;const R=()=>{P||(P=setTimeout(()=>{P=null,ad(),ld()},400))},E=yt.on("approval:requested",R),X=yt.on("notification",R),Y=()=>R();return window.addEventListener("markus:notifications-changed",Y),()=>{P&&clearTimeout(P),E(),X(),window.removeEventListener("markus:notifications-changed",Y)}},[ad,ld]);const i_=C.useCallback(async(P,R)=>{Hp(P);try{await K.approvals.respond(P,R.approved,e?.id,R.comment,R.selectedOption,R.answers),Ah(E=>E.filter(X=>X.id!==P)),Mh(null),window.dispatchEvent(new CustomEvent("markus:notifications-changed"))}catch{}Hp(null)},[e?.id]),n_=C.useCallback(async P=>{Gp(P);try{const R=ul.find(X=>X.id===P)??Bn,E=typeof R?.metadata?.messageId=="string"?R.metadata.messageId:null;await K.notifications.markRead(P),Lh(X=>X.filter(Y=>Y.id!==P)),E&&Dh(X=>X.filter(Y=>Y!==E)),Nh(null),window.dispatchEvent(new CustomEvent("markus:notifications-changed"))}catch{}Gp(null)},[ul,Bn]),Rm=ie==="channel"?dr?.name??mt:ie==="direct"?Zt?.name??i("page.selectAgent"):ie==="dm"?od?i("chat.myNotes"):nd?.name??i("page.directMessage"):i("page.chatTitle"),o_=C.useMemo(()=>Math.floor(Math.random()*5),[be,lt]),Am=be?i(`page.placeholder.directOptions.${o_}`):"",Yo=ie==="direct"&&!!Zt&&Zt.status==="offline",a_=ie==="channel"?dr?i("page.placeholder.channel",{name:dr.name}):i("page.placeholder.channelWithMention",{name:mt}):ie==="dm"?od?i("page.placeholder.dmSelf"):i("page.placeholder.dmOther",{name:nd?.name??""}):i(Yo?"page.placeholder.agentOffline":be?"page.placeholder.direct":"page.placeholder.noAgent"),l_=v&&p==="chat",Uo=w==="chat"&&os.length===0&&!Ms&&!cl,ur=w==="chat"&&os.length>0;jh.current=ur;const cd=!!(Mt.trim()||Us.length>0);return h.jsxs("div",{ref:Ct,className:"flex-1 overflow-hidden flex relative",children:[!T&&h.jsx(aw,{authUser:e,agents:l,teams:Cr,humans:d,tasks:pl,externalAgents:xS,groupChats:Qs,chatMode:ie,selectedAgent:be,activeChannel:mt,activeDmUserId:Ut,previewMode:t,onSelectAgent:P=>{gt("direct"),Yt(P),S("chat"),bs(!1),v&&_()},onSelectChannel:P=>{gt("channel"),ks(P),S("chat"),bs(!1),v&&_()},onSelectDm:P=>{gt("dm"),gs(P),S("chat"),bs(!1),v&&_()},onSelectTeam:P=>{const R=Qs.find(X=>X.type==="team"&&X.teamId===P),E=R?.channelKey??`group:${P}`;v?k(P):(gt("channel"),ks(E),S("chat"),bs(!1),!ge&&!pt&&He(!0),R||(zn(),Hs()))},selectedTeamId:rs??(ie==="direct"&&Zt?.teamId?Zt.teamId:null),onRefreshTeams:Hs,onRefreshAgents:hr,onRefreshHumans:Zo,onRefreshGroupChats:zn,onViewProfile:us,onManageGroupMembers:P=>{gt("channel"),ks(P),S("chat"),bs(!0),v&&_()},unreadByAgent:bl,unreadByChannel:xl,width:v?void 0:N.width,onResizeStart:v?void 0:N.onResizeStart,hidden:v&&p!=="roster"||!v&&L,onCollapse:()=>j(!0),initialLoading:f,focused:!v&&!L&&ee==="l1",l2Available:Fo}),v&&p==="team"&&x&&(()=>{const P=Cr.find(X=>X.id===x);if(!P)return null;const R=l.filter(X=>X.teamId===x),E=Qs.find(X=>X.type==="team"&&X.teamId===x);return h.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2 px-3 h-12 shrink-0 border-b border-border-default",children:[h.jsx("button",{onClick:()=>{window.location.hash=Kt.TEAM},className:"p-1.5 -ml-1 rounded-lg hover:bg-surface-overlay transition-colors shrink-0 text-fg-secondary",children:h.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("polyline",{points:"15 18 9 12 15 6"})})}),h.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-brand-500/15 flex items-center justify-center shrink-0",children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"text-brand-500",children:[h.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),h.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]})}),h.jsxs("div",{className:"min-w-0",children:[h.jsx("h3",{className:"text-sm font-semibold text-fg-primary truncate",children:P.name}),h.jsx("p",{className:"text-[10px] text-fg-tertiary",children:i("chat.members_other",{count:P.members?.length||R.length})})]})]})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto px-3 py-3 space-y-1",children:[E&&(()=>{const X=xl[E.channelKey]??0;return h.jsxs("button",{onClick:()=>{gt("channel"),ks(E.channelKey),S("chat"),_()},className:"w-full flex items-center gap-2.5 px-2.5 py-2.5 rounded-xl hover:bg-surface-overlay transition-colors",children:[h.jsx("div",{className:"w-9 h-9 rounded-xl bg-brand-500/15 flex items-center justify-center shrink-0",children:h.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"text-brand-500",children:h.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsx("div",{className:"text-sm font-medium text-fg-primary truncate",children:E.name}),h.jsx("div",{className:"text-[10px] text-fg-tertiary",children:i("chat.groupChat")})]}),X>0?h.jsx("span",{className:"min-w-[16px] h-[16px] flex items-center justify-center text-[9px] font-semibold text-white bg-red-500 rounded-full px-1 leading-none shrink-0",children:X}):h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-fg-tertiary shrink-0",children:h.jsx("polyline",{points:"9 18 15 12 9 6"})})]})})(),R.length>0&&h.jsxs(h.Fragment,{children:[h.jsx("p",{className:"text-[10px] font-semibold text-fg-muted uppercase tracking-wider px-2.5 pt-2",children:i("chat.agents")}),R.map(X=>{const Y=bl.get(X.id)??0,oe=X.status==="offline";return h.jsxs("button",{onClick:()=>{gt("direct"),Yt(X.id),S("chat"),_()},className:`w-full flex items-center gap-2.5 px-2.5 py-2.5 rounded-xl hover:bg-surface-overlay transition-colors ${oe?"opacity-50":""}`,children:[h.jsx(js,{name:X.name||"Agent",avatarUrl:X.avatarUrl,size:36}),h.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[h.jsxs("div",{className:"text-sm font-medium text-fg-primary truncate flex items-center gap-1.5",children:[X.name,oe&&h.jsx("span",{className:"text-[8px] px-1 py-0 rounded bg-gray-500/20 text-gray-400 font-medium leading-relaxed",children:i("common:status.offline")})]}),h.jsx("div",{className:"text-[10px] text-fg-tertiary truncate",children:X.role||X.status})]}),Y>0?h.jsx("span",{className:"min-w-[16px] h-[16px] flex items-center justify-center text-[9px] font-semibold text-white bg-red-500 rounded-full px-1 leading-none shrink-0",children:Y}):h.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${X.status==="idle"?"bg-green-500":X.status==="working"?"bg-blue-500":"bg-gray-400"}`})]},X.id)})]})]})]})})(),!T&&ge&&!pt&&!v&&!L&&(()=>{const P=rs??(ie==="direct"?Zt?.teamId:void 0);if(!P)return null;const R=Cr.find(X=>X.id===P);if(!R)return null;const E=Qs.find(X=>X.type==="team"&&X.teamId===P);return h.jsx(Jm,{team:R,agents:l,humans:d,authUser:e,groupChat:E,chatMode:ie,selectedAgent:be,activeChannel:mt,activeDmUserId:Ut,teams:Cr,onSelectAgent:X=>{gt("direct"),Yt(X),S("chat"),bs(!1)},onSelectChannel:X=>{gt("channel"),ks(X),S("chat"),bs(!1)},onSelectDm:X=>{gt("dm"),gs(X),S("chat"),bs(!1)},onBack:()=>He(!1),onViewProfile:us,onRefreshAgents:hr,onRefreshTeams:Hs,unreadByAgent:bl,width:nt.width,onResizeStart:nt.onResizeStart,focused:ee==="l2"&&Cm})})(),!T&&wt&&!v&&!L&&(()=>{if(!vn)return null;const P=Cr.find(E=>E.id===vn);if(!P)return null;const R=Qs.find(E=>E.type==="team"&&E.teamId===vn);return h.jsxs("div",{"data-l2-floating":!0,className:"absolute z-30 inset-0",style:{left:N.width+6},children:[h.jsx("div",{className:"absolute inset-0 bg-black/20",onClick:()=>Et(!1)}),h.jsx("div",{className:"relative h-full",style:{width:nt.width+8},children:h.jsx(Jm,{team:P,agents:l,humans:d,authUser:e,groupChat:R,chatMode:ie,selectedAgent:be,activeChannel:mt,activeDmUserId:Ut,teams:Cr,onSelectAgent:E=>{gt("direct"),Yt(E),S("chat"),bs(!1),Et(!1)},onSelectChannel:E=>{gt("channel"),ks(E),S("chat"),bs(!1),Et(!1)},onSelectDm:E=>{gt("dm"),gs(E),S("chat"),bs(!1),Et(!1)},onBack:()=>Et(!1),onViewProfile:E=>{us(E),Et(!1)},onRefreshAgents:hr,onRefreshTeams:Hs,unreadByAgent:bl,width:nt.width,focused:ee==="l2"&&Cm})})]})})(),!T&&(!v||l_)&&h.jsxs("div",{className:`flex-1 overflow-hidden flex flex-col ${v||Z?"min-w-0":"min-w-[400px]"}`,children:[h.jsxs("div",{className:"shrink-0 relative pb-2",children:[v?h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center px-3 h-11 gap-2",children:[h.jsx("button",{onClick:()=>{window.location.hash=y.current},className:"text-fg-secondary hover:text-fg-primary transition-colors p-1 -ml-1 shrink-0",children:h.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("polyline",{points:"15 18 9 12 15 6"})})}),h.jsx("span",{className:"font-semibold text-sm truncate min-w-0 flex-1",children:Rm}),ie==="direct"&&Zt&&h.jsx(Tx,{agent:Zt,tasks:pl,onViewProfile:us,streamActive:zp})]}),h.jsxs("div",{className:"flex items-center px-3 h-9 gap-1 border-t border-border-default/40",children:[h.jsx("button",{onClick:()=>{fi(w)?history.back():S("chat")},className:`px-2.5 py-1 text-xs font-medium rounded-md transition-colors ${w==="chat"?"bg-brand-500/15 text-brand-500":"text-fg-tertiary"}`,children:i("page.chatTitle")}),h.jsx("button",{onClick:()=>{fi(w)||vr()},className:`px-2.5 py-1 text-xs font-medium rounded-md transition-colors ${fi(w)?"bg-brand-500/15 text-brand-500":"text-fg-tertiary"}`,children:i(ie==="channel"?"page.teamTab":"page.profileTab")}),h.jsx("div",{className:"flex-1"}),h.jsx("button",{onClick:()=>{Io(!fn),fn||(Wn(""),Di([]))},className:`p-1 rounded-md transition-colors shrink-0 ${fn?"bg-brand-500/15 text-brand-500":"text-fg-tertiary"}`,children:h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})})}),ie==="channel"&&dr?.type==="custom"&&h.jsxs("button",{onClick:()=>bs(!Do),className:`text-[11px] px-2 py-1 rounded-md font-medium shrink-0 flex items-center gap-1 ${Do?"bg-brand-500/15 text-brand-500":"text-fg-tertiary"}`,children:[h.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),h.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),dr.members?.length??dr.memberCount??0]}),ie==="direct"&&!fi(w)&&h.jsxs(h.Fragment,{children:[h.jsx("button",{onClick:sd,className:"text-[11px] text-brand-500 px-2 py-1 rounded-md bg-brand-500/10 font-medium shrink-0",children:i("page.newChatPlus")}),h.jsx("button",{ref:fl,onClick:()=>un(!dn),className:`p-1 rounded-md transition-colors shrink-0 ${dn?"bg-surface-overlay text-fg-primary":"text-fg-tertiary"}`,title:i("page.historyTitle"),children:h.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"})})})]})]})]}):(()=>{const P=rs?Cr.find(ce=>ce.id===rs):void 0,R=ie==="direct"&&be?MM:ie==="channel"&&rs?LM:["chat"],E=async()=>{const ce=$o.trim();if(!ce){Dn(!1);return}try{ie==="direct"&&be?(await K.agents.updateConfig(be,{name:ce}),hr()):ie==="channel"&&rs&&(await K.teams.update(rs,{name:ce}),Hs())}catch{}Dn(!1)},X=async()=>{try{ie==="direct"&&be?(await K.agents.updateConfig(be,{roleDescription:Ri}),hr()):ie==="channel"&&rs&&(await K.teams.update(rs,{description:Ri}),Hs())}catch{}Lr(!1)},Y=ie==="direct"?Zt?.name:ie==="channel"?P?.name??dr?.name:nd?.name??"",oe=ie==="direct"?Zt?.role||"":ie==="channel"&&P?.description||"",de=ie==="direct"?Zt?.avatarUrl:void 0,Se=Y||"U",ae=ie==="direct"&&be||ie==="channel"&&rs;return h.jsxs("div",{className:"flex flex-col",children:[h.jsxs("div",{"data-electron-drag":!0,className:"flex items-center px-4 h-14 gap-2.5",children:[L&&!v&&h.jsx("button",{onClick:()=>j(!1),className:"w-8 h-8 flex items-center justify-center rounded-lg transition-colors shrink-0 text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated",title:i("page.toggleSidebar"),children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),h.jsx("line",{x1:"9",y1:"3",x2:"9",y2:"21"})]})}),(!ge||pt)&&(ie==="channel"&&rs||ie==="direct"&&Zt?.teamId)&&h.jsx("button",{onClick:Pt,className:`w-8 h-8 flex items-center justify-center rounded-lg transition-colors shrink-0 ${wt?"bg-brand-500/15 text-brand-500":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,title:"Toggle team panel",children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),h.jsx("line",{x1:"9",y1:"3",x2:"9",y2:"21"})]})}),ae&&h.jsx("div",{"data-no-drag":!0,className:"shrink-0",children:ie==="channel"&&rs?h.jsx("div",{className:"w-9 h-9 rounded-xl bg-brand-600 text-white flex items-center justify-center text-sm font-bold",children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),h.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]})}):h.jsx(js,{name:Se,avatarUrl:de,size:36,className:"rounded-xl shrink-0"})}),ae?h.jsxs("div",{"data-no-drag":!0,className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[Ei?h.jsx("input",{ref:or,value:$o,onChange:ce=>nn(ce.target.value),onBlur:E,onKeyDown:ce=>{ce.key==="Enter"&&E(),ce.key==="Escape"&&Dn(!1)},className:"text-sm font-semibold bg-transparent border-b border-brand-500 outline-none py-0 px-0 min-w-[80px] max-w-[240px]",autoFocus:!0}):h.jsx("span",{className:"text-sm font-semibold truncate cursor-pointer hover:text-brand-500 transition-colors",onClick:()=>{nn(Y??""),Dn(!0)},title:"Click to edit name",children:Y}),ie==="direct"&&Zt&&h.jsx(Tx,{agent:Zt,tasks:pl,onViewProfile:us,streamActive:zp})]}),(ie==="direct"||ie==="channel"&&rs)&&(wh?h.jsx("input",{ref:sl,value:Ri,onChange:ce=>on(ce.target.value),onBlur:X,onKeyDown:ce=>{ce.key==="Enter"&&X(),ce.key==="Escape"&&Lr(!1)},className:"text-[11px] text-fg-tertiary bg-transparent border-b border-brand-500/50 outline-none py-0 px-0 w-full max-w-[400px] mt-0.5",placeholder:"Add description...",autoFocus:!0}):h.jsx("div",{className:"text-[11px] text-fg-tertiary truncate cursor-pointer hover:text-fg-secondary transition-colors mt-0.5",onClick:()=>{on(oe),Lr(!0)},title:"Click to edit description",children:oe||"No description"}))]}):h.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[h.jsx("span",{className:"font-semibold text-sm truncate",children:Rm}),ie==="dm"&&h.jsx("span",{className:"text-xs text-fg-tertiary",children:od?i("page.privateNotepad"):""})]}),h.jsxs("div",{"data-no-drag":!0,className:"ml-auto flex items-center gap-2 shrink-0",children:[h.jsx("button",{onClick:()=>{Io(!fn),fn||(Wn(""),Di([]))},className:`p-1.5 rounded-md transition-colors ${fn?"bg-brand-500/15 text-brand-500":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,title:i("page.searchMessages"),children:h.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})})}),ie==="channel"&&dr?.type==="custom"&&h.jsxs("button",{onClick:()=>bs(!Do),className:`text-xs px-2.5 py-1 rounded-md border transition-colors flex items-center gap-1.5 ${Do?"bg-brand-500/15 text-brand-500 border-brand-500/30":"text-fg-secondary hover:text-fg-primary border-border-default hover:bg-surface-elevated"}`,children:[h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),h.jsx("circle",{cx:"9",cy:"7",r:"4"}),h.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),h.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),dr.members?.length??dr.memberCount??0]}),ie==="direct"&&Zt&&w==="chat"&&h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("button",{onClick:sd,className:"text-xs text-brand-500 hover:text-brand-500 px-2.5 py-1 rounded-md hover:bg-brand-500/10 border border-brand-500/20 transition-colors flex items-center gap-1",children:i("page.newChatButton")}),h.jsx("button",{ref:fl,onClick:()=>un(!dn),className:`p-1.5 rounded-md transition-colors ${dn?"bg-surface-overlay text-fg-primary":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,title:i("page.historyTitle"),children:h.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"})})})]}),!v&&I&&h.jsx("button",{onClick:()=>I.toggleRightPanel(),className:`p-1.5 rounded-md transition-colors ${Z?"bg-brand-500/15 text-brand-500":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,title:i("page.rightPanelToggle",{defaultValue:"Toggle side panel"}),children:h.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:[h.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),h.jsx("path",{d:"M15 4v16"})]})})]})]}),R.length>1&&h.jsx("div",{className:"flex items-center gap-1 px-4 pb-1.5 overflow-x-auto scrollbar-hide",children:R.map(ce=>h.jsxs("button",{onClick:()=>S(ce),className:`px-3 py-1.5 text-xs font-medium rounded-md transition-colors whitespace-nowrap flex items-center gap-1 ${w===ce?"bg-brand-500/15 text-brand-500":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated/50"}`,children:[h.jsx("span",{children:DM(ce)}),NM(ce,i)]},ce))})]})})(),fn&&h.jsxs("div",{className:"border-b border-border-default bg-surface-secondary/50 px-4 py-2 space-y-2 animate-in slide-in-from-top-2 duration-200",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs("div",{className:"flex-1 relative",children:[h.jsx("svg",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-fg-tertiary",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})}),h.jsx("input",{autoFocus:!0,value:em,onChange:P=>VS(P.target.value),onKeyDown:P=>{P.key==="Escape"&&(Io(!1),Wn(""),Di([]))},placeholder:i("page.searchPlaceholder"),className:"w-full pl-8 pr-3 py-1.5 text-xs bg-surface-primary border border-border-default rounded-lg outline-none focus:border-brand-500/50 transition-colors"})]}),h.jsx("button",{onClick:()=>{Io(!1),Wn(""),Di([])},className:"text-fg-tertiary hover:text-fg-secondary text-xs px-1",children:"✕"})]}),tm&&h.jsxs("div",{className:"flex items-center gap-2 text-xs text-fg-tertiary py-1",children:[h.jsxs("svg",{className:"animate-spin h-3 w-3",viewBox:"0 0 24 24",fill:"none",children:[h.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),h.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),i("page.searching")]}),!tm&&em.length>=2&&Wh.length===0&&h.jsx("div",{className:"text-xs text-fg-tertiary py-1",children:i("page.noSearchResults")}),Wh.length>0&&h.jsx("div",{className:"max-h-60 overflow-y-auto space-y-0.5",children:Wh.map(P=>h.jsxs("button",{onClick:()=>FS(P),className:"w-full text-left px-3 py-2 rounded-lg hover:bg-surface-elevated transition-colors group",children:[h.jsxs("div",{className:"flex items-center gap-2 text-[11px] text-fg-tertiary mb-0.5",children:[h.jsx("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium ${P.source==="channel"?"bg-blue-500/10 text-blue-500":"bg-emerald-500/10 text-emerald-500"}`,children:P.source==="channel"?"#":"1:1"}),P.senderName&&h.jsx("span",{children:P.senderName}),h.jsx("span",{children:new Date(P.createdAt).toLocaleDateString(void 0,{month:"short",day:"numeric"})})]}),h.jsx("div",{className:"text-xs text-fg-secondary line-clamp-2 group-hover:text-fg-primary transition-colors",children:P.text.length>200?P.text.slice(0,200)+"…":P.text})]},P.id))})]}),ie==="direct"&&be&&w==="chat"&&Lo.length>1&&h.jsx("div",{className:"flex items-center gap-0 px-3 overflow-x-auto scrollbar-hide",children:Lo.map(P=>h.jsxs("div",{className:`group flex items-center gap-1.5 px-3 py-1.5 text-xs cursor-pointer rounded-md transition-colors shrink-0 max-w-[180px] ${P.id===lt?"text-brand-500 bg-brand-500/10":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated/50"}`,onClick:()=>{if(P.id===Tt){Ir(Tt),In(null);const R=at.current;W(R),Cs([])}else Cl(P)},children:[P.isMain&&h.jsx("span",{className:"text-[10px] opacity-50 shrink-0",children:"●"}),h.jsx("span",{className:"truncate",children:P.id===Tt?i("page.newChat"):P.isMain?i("page.sessionMain"):P.title||i("page.sessionConversation")}),!P.isMain&&h.jsx("button",{onClick:R=>{R.stopPropagation(),ZS(P.id)},className:"opacity-0 group-hover:opacity-100 text-fg-tertiary hover:text-fg-secondary transition-opacity shrink-0",children:"✕"})]},P.id))}),ie==="direct"&&w==="chat"&&(Lo.find(P=>P.id===lt)??Rh.find(P=>P.id===lt))?.metadata?.kind==="evolution"&&h.jsx("div",{className:"px-4 py-1.5 text-[11px] text-fg-tertiary border-b border-border-default bg-surface-secondary/40",children:i("page.messageActions.evolvedFrom")}),ie==="channel"&&dr?.type==="custom"&&Do&&(()=>{const P=dr,R=P.members??[],E=[];for(const X of l)R.some(Y=>Y.id===X.id)||E.push({id:X.id,name:X.name,type:"agent",subtitle:X.role||"Agent"});for(const X of d)R.some(Y=>Y.id===X.id)||E.push({id:X.id,name:X.name,type:"human",subtitle:X.email||X.role||""});return h.jsxs("div",{className:"bg-surface-secondary/80 px-4 py-3 flex flex-col gap-2",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("span",{className:"text-xs font-semibold text-fg-secondary",children:[i("page.members")," (",R.length,")"]}),h.jsx("button",{onClick:()=>bs(!1),className:"text-fg-tertiary hover:text-fg-secondary text-xs",children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),h.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),h.jsx("div",{className:"flex flex-wrap gap-1.5",children:R.map(X=>h.jsxs("span",{className:`inline-flex items-center gap-1.5 px-2 py-1 rounded-full text-[11px] font-medium ${X.type==="agent"?"bg-brand-500/10 text-brand-500":"bg-green-500/10 text-green-600"}`,children:[h.jsx(js,{name:X.name,size:16,bgClass:X.type==="agent"?"bg-brand-500/15 text-brand-500":"bg-green-500/15 text-green-600"}),X.name,X.id!==e?.id&&h.jsx("button",{onClick:async()=>{try{await K.groupChats.removeMember(P.id,X.id),No(Y=>Y.map(oe=>oe.id===P.id?{...oe,members:(oe.members??[]).filter(de=>de.id!==X.id),memberCount:(oe.memberCount??1)-1}:oe))}catch{}},className:"ml-0.5 hover:text-red-500 transition-colors",title:i("common:remove"),children:h.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),h.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},X.id))}),E.length>0&&h.jsx("div",{className:"mt-1",children:h.jsxs("select",{className:"w-full bg-surface-primary border border-border-default rounded-lg px-2.5 py-1.5 text-xs text-fg-primary outline-none focus:ring-1 focus:ring-brand-500/50",value:"",onChange:async X=>{const Y=X.target.value;if(!Y)return;const oe=E.find(de=>de.id===Y);if(oe)try{await K.groupChats.addMember(P.id,oe.id,oe.type,oe.name),No(de=>de.map(Se=>Se.id===P.id?{...Se,members:[...Se.members??[],{id:oe.id,name:oe.name,type:oe.type}],memberCount:(Se.memberCount??0)+1}:Se))}catch{}},children:[h.jsx("option",{value:"",children:i("page.addMemberPlaceholder")}),E.map(X=>h.jsxs("option",{value:X.id,children:["[",X.type==="agent"?"Agent":"Human","] ",X.name]},X.id))]})})]})})(),ie==="direct"&&be&&dn&&h.jsxs("div",{ref:Ih,className:"absolute right-4 top-full mt-1 w-72 max-h-[420px] bg-surface-secondary border border-border-default rounded-xl shadow-2xl shadow-black/40 z-50 flex flex-col overflow-hidden",children:[h.jsxs("div",{className:"px-4 py-3 border-b border-border-default flex items-center justify-between",children:[h.jsx("span",{className:"text-xs font-semibold text-fg-secondary uppercase tracking-wider",children:i("page.historyTitle")}),h.jsx("button",{onClick:()=>un(!1),className:"text-fg-tertiary hover:text-fg-secondary text-xs",children:"✕"})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-2",children:[Rh.length===0&&h.jsx("div",{className:"text-xs text-fg-tertiary text-center py-6",children:i("page.noConversationsYet")}),(()=>{const P=new Date,R=new Date(P.getFullYear(),P.getMonth(),P.getDate()).getTime(),E=R-864e5,X=R-7*864e5,Y=[],oe=[],de=[],Se=[],ae=[];for(const ce of Rh){const We=new Date(ce.lastMessageAt).getTime();We>=R?oe.push(ce):We>=E?de.push(ce):We>=X?Se.push(ce):ae.push(ce)}return oe.length>0&&Y.push({label:i("page.dateToday"),items:oe}),de.length>0&&Y.push({label:i("page.dateYesterday"),items:de}),Se.length>0&&Y.push({label:i("page.datePrevious7Days"),items:Se}),ae.length>0&&Y.push({label:i("page.dateOlder"),items:ae}),Y.map(ce=>h.jsxs("div",{className:"mb-2",children:[h.jsx("div",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider px-3 py-1.5",children:ce.label}),ce.items.map(We=>h.jsxs("button",{onClick:()=>{Cl(We)},className:`w-full text-left px-3 py-2.5 rounded-lg text-xs mb-0.5 transition-colors ${We.id===lt?"bg-brand-600/20 text-brand-500":"text-fg-secondary hover:bg-surface-elevated"}`,children:[h.jsxs("div",{className:"truncate font-medium flex items-center gap-1",children:[We.isMain&&h.jsx("span",{className:"text-[10px] text-brand-500 opacity-80",children:"●"}),We.isMain?i("page.sessionMain"):We.title||i("page.sessionConversation")]}),h.jsx("div",{className:"text-fg-tertiary text-[10px] mt-0.5",children:new Date(We.lastMessageAt).toLocaleString()})]},We.id))]},ce.label))})()]})]})]}),v&&w==="profile"&&ie==="direct"&&be&&h.jsx("div",{className:"flex-1 overflow-y-auto",children:h.jsx(ax,{agentId:be,onBack:()=>S("chat"),inline:!0,defaultTab:Qo,highlightMailboxId:ji,onSwipeBack:()=>{fi(Q.current)?history.back():S("chat")},authUser:e})}),v&&w==="profile"&&ie==="channel"&&rs&&h.jsx("div",{className:"flex-1 overflow-y-auto",onTouchStart:v?Nr.onTouchStart:void 0,onTouchEnd:v?Nr.onTouchEnd:void 0,children:h.jsx(kx,{teamId:rs,onBack:()=>S("chat"),inline:!0,onSelectAgent:P=>{gt("direct"),Yt(P),S("chat")}})}),!v&&fi(w)&&ie==="direct"&&be&&h.jsx("div",{className:"flex-1 overflow-y-auto",children:h.jsx(ax,{agentId:be,onBack:()=>S("chat"),inline:!0,headless:!0,activeTab:w,highlightMailboxId:ji,authUser:e})}),!v&&fi(w)&&ie==="channel"&&rs&&h.jsx("div",{className:"flex-1 flex flex-col min-h-0",children:h.jsx(kx,{teamId:rs,onBack:()=>S("chat"),inline:!0,headless:!0,activeTab:w,onSelectAgent:P=>{gt("direct"),Yt(P),S("chat")}})}),h.jsxs("div",{className:`flex-1 overflow-hidden flex flex-col relative ${Uo?"justify-center":""} ${w!=="chat"?"hidden":""}`,children:[cl&&os.length===0&&h.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-3",children:[h.jsxs("svg",{className:"animate-spin h-6 w-6 text-brand-400",viewBox:"0 0 24 24",fill:"none",children:[h.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),h.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),h.jsx("span",{className:"text-xs text-fg-tertiary animate-pulse",children:i("page.loadingChat",{defaultValue:"Loading conversation…"})})]}),Th&&h.jsxs("div",{className:"absolute top-0 left-0 right-0 z-10 flex justify-center items-center gap-2 py-2 bg-gradient-to-b from-surface-primary/90 to-transparent pointer-events-none",children:[h.jsxs("svg",{className:"animate-spin h-3.5 w-3.5 text-brand-400",viewBox:"0 0 24 24",fill:"none",children:[h.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),h.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),h.jsx("span",{className:"text-xs text-fg-tertiary",children:i("page.loadingEarlierMessages")})]}),h.jsxs("div",{ref:qn,className:`${Uo?"hidden":"flex-1"} overflow-y-auto scrollbar-thin ${v?"p-2.5":`p-5 ${A}`}`,onScroll:MS,onTouchStart:v?Nr.onTouchStart:void 0,onTouchEnd:v?Nr.onTouchEnd:void 0,children:[os.length>0&&h.jsx("div",{style:{height:ci.getTotalSize(),width:"100%",position:"relative"},children:ci.getVirtualItems().map(P=>{const R=P.index,E=os[R],X=R>0?os[R-1]:null,Y=zm(E.rawCreatedAt),oe=X?zm(X.rawCreatedAt):"",de=!!(Y&&oe&&Y!==oe),Se=R===os.length-1,ce=s_&&Se&&Ms||!!E.isStreaming,We=r_&&Se||ce,Ze=ie==="channel"||!ce||E.isStopped;return h.jsx("div",{"data-index":R,ref:ci.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${P.start}px)`},children:h.jsxs("div",{className:"pb-3",children:[de&&h.jsxs("div",{className:"flex items-center gap-3 py-2 my-1",children:[h.jsx("div",{className:"flex-1 h-px bg-border-default"}),h.jsx("span",{className:"text-[10px] text-fg-tertiary font-medium uppercase tracking-wider shrink-0",children:P_(E.rawCreatedAt,a)}),h.jsx("div",{className:"flex-1 h-px bg-border-default"})]}),h.jsxs("div",{id:`msg-${E.id}`,className:"group/msg flex gap-3 transition-colors rounded-lg",children:[ie==="channel"?h.jsx("div",{className:"shrink-0 cursor-pointer",onClick:Ie=>{if(E.sender==="agent"&&E.agentId){const Te=Ie.currentTarget.getBoundingClientRect();si({agentId:E.agentId,top:Te.top,left:Te.right+8})}},children:h.jsx(js,{name:E.sender==="user"?id:E.agentName??i("page.fallbackAgent"),avatarUrl:E.sender==="user"?e?.avatarUrl:l.find(Ie=>Ie.id===E.agentId)?.avatarUrl,size:32,bgClass:E.sender==="user"?"bg-brand-600":"bg-brand-500/15 text-brand-600",className:E.sender==="agent"?"hover:ring-1 hover:ring-brand-500/40 rounded-lg":"rounded-lg"})}):h.jsx("div",{className:"shrink-0",children:h.jsx(js,{name:E.sender==="user"?id:E.agentName??(ie==="direct"?Zt?.name??i("page.fallbackAgent"):i("page.fallbackAgent")),avatarUrl:E.sender==="user"?e?.avatarUrl:l.find(Ie=>Ie.id===(E.agentId??(ie==="direct"?Zt?.id:void 0)))?.avatarUrl,size:32,bgClass:E.sender==="user"?"bg-brand-600":"bg-brand-500/15 text-brand-600",className:"rounded-lg"})}),h.jsxs("div",{className:"min-w-0 flex-1",children:[h.jsxs("div",{className:"flex items-baseline gap-2",children:[h.jsx("span",{className:"text-sm font-medium text-fg-primary",children:E.sender==="user"?id:ie==="channel"?E.agentName??i("page.fallbackAgent"):h.jsx(T_,{name:E.agentName??(ie==="direct"?Zt?.name??i("page.fallbackAgent"):i("page.fallbackAgent")),agentId:E.agentId??(ie==="direct"?Zt?.id:void 0),agents:l,onViewProfile:us})}),h.jsx("span",{className:"text-xs text-fg-tertiary",title:E.rawCreatedAt?new Date(E.rawCreatedAt).toLocaleString():"",children:Q_(E.time,E.rawCreatedAt,a)})]}),E.replyToId&&E.replyToSender&&h.jsxs("button",{onClick:()=>{const Ie=document.getElementById(`msg-${E.replyToId}`);Ie&&(Ie.scrollIntoView({behavior:"smooth",block:"center"}),Ie.classList.add("bg-brand-500/10"),setTimeout(()=>Ie.classList.remove("bg-brand-500/10"),1500))},className:"flex items-center gap-1.5 mt-0.5 mb-1 pl-2 py-0.5 border-l-2 border-brand-500/40 text-xs text-fg-tertiary hover:text-fg-secondary transition-colors cursor-pointer",children:[h.jsx("span",{className:"font-medium text-brand-500",children:E.replyToSender}),h.jsx("span",{className:"truncate max-w-[250px]",children:E.replyToText??"..."})]}),h.jsxs("div",{className:`mt-0.5 ${E.sender==="agent"?"py-1":"bg-surface-secondary rounded-2xl px-3.5 py-2.5 w-fit max-w-full"} ${We&&E.sender==="agent"?"streaming-bubble":""}`,children:[E.sender==="user"?h.jsxs("div",{className:"text-sm text-fg-secondary whitespace-pre-wrap",children:[E.images&&E.images.length>0&&h.jsx("div",{className:"flex flex-wrap gap-1.5 mb-1",children:E.images.map((Ie,Te)=>h.jsx("img",{src:Ie,alt:"",className:"max-w-[200px] max-h-[150px] rounded-lg object-cover cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>Yp(Ie)},Te))}),ie==="channel"?Vm(E.text,l,(Ie,Te)=>{const dt=Te.currentTarget.getBoundingClientRect();si({agentId:Ie.id,top:dt.bottom,left:dt.left})}):E.text&&h.jsx("span",{className:"leading-relaxed",children:Vm(E.text,l,(Ie,Te)=>{const dt=Te.currentTarget.getBoundingClientRect();si({agentId:Ie.id,top:dt.bottom,left:dt.left})})})]}):E.sender==="agent"&&ie==="channel"&&!(E.segments&&E.segments.length>0)?h.jsx(Zm,{resetKeys:[E.text],fallback:h.jsx("div",{className:"whitespace-pre-wrap break-words text-sm text-fg-secondary",children:E.text}),children:h.jsx(Oa,{content:E.text,className:"text-sm text-fg-secondary",onMentionClick:Eo,knownNames:rl})}):h.jsx(Zm,{resetKeys:[E.id,E.text,E.segments?.length,ce],fallback:h.jsx("div",{className:"whitespace-pre-wrap break-words text-sm text-fg-secondary",children:E.text}),children:h.jsx($_,{msg:E,isStreaming:ce,liveActivities:ce?kh:[],onMentionClick:Eo,knownNames:rl})}),E.isNotification&&h.jsx(j_,{priority:E.notifyPriority})]}),Ze&&!t&&h.jsx("div",{className:`transition-opacity ${E.isStopped||E.isError||E.emptyReply||v?"opacity-100":"opacity-0 group-hover/msg:opacity-100"}`,children:h.jsx(E_,{msg:E,onCopy:BS,onRetry:WS,onResume:XS,onReply:qS,onRemember:ie==="direct"?Jh:void 0,showRemember:ie==="direct",isCopied:DS===E.id,isLastAgentMsg:E.id===IS})})]})]})]})},E.id)})}),ie==="channel"&&Wt.length>0&&h.jsx("div",{className:"flex flex-col gap-1.5 py-2",children:Wt.map(P=>h.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-1.5 rounded-lg cursor-pointer hover:bg-surface-elevated/60 transition-colors group/think",onClick:()=>{gt("direct"),Yt(P.id),S("chat")},children:[h.jsxs("div",{className:"relative shrink-0",children:[h.jsx(js,{name:P.name,avatarUrl:P.avatarUrl,size:28,bgClass:"bg-brand-500/15 text-brand-600"}),h.jsx("span",{className:"absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 rounded-full bg-blue-500 animate-pulse ring-2 ring-surface-primary"})]}),h.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[h.jsx("span",{className:"text-sm font-medium text-fg-secondary truncate",children:P.name}),h.jsxs("span",{className:"flex items-center gap-0.5",children:[h.jsx("span",{className:"w-1 h-1 rounded-full bg-blue-400 animate-bounce"}),h.jsx("span",{className:"w-1 h-1 rounded-full bg-blue-400 animate-bounce",style:{animationDelay:"0.15s"}}),h.jsx("span",{className:"w-1 h-1 rounded-full bg-blue-400 animate-bounce",style:{animationDelay:"0.3s"}})]}),h.jsx("span",{className:"text-xs text-fg-tertiary",children:i("page.agentThinking")})]}),h.jsx("span",{className:"ml-auto text-[10px] text-fg-tertiary opacity-0 group-hover/think:opacity-100 transition-opacity",children:"→"})]},P.id))}),h.jsx("div",{ref:TS})]}),RS&&w==="chat"&&h.jsx("div",{className:`flex justify-center ${v?"px-3":`px-5 ${A}`} shrink-0 ${v?"pb-1 pt-0":"pb-1"}`,children:h.jsx("div",{className:`${v?"":"max-w-3xl mx-auto"} flex justify-center`,children:h.jsxs("button",{onClick:()=>{li(),hi("smooth"),ai(!1),Ii.current=0,mn(0)},className:"pointer-events-auto flex items-center gap-1.5 px-3.5 py-2 bg-surface-secondary/95 backdrop-blur-sm border border-border-default rounded-full shadow-lg hover:bg-surface-elevated transition-colors text-xs text-fg-secondary",children:[h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("polyline",{points:"6 9 12 15 18 9"})}),fm>0?i("page.newMessages",{count:fm}):i("page.scrollToBottom")]})})}),rn&&(()=>{const P=l.find(R=>R.id===rn.agentId);return P?h.jsx(R_,{agent:P,anchorRect:{top:rn.top,left:rn.left},onClose:()=>si(null),onViewProfile:us}):null})(),Uo&&Am&&h.jsx("div",{className:"text-center mb-4",children:h.jsx("h2",{className:"text-xl font-semibold text-fg-primary",children:Am})}),ie==="direct"&&(Up.length>0||ul.length>0)&&h.jsx("div",{className:`${v?"px-3":"px-5"} pb-1 shrink-0 ${Uo?"":A}`,children:h.jsxs("div",{className:`${v?"":"max-w-3xl mx-auto"} flex flex-col gap-1.5`,children:[Up.map(P=>h.jsxs("button",{onClick:()=>Mh(P),className:"w-full text-left px-3.5 py-2.5 rounded-xl border border-amber-500/40 bg-amber-500/10 hover:bg-amber-500/15 transition-colors flex items-center gap-3",children:[h.jsx("span",{className:"w-8 h-8 rounded-lg bg-amber-500/20 text-amber-500 flex items-center justify-center shrink-0",children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20z"}),h.jsx("path",{d:"M12 8v4"}),h.jsx("path",{d:"M12 16h.01"})]})}),h.jsxs("span",{className:"flex-1 min-w-0",children:[h.jsx("span",{className:"block text-sm font-medium text-fg-primary truncate",children:P.title}),h.jsx("span",{className:"block text-xs text-fg-tertiary truncate",children:i("page.userInputPrompt",{count:P.questions?.length??1,defaultValue:`${P.questions?.length??1} question(s) awaiting your response`})})]}),h.jsxs("span",{className:"text-xs font-medium text-amber-500 shrink-0 inline-flex items-center gap-1",children:[i("page.userInputRespond",{defaultValue:"Respond"}),h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M9 18l6-6-6-6"})})]})]},P.id)),ul.map(P=>{const R=P.priority==="high"||P.priority==="urgent";return h.jsxs("button",{onClick:()=>Nh(P),className:`w-full text-left px-3.5 py-2.5 rounded-xl border transition-colors flex items-center gap-3 ${R?"border-amber-500/40 bg-amber-500/10 hover:bg-amber-500/15":"border-blue-500/40 bg-blue-500/10 hover:bg-blue-500/15"}`,children:[h.jsx("span",{className:`w-8 h-8 rounded-lg flex items-center justify-center shrink-0 ${R?"bg-amber-500/20 text-amber-500":"bg-blue-500/20 text-blue-500"}`,children:h.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),h.jsx("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})]})}),h.jsxs("span",{className:"flex-1 min-w-0",children:[h.jsx("span",{className:"block text-sm font-medium text-fg-primary truncate",children:P.title}),h.jsx("span",{className:"block text-xs text-fg-tertiary truncate",children:P.body?.replace(/\s+/g," ").trim()||i("page.notifyUserPrompt",{defaultValue:"Agent notification awaiting your attention"})})]}),h.jsxs("span",{className:`text-xs font-medium shrink-0 inline-flex items-center gap-1 ${R?"text-amber-500":"text-blue-500"}`,children:[i("page.notifyUserView",{defaultValue:"View"}),h.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:h.jsx("path",{d:"M9 18l6-6-6-6"})})]})]},P.id)})]})}),Mo&&h.jsx(A_,{approval:Mo,submitting:mS===Mo.id,readOnly:Mo.status!=="pending",onClose:()=>Mh(null),onSubmit:P=>i_(Mo.id,P)}),Bn&&h.jsx(tw,{notification:Bn,agentName:Zt?.name,acknowledging:gS===Bn.id,onClose:()=>Nh(null),onAcknowledge:()=>n_(Bn.id)}),kl&&h.jsx(_o,{variant:"primary",title:i("page.retry",{defaultValue:"Retry"}),message:kl.followCount===1?i("page.retryConfirmSingular"):i("page.retryConfirmPlural",{count:kl.followCount}),confirmLabel:i("common:confirm"),onConfirm:()=>{const P=kl;ed(null),td(P.retryMsg,P.userMsg,P.retryText)},onCancel:()=>ed(null)}),xn&&h.jsx(M_,{busy:bm,onConfirm:P=>{zS(P)},onCancel:()=>{bm||Jh(null)}}),h.jsx("div",{"data-keep-edit-focus":!0,className:`${v?"px-3 py-2":"px-5 py-3"} relative shrink-0 ${Uo?"":A}`,onDrop:e_,onDragOver:t_,children:h.jsxs("div",{className:`bg-surface-primary border border-border-default shadow-lg shadow-black/10 ${v?`${ur?"rounded-2xl p-2":"rounded-2xl p-3"}`:`${ur?"rounded-2xl p-2":"rounded-2xl p-3"} max-w-3xl mx-auto`}`,children:[nm&&yn.length>0&&h.jsxs("div",{className:"absolute bottom-full left-4 mb-1 bg-surface-elevated border border-border-default rounded-lg shadow-xl overflow-hidden z-10 max-h-64 max-w-xs w-72 overflow-y-auto",children:[h.jsx("div",{className:"px-3 py-1.5 text-[10px] text-fg-tertiary font-medium uppercase tracking-wider border-b border-border-default",children:i("page.mentionAgent")}),yn.map((P,R)=>P.kind==="agent"?h.jsxs("button",{ref:E=>{R===Wo&&E&&E.scrollIntoView({block:"nearest"})},onClick:()=>Pl(P.agent.name),onMouseEnter:()=>Xn(R),className:`w-full text-left px-4 py-2 text-sm flex items-center gap-2 transition-colors ${R===Wo?"bg-brand-500/15 text-brand-500":"text-fg-secondary hover:bg-surface-overlay"}`,children:[h.jsx(js,{name:P.agent.name,avatarUrl:P.agent.avatarUrl,size:24,bgClass:"bg-brand-500/20 text-brand-500"}),h.jsx("span",{className:"flex-1 min-w-0 truncate",children:P.agent.name}),h.jsx("span",{className:"text-xs text-fg-tertiary ml-auto",children:P.agent.role})]},`agt-${P.agent.id}`):h.jsxs("button",{ref:E=>{R===Wo&&E&&E.scrollIntoView({block:"nearest"})},onClick:()=>Pl(P.entity.name,P.entity.entityType,P.entity.id),onMouseEnter:()=>Xn(R),className:`w-full text-left px-4 py-2 text-sm flex items-center gap-2 transition-colors ${R===Wo?"bg-brand-500/15 text-brand-500":"text-fg-secondary hover:bg-surface-overlay"}`,children:[h.jsx("span",{className:"w-6 h-6 flex items-center justify-center text-sm shrink-0",children:Em[P.entity.entityType]??"📄"}),h.jsx("span",{className:"flex-1 min-w-0 truncate",children:P.entity.name}),h.jsx("span",{className:"text-xs text-fg-tertiary ml-auto",children:P.entity.role})]},`${P.entity.entityType}-${P.entity.id}`))]}),am&&pn.length>0&&h.jsxs("div",{className:"absolute bottom-full left-4 mb-1 bg-surface-elevated border border-border-default rounded-lg shadow-xl overflow-hidden z-10 max-h-64 max-w-xs w-72 overflow-y-auto",children:[h.jsx("div",{className:"px-3 py-1.5 text-[10px] text-fg-tertiary font-medium uppercase tracking-wider border-b border-border-default",children:i("page.slashSkill")}),pn.map((P,R)=>h.jsxs("button",{ref:E=>{R===qh&&E&&E.scrollIntoView({block:"nearest"})},onClick:()=>wm(P),onMouseEnter:()=>Xo(R),className:`w-full text-left px-4 py-2 text-sm flex items-center gap-2 transition-colors ${R===qh?"bg-brand-500/15 text-brand-500":"text-fg-secondary hover:bg-surface-overlay"}`,children:[h.jsx("span",{className:"text-xs w-5 h-5 flex items-center justify-center shrink-0",children:"🔧"}),h.jsxs("span",{className:"flex-1 min-w-0 truncate font-mono text-[13px]",children:["/",P.name]}),h.jsx("span",{className:"text-[10px] text-fg-tertiary ml-auto shrink-0 max-w-[100px] truncate",children:P.description})]},P.name))]}),_r.length>0&&h.jsx("div",{className:"flex items-center gap-1.5 mb-2 flex-wrap",children:_r.map(P=>h.jsxs("span",{className:"inline-flex items-center gap-1 max-w-[240px] pl-2 pr-1 py-1 rounded-lg bg-brand-500/10 text-brand-500 text-xs border border-brand-500/20",title:P.content,children:[h.jsx("span",{className:"truncate",children:P.label}),h.jsx("button",{onClick:()=>Mi(R=>R.filter(E=>E.id!==P.id)),className:"w-4 h-4 flex items-center justify-center rounded hover:bg-brand-500/20 shrink-0","aria-label":i("common:remove",{defaultValue:"Remove"}),children:h.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),h.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]},P.id))}),Us.length>0&&h.jsxs("div",{className:"flex items-center gap-2 mb-2 overflow-x-auto pb-1",children:[Us.map(P=>h.jsxs("div",{className:"relative group/img shrink-0",children:[rd(P)?h.jsx("img",{src:P.dataUrl,alt:P.name,className:"w-16 h-16 rounded-lg object-cover border border-border-default"}):h.jsxs("div",{className:"w-16 h-16 rounded-lg border border-border-default bg-surface-elevated flex flex-col items-center justify-center gap-0.5",title:P.name,children:[h.jsx("span",{className:"text-xl leading-none",children:GS(P.name,P.dataUrl)}),h.jsx("span",{className:"text-[9px] text-fg-tertiary truncate max-w-[56px] px-0.5",children:P.name.split(".").pop()?.toUpperCase()})]}),h.jsx("button",{onClick:()=>KS(P.id),className:"absolute -top-1.5 -right-1.5 w-5 h-5 bg-surface-secondary border border-gray-600 rounded-full flex items-center justify-center text-fg-secondary hover:text-red-500 hover:border-red-500 text-xs opacity-0 group-hover/img:opacity-100 transition-opacity",children:"×"})]},P.id)),Us.length<km&&h.jsx("button",{onClick:()=>$h.current?.click(),className:"w-16 h-16 rounded-lg border border-dashed border-gray-600 flex items-center justify-center text-fg-tertiary hover:text-fg-secondary hover:border-gray-400 transition-colors shrink-0",title:i("page.addMoreFiles"),children:h.jsx("svg",{className:"w-5 h-5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:h.jsx("path",{d:"M12 5v14M5 12h14"})})})]}),Us.length>0&&Us.some(P=>rd(P))&&Zt&&Zt.modelSupportsVision===!1&&h.jsxs("div",{className:"text-[10px] text-amber-500/80 mb-1.5 flex items-center gap-1",children:[h.jsx("svg",{className:"w-3 h-3 shrink-0",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:h.jsx("path",{d:"M12 9v4m0 4h.01M12 2L2 22h20L12 2z",strokeLinecap:"round",strokeLinejoin:"round"})}),i("page.visionWarning")]}),h.jsx("input",{ref:$h,type:"file",accept:"image/*,.pdf,.docx,.xlsx,.pptx,.xls,.doc,.csv,.json,.xml,.html,.epub",multiple:!0,className:"hidden",onChange:P=>{P.target.files&&Vo(P.target.files),P.target.value=""}}),Ht&&h.jsxs("div",{className:"flex items-center gap-2 mb-2 px-3 py-1.5 bg-surface-elevated rounded-lg border border-border-default/50",children:[h.jsxs("div",{className:"flex-1 min-w-0 pl-2 border-l-2 border-brand-500/50",children:[h.jsx("span",{className:"text-[11px] font-medium text-brand-500",children:Ht.sender}),h.jsx("p",{className:"text-[11px] text-fg-tertiary truncate",children:Ht.text})]}),h.jsx("button",{onClick:()=>Ts(null),className:"text-fg-tertiary hover:text-fg-secondary shrink-0 p-0.5",children:h.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[h.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),h.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),h.jsxs("div",{className:cd?"flex flex-col gap-2 min-w-0":"flex gap-2 items-end min-w-0",children:[h.jsxs("div",{className:cd?"flex gap-2 items-end min-w-0":"contents",children:[h.jsx("button",{onClick:()=>$h.current?.click(),disabled:ie==="direct"&&(!be||Yo),className:`${ur?"p-1.5":"px-2.5 py-2.5"} text-fg-tertiary hover:text-fg-secondary disabled:opacity-40 transition-colors rounded-xl hover:bg-surface-elevated shrink-0 self-end mb-0.5`,title:i("page.attachFilesTitle"),children:h.jsx("svg",{className:ur?"w-[18px] h-[18px]":"w-5 h-5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:h.jsx("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48",strokeLinecap:"round",strokeLinejoin:"round"})})}),h.jsx("textarea",{ref:cr,value:Mt,onChange:P=>{YS(P.target.value),Ao()},onKeyDown:P=>{if(nm&&yn.length>0){const R=P.key==="ArrowUp"||P.ctrlKey&&P.key==="p",E=P.key==="ArrowDown"||P.ctrlKey&&P.key==="n",X=P.key==="Enter"||P.key==="Tab",Y=P.key==="Escape";if(R){P.preventDefault(),Xn(oe=>(oe-1+yn.length)%yn.length);return}if(E){P.preventDefault(),Xn(oe=>(oe+1)%yn.length);return}if(X){P.preventDefault();const oe=yn[Wo];oe&&(oe.kind==="agent"?Pl(oe.agent.name):Pl(oe.entity.name,oe.entity.entityType,oe.entity.id));return}if(Y){P.preventDefault(),Bo(!1);return}}if(am&&pn.length>0){const R=P.key==="ArrowUp"||P.ctrlKey&&P.key==="p",E=P.key==="ArrowDown"||P.ctrlKey&&P.key==="n",X=P.key==="Enter"||P.key==="Tab",Y=P.key==="Escape";if(R){P.preventDefault(),Xo(oe=>(oe-1+pn.length)%pn.length);return}if(E){P.preventDefault(),Xo(oe=>(oe+1)%pn.length);return}if(X){P.preventDefault();const oe=pn[qh];oe&&wm(oe);return}if(Y){P.preventDefault(),ml(!1);return}}if(P.key==="Escape"){P.preventDefault(),P.currentTarget.blur();return}P.key==="Enter"&&!P.shiftKey&&(P.preventDefault(),bn())},onPaste:JS,placeholder:a_,disabled:ie==="direct"&&(!be||Yo),rows:ur?1:2,className:`flex-1 min-w-0 w-full bg-transparent rounded-xl text-sm outline-none disabled:opacity-40 transition-colors resize-none overflow-y-auto leading-relaxed placeholder:text-fg-secondary ${ur?"px-2 py-1.5":"px-4 py-3"}`,style:{minHeight:ur?"36px":"52px",maxHeight:ur?"160px":"120px"}})]}),h.jsxs("div",{className:`flex items-center gap-1.5 shrink-0 ${cd?"justify-end":""}`,children:[ie==="direct"&&h.jsx(EM,{value:hl,disabled:!be||Yo,onSelect:(P,R)=>{In(P);const E=lt&&lt!==Tt?lt:null;RM(E,P,R).catch(()=>{}),E&&hn(X=>X.map(Y=>Y.id===E?{...Y,metadata:{...Y.metadata??{},modelOverride:P}}:Y))}}),Ms&&ie!=="dm"?h.jsx("button",{onClick:NS,className:`${ur?"w-8 h-8 rounded-full flex items-center justify-center":"px-3 py-2.5 rounded-xl"} bg-red-600 hover:bg-red-500 text-white text-sm transition-colors`,title:i("page.stopAgent"),children:h.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"currentColor",children:h.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})})}):h.jsx("button",{onClick:()=>{bn()},disabled:ie==="direct"&&(!be||Yo)||!Mt.trim()&&Us.length===0,className:ur?"w-8 h-8 rounded-full flex items-center justify-center bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white transition-colors":"px-5 py-2.5 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-sm rounded-xl transition-colors",title:i("common:send"),children:ur?h.jsx("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:h.jsx("path",{d:"M12 19V5M5 12l7-7 7 7",strokeLinecap:"round",strokeLinejoin:"round"})}):i("common:send")})]})]})]})})]})]}),!v&&Z&&q&&h.jsx(dM,{payload:Z,onClose:q,width:T?U:ir,onResizeStart:el,onAddToChat:xe,tabs:z,activeTabId:J,onSelectTab:I?.setActiveRightPanelTab,onCloseTab:I?.closeRightPanelTab,onNewTab:()=>{if(!H)return;if(I?.rightPanelMode==="terminal"){const R=`term_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`;H({kind:"terminal",terminalId:R,title:"Terminal"});return}const P=`eb_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`;H({kind:"url",url:"about:blank",title:"New Tab",browserId:P})},fullscreen:T,onToggleFullscreen:I?.toggleRightPanelFullscreen,onBrowserMeta:I?.updateRightPanelBrowserTab?(P,R)=>I.updateRightPanelBrowserTab(P,R):void 0,panelMode:I?.rightPanelMode??"browser",onPanelModeChange:P=>I?.switchRightPanelMode(P),onTerminalMeta:I?.updateRightPanelTerminalTab?(P,R)=>I.updateRightPanelTerminalTab(P,R):void 0,onOpenUrlFromTerminal:P=>{if(!H)return;const R=`eb_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,7)}`;H({kind:"url",url:P,title:P,browserId:R})},onOpenPathFromTerminal:P=>{H?.({kind:"file",path:P,title:P.split(/[/\\]/).pop()||P})}}),Fp&&h.jsx(L_,{src:Fp,onClose:()=>Yp(null)})]})}function Tx({agent:s,tasks:e,onViewProfile:t,streamActive:r}){const{t:i}=At(["team","common"]),[n,a]=C.useState(!1),o=C.useRef(null),l=C.useRef(null),c=s.status==="working"||!!r,d=s.status==="error",u=c?e.find(m=>m.assignedAgentId===s.id&&m.status==="in_progress"):null,f=s.currentActivity;C.useEffect(()=>{d&&s.lastError&&oc(s.lastError)&&ac()},[d,s.lastError]),C.useEffect(()=>{if(!n)return;const m=O=>{o.current&&!o.current.contains(O.target)&&a(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[n]),C.useLayoutEffect(()=>{if(!n||!l.current)return;const m=l.current,O=m.getBoundingClientRect(),p=window.innerWidth;O.right>p-8&&(m.style.left="auto",m.style.right="0"),O.left<8&&(m.style.left="0",m.style.right="auto");const x=p-16;O.width>x&&(m.style.width=`${x}px`)},[n]);const g=d?"bg-red-400 animate-pulse":c?"bg-blue-400 animate-pulse":"bg-green-400",v=i(d?"common:status.error":c?"common:status.working":"common:status.idle"),b=f?f.type==="heartbeat"?i("page.activityHeartbeat",{name:f.heartbeatName??f.label}):f.type==="chat"?f.label:f.type==="task"?i("page.activityTask",{label:f.label}):f.label:i("page.processing");return h.jsxs("div",{className:"relative",ref:o,children:[h.jsxs("button",{onClick:()=>a(m=>!m),className:`flex items-center gap-1.5 px-2 py-0.5 rounded-full transition-colors ${c?"bg-blue-500/10 border border-blue-500/20 hover:bg-blue-500/20":d?"bg-red-500/10 border border-red-500/20 hover:bg-red-500/20":"bg-green-500/10 border border-green-500/20 hover:bg-green-500/20"}`,children:[h.jsx("span",{className:`w-2 h-2 rounded-full ${g}`}),h.jsx("span",{className:`text-xs ${d?"text-red-500":c?"text-blue-500":"text-green-600"}`,children:v}),s.mailboxDepth!=null&&s.mailboxDepth>0&&h.jsx("span",{className:"text-[9px] bg-fg-tertiary/20 text-fg-tertiary rounded-full px-1.5",children:s.mailboxDepth})]}),n&&d&&h.jsxs("div",{ref:l,className:"absolute top-full left-0 mt-1.5 bg-surface-secondary border border-red-500/30 rounded-xl shadow-2xl z-30 w-80 max-w-[calc(100vw-1rem)] p-3 space-y-2",children:[h.jsx("p",{className:"text-[10px] text-red-500 uppercase font-semibold",children:i("page.errorDetails")}),h.jsxs("div",{className:"bg-red-500/10 border border-red-500/20 rounded-lg p-2.5",children:[h.jsx("pre",{className:"text-[10px] text-red-500/80 leading-relaxed whitespace-pre-wrap break-all font-mono line-clamp-6",children:wc(s.lastError,i)||s.lastError||i("page.agentErrorFallback")}),s.lastErrorAt&&h.jsx("div",{className:"text-[9px] text-red-500/50 mt-1.5 border-t border-red-500/10 pt-1",children:new Date(s.lastErrorAt).toLocaleString()})]}),h.jsx("button",{onClick:()=>{a(!1),t?.(s.id)},className:"w-full text-center text-[10px] text-red-500 hover:text-red-500 border border-red-500/30 hover:border-red-500/50 rounded-lg py-1 transition-colors",children:i("page.viewAgentProfileArrow")})]}),n&&c&&h.jsxs("div",{ref:l,className:"absolute top-full left-0 mt-1.5 bg-surface-secondary border border-border-default rounded-xl shadow-2xl z-30 w-80 max-w-[calc(100vw-1rem)] p-3 space-y-2",children:[h.jsx("p",{className:"text-[10px] text-fg-tertiary uppercase font-semibold",children:i("page.currentActivity")}),u?h.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-brand-500/10 border border-brand-500/30 cursor-pointer hover:bg-brand-500/10 transition-colors",onClick:()=>{a(!1),Qr.navigate(Kt.WORK,{openTask:u.id})},children:[h.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-brand-400 animate-pulse shrink-0"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-xs text-brand-500 truncate",children:u.title}),h.jsx("div",{className:"text-[10px] text-fg-tertiary",children:i("page.workingOnTaskHint")})]}),h.jsx("span",{className:"text-[10px] text-fg-tertiary",children:"→"})]}):h.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-surface-elevated/50",children:[h.jsx("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${f?.type==="heartbeat"||f?.type==="chat","bg-blue-400 animate-pulse"}`}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-xs text-fg-secondary",children:b}),h.jsx("div",{className:"text-[10px] text-fg-tertiary",children:f?.type==="heartbeat"?i("page.activityDescHeartbeat"):f?.type==="chat"?i("page.activityDescChat"):i("page.activityDescFallback")})]})]}),h.jsx("button",{onClick:()=>{a(!1),t?.(s.id,{tab:"overview"})},className:"w-full text-center text-[10px] text-brand-500 hover:text-brand-500 border border-border-default hover:border-gray-600 rounded-lg py-1.5 transition-colors",children:i("page.viewMindArrow")})]})]})}export{tL as TeamPage};