codex-lens 0.1.18 → 0.1.19
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.
|
@@ -22,7 +22,7 @@ var SX=Object.defineProperty;var $X=(t,e,i)=>e in t?SX(t,e,{enumerable:!0,config
|
|
|
22
22
|
*
|
|
23
23
|
* This source code is licensed under the MIT license found in the
|
|
24
24
|
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/(function(t){function e(q,X){var x=q.length;q.push(X);e:for(;0<x;){var C=x-1>>>1,W=q[C];if(0<n(W,X))q[C]=X,q[x]=W,x=C;else break e}}function i(q){return q.length===0?null:q[0]}function r(q){if(q.length===0)return null;var X=q[0],x=q.pop();if(x!==X){q[0]=x;e:for(var C=0,W=q.length,E=W>>>1;C<E;){var D=2*(C+1)-1,te=q[D],
|
|
25
|
+
*/(function(t){function e(q,X){var x=q.length;q.push(X);e:for(;0<x;){var C=x-1>>>1,W=q[C];if(0<n(W,X))q[C]=X,q[x]=W,x=C;else break e}}function i(q){return q.length===0?null:q[0]}function r(q){if(q.length===0)return null;var X=q[0],x=q.pop();if(x!==X){q[0]=x;e:for(var C=0,W=q.length,E=W>>>1;C<E;){var D=2*(C+1)-1,te=q[D],ne=D+1,U=q[ne];if(0>n(te,x))ne<W&&0>n(U,te)?(q[C]=U,q[ne]=x,C=ne):(q[C]=te,q[D]=x,C=D);else if(ne<W&&0>n(U,x))q[C]=U,q[ne]=x,C=ne;else break e}}return X}function n(q,X){var x=q.sortIndex-X.sortIndex;return x!==0?x:q.id-X.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],O=[],c=1,h=null,u=3,m=!1,S=!1,Q=!1,g=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function p(q){for(var X=i(O);X!==null;){if(X.callback===null)r(O);else if(X.startTime<=q)r(O),X.sortIndex=X.expirationTime,e(l,X);else break;X=i(O)}}function $(q){if(Q=!1,p(q),!S)if(i(l)!==null)S=!0,L(_);else{var X=i(O);X!==null&&G($,X.startTime-q)}}function _(q,X){S=!1,Q&&(Q=!1,d(v),v=-1),m=!0;var x=u;try{for(p(X),h=i(l);h!==null&&(!(h.expirationTime>X)||q&&!Y());){var C=h.callback;if(typeof C=="function"){h.callback=null,u=h.priorityLevel;var W=C(h.expirationTime<=X);X=t.unstable_now(),typeof W=="function"?h.callback=W:h===i(l)&&r(l),p(X)}else r(l);h=i(l)}if(h!==null)var E=!0;else{var D=i(O);D!==null&&G($,D.startTime-X),E=!1}return E}finally{h=null,u=x,m=!1}}var P=!1,w=null,v=-1,b=5,T=-1;function Y(){return!(t.unstable_now()-T<b)}function Z(){if(w!==null){var q=t.unstable_now();T=q;var X=!0;try{X=w(!0,q)}finally{X?R():(P=!1,w=null)}}else P=!1}var R;if(typeof f=="function")R=function(){f(Z)};else if(typeof MessageChannel<"u"){var z=new MessageChannel,V=z.port2;z.port1.onmessage=Z,R=function(){V.postMessage(null)}}else R=function(){g(Z,0)};function L(q){w=q,P||(P=!0,R())}function G(q,X){v=g(function(){q(t.unstable_now())},X)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(q){q.callback=null},t.unstable_continueExecution=function(){S||m||(S=!0,L(_))},t.unstable_forceFrameRate=function(q){0>q||125<q?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):b=0<q?Math.floor(1e3/q):5},t.unstable_getCurrentPriorityLevel=function(){return u},t.unstable_getFirstCallbackNode=function(){return i(l)},t.unstable_next=function(q){switch(u){case 1:case 2:case 3:var X=3;break;default:X=u}var x=u;u=X;try{return q()}finally{u=x}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(q,X){switch(q){case 1:case 2:case 3:case 4:case 5:break;default:q=3}var x=u;u=q;try{return X()}finally{u=x}},t.unstable_scheduleCallback=function(q,X,x){var C=t.unstable_now();switch(typeof x=="object"&&x!==null?(x=x.delay,x=typeof x=="number"&&0<x?C+x:C):x=C,q){case 1:var W=-1;break;case 2:W=250;break;case 5:W=1073741823;break;case 4:W=1e4;break;default:W=5e3}return W=x+W,q={id:c++,callback:X,priorityLevel:q,startTime:x,expirationTime:W,sortIndex:-1},x>C?(q.sortIndex=x,e(O,q),i(l)===null&&q===i(O)&&(Q?(d(v),v=-1):Q=!0,G($,x-C))):(q.sortIndex=W,e(l,q),S||m||(S=!0,L(_))),q},t.unstable_shouldYield=Y,t.unstable_wrapCallback=function(q){var X=u;return function(){var x=u;u=X;try{return q.apply(this,arguments)}finally{u=x}}}})(z_);U_.exports=z_;var LX=U_.exports;/**
|
|
26
26
|
* @license React
|
|
27
27
|
* react-dom.production.min.js
|
|
28
28
|
*
|
|
@@ -41,9 +41,9 @@ Error generating stack: `+s.message+`
|
|
|
41
41
|
`))),this.register(this._terminal.onA11yTab(P=>this._handleTab(P))),this.register(this._terminal.onKey(P=>this._handleKey(P.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this.register((0,g.addDisposableDomListener)(document,"selectionchange",()=>this._handleSelectionChange())),this.register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,m.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(f){for(let p=0;p<f;p++)this._handleChar(" ")}_handleChar(f){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==f&&(this._charsToAnnounce+=f):this._charsToAnnounce+=f,f===`
|
|
42
42
|
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=h.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(f){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(f)||this._charsToConsume.push(f)}_refreshRows(f,p){this._liveRegionDebouncer.refresh(f,p,this._terminal.rows)}_renderRows(f,p){const $=this._terminal.buffer,_=$.lines.length.toString();for(let P=f;P<=p;P++){const w=$.lines.get($.ydisp+P),v=[],b=(w==null?void 0:w.translateToString(!0,void 0,void 0,v))||"",T=($.ydisp+P+1).toString(),Y=this._rowElements[P];Y&&(b.length===0?(Y.innerText=" ",this._rowColumns.set(Y,[0,1])):(Y.textContent=b,this._rowColumns.set(Y,v)),Y.setAttribute("aria-posinset",T),Y.setAttribute("aria-setsize",_))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(f,p){const $=f.target,_=this._rowElements[p===0?1:this._rowElements.length-2];if($.getAttribute("aria-posinset")===(p===0?"1":`${this._terminal.buffer.lines.length}`)||f.relatedTarget!==_)return;let P,w;if(p===0?(P=$,w=this._rowElements.pop(),this._rowContainer.removeChild(w)):(P=this._rowElements.shift(),w=$,this._rowContainer.removeChild(P)),P.removeEventListener("focus",this._topBoundaryFocusListener),w.removeEventListener("focus",this._bottomBoundaryFocusListener),p===0){const v=this._createAccessibilityTreeNode();this._rowElements.unshift(v),this._rowContainer.insertAdjacentElement("afterbegin",v)}else{const v=this._createAccessibilityTreeNode();this._rowElements.push(v),this._rowContainer.appendChild(v)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(p===0?-1:1),this._rowElements[p===0?1:this._rowElements.length-2].focus(),f.preventDefault(),f.stopImmediatePropagation()}_handleSelectionChange(){var b;if(this._rowElements.length===0)return;const f=document.getSelection();if(!f)return;if(f.isCollapsed)return void(this._rowContainer.contains(f.anchorNode)&&this._terminal.clearSelection());if(!f.anchorNode||!f.focusNode)return void console.error("anchorNode and/or focusNode are null");let p={node:f.anchorNode,offset:f.anchorOffset},$={node:f.focusNode,offset:f.focusOffset};if((p.node.compareDocumentPosition($.node)&Node.DOCUMENT_POSITION_PRECEDING||p.node===$.node&&p.offset>$.offset)&&([p,$]=[$,p]),p.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(p={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(p.node))return;const _=this._rowElements.slice(-1)[0];if($.node.compareDocumentPosition(_)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&($={node:_,offset:((b=_.textContent)==null?void 0:b.length)??0}),!this._rowContainer.contains($.node))return;const P=({node:T,offset:Y})=>{const Z=T instanceof Text?T.parentNode:T;let R=parseInt(Z==null?void 0:Z.getAttribute("aria-posinset"),10)-1;if(isNaN(R))return console.warn("row is invalid. Race condition?"),null;const z=this._rowColumns.get(Z);if(!z)return console.warn("columns is null. Race condition?"),null;let V=Y<z.length?z[Y]:z.slice(-1)[0]+1;return V>=this._terminal.cols&&(++R,V=0),{row:R,column:V}},w=P(p),v=P($);if(w&&v){if(w.row>v.row||w.row===v.row&&w.column>=v.column)throw new Error("invalid range");this._terminal.select(w.column,w.row,(v.row-w.row)*this._terminal.cols-w.column+v.column)}}_handleResize(f){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let p=this._rowContainer.children.length;p<this._terminal.rows;p++)this._rowElements[p]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[p]);for(;this._rowElements.length>f;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const f=this._coreBrowserService.mainDocument.createElement("div");return f.setAttribute("role","listitem"),f.tabIndex=-1,this._refreshRowDimensions(f),f}_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 f=0;f<this._terminal.rows;f++)this._refreshRowDimensions(this._rowElements[f])}}_refreshRowDimensions(f){f.style.height=`${this._renderService.dimensions.css.cell.height}px`}};a.AccessibilityManager=d=O([c(1,Q.IInstantiationService),c(2,S.ICoreBrowserService),c(3,S.IRenderService)],d)},3614:(o,a)=>{function l(u){return u.replace(/\r?\n/g,"\r")}function O(u,m){return m?"\x1B[200~"+u+"\x1B[201~":u}function c(u,m,S,Q){u=O(u=l(u),S.decPrivateModes.bracketedPasteMode&&Q.rawOptions.ignoreBracketedPasteMode!==!0),S.triggerDataEvent(u,!0),m.value=""}function h(u,m,S){const Q=S.getBoundingClientRect(),g=u.clientX-Q.left-10,d=u.clientY-Q.top-10;m.style.width="20px",m.style.height="20px",m.style.left=`${g}px`,m.style.top=`${d}px`,m.style.zIndex="1000",m.focus()}Object.defineProperty(a,"__esModule",{value:!0}),a.rightClickHandler=a.moveTextAreaUnderMouseCursor=a.paste=a.handlePasteEvent=a.copyHandler=a.bracketTextForPaste=a.prepareTextForTerminal=void 0,a.prepareTextForTerminal=l,a.bracketTextForPaste=O,a.copyHandler=function(u,m){u.clipboardData&&u.clipboardData.setData("text/plain",m.selectionText),u.preventDefault()},a.handlePasteEvent=function(u,m,S,Q){u.stopPropagation(),u.clipboardData&&c(u.clipboardData.getData("text/plain"),m,S,Q)},a.paste=c,a.moveTextAreaUnderMouseCursor=h,a.rightClickHandler=function(u,m,S,Q,g){h(u,m,S),g&&Q.rightClickSelect(u),m.value=Q.selectionText,m.select()}},7239:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ColorContrastCache=void 0;const O=l(1505);a.ColorContrastCache=class{constructor(){this._color=new O.TwoKeyMap,this._css=new O.TwoKeyMap}setCss(c,h,u){this._css.set(c,h,u)}getCss(c,h){return this._css.get(c,h)}setColor(c,h,u){this._color.set(c,h,u)}getColor(c,h){return this._color.get(c,h)}clear(){this._color.clear(),this._css.clear()}}},3656:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.addDisposableDomListener=void 0,a.addDisposableDomListener=function(l,O,c,h){l.addEventListener(O,c,h);let u=!1;return{dispose:()=>{u||(u=!0,l.removeEventListener(O,c,h))}}}},3551:function(o,a,l){var O=this&&this.__decorate||function(d,f,p,$){var _,P=arguments.length,w=P<3?f:$===null?$=Object.getOwnPropertyDescriptor(f,p):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(d,f,p,$);else for(var v=d.length-1;v>=0;v--)(_=d[v])&&(w=(P<3?_(w):P>3?_(f,p,w):_(f,p))||w);return P>3&&w&&Object.defineProperty(f,p,w),w},c=this&&this.__param||function(d,f){return function(p,$){f(p,$,d)}};Object.defineProperty(a,"__esModule",{value:!0}),a.Linkifier=void 0;const h=l(3656),u=l(8460),m=l(844),S=l(2585),Q=l(4725);let g=a.Linkifier=class extends m.Disposable{get currentLink(){return this._currentLink}constructor(d,f,p,$,_){super(),this._element=d,this._mouseService=f,this._renderService=p,this._bufferService=$,this._linkProviderService=_,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new u.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new u.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,m.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,m.toDisposable)(()=>{var P;this._lastMouseEvent=void 0,(P=this._activeProviderReplies)==null||P.clear()})),this.register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this.register((0,h.addDisposableDomListener)(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this.register((0,h.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,h.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,h.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(d){this._lastMouseEvent=d;const f=this._positionFromMouseEvent(d,this._element,this._mouseService);if(!f)return;this._isMouseOut=!1;const p=d.composedPath();for(let $=0;$<p.length;$++){const _=p[$];if(_.classList.contains("xterm"))break;if(_.classList.contains("xterm-hover"))return}this._lastBufferCell&&f.x===this._lastBufferCell.x&&f.y===this._lastBufferCell.y||(this._handleHover(f),this._lastBufferCell=f)}_handleHover(d){if(this._activeLine!==d.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(d,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,d)||(this._clearCurrentLink(),this._askForLink(d,!0))}_askForLink(d,f){var $,_;this._activeProviderReplies&&f||(($=this._activeProviderReplies)==null||$.forEach(P=>{P==null||P.forEach(w=>{w.link.dispose&&w.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=d.y);let p=!1;for(const[P,w]of this._linkProviderService.linkProviders.entries())f?(_=this._activeProviderReplies)!=null&&_.get(P)&&(p=this._checkLinkProviderResult(P,d,p)):w.provideLinks(d.y,v=>{var T,Y;if(this._isMouseOut)return;const b=v==null?void 0:v.map(Z=>({link:Z}));(T=this._activeProviderReplies)==null||T.set(P,b),p=this._checkLinkProviderResult(P,d,p),((Y=this._activeProviderReplies)==null?void 0:Y.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(d.y,this._activeProviderReplies)})}_removeIntersectingLinks(d,f){const p=new Set;for(let $=0;$<f.size;$++){const _=f.get($);if(_)for(let P=0;P<_.length;P++){const w=_[P],v=w.link.range.start.y<d?0:w.link.range.start.x,b=w.link.range.end.y>d?this._bufferService.cols:w.link.range.end.x;for(let T=v;T<=b;T++){if(p.has(T)){_.splice(P--,1);break}p.add(T)}}}}_checkLinkProviderResult(d,f,p){var P;if(!this._activeProviderReplies)return p;const $=this._activeProviderReplies.get(d);let _=!1;for(let w=0;w<d;w++)this._activeProviderReplies.has(w)&&!this._activeProviderReplies.get(w)||(_=!0);if(!_&&$){const w=$.find(v=>this._linkAtPosition(v.link,f));w&&(p=!0,this._handleNewLink(w))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!p)for(let w=0;w<this._activeProviderReplies.size;w++){const v=(P=this._activeProviderReplies.get(w))==null?void 0:P.find(b=>this._linkAtPosition(b.link,f));if(v){p=!0,this._handleNewLink(v);break}}return p}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(d){if(!this._currentLink)return;const f=this._positionFromMouseEvent(d,this._element,this._mouseService);f&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,f)&&this._currentLink.link.activate(d,this._currentLink.link.text)}_clearCurrentLink(d,f){this._currentLink&&this._lastMouseEvent&&(!d||!f||this._currentLink.link.range.start.y>=d&&this._currentLink.link.range.end.y<=f)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,m.disposeArray)(this._linkCacheDisposables))}_handleNewLink(d){if(!this._lastMouseEvent)return;const f=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);f&&this._linkAtPosition(d.link,f)&&(this._currentLink=d,this._currentLink.state={decorations:{underline:d.link.decorations===void 0||d.link.decorations.underline,pointerCursor:d.link.decorations===void 0||d.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,d.link,this._lastMouseEvent),d.link.decorations={},Object.defineProperties(d.link.decorations,{pointerCursor:{get:()=>{var p,$;return($=(p=this._currentLink)==null?void 0:p.state)==null?void 0:$.decorations.pointerCursor},set:p=>{var $;($=this._currentLink)!=null&&$.state&&this._currentLink.state.decorations.pointerCursor!==p&&(this._currentLink.state.decorations.pointerCursor=p,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",p))}},underline:{get:()=>{var p,$;return($=(p=this._currentLink)==null?void 0:p.state)==null?void 0:$.decorations.underline},set:p=>{var $,_,P;($=this._currentLink)!=null&&$.state&&((P=(_=this._currentLink)==null?void 0:_.state)==null?void 0:P.decorations.underline)!==p&&(this._currentLink.state.decorations.underline=p,this._currentLink.state.isHovered&&this._fireUnderlineEvent(d.link,p))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(p=>{if(!this._currentLink)return;const $=p.start===0?0:p.start+1+this._bufferService.buffer.ydisp,_=this._bufferService.buffer.ydisp+1+p.end;if(this._currentLink.link.range.start.y>=$&&this._currentLink.link.range.end.y<=_&&(this._clearCurrentLink($,_),this._lastMouseEvent)){const P=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);P&&this._askForLink(P,!1)}})))}_linkHover(d,f,p){var $;($=this._currentLink)!=null&&$.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(f,!0),this._currentLink.state.decorations.pointerCursor&&d.classList.add("xterm-cursor-pointer")),f.hover&&f.hover(p,f.text)}_fireUnderlineEvent(d,f){const p=d.range,$=this._bufferService.buffer.ydisp,_=this._createLinkUnderlineEvent(p.start.x-1,p.start.y-$-1,p.end.x,p.end.y-$-1,void 0);(f?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(_)}_linkLeave(d,f,p){var $;($=this._currentLink)!=null&&$.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(f,!1),this._currentLink.state.decorations.pointerCursor&&d.classList.remove("xterm-cursor-pointer")),f.leave&&f.leave(p,f.text)}_linkAtPosition(d,f){const p=d.range.start.y*this._bufferService.cols+d.range.start.x,$=d.range.end.y*this._bufferService.cols+d.range.end.x,_=f.y*this._bufferService.cols+f.x;return p<=_&&_<=$}_positionFromMouseEvent(d,f,p){const $=p.getCoords(d,f,this._bufferService.cols,this._bufferService.rows);if($)return{x:$[0],y:$[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(d,f,p,$,_){return{x1:d,y1:f,x2:p,y2:$,cols:this._bufferService.cols,fg:_}}};a.Linkifier=g=O([c(1,Q.IMouseService),c(2,Q.IRenderService),c(3,S.IBufferService),c(4,Q.ILinkProviderService)],g)},9042:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.tooMuchOutput=a.promptLabel=void 0,a.promptLabel="Terminal input",a.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(o,a,l){var O=this&&this.__decorate||function(Q,g,d,f){var p,$=arguments.length,_=$<3?g:f===null?f=Object.getOwnPropertyDescriptor(g,d):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(Q,g,d,f);else for(var P=Q.length-1;P>=0;P--)(p=Q[P])&&(_=($<3?p(_):$>3?p(g,d,_):p(g,d))||_);return $>3&&_&&Object.defineProperty(g,d,_),_},c=this&&this.__param||function(Q,g){return function(d,f){g(d,f,Q)}};Object.defineProperty(a,"__esModule",{value:!0}),a.OscLinkProvider=void 0;const h=l(511),u=l(2585);let m=a.OscLinkProvider=class{constructor(Q,g,d){this._bufferService=Q,this._optionsService=g,this._oscLinkService=d}provideLinks(Q,g){var b;const d=this._bufferService.buffer.lines.get(Q-1);if(!d)return void g(void 0);const f=[],p=this._optionsService.rawOptions.linkHandler,$=new h.CellData,_=d.getTrimmedLength();let P=-1,w=-1,v=!1;for(let T=0;T<_;T++)if(w!==-1||d.hasContent(T)){if(d.loadCell(T,$),$.hasExtendedAttrs()&&$.extended.urlId){if(w===-1){w=T,P=$.extended.urlId;continue}v=$.extended.urlId!==P}else w!==-1&&(v=!0);if(v||w!==-1&&T===_-1){const Y=(b=this._oscLinkService.getLinkData(P))==null?void 0:b.uri;if(Y){const Z={start:{x:w+1,y:Q},end:{x:T+(v||T!==_-1?0:1),y:Q}};let R=!1;if(!(p!=null&&p.allowNonHttpProtocols))try{const z=new URL(Y);["http:","https:"].includes(z.protocol)||(R=!0)}catch{R=!0}R||f.push({text:Y,range:Z,activate:(z,V)=>p?p.activate(z,V,Z):S(0,V),hover:(z,V)=>{var L;return(L=p==null?void 0:p.hover)==null?void 0:L.call(p,z,V,Z)},leave:(z,V)=>{var L;return(L=p==null?void 0:p.leave)==null?void 0:L.call(p,z,V,Z)}})}v=!1,$.hasExtendedAttrs()&&$.extended.urlId?(w=T,P=$.extended.urlId):(w=-1,P=-1)}}g(f)}};function S(Q,g){if(confirm(`Do you want to navigate to ${g}?
|
|
43
43
|
|
|
44
|
-
WARNING: This link could potentially be dangerous`)){const d=window.open();if(d){try{d.opener=null}catch{}d.location.href=g}else console.warn("Opening link blocked as opener could not be cleared")}}a.OscLinkProvider=m=O([c(0,u.IBufferService),c(1,u.IOptionsService),c(2,u.IOscLinkService)],m)},6193:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.RenderDebouncer=void 0,a.RenderDebouncer=class{constructor(l,O){this._renderCallback=l,this._coreBrowserService=O,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,O,c){this._rowCount=c,l=l!==void 0?l:0,O=O!==void 0?O: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,O):O,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),O=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(l,O),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const l of this._refreshCallbacks)l(0);this._refreshCallbacks=[]}}},3236:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.Terminal=void 0;const O=l(3614),c=l(3656),h=l(3551),u=l(9042),m=l(3730),S=l(1680),Q=l(3107),g=l(5744),d=l(2950),f=l(1296),p=l(428),$=l(4269),_=l(5114),P=l(8934),w=l(3230),v=l(9312),b=l(4725),T=l(6731),Y=l(8055),Z=l(8969),R=l(8460),z=l(844),V=l(6114),L=l(8437),G=l(2584),q=l(7399),X=l(5941),x=l(9074),C=l(2585),W=l(5435),E=l(4567),D=l(779);class te extends Z.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 z.MutableDisposable),this._onCursorMove=this.register(new R.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new R.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new R.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new R.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new R.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new R.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new R.EventEmitter),this._onBlur=this.register(new R.EventEmitter),this._onA11yCharEmitter=this.register(new R.EventEmitter),this._onA11yTabEmitter=this.register(new R.EventEmitter),this._onWillOpen=this.register(new R.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(x.DecorationService),this._instantiationService.setService(C.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(D.LinkProviderService),this._instantiationService.setService(b.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(m.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((k,M)=>this.refresh(k,M))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(k=>this._reportWindowsOptions(k))),this.register(this._inputHandler.onColor(k=>this._handleColorEvent(k))),this.register((0,R.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,R.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,R.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,R.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(k=>this._afterResize(k.cols,k.rows))),this.register((0,z.toDisposable)(()=>{var k,M;this._customKeyEventHandler=void 0,(M=(k=this.element)==null?void 0:k.parentNode)==null||M.removeChild(this.element)}))}_handleColorEvent(U){if(this._themeService)for(const k of U){let M,j="";switch(k.index){case 256:M="foreground",j="10";break;case 257:M="background",j="11";break;case 258:M="cursor",j="12";break;default:M="ansi",j="4;"+k.index}switch(k.type){case 0:const ee=Y.color.toColorRGB(M==="ansi"?this._themeService.colors.ansi[k.index]:this._themeService.colors[M]);this.coreService.triggerDataEvent(`${G.C0.ESC}]${j};${(0,X.toRgbString)(ee)}${G.C1_ESCAPED.ST}`);break;case 1:if(M==="ansi")this._themeService.modifyColors(H=>H.ansi[k.index]=Y.channels.toColor(...k.color));else{const H=M;this._themeService.modifyColors(de=>de[H]=Y.channels.toColor(...k.color))}break;case 2:this._themeService.restoreColor(k.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(E.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(U){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var U;return(U=this.textarea)==null?void 0:U.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.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,k=this.buffer.lines.get(U);if(!k)return;const M=Math.min(this.buffer.x,this.cols-1),j=this._renderService.dimensions.css.cell.height,ee=k.getWidth(M),H=this._renderService.dimensions.css.cell.width*ee,de=this.buffer.y*this._renderService.dimensions.css.cell.height,qe=M*this._renderService.dimensions.css.cell.width;this.textarea.style.left=qe+"px",this.textarea.style.top=de+"px",this.textarea.style.width=H+"px",this.textarea.style.height=j+"px",this.textarea.style.lineHeight=j+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,c.addDisposableDomListener)(this.element,"copy",k=>{this.hasSelection()&&(0,O.copyHandler)(k,this._selectionService)}));const U=k=>(0,O.handlePasteEvent)(k,this.textarea,this.coreService,this.optionsService);this.register((0,c.addDisposableDomListener)(this.textarea,"paste",U)),this.register((0,c.addDisposableDomListener)(this.element,"paste",U)),V.isFirefox?this.register((0,c.addDisposableDomListener)(this.element,"mousedown",k=>{k.button===2&&(0,O.rightClickHandler)(k,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,c.addDisposableDomListener)(this.element,"contextmenu",k=>{(0,O.rightClickHandler)(k,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),V.isLinux&&this.register((0,c.addDisposableDomListener)(this.element,"auxclick",k=>{k.button===1&&(0,O.moveTextAreaUnderMouseCursor)(k,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,c.addDisposableDomListener)(this.textarea,"keyup",U=>this._keyUp(U),!0)),this.register((0,c.addDisposableDomListener)(this.textarea,"keydown",U=>this._keyDown(U),!0)),this.register((0,c.addDisposableDomListener)(this.textarea,"keypress",U=>this._keyPress(U),!0)),this.register((0,c.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,c.addDisposableDomListener)(this.textarea,"compositionupdate",U=>this._compositionHelper.compositionupdate(U))),this.register((0,c.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,c.addDisposableDomListener)(this.textarea,"input",U=>this._inputEvent(U),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(U){var M;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"),((M=this.element)==null?void 0:M.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 k=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),k.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,c.addDisposableDomListener)(this.screenElement,"mousemove",j=>this.updateCursorStyle(j))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),k.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",u.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(b.ICoreBrowserService,this._coreBrowserService),this.register((0,c.addDisposableDomListener)(this.textarea,"focus",j=>this._handleTextAreaFocus(j))),this.register((0,c.addDisposableDomListener)(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(p.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(b.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(T.ThemeService),this._instantiationService.setService(b.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance($.CharacterJoinerService),this._instantiationService.setService(b.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(w.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(b.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(j=>this._onRender.fire(j))),this.onResize(j=>this._renderService.resize(j.cols,j.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(d.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(P.MouseService),this._instantiationService.setService(b.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(h.Linkifier,this.screenElement)),this.element.appendChild(k);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(S.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines(j=>this.scrollLines(j.amount,j.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(v.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(b.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(j=>this.scrollLines(j.amount,j.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(j=>this._renderService.handleSelectionChanged(j.start,j.end,j.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(j=>{this.textarea.value=j,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(j=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,c.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.register(this._instantiationService.createInstance(Q.BufferDecorationRenderer,this.screenElement)),this.register((0,c.addDisposableDomListener)(this.element,"mousedown",j=>this._selectionService.handleMouseDown(j))),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(E.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",j=>this._handleScreenReaderModeOptionChange(j))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(g.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",j=>{!this._overviewRulerRenderer&&j&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(g.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(f.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const U=this,k=this.element;function M(H){const de=U._mouseService.getMouseReportCoords(H,U.screenElement);if(!de)return!1;let qe,Ve;switch(H.overrideType||H.type){case"mousemove":Ve=32,H.buttons===void 0?(qe=3,H.button!==void 0&&(qe=H.button<3?H.button:3)):qe=1&H.buttons?0:4&H.buttons?1:2&H.buttons?2:3;break;case"mouseup":Ve=0,qe=H.button<3?H.button:3;break;case"mousedown":Ve=1,qe=H.button<3?H.button:3;break;case"wheel":if(U._customWheelEventHandler&&U._customWheelEventHandler(H)===!1||U.viewport.getLinesScrolled(H)===0)return!1;Ve=H.deltaY<0?0:1,qe=4;break;default:return!1}return!(Ve===void 0||qe===void 0||qe>4)&&U.coreMouseService.triggerMouseEvent({col:de.col,row:de.row,x:de.x,y:de.y,button:qe,action:Ve,ctrl:H.ctrlKey,alt:H.altKey,shift:H.shiftKey})}const j={mouseup:null,wheel:null,mousedrag:null,mousemove:null},ee={mouseup:H=>(M(H),H.buttons||(this._document.removeEventListener("mouseup",j.mouseup),j.mousedrag&&this._document.removeEventListener("mousemove",j.mousedrag)),this.cancel(H)),wheel:H=>(M(H),this.cancel(H,!0)),mousedrag:H=>{H.buttons&&M(H)},mousemove:H=>{H.buttons||M(H)}};this.register(this.coreMouseService.onProtocolChange(H=>{H?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(H)),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&H?j.mousemove||(k.addEventListener("mousemove",ee.mousemove),j.mousemove=ee.mousemove):(k.removeEventListener("mousemove",j.mousemove),j.mousemove=null),16&H?j.wheel||(k.addEventListener("wheel",ee.wheel,{passive:!1}),j.wheel=ee.wheel):(k.removeEventListener("wheel",j.wheel),j.wheel=null),2&H?j.mouseup||(j.mouseup=ee.mouseup):(this._document.removeEventListener("mouseup",j.mouseup),j.mouseup=null),4&H?j.mousedrag||(j.mousedrag=ee.mousedrag):(this._document.removeEventListener("mousemove",j.mousedrag),j.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,c.addDisposableDomListener)(k,"mousedown",H=>{if(H.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(H))return M(H),j.mouseup&&this._document.addEventListener("mouseup",j.mouseup),j.mousedrag&&this._document.addEventListener("mousemove",j.mousedrag),this.cancel(H)})),this.register((0,c.addDisposableDomListener)(k,"wheel",H=>{if(!j.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(H)===!1)return!1;if(!this.buffer.hasScrollback){const de=this.viewport.getLinesScrolled(H);if(de===0)return;const qe=G.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(H.deltaY<0?"A":"B");let Ve="";for(let yt=0;yt<Math.abs(de);yt++)Ve+=qe;return this.coreService.triggerDataEvent(Ve,!0),this.cancel(H,!0)}return this.viewport.handleWheel(H)?this.cancel(H):void 0}},{passive:!1})),this.register((0,c.addDisposableDomListener)(k,"touchstart",H=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(H),this.cancel(H)},{passive:!0})),this.register((0,c.addDisposableDomListener)(k,"touchmove",H=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(H)?void 0:this.cancel(H)},{passive:!1}))}refresh(U,k){var M;(M=this._renderService)==null||M.refreshRows(U,k)}updateCursorStyle(U){var k;(k=this._selectionService)!=null&&k.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,k,M=0){var j;M===1?(super.scrollLines(U,k,M),this.refresh(0,this.rows-1)):(j=this.viewport)==null||j.scrollLines(U)}paste(U){(0,O.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 k=this._characterJoinerService.register(U);return this.refresh(0,this.rows-1),k}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,k,M){this._selectionService.setSelection(U,k,M)}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(){var U;(U=this._selectionService)==null||U.clearSelection()}selectAll(){var U;(U=this._selectionService)==null||U.selectAll()}selectLines(U,k){var M;(M=this._selectionService)==null||M.selectLines(U,k)}_keyDown(U){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1)return!1;const k=this.browser.isMac&&this.options.macOptionIsMeta&&U.altKey;if(!k&&!this._compositionHelper.keydown(U))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;k||U.key!=="Dead"&&U.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const M=(0,q.evaluateKeyboardEvent)(U,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(U),M.type===3||M.type===2){const j=this.rows-1;return this.scrollLines(M.type===2?-j:j),this.cancel(U,!0)}return M.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,U)||(M.cancel&&this.cancel(U,!0),!M.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):(M.key!==G.C0.ETX&&M.key!==G.C0.CR||(this.textarea.value=""),this._onKey.fire({key:M.key,domEvent:U}),this._showCursor(),this.coreService.triggerDataEvent(M.key,!0),!this.optionsService.rawOptions.screenReaderMode||U.altKey||U.ctrlKey?this.cancel(U,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(U,k){const M=U.isMac&&!this.options.macOptionIsMeta&&k.altKey&&!k.ctrlKey&&!k.metaKey||U.isWindows&&k.altKey&&k.ctrlKey&&!k.metaKey||U.isWindows&&k.getModifierState("AltGraph");return k.type==="keypress"?M:M&&(!k.keyCode||k.keyCode>47)}_keyUp(U){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1||(function(k){return k.keyCode===16||k.keyCode===17||k.keyCode===18}(U)||this.focus(),this.updateCursorStyle(U),this._keyPressHandled=!1)}_keyPress(U){let k;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1)return!1;if(this.cancel(U),U.charCode)k=U.charCode;else if(U.which===null||U.which===void 0)k=U.keyCode;else{if(U.which===0||U.charCode===0)return!1;k=U.which}return!(!k||(U.altKey||U.ctrlKey||U.metaKey)&&!this._isThirdLevelShift(this.browser,U)||(k=String.fromCharCode(k),this._onKey.fire({key:k,domEvent:U}),this._showCursor(),this.coreService.triggerDataEvent(k,!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 k=U.data;return this.coreService.triggerDataEvent(k,!0),this.cancel(U),!0}return!1}resize(U,k){U!==this.cols||k!==this.rows?super.resize(U,k):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(U,k){var M,j;(M=this._charSizeService)==null||M.measure(),(j=this.viewport)==null||j.syncScrollArea(!0)}clear(){var U;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 k=1;k<this.rows;k++)this.buffer.lines.push(this.buffer.getBlankLine(L.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(U=this.viewport)==null||U.reset(),this.refresh(0,this.rows-1)}}reset(){var k,M;this.options.rows=this.rows,this.options.cols=this.cols;const U=this._customKeyEventHandler;this._setup(),super.reset(),(k=this._selectionService)==null||k.reset(),this._decorationService.reset(),(M=this.viewport)==null||M.reset(),this._customKeyEventHandler=U,this.refresh(0,this.rows-1)}clearTextureAtlas(){var U;(U=this._renderService)==null||U.clearTextureAtlas()}_reportFocus(){var U;(U=this.element)!=null&&U.classList.contains("focus")?this.coreService.triggerDataEvent(G.C0.ESC+"[I"):this.coreService.triggerDataEvent(G.C0.ESC+"[O")}_reportWindowsOptions(U){if(this._renderService)switch(U){case W.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const k=this._renderService.dimensions.css.canvas.width.toFixed(0),M=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${G.C0.ESC}[4;${M};${k}t`);break;case W.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const j=this._renderService.dimensions.css.cell.width.toFixed(0),ee=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${G.C0.ESC}[6;${ee};${j}t`)}}cancel(U,k){if(this.options.cancelEvents||k)return U.preventDefault(),U.stopPropagation(),!1}}a.Terminal=te},9924:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.TimeBasedDebouncer=void 0,a.TimeBasedDebouncer=class{constructor(l,O=1e3){this._renderCallback=l,this._debounceThresholdMS=O,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(l,O,c){this._rowCount=c,l=l!==void 0?l:0,O=O!==void 0?O: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,O):O;const h=Date.now();if(h-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=h,this._innerRefresh();else if(!this._additionalRefreshRequested){const u=h-this._lastRefreshMs,m=this._debounceThresholdMS-u;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},m)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const l=Math.max(this._rowStart,0),O=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(l,O)}}},1680:function(o,a,l){var O=this&&this.__decorate||function(d,f,p,$){var _,P=arguments.length,w=P<3?f:$===null?$=Object.getOwnPropertyDescriptor(f,p):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(d,f,p,$);else for(var v=d.length-1;v>=0;v--)(_=d[v])&&(w=(P<3?_(w):P>3?_(f,p,w):_(f,p))||w);return P>3&&w&&Object.defineProperty(f,p,w),w},c=this&&this.__param||function(d,f){return function(p,$){f(p,$,d)}};Object.defineProperty(a,"__esModule",{value:!0}),a.Viewport=void 0;const h=l(3656),u=l(4725),m=l(8460),S=l(844),Q=l(2585);let g=a.Viewport=class extends S.Disposable{constructor(d,f,p,$,_,P,w,v){super(),this._viewportElement=d,this._scrollArea=f,this._bufferService=p,this._optionsService=$,this._charSizeService=_,this._renderService=P,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 m.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,h.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(b=>this._activeBuffer=b.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(b=>this._renderDimensions=b)),this._handleThemeChange(v.colors),this.register(v.onChangeColors(b=>this._handleThemeChange(b))),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.syncScrollArea())),setTimeout(()=>this.syncScrollArea())}_handleThemeChange(d){this._viewportElement.style.backgroundColor=d.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(d){if(d)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 f=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==f&&(this._lastRecordedBufferHeight=f,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const d=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==d&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=d),this._refreshAnimationFrame=null}syncScrollArea(d=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(d);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(d)}_handleScroll(d){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 f=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:f,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const d=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(d*(this._smoothScrollState.target-this._smoothScrollState.origin)),d<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(d,f){const p=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(f<0&&this._viewportElement.scrollTop!==0||f>0&&p<this._lastRecordedBufferHeight)||(d.cancelable&&d.preventDefault(),!1)}handleWheel(d){const f=this._getPixelsScrolled(d);return f!==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+f:this._smoothScrollState.target+=f,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=f,this._bubbleScroll(d,f))}scrollLines(d){if(d!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const f=d*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+f,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:d,suppressScrollEvent:!1})}_getPixelsScrolled(d){if(d.deltaY===0||d.shiftKey)return 0;let f=this._applyScrollModifier(d.deltaY,d);return d.deltaMode===WheelEvent.DOM_DELTA_LINE?f*=this._currentRowHeight:d.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(f*=this._currentRowHeight*this._bufferService.rows),f}getBufferElements(d,f){var v;let p,$="";const _=[],P=f??this._bufferService.buffer.lines.length,w=this._bufferService.buffer.lines;for(let b=d;b<P;b++){const T=w.get(b);if(!T)continue;const Y=(v=w.get(b+1))==null?void 0:v.isWrapped;if($+=T.translateToString(!Y),!Y||b===w.length-1){const Z=document.createElement("div");Z.textContent=$,_.push(Z),$.length>0&&(p=Z),$=""}}return{bufferElements:_,cursorElement:p}}getLinesScrolled(d){if(d.deltaY===0||d.shiftKey)return 0;let f=this._applyScrollModifier(d.deltaY,d);return d.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(f/=this._currentRowHeight+0,this._wheelPartialScroll+=f,f=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):d.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(f*=this._bufferService.rows),f}_applyScrollModifier(d,f){const p=this._optionsService.rawOptions.fastScrollModifier;return p==="alt"&&f.altKey||p==="ctrl"&&f.ctrlKey||p==="shift"&&f.shiftKey?d*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:d*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(d){this._lastTouchY=d.touches[0].pageY}handleTouchMove(d){const f=this._lastTouchY-d.touches[0].pageY;return this._lastTouchY=d.touches[0].pageY,f!==0&&(this._viewportElement.scrollTop+=f,this._bubbleScroll(d,f))}};a.Viewport=g=O([c(2,Q.IBufferService),c(3,Q.IOptionsService),c(4,u.ICharSizeService),c(5,u.IRenderService),c(6,u.ICoreBrowserService),c(7,u.IThemeService)],g)},3107:function(o,a,l){var O=this&&this.__decorate||function(Q,g,d,f){var p,$=arguments.length,_=$<3?g:f===null?f=Object.getOwnPropertyDescriptor(g,d):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(Q,g,d,f);else for(var P=Q.length-1;P>=0;P--)(p=Q[P])&&(_=($<3?p(_):$>3?p(g,d,_):p(g,d))||_);return $>3&&_&&Object.defineProperty(g,d,_),_},c=this&&this.__param||function(Q,g){return function(d,f){g(d,f,Q)}};Object.defineProperty(a,"__esModule",{value:!0}),a.BufferDecorationRenderer=void 0;const h=l(4725),u=l(844),m=l(2585);let S=a.BufferDecorationRenderer=class extends u.Disposable{constructor(Q,g,d,f,p){super(),this._screenElement=Q,this._bufferService=g,this._coreBrowserService=d,this._decorationService=f,this._renderService=p,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($=>this._removeDecoration($))),this.register((0,u.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 Q of this._decorationService.decorations)this._renderDecoration(Q);this._dimensionsChanged=!1}_renderDecoration(Q){this._refreshStyle(Q),this._dimensionsChanged&&this._refreshXPosition(Q)}_createElement(Q){var f;const g=this._coreBrowserService.mainDocument.createElement("div");g.classList.add("xterm-decoration"),g.classList.toggle("xterm-decoration-top-layer",((f=Q==null?void 0:Q.options)==null?void 0:f.layer)==="top"),g.style.width=`${Math.round((Q.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,g.style.height=(Q.options.height||1)*this._renderService.dimensions.css.cell.height+"px",g.style.top=(Q.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",g.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const d=Q.options.x??0;return d&&d>this._bufferService.cols&&(g.style.display="none"),this._refreshXPosition(Q,g),g}_refreshStyle(Q){const g=Q.marker.line-this._bufferService.buffers.active.ydisp;if(g<0||g>=this._bufferService.rows)Q.element&&(Q.element.style.display="none",Q.onRenderEmitter.fire(Q.element));else{let d=this._decorationElements.get(Q);d||(d=this._createElement(Q),Q.element=d,this._decorationElements.set(Q,d),this._container.appendChild(d),Q.onDispose(()=>{this._decorationElements.delete(Q),d.remove()})),d.style.top=g*this._renderService.dimensions.css.cell.height+"px",d.style.display=this._altBufferIsActive?"none":"block",Q.onRenderEmitter.fire(d)}}_refreshXPosition(Q,g=Q.element){if(!g)return;const d=Q.options.x??0;(Q.options.anchor||"left")==="right"?g.style.right=d?d*this._renderService.dimensions.css.cell.width+"px":"":g.style.left=d?d*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(Q){var g;(g=this._decorationElements.get(Q))==null||g.remove(),this._decorationElements.delete(Q),Q.dispose()}};a.BufferDecorationRenderer=S=O([c(1,m.IBufferService),c(2,h.ICoreBrowserService),c(3,m.IDecorationService),c(4,h.IRenderService)],S)},5871:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ColorZoneStore=void 0,a.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 O of this._zones)if(O.color===l.options.overviewRulerOptions.color&&O.position===l.options.overviewRulerOptions.position){if(this._lineIntersectsZone(O,l.marker.line))return;if(this._lineAdjacentToZone(O,l.marker.line,l.options.overviewRulerOptions.position))return void this._addLineToZone(O,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,O){return O>=l.startBufferLine&&O<=l.endBufferLine}_lineAdjacentToZone(l,O,c){return O>=l.startBufferLine-this._linePadding[c||"full"]&&O<=l.endBufferLine+this._linePadding[c||"full"]}_addLineToZone(l,O){l.startBufferLine=Math.min(l.startBufferLine,O),l.endBufferLine=Math.max(l.endBufferLine,O)}}},5744:function(o,a,l){var O=this&&this.__decorate||function(p,$,_,P){var w,v=arguments.length,b=v<3?$:P===null?P=Object.getOwnPropertyDescriptor($,_):P;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(p,$,_,P);else for(var T=p.length-1;T>=0;T--)(w=p[T])&&(b=(v<3?w(b):v>3?w($,_,b):w($,_))||b);return v>3&&b&&Object.defineProperty($,_,b),b},c=this&&this.__param||function(p,$){return function(_,P){$(_,P,p)}};Object.defineProperty(a,"__esModule",{value:!0}),a.OverviewRulerRenderer=void 0;const h=l(5871),u=l(4725),m=l(844),S=l(2585),Q={full:0,left:0,center:0,right:0},g={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0};let f=a.OverviewRulerRenderer=class extends m.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(p,$,_,P,w,v,b){var Y;super(),this._viewportElement=p,this._screenElement=$,this._bufferService=_,this._decorationService=P,this._renderService=w,this._optionsService=v,this._coreBrowserService=b,this._colorZoneStore=new h.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(),(Y=this._viewportElement.parentElement)==null||Y.insertBefore(this._canvas,this._viewportElement);const T=this._canvas.getContext("2d");if(!T)throw new Error("Ctx cannot be null");this._ctx=T,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,m.toDisposable)(()=>{var Z;(Z=this._canvas)==null||Z.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 p=Math.floor(this._canvas.width/3),$=Math.ceil(this._canvas.width/3);g.full=this._canvas.width,g.left=p,g.center=$,g.right=p,this._refreshDrawHeightConstants(),d.full=0,d.left=0,d.center=g.left,d.right=g.left+g.center}_refreshDrawHeightConstants(){Q.full=Math.round(2*this._coreBrowserService.dpr);const p=this._canvas.height/this._bufferService.buffer.lines.length,$=Math.round(Math.max(Math.min(p,12),6)*this._coreBrowserService.dpr);Q.left=$,Q.center=$,Q.right=$}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Q.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Q.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Q.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Q.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 $ of this._decorationService.decorations)this._colorZoneStore.addDecoration($);this._ctx.lineWidth=1;const p=this._colorZoneStore.zones;for(const $ of p)$.position!=="full"&&this._renderColorZone($);for(const $ of p)$.position==="full"&&this._renderColorZone($);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(p){this._ctx.fillStyle=p.color,this._ctx.fillRect(d[p.position||"full"],Math.round((this._canvas.height-1)*(p.startBufferLine/this._bufferService.buffers.active.lines.length)-Q[p.position||"full"]/2),g[p.position||"full"],Math.round((this._canvas.height-1)*((p.endBufferLine-p.startBufferLine)/this._bufferService.buffers.active.lines.length)+Q[p.position||"full"]))}_queueRefresh(p,$){this._shouldUpdateDimensions=p||this._shouldUpdateDimensions,this._shouldUpdateAnchor=$||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};a.OverviewRulerRenderer=f=O([c(2,S.IBufferService),c(3,S.IDecorationService),c(4,u.IRenderService),c(5,S.IOptionsService),c(6,u.ICoreBrowserService)],f)},2950:function(o,a,l){var O=this&&this.__decorate||function(Q,g,d,f){var p,$=arguments.length,_=$<3?g:f===null?f=Object.getOwnPropertyDescriptor(g,d):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(Q,g,d,f);else for(var P=Q.length-1;P>=0;P--)(p=Q[P])&&(_=($<3?p(_):$>3?p(g,d,_):p(g,d))||_);return $>3&&_&&Object.defineProperty(g,d,_),_},c=this&&this.__param||function(Q,g){return function(d,f){g(d,f,Q)}};Object.defineProperty(a,"__esModule",{value:!0}),a.CompositionHelper=void 0;const h=l(4725),u=l(2585),m=l(2584);let S=a.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(Q,g,d,f,p,$){this._textarea=Q,this._compositionView=g,this._bufferService=d,this._optionsService=f,this._coreService=p,this._renderService=$,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(Q){this._compositionView.textContent=Q.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(Q){if(this._isComposing||this._isSendingComposition){if(Q.keyCode===229||Q.keyCode===16||Q.keyCode===17||Q.keyCode===18)return!1;this._finalizeComposition(!1)}return Q.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(Q){if(this._compositionView.classList.remove("active"),this._isComposing=!1,Q){const g={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let d;this._isSendingComposition=!1,g.start+=this._dataAlreadySent.length,d=this._isComposing?this._textarea.value.substring(g.start,g.end):this._textarea.value.substring(g.start),d.length>0&&this._coreService.triggerDataEvent(d,!0)}},0)}else{this._isSendingComposition=!1;const g=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(g,!0)}}_handleAnyTextareaChanges(){const Q=this._textarea.value;setTimeout(()=>{if(!this._isComposing){const g=this._textarea.value,d=g.replace(Q,"");this._dataAlreadySent=d,g.length>Q.length?this._coreService.triggerDataEvent(d,!0):g.length<Q.length?this._coreService.triggerDataEvent(`${m.C0.DEL}`,!0):g.length===Q.length&&g!==Q&&this._coreService.triggerDataEvent(g,!0)}},0)}updateCompositionElements(Q){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const g=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),d=this._renderService.dimensions.css.cell.height,f=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,p=g*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=p+"px",this._compositionView.style.top=f+"px",this._compositionView.style.height=d+"px",this._compositionView.style.lineHeight=d+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const $=this._compositionView.getBoundingClientRect();this._textarea.style.left=p+"px",this._textarea.style.top=f+"px",this._textarea.style.width=Math.max($.width,1)+"px",this._textarea.style.height=Math.max($.height,1)+"px",this._textarea.style.lineHeight=$.height+"px"}Q||setTimeout(()=>this.updateCompositionElements(!0),0)}}};a.CompositionHelper=S=O([c(2,u.IBufferService),c(3,u.IOptionsService),c(4,u.ICoreService),c(5,h.IRenderService)],S)},9806:(o,a)=>{function l(O,c,h){const u=h.getBoundingClientRect(),m=O.getComputedStyle(h),S=parseInt(m.getPropertyValue("padding-left")),Q=parseInt(m.getPropertyValue("padding-top"));return[c.clientX-u.left-S,c.clientY-u.top-Q]}Object.defineProperty(a,"__esModule",{value:!0}),a.getCoords=a.getCoordsRelativeToElement=void 0,a.getCoordsRelativeToElement=l,a.getCoords=function(O,c,h,u,m,S,Q,g,d){if(!S)return;const f=l(O,c,h);return f?(f[0]=Math.ceil((f[0]+(d?Q/2:0))/Q),f[1]=Math.ceil(f[1]/g),f[0]=Math.min(Math.max(f[0],1),u+(d?1:0)),f[1]=Math.min(Math.max(f[1],1),m),f):void 0}},9504:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.moveToCellSequence=void 0;const O=l(2584);function c(g,d,f,p){const $=g-h(g,f),_=d-h(d,f),P=Math.abs($-_)-function(w,v,b){let T=0;const Y=w-h(w,b),Z=v-h(v,b);for(let R=0;R<Math.abs(Y-Z);R++){const z=u(w,v)==="A"?-1:1,V=b.buffer.lines.get(Y+z*R);V!=null&&V.isWrapped&&T++}return T}(g,d,f);return Q(P,S(u(g,d),p))}function h(g,d){let f=0,p=d.buffer.lines.get(g),$=p==null?void 0:p.isWrapped;for(;$&&g>=0&&g<d.rows;)f++,p=d.buffer.lines.get(--g),$=p==null?void 0:p.isWrapped;return f}function u(g,d){return g>d?"A":"B"}function m(g,d,f,p,$,_){let P=g,w=d,v="";for(;P!==f||w!==p;)P+=$?1:-1,$&&P>_.cols-1?(v+=_.buffer.translateBufferLineToString(w,!1,g,P),P=0,g=0,w++):!$&&P<0&&(v+=_.buffer.translateBufferLineToString(w,!1,0,g+1),P=_.cols-1,g=P,w--);return v+_.buffer.translateBufferLineToString(w,!1,g,P)}function S(g,d){const f=d?"O":"[";return O.C0.ESC+f+g}function Q(g,d){g=Math.floor(g);let f="";for(let p=0;p<g;p++)f+=d;return f}a.moveToCellSequence=function(g,d,f,p){const $=f.buffer.x,_=f.buffer.y;if(!f.buffer.hasScrollback)return function(v,b,T,Y,Z,R){return c(b,Y,Z,R).length===0?"":Q(m(v,b,v,b-h(b,Z),!1,Z).length,S("D",R))}($,_,0,d,f,p)+c(_,d,f,p)+function(v,b,T,Y,Z,R){let z;z=c(b,Y,Z,R).length>0?Y-h(Y,Z):b;const V=Y,L=function(G,q,X,x,C,W){let E;return E=c(X,x,C,W).length>0?x-h(x,C):q,G<X&&E<=x||G>=X&&E<x?"C":"D"}(v,b,T,Y,Z,R);return Q(m(v,z,T,V,L==="C",Z).length,S(L,R))}($,_,g,d,f,p);let P;if(_===d)return P=$>g?"D":"C",Q(Math.abs($-g),S(P,p));P=_>d?"D":"C";const w=Math.abs(_-d);return Q(function(v,b){return b.cols-v}(_>d?g:$,f)+(w-1)*f.cols+1+((_>d?$:g)-1),S(P,p))}},1296:function(o,a,l){var O=this&&this.__decorate||function(R,z,V,L){var G,q=arguments.length,X=q<3?z:L===null?L=Object.getOwnPropertyDescriptor(z,V):L;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")X=Reflect.decorate(R,z,V,L);else for(var x=R.length-1;x>=0;x--)(G=R[x])&&(X=(q<3?G(X):q>3?G(z,V,X):G(z,V))||X);return q>3&&X&&Object.defineProperty(z,V,X),X},c=this&&this.__param||function(R,z){return function(V,L){z(V,L,R)}};Object.defineProperty(a,"__esModule",{value:!0}),a.DomRenderer=void 0;const h=l(3787),u=l(2550),m=l(2223),S=l(6171),Q=l(6052),g=l(4725),d=l(8055),f=l(8460),p=l(844),$=l(2585),_="xterm-dom-renderer-owner-",P="xterm-rows",w="xterm-fg-",v="xterm-bg-",b="xterm-focus",T="xterm-selection";let Y=1,Z=a.DomRenderer=class extends p.Disposable{constructor(R,z,V,L,G,q,X,x,C,W,E,D,te){super(),this._terminal=R,this._document=z,this._element=V,this._screenElement=L,this._viewportElement=G,this._helperContainer=q,this._linkifier2=X,this._charSizeService=C,this._optionsService=W,this._bufferService=E,this._coreBrowserService=D,this._themeService=te,this._terminalClass=Y++,this._rowElements=[],this._selectionRenderModel=(0,Q.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new f.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(P),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(T),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,S.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._themeService.onChangeColors(re=>this._injectCss(re))),this._injectCss(this._themeService.colors),this._rowFactory=x.createInstance(h.DomRendererRowFactory,document),this._element.classList.add(_+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(re=>this._handleLinkHover(re))),this.register(this._linkifier2.onHideLinkUnderline(re=>this._handleLinkLeave(re))),this.register((0,p.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 u.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 R=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*R,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*R),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/R),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/R),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 z=`${this._terminalSelector} .${P} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=z,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(R){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let z=`${this._terminalSelector} .${P} { color: ${R.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;z+=`${this._terminalSelector} .${P} .xterm-dim { color: ${d.color.multiplyOpacity(R.foreground,.5).css};}`,z+=`${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}`,L=`blink_bar_${this._terminalClass}`,G=`blink_block_${this._terminalClass}`;z+=`@keyframes ${V} { 50% { border-bottom-style: hidden; }}`,z+=`@keyframes ${L} { 50% { box-shadow: none; }}`,z+=`@keyframes ${G} { 0% { background-color: ${R.cursor.css}; color: ${R.cursorAccent.css}; } 50% { background-color: inherit; color: ${R.cursor.css}; }}`,z+=`${this._terminalSelector} .${P}.${b} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${V} 1s step-end infinite;}${this._terminalSelector} .${P}.${b} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${L} 1s step-end infinite;}${this._terminalSelector} .${P}.${b} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${G} 1s step-end infinite;}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-block { background-color: ${R.cursor.css}; color: ${R.cursorAccent.css};}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${R.cursor.css} !important; color: ${R.cursorAccent.css} !important;}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${R.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${R.cursor.css} inset;}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${R.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,z+=`${this._terminalSelector} .${T} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${T} div { position: absolute; background-color: ${R.selectionBackgroundOpaque.css};}${this._terminalSelector} .${T} div { position: absolute; background-color: ${R.selectionInactiveBackgroundOpaque.css};}`;for(const[q,X]of R.ansi.entries())z+=`${this._terminalSelector} .${w}${q} { color: ${X.css}; }${this._terminalSelector} .${w}${q}.xterm-dim { color: ${d.color.multiplyOpacity(X,.5).css}; }${this._terminalSelector} .${v}${q} { background-color: ${X.css}; }`;z+=`${this._terminalSelector} .${w}${m.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(R.background).css}; }${this._terminalSelector} .${w}${m.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${d.color.multiplyOpacity(d.color.opaque(R.background),.5).css}; }${this._terminalSelector} .${v}${m.INVERTED_DEFAULT_COLOR} { background-color: ${R.foreground.css}; }`,this._themeStyleElement.textContent=z}_setDefaultSpacing(){const R=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${R}px`,this._rowFactory.defaultSpacing=R}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(R,z){for(let V=this._rowElements.length;V<=z;V++){const L=this._document.createElement("div");this._rowContainer.appendChild(L),this._rowElements.push(L)}for(;this._rowElements.length>z;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(R,z){this._refreshRowElements(R,z),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(b),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(b),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(R,z,V){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(R,z,V),this.renderRows(0,this._bufferService.rows-1),!R||!z)return;this._selectionRenderModel.update(this._terminal,R,z,V);const L=this._selectionRenderModel.viewportStartRow,G=this._selectionRenderModel.viewportEndRow,q=this._selectionRenderModel.viewportCappedStartRow,X=this._selectionRenderModel.viewportCappedEndRow;if(q>=this._bufferService.rows||X<0)return;const x=this._document.createDocumentFragment();if(V){const C=R[0]>z[0];x.appendChild(this._createSelectionElement(q,C?z[0]:R[0],C?R[0]:z[0],X-q+1))}else{const C=L===q?R[0]:0,W=q===G?z[0]:this._bufferService.cols;x.appendChild(this._createSelectionElement(q,C,W));const E=X-q-1;if(x.appendChild(this._createSelectionElement(q+1,0,this._bufferService.cols,E)),q!==X){const D=G===X?z[0]:this._bufferService.cols;x.appendChild(this._createSelectionElement(X,0,D))}}this._selectionContainer.appendChild(x)}_createSelectionElement(R,z,V,L=1){const G=this._document.createElement("div"),q=z*this.dimensions.css.cell.width;let X=this.dimensions.css.cell.width*(V-z);return q+X>this.dimensions.css.canvas.width&&(X=this.dimensions.css.canvas.width-q),G.style.height=L*this.dimensions.css.cell.height+"px",G.style.top=R*this.dimensions.css.cell.height+"px",G.style.left=`${q}px`,G.style.width=`${X}px`,G}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 R of this._rowElements)R.replaceChildren()}renderRows(R,z){const V=this._bufferService.buffer,L=V.ybase+V.y,G=Math.min(V.x,this._bufferService.cols-1),q=this._optionsService.rawOptions.cursorBlink,X=this._optionsService.rawOptions.cursorStyle,x=this._optionsService.rawOptions.cursorInactiveStyle;for(let C=R;C<=z;C++){const W=C+V.ydisp,E=this._rowElements[C],D=V.lines.get(W);if(!E||!D)break;E.replaceChildren(...this._rowFactory.createRow(D,W,W===L,X,x,G,q,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${_}${this._terminalClass}`}_handleLinkHover(R){this._setCellUnderline(R.x1,R.x2,R.y1,R.y2,R.cols,!0)}_handleLinkLeave(R){this._setCellUnderline(R.x1,R.x2,R.y1,R.y2,R.cols,!1)}_setCellUnderline(R,z,V,L,G,q){V<0&&(R=0),L<0&&(z=0);const X=this._bufferService.rows-1;V=Math.max(Math.min(V,X),0),L=Math.max(Math.min(L,X),0),G=Math.min(G,this._bufferService.cols);const x=this._bufferService.buffer,C=x.ybase+x.y,W=Math.min(x.x,G-1),E=this._optionsService.rawOptions.cursorBlink,D=this._optionsService.rawOptions.cursorStyle,te=this._optionsService.rawOptions.cursorInactiveStyle;for(let re=V;re<=L;++re){const U=re+x.ydisp,k=this._rowElements[re],M=x.lines.get(U);if(!k||!M)break;k.replaceChildren(...this._rowFactory.createRow(M,U,U===C,D,te,W,E,this.dimensions.css.cell.width,this._widthCache,q?re===V?R:0:-1,q?(re===L?z:G)-1:-1))}}};a.DomRenderer=Z=O([c(7,$.IInstantiationService),c(8,g.ICharSizeService),c(9,$.IOptionsService),c(10,$.IBufferService),c(11,g.ICoreBrowserService),c(12,g.IThemeService)],Z)},3787:function(o,a,l){var O=this&&this.__decorate||function(P,w,v,b){var T,Y=arguments.length,Z=Y<3?w:b===null?b=Object.getOwnPropertyDescriptor(w,v):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Z=Reflect.decorate(P,w,v,b);else for(var R=P.length-1;R>=0;R--)(T=P[R])&&(Z=(Y<3?T(Z):Y>3?T(w,v,Z):T(w,v))||Z);return Y>3&&Z&&Object.defineProperty(w,v,Z),Z},c=this&&this.__param||function(P,w){return function(v,b){w(v,b,P)}};Object.defineProperty(a,"__esModule",{value:!0}),a.DomRendererRowFactory=void 0;const h=l(2223),u=l(643),m=l(511),S=l(2585),Q=l(8055),g=l(4725),d=l(4269),f=l(6171),p=l(3734);let $=a.DomRendererRowFactory=class{constructor(P,w,v,b,T,Y,Z){this._document=P,this._characterJoinerService=w,this._optionsService=v,this._coreBrowserService=b,this._coreService=T,this._decorationService=Y,this._themeService=Z,this._workCell=new m.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(P,w,v){this._selectionStart=P,this._selectionEnd=w,this._columnSelectMode=v}createRow(P,w,v,b,T,Y,Z,R,z,V,L){const G=[],q=this._characterJoinerService.getJoinedCharacters(w),X=this._themeService.colors;let x,C=P.getNoBgTrimmedLength();v&&C<Y+1&&(C=Y+1);let W=0,E="",D=0,te=0,re=0,U=!1,k=0,M=!1,j=0;const ee=[],H=V!==-1&&L!==-1;for(let de=0;de<C;de++){P.loadCell(de,this._workCell);let qe=this._workCell.getWidth();if(qe===0)continue;let Ve=!1,yt=de,Oe=this._workCell;if(q.length>0&&de===q[0][0]){Ve=!0;const Ze=q.shift();Oe=new d.JoinedCellData(this._workCell,P.translateToString(!0,Ze[0],Ze[1]),Ze[1]-Ze[0]),yt=Ze[1]-1,qe=Oe.getWidth()}const eo=this._isCellInSelection(de,w),sh=v&&de===Y,oh=H&&de>=V&&de<=L;let ah=!1;this._decorationService.forEachDecorationAtCell(de,w,void 0,Ze=>{ah=!0});let el=Oe.getChars()||u.WHITESPACE_CELL_CHAR;if(el===" "&&(Oe.isUnderline()||Oe.isOverline())&&(el=" "),j=qe*R-z.get(el,Oe.isBold(),Oe.isItalic()),x){if(W&&(eo&&M||!eo&&!M&&Oe.bg===D)&&(eo&&M&&X.selectionForeground||Oe.fg===te)&&Oe.extended.ext===re&&oh===U&&j===k&&!sh&&!Ve&&!ah){Oe.isInvisible()?E+=u.WHITESPACE_CELL_CHAR:E+=el,W++;continue}W&&(x.textContent=E),x=this._document.createElement("span"),W=0,E=""}else x=this._document.createElement("span");if(D=Oe.bg,te=Oe.fg,re=Oe.extended.ext,U=oh,k=j,M=eo,Ve&&Y>=de&&Y<=yt&&(Y=de),!this._coreService.isCursorHidden&&sh&&this._coreService.isCursorInitialized){if(ee.push("xterm-cursor"),this._coreBrowserService.isFocused)Z&&ee.push("xterm-cursor-blink"),ee.push(b==="bar"?"xterm-cursor-bar":b==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(T)switch(T){case"outline":ee.push("xterm-cursor-outline");break;case"block":ee.push("xterm-cursor-block");break;case"bar":ee.push("xterm-cursor-bar");break;case"underline":ee.push("xterm-cursor-underline")}}if(Oe.isBold()&&ee.push("xterm-bold"),Oe.isItalic()&&ee.push("xterm-italic"),Oe.isDim()&&ee.push("xterm-dim"),E=Oe.isInvisible()?u.WHITESPACE_CELL_CHAR:Oe.getChars()||u.WHITESPACE_CELL_CHAR,Oe.isUnderline()&&(ee.push(`xterm-underline-${Oe.extended.underlineStyle}`),E===" "&&(E=" "),!Oe.isUnderlineColorDefault()))if(Oe.isUnderlineColorRGB())x.style.textDecorationColor=`rgb(${p.AttributeData.toColorRGB(Oe.getUnderlineColor()).join(",")})`;else{let Ze=Oe.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&Oe.isBold()&&Ze<8&&(Ze+=8),x.style.textDecorationColor=X.ansi[Ze].css}Oe.isOverline()&&(ee.push("xterm-overline"),E===" "&&(E=" ")),Oe.isStrikethrough()&&ee.push("xterm-strikethrough"),oh&&(x.style.textDecoration="underline");let ei=Oe.getFgColor(),to=Oe.getFgColorMode(),Ti=Oe.getBgColor(),io=Oe.getBgColorMode();const lh=!!Oe.isInverse();if(lh){const Ze=ei;ei=Ti,Ti=Ze;const QX=to;to=io,io=QX}let Pr,tl,yr,ro=!1;switch(this._decorationService.forEachDecorationAtCell(de,w,void 0,Ze=>{Ze.options.layer!=="top"&&ro||(Ze.backgroundColorRGB&&(io=50331648,Ti=Ze.backgroundColorRGB.rgba>>8&16777215,Pr=Ze.backgroundColorRGB),Ze.foregroundColorRGB&&(to=50331648,ei=Ze.foregroundColorRGB.rgba>>8&16777215,tl=Ze.foregroundColorRGB),ro=Ze.options.layer==="top")}),!ro&&eo&&(Pr=this._coreBrowserService.isFocused?X.selectionBackgroundOpaque:X.selectionInactiveBackgroundOpaque,Ti=Pr.rgba>>8&16777215,io=50331648,ro=!0,X.selectionForeground&&(to=50331648,ei=X.selectionForeground.rgba>>8&16777215,tl=X.selectionForeground)),ro&&ee.push("xterm-decoration-top"),io){case 16777216:case 33554432:yr=X.ansi[Ti],ee.push(`xterm-bg-${Ti}`);break;case 50331648:yr=Q.channels.toColor(Ti>>16,Ti>>8&255,255&Ti),this._addStyle(x,`background-color:#${_((Ti>>>0).toString(16),"0",6)}`);break;default:lh?(yr=X.foreground,ee.push(`xterm-bg-${h.INVERTED_DEFAULT_COLOR}`)):yr=X.background}switch(Pr||Oe.isDim()&&(Pr=Q.color.multiplyOpacity(yr,.5)),to){case 16777216:case 33554432:Oe.isBold()&&ei<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ei+=8),this._applyMinimumContrast(x,yr,X.ansi[ei],Oe,Pr,void 0)||ee.push(`xterm-fg-${ei}`);break;case 50331648:const Ze=Q.channels.toColor(ei>>16&255,ei>>8&255,255&ei);this._applyMinimumContrast(x,yr,Ze,Oe,Pr,tl)||this._addStyle(x,`color:#${_(ei.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(x,yr,X.foreground,Oe,Pr,tl)||lh&&ee.push(`xterm-fg-${h.INVERTED_DEFAULT_COLOR}`)}ee.length&&(x.className=ee.join(" "),ee.length=0),sh||Ve||ah?x.textContent=E:W++,j!==this.defaultSpacing&&(x.style.letterSpacing=`${j}px`),G.push(x),de=yt}return x&&W&&(x.textContent=E),G}_applyMinimumContrast(P,w,v,b,T,Y){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,f.treatGlyphAsBackgroundColor)(b.getCode()))return!1;const Z=this._getContrastCache(b);let R;if(T||Y||(R=Z.getColor(w.rgba,v.rgba)),R===void 0){const z=this._optionsService.rawOptions.minimumContrastRatio/(b.isDim()?2:1);R=Q.color.ensureContrastRatio(T||w,Y||v,z),Z.setColor((T||w).rgba,(Y||v).rgba,R??null)}return!!R&&(this._addStyle(P,`color:${R.css}`),!0)}_getContrastCache(P){return P.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(P,w){P.setAttribute("style",`${P.getAttribute("style")||""}${w};`)}_isCellInSelection(P,w){const v=this._selectionStart,b=this._selectionEnd;return!(!v||!b)&&(this._columnSelectMode?v[0]<=b[0]?P>=v[0]&&w>=v[1]&&P<b[0]&&w<=b[1]:P<v[0]&&w>=v[1]&&P>=b[0]&&w<=b[1]:w>v[1]&&w<b[1]||v[1]===b[1]&&w===v[1]&&P>=v[0]&&P<b[0]||v[1]<b[1]&&w===b[1]&&P<b[0]||v[1]<b[1]&&w===v[1]&&P>=v[0])}};function _(P,w,v){for(;P.length<v;)P=w+P;return P}a.DomRendererRowFactory=$=O([c(1,g.ICharacterJoinerService),c(2,S.IOptionsService),c(3,g.ICoreBrowserService),c(4,S.ICoreService),c(5,S.IDecorationService),c(6,g.IThemeService)],$)},2550:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.WidthCache=void 0,a.WidthCache=class{constructor(l,O){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 c=l.createElement("span");c.classList.add("xterm-char-measure-element");const h=l.createElement("span");h.classList.add("xterm-char-measure-element"),h.style.fontWeight="bold";const u=l.createElement("span");u.classList.add("xterm-char-measure-element"),u.style.fontStyle="italic";const m=l.createElement("span");m.classList.add("xterm-char-measure-element"),m.style.fontWeight="bold",m.style.fontStyle="italic",this._measureElements=[c,h,u,m],this._container.appendChild(c),this._container.appendChild(h),this._container.appendChild(u),this._container.appendChild(m),O.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,O,c,h){l===this._font&&O===this._fontSize&&c===this._weight&&h===this._weightBold||(this._font=l,this._fontSize=O,this._weight=c,this._weightBold=h,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${c}`,this._measureElements[1].style.fontWeight=`${h}`,this._measureElements[2].style.fontWeight=`${c}`,this._measureElements[3].style.fontWeight=`${h}`,this.clear())}get(l,O,c){let h=0;if(!O&&!c&&l.length===1&&(h=l.charCodeAt(0))<256){if(this._flat[h]!==-9999)return this._flat[h];const S=this._measure(l,0);return S>0&&(this._flat[h]=S),S}let u=l;O&&(u+="B"),c&&(u+="I");let m=this._holey.get(u);if(m===void 0){let S=0;O&&(S|=1),c&&(S|=2),m=this._measure(l,S),m>0&&this._holey.set(u,m)}return m}_measure(l,O){const c=this._measureElements[O];return c.textContent=l.repeat(32),c.offsetWidth/32}}},2223:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.TEXT_BASELINE=a.DIM_OPACITY=a.INVERTED_DEFAULT_COLOR=void 0;const O=l(6114);a.INVERTED_DEFAULT_COLOR=257,a.DIM_OPACITY=.5,a.TEXT_BASELINE=O.isFirefox||O.isLegacyEdge?"bottom":"ideographic"},6171:(o,a)=>{function l(c){return 57508<=c&&c<=57558}function O(c){return c>=128512&&c<=128591||c>=127744&&c<=128511||c>=128640&&c<=128767||c>=9728&&c<=9983||c>=9984&&c<=10175||c>=65024&&c<=65039||c>=129280&&c<=129535||c>=127462&&c<=127487}Object.defineProperty(a,"__esModule",{value:!0}),a.computeNextVariantOffset=a.createRenderDimensions=a.treatGlyphAsBackgroundColor=a.allowRescaling=a.isEmoji=a.isRestrictedPowerlineGlyph=a.isPowerlineGlyph=a.throwIfFalsy=void 0,a.throwIfFalsy=function(c){if(!c)throw new Error("value must not be falsy");return c},a.isPowerlineGlyph=l,a.isRestrictedPowerlineGlyph=function(c){return 57520<=c&&c<=57527},a.isEmoji=O,a.allowRescaling=function(c,h,u,m){return h===1&&u>Math.ceil(1.5*m)&&c!==void 0&&c>255&&!O(c)&&!l(c)&&!function(S){return 57344<=S&&S<=63743}(c)},a.treatGlyphAsBackgroundColor=function(c){return l(c)||function(h){return 9472<=h&&h<=9631}(c)},a.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}}}},a.computeNextVariantOffset=function(c,h,u=0){return(c-(2*Math.round(h)-u))%(2*Math.round(h))}},6052:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.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(c,h,u,m=!1){if(this.selectionStart=h,this.selectionEnd=u,!h||!u||h[0]===u[0]&&h[1]===u[1])return void this.clear();const S=c.buffers.active.ydisp,Q=h[1]-S,g=u[1]-S,d=Math.max(Q,0),f=Math.min(g,c.rows-1);d>=c.rows||f<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=m,this.viewportStartRow=Q,this.viewportEndRow=g,this.viewportCappedStartRow=d,this.viewportCappedEndRow=f,this.startCol=h[0],this.endCol=u[0])}isCellSelected(c,h,u){return!!this.hasSelection&&(u-=c.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?h>=this.startCol&&u>=this.viewportCappedStartRow&&h<this.endCol&&u<=this.viewportCappedEndRow:h<this.startCol&&u>=this.viewportCappedStartRow&&h>=this.endCol&&u<=this.viewportCappedEndRow:u>this.viewportStartRow&&u<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&u===this.viewportStartRow&&h>=this.startCol&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&u===this.viewportEndRow&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&u===this.viewportStartRow&&h>=this.startCol)}}a.createSelectionRenderModel=function(){return new l}},456:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.SelectionModel=void 0,a.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,O=this.selectionEnd;return!(!l||!O)&&(l[1]>O[1]||l[1]===O[1]&&l[0]>O[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(o,a,l){var O=this&&this.__decorate||function(f,p,$,_){var P,w=arguments.length,v=w<3?p:_===null?_=Object.getOwnPropertyDescriptor(p,$):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(f,p,$,_);else for(var b=f.length-1;b>=0;b--)(P=f[b])&&(v=(w<3?P(v):w>3?P(p,$,v):P(p,$))||v);return w>3&&v&&Object.defineProperty(p,$,v),v},c=this&&this.__param||function(f,p){return function($,_){p($,_,f)}};Object.defineProperty(a,"__esModule",{value:!0}),a.CharSizeService=void 0;const h=l(2585),u=l(8460),m=l(844);let S=a.CharSizeService=class extends m.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(f,p,$){super(),this._optionsService=$,this.width=0,this.height=0,this._onCharSizeChange=this.register(new u.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new d(this._optionsService))}catch{this._measureStrategy=this.register(new g(f,p,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}measure(){const f=this._measureStrategy.measure();f.width===this.width&&f.height===this.height||(this.width=f.width,this.height=f.height,this._onCharSizeChange.fire())}};a.CharSizeService=S=O([c(2,h.IOptionsService)],S);class Q extends m.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(p,$){p!==void 0&&p>0&&$!==void 0&&$>0&&(this._result.width=p,this._result.height=$)}}class g extends Q{constructor(p,$,_){super(),this._document=p,this._parentElement=$,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 d extends Q{constructor(p){super(),this._optionsService=p,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const $=this._ctx.measureText("W");if(!("width"in $&&"fontBoundingBoxAscent"in $&&"fontBoundingBoxDescent"in $))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const p=this._ctx.measureText("W");return this._validateAndSet(p.width,p.fontBoundingBoxAscent+p.fontBoundingBoxDescent),this._result}}},4269:function(o,a,l){var O=this&&this.__decorate||function(d,f,p,$){var _,P=arguments.length,w=P<3?f:$===null?$=Object.getOwnPropertyDescriptor(f,p):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(d,f,p,$);else for(var v=d.length-1;v>=0;v--)(_=d[v])&&(w=(P<3?_(w):P>3?_(f,p,w):_(f,p))||w);return P>3&&w&&Object.defineProperty(f,p,w),w},c=this&&this.__param||function(d,f){return function(p,$){f(p,$,d)}};Object.defineProperty(a,"__esModule",{value:!0}),a.CharacterJoinerService=a.JoinedCellData=void 0;const h=l(3734),u=l(643),m=l(511),S=l(2585);class Q extends h.AttributeData{constructor(f,p,$){super(),this.content=0,this.combinedData="",this.fg=f.fg,this.bg=f.bg,this.combinedData=p,this._width=$}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(f){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}a.JoinedCellData=Q;let g=a.CharacterJoinerService=class q1{constructor(f){this._bufferService=f,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new m.CellData}register(f){const p={id:this._nextCharacterJoinerId++,handler:f};return this._characterJoiners.push(p),p.id}deregister(f){for(let p=0;p<this._characterJoiners.length;p++)if(this._characterJoiners[p].id===f)return this._characterJoiners.splice(p,1),!0;return!1}getJoinedCharacters(f){if(this._characterJoiners.length===0)return[];const p=this._bufferService.buffer.lines.get(f);if(!p||p.length===0)return[];const $=[],_=p.translateToString(!0);let P=0,w=0,v=0,b=p.getFg(0),T=p.getBg(0);for(let Y=0;Y<p.getTrimmedLength();Y++)if(p.loadCell(Y,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==b||this._workCell.bg!==T){if(Y-P>1){const Z=this._getJoinedRanges(_,v,w,p,P);for(let R=0;R<Z.length;R++)$.push(Z[R])}P=Y,v=w,b=this._workCell.fg,T=this._workCell.bg}w+=this._workCell.getChars().length||u.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-P>1){const Y=this._getJoinedRanges(_,v,w,p,P);for(let Z=0;Z<Y.length;Z++)$.push(Y[Z])}return $}_getJoinedRanges(f,p,$,_,P){const w=f.substring(p,$);let v=[];try{v=this._characterJoiners[0].handler(w)}catch(b){console.error(b)}for(let b=1;b<this._characterJoiners.length;b++)try{const T=this._characterJoiners[b].handler(w);for(let Y=0;Y<T.length;Y++)q1._mergeRanges(v,T[Y])}catch(T){console.error(T)}return this._stringRangesToCellRanges(v,_,P),v}_stringRangesToCellRanges(f,p,$){let _=0,P=!1,w=0,v=f[_];if(v){for(let b=$;b<this._bufferService.cols;b++){const T=p.getWidth(b),Y=p.getString(b).length||u.WHITESPACE_CELL_CHAR.length;if(T!==0){if(!P&&v[0]<=w&&(v[0]=b,P=!0),v[1]<=w){if(v[1]=b,v=f[++_],!v)break;v[0]<=w?(v[0]=b,P=!0):P=!1}w+=Y}}v&&(v[1]=this._bufferService.cols)}}static _mergeRanges(f,p){let $=!1;for(let _=0;_<f.length;_++){const P=f[_];if($){if(p[1]<=P[0])return f[_-1][1]=p[1],f;if(p[1]<=P[1])return f[_-1][1]=Math.max(p[1],P[1]),f.splice(_,1),f;f.splice(_,1),_--}else{if(p[1]<=P[0])return f.splice(_,0,p),f;if(p[1]<=P[1])return P[0]=Math.min(p[0],P[0]),f;p[0]<P[1]&&(P[0]=Math.min(p[0],P[0]),$=!0)}}return $?f[f.length-1][1]=p[1]:f.push(p),f}};a.CharacterJoinerService=g=O([c(0,S.IBufferService)],g)},5114:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CoreBrowserService=void 0;const O=l(844),c=l(8460),h=l(3656);class u extends O.Disposable{constructor(Q,g,d){super(),this._textarea=Q,this._window=g,this.mainDocument=d,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new m(this._window),this._onDprChange=this.register(new c.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new c.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange(f=>this._screenDprMonitor.setWindow(f))),this.register((0,c.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(Q){this._window!==Q&&(this._window=Q,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}}a.CoreBrowserService=u;class m extends O.Disposable{constructor(Q){super(),this._parentWindow=Q,this._windowResizeListener=this.register(new O.MutableDisposable),this._onDprChange=this.register(new c.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,O.toDisposable)(()=>this.clearListener()))}setWindow(Q){this._parentWindow=Q,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,h.addDisposableDomListener)(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var Q;this._outerListener&&((Q=this._resolutionMediaMatchList)==null||Q.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:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.LinkProviderService=void 0;const O=l(844);class c extends O.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,O.toDisposable)(()=>this.linkProviders.length=0))}registerLinkProvider(u){return this.linkProviders.push(u),{dispose:()=>{const m=this.linkProviders.indexOf(u);m!==-1&&this.linkProviders.splice(m,1)}}}}a.LinkProviderService=c},8934:function(o,a,l){var O=this&&this.__decorate||function(S,Q,g,d){var f,p=arguments.length,$=p<3?Q:d===null?d=Object.getOwnPropertyDescriptor(Q,g):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$=Reflect.decorate(S,Q,g,d);else for(var _=S.length-1;_>=0;_--)(f=S[_])&&($=(p<3?f($):p>3?f(Q,g,$):f(Q,g))||$);return p>3&&$&&Object.defineProperty(Q,g,$),$},c=this&&this.__param||function(S,Q){return function(g,d){Q(g,d,S)}};Object.defineProperty(a,"__esModule",{value:!0}),a.MouseService=void 0;const h=l(4725),u=l(9806);let m=a.MouseService=class{constructor(S,Q){this._renderService=S,this._charSizeService=Q}getCoords(S,Q,g,d,f){return(0,u.getCoords)(window,S,Q,g,d,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,f)}getMouseReportCoords(S,Q){const g=(0,u.getCoordsRelativeToElement)(window,S,Q);if(this._charSizeService.hasValidSize)return g[0]=Math.min(Math.max(g[0],0),this._renderService.dimensions.css.canvas.width-1),g[1]=Math.min(Math.max(g[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(g[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(g[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(g[0]),y:Math.floor(g[1])}}};a.MouseService=m=O([c(0,h.IRenderService),c(1,h.ICharSizeService)],m)},3230:function(o,a,l){var O=this&&this.__decorate||function(f,p,$,_){var P,w=arguments.length,v=w<3?p:_===null?_=Object.getOwnPropertyDescriptor(p,$):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(f,p,$,_);else for(var b=f.length-1;b>=0;b--)(P=f[b])&&(v=(w<3?P(v):w>3?P(p,$,v):P(p,$))||v);return w>3&&v&&Object.defineProperty(p,$,v),v},c=this&&this.__param||function(f,p){return function($,_){p($,_,f)}};Object.defineProperty(a,"__esModule",{value:!0}),a.RenderService=void 0;const h=l(6193),u=l(4725),m=l(8460),S=l(844),Q=l(7226),g=l(2585);let d=a.RenderService=class extends S.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(f,p,$,_,P,w,v,b){super(),this._rowCount=f,this._charSizeService=_,this._renderer=this.register(new S.MutableDisposable),this._pausedResizeTask=new Q.DebouncedIdleTask,this._observerDisposable=this.register(new S.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 m.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new m.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new m.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new m.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new h.RenderDebouncer((T,Y)=>this._renderRows(T,Y),v),this.register(this._renderDebouncer),this.register(v.onDprChange(()=>this.handleDevicePixelRatioChange())),this.register(w.onResize(()=>this._fullRefresh())),this.register(w.buffers.onBufferActivate(()=>{var T;return(T=this._renderer.value)==null?void 0:T.clear()})),this.register($.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this.register(P.onDecorationRegistered(()=>this._fullRefresh())),this.register(P.onDecorationRemoved(()=>this._fullRefresh())),this.register($.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(w.cols,w.rows),this._fullRefresh()})),this.register($.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(w.buffer.y,w.buffer.y,!0))),this.register(b.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(v.window,p),this.register(v.onWindowChange(T=>this._registerIntersectionObserver(T,p)))}_registerIntersectionObserver(f,p){if("IntersectionObserver"in f){const $=new f.IntersectionObserver(_=>this._handleIntersectionChange(_[_.length-1]),{threshold:0});$.observe(p),this._observerDisposable.value=(0,S.toDisposable)(()=>$.disconnect())}}_handleIntersectionChange(f){this._isPaused=f.isIntersecting===void 0?f.intersectionRatio===0:!f.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(f,p,$=!1){this._isPaused?this._needsFullRefresh=!0:($||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(f,p,this._rowCount))}_renderRows(f,p){this._renderer.value&&(f=Math.min(f,this._rowCount-1),p=Math.min(p,this._rowCount-1),this._renderer.value.renderRows(f,p),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:f,end:p}),this._onRender.fire({start:f,end:p}),this._isNextRenderRedrawOnly=!0)}resize(f,p){this._rowCount=p,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(f){this._renderer.value=f,this._renderer.value&&(this._renderer.value.onRequestRedraw(p=>this.refreshRows(p.start,p.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(f){return this._renderDebouncer.addRefreshCallback(f)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var f,p;this._renderer.value&&((p=(f=this._renderer.value).clearTextureAtlas)==null||p.call(f),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(f,p){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var $;return($=this._renderer.value)==null?void 0:$.handleResize(f,p)}):this._renderer.value.handleResize(f,p),this._fullRefresh())}handleCharSizeChanged(){var f;(f=this._renderer.value)==null||f.handleCharSizeChanged()}handleBlur(){var f;(f=this._renderer.value)==null||f.handleBlur()}handleFocus(){var f;(f=this._renderer.value)==null||f.handleFocus()}handleSelectionChanged(f,p,$){var _;this._selectionState.start=f,this._selectionState.end=p,this._selectionState.columnSelectMode=$,(_=this._renderer.value)==null||_.handleSelectionChanged(f,p,$)}handleCursorMove(){var f;(f=this._renderer.value)==null||f.handleCursorMove()}clear(){var f;(f=this._renderer.value)==null||f.clear()}};a.RenderService=d=O([c(2,g.IOptionsService),c(3,u.ICharSizeService),c(4,g.IDecorationService),c(5,g.IBufferService),c(6,u.ICoreBrowserService),c(7,u.IThemeService)],d)},9312:function(o,a,l){var O=this&&this.__decorate||function(v,b,T,Y){var Z,R=arguments.length,z=R<3?b:Y===null?Y=Object.getOwnPropertyDescriptor(b,T):Y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")z=Reflect.decorate(v,b,T,Y);else for(var V=v.length-1;V>=0;V--)(Z=v[V])&&(z=(R<3?Z(z):R>3?Z(b,T,z):Z(b,T))||z);return R>3&&z&&Object.defineProperty(b,T,z),z},c=this&&this.__param||function(v,b){return function(T,Y){b(T,Y,v)}};Object.defineProperty(a,"__esModule",{value:!0}),a.SelectionService=void 0;const h=l(9806),u=l(9504),m=l(456),S=l(4725),Q=l(8460),g=l(844),d=l(6114),f=l(4841),p=l(511),$=l(2585),_=" ",P=new RegExp(_,"g");let w=a.SelectionService=class extends g.Disposable{constructor(v,b,T,Y,Z,R,z,V,L){super(),this._element=v,this._screenElement=b,this._linkifier=T,this._bufferService=Y,this._coreService=Z,this._mouseService=R,this._optionsService=z,this._renderService=V,this._coreBrowserService=L,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new p.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new Q.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new Q.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new Q.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new Q.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=G=>this._handleMouseMove(G),this._mouseUpListener=G=>this._handleMouseUp(G),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(G=>this._handleTrim(G)),this.register(this._bufferService.buffers.onBufferActivate(G=>this._handleBufferActivate(G))),this.enable(),this._model=new m.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,g.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 v=this._model.finalSelectionStart,b=this._model.finalSelectionEnd;return!(!v||!b||v[0]===b[0]&&v[1]===b[1])}get selectionText(){const v=this._model.finalSelectionStart,b=this._model.finalSelectionEnd;if(!v||!b)return"";const T=this._bufferService.buffer,Y=[];if(this._activeSelectionMode===3){if(v[0]===b[0])return"";const Z=v[0]<b[0]?v[0]:b[0],R=v[0]<b[0]?b[0]:v[0];for(let z=v[1];z<=b[1];z++){const V=T.translateBufferLineToString(z,!0,Z,R);Y.push(V)}}else{const Z=v[1]===b[1]?b[0]:void 0;Y.push(T.translateBufferLineToString(v[1],!0,v[0],Z));for(let R=v[1]+1;R<=b[1]-1;R++){const z=T.lines.get(R),V=T.translateBufferLineToString(R,!0);z!=null&&z.isWrapped?Y[Y.length-1]+=V:Y.push(V)}if(v[1]!==b[1]){const R=T.lines.get(b[1]),z=T.translateBufferLineToString(b[1],!0,0,b[0]);R&&R.isWrapped?Y[Y.length-1]+=z:Y.push(z)}}return Y.map(Z=>Z.replace(P," ")).join(d.isWindows?`\r
|
|
44
|
+
WARNING: This link could potentially be dangerous`)){const d=window.open();if(d){try{d.opener=null}catch{}d.location.href=g}else console.warn("Opening link blocked as opener could not be cleared")}}a.OscLinkProvider=m=O([c(0,u.IBufferService),c(1,u.IOptionsService),c(2,u.IOscLinkService)],m)},6193:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.RenderDebouncer=void 0,a.RenderDebouncer=class{constructor(l,O){this._renderCallback=l,this._coreBrowserService=O,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,O,c){this._rowCount=c,l=l!==void 0?l:0,O=O!==void 0?O: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,O):O,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),O=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(l,O),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const l of this._refreshCallbacks)l(0);this._refreshCallbacks=[]}}},3236:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.Terminal=void 0;const O=l(3614),c=l(3656),h=l(3551),u=l(9042),m=l(3730),S=l(1680),Q=l(3107),g=l(5744),d=l(2950),f=l(1296),p=l(428),$=l(4269),_=l(5114),P=l(8934),w=l(3230),v=l(9312),b=l(4725),T=l(6731),Y=l(8055),Z=l(8969),R=l(8460),z=l(844),V=l(6114),L=l(8437),G=l(2584),q=l(7399),X=l(5941),x=l(9074),C=l(2585),W=l(5435),E=l(4567),D=l(779);class te extends Z.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 z.MutableDisposable),this._onCursorMove=this.register(new R.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new R.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new R.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new R.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new R.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new R.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new R.EventEmitter),this._onBlur=this.register(new R.EventEmitter),this._onA11yCharEmitter=this.register(new R.EventEmitter),this._onA11yTabEmitter=this.register(new R.EventEmitter),this._onWillOpen=this.register(new R.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(x.DecorationService),this._instantiationService.setService(C.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(D.LinkProviderService),this._instantiationService.setService(b.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(m.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((k,M)=>this.refresh(k,M))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(k=>this._reportWindowsOptions(k))),this.register(this._inputHandler.onColor(k=>this._handleColorEvent(k))),this.register((0,R.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,R.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,R.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,R.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(k=>this._afterResize(k.cols,k.rows))),this.register((0,z.toDisposable)(()=>{var k,M;this._customKeyEventHandler=void 0,(M=(k=this.element)==null?void 0:k.parentNode)==null||M.removeChild(this.element)}))}_handleColorEvent(U){if(this._themeService)for(const k of U){let M,j="";switch(k.index){case 256:M="foreground",j="10";break;case 257:M="background",j="11";break;case 258:M="cursor",j="12";break;default:M="ansi",j="4;"+k.index}switch(k.type){case 0:const ee=Y.color.toColorRGB(M==="ansi"?this._themeService.colors.ansi[k.index]:this._themeService.colors[M]);this.coreService.triggerDataEvent(`${G.C0.ESC}]${j};${(0,X.toRgbString)(ee)}${G.C1_ESCAPED.ST}`);break;case 1:if(M==="ansi")this._themeService.modifyColors(H=>H.ansi[k.index]=Y.channels.toColor(...k.color));else{const H=M;this._themeService.modifyColors(de=>de[H]=Y.channels.toColor(...k.color))}break;case 2:this._themeService.restoreColor(k.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(E.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(U){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var U;return(U=this.textarea)==null?void 0:U.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(G.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,k=this.buffer.lines.get(U);if(!k)return;const M=Math.min(this.buffer.x,this.cols-1),j=this._renderService.dimensions.css.cell.height,ee=k.getWidth(M),H=this._renderService.dimensions.css.cell.width*ee,de=this.buffer.y*this._renderService.dimensions.css.cell.height,qe=M*this._renderService.dimensions.css.cell.width;this.textarea.style.left=qe+"px",this.textarea.style.top=de+"px",this.textarea.style.width=H+"px",this.textarea.style.height=j+"px",this.textarea.style.lineHeight=j+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,c.addDisposableDomListener)(this.element,"copy",k=>{this.hasSelection()&&(0,O.copyHandler)(k,this._selectionService)}));const U=k=>(0,O.handlePasteEvent)(k,this.textarea,this.coreService,this.optionsService);this.register((0,c.addDisposableDomListener)(this.textarea,"paste",U)),this.register((0,c.addDisposableDomListener)(this.element,"paste",U)),V.isFirefox?this.register((0,c.addDisposableDomListener)(this.element,"mousedown",k=>{k.button===2&&(0,O.rightClickHandler)(k,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,c.addDisposableDomListener)(this.element,"contextmenu",k=>{(0,O.rightClickHandler)(k,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),V.isLinux&&this.register((0,c.addDisposableDomListener)(this.element,"auxclick",k=>{k.button===1&&(0,O.moveTextAreaUnderMouseCursor)(k,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,c.addDisposableDomListener)(this.textarea,"keyup",U=>this._keyUp(U),!0)),this.register((0,c.addDisposableDomListener)(this.textarea,"keydown",U=>this._keyDown(U),!0)),this.register((0,c.addDisposableDomListener)(this.textarea,"keypress",U=>this._keyPress(U),!0)),this.register((0,c.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,c.addDisposableDomListener)(this.textarea,"compositionupdate",U=>this._compositionHelper.compositionupdate(U))),this.register((0,c.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,c.addDisposableDomListener)(this.textarea,"input",U=>this._inputEvent(U),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(U){var M;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"),((M=this.element)==null?void 0:M.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 k=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),k.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,c.addDisposableDomListener)(this.screenElement,"mousemove",j=>this.updateCursorStyle(j))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),k.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",u.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(b.ICoreBrowserService,this._coreBrowserService),this.register((0,c.addDisposableDomListener)(this.textarea,"focus",j=>this._handleTextAreaFocus(j))),this.register((0,c.addDisposableDomListener)(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(p.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(b.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(T.ThemeService),this._instantiationService.setService(b.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance($.CharacterJoinerService),this._instantiationService.setService(b.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(w.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(b.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(j=>this._onRender.fire(j))),this.onResize(j=>this._renderService.resize(j.cols,j.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(d.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(P.MouseService),this._instantiationService.setService(b.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(h.Linkifier,this.screenElement)),this.element.appendChild(k);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(S.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines(j=>this.scrollLines(j.amount,j.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(v.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(b.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(j=>this.scrollLines(j.amount,j.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(j=>this._renderService.handleSelectionChanged(j.start,j.end,j.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(j=>{this.textarea.value=j,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(j=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,c.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.register(this._instantiationService.createInstance(Q.BufferDecorationRenderer,this.screenElement)),this.register((0,c.addDisposableDomListener)(this.element,"mousedown",j=>this._selectionService.handleMouseDown(j))),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(E.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",j=>this._handleScreenReaderModeOptionChange(j))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(g.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",j=>{!this._overviewRulerRenderer&&j&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(g.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(f.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const U=this,k=this.element;function M(H){const de=U._mouseService.getMouseReportCoords(H,U.screenElement);if(!de)return!1;let qe,Ve;switch(H.overrideType||H.type){case"mousemove":Ve=32,H.buttons===void 0?(qe=3,H.button!==void 0&&(qe=H.button<3?H.button:3)):qe=1&H.buttons?0:4&H.buttons?1:2&H.buttons?2:3;break;case"mouseup":Ve=0,qe=H.button<3?H.button:3;break;case"mousedown":Ve=1,qe=H.button<3?H.button:3;break;case"wheel":if(U._customWheelEventHandler&&U._customWheelEventHandler(H)===!1||U.viewport.getLinesScrolled(H)===0)return!1;Ve=H.deltaY<0?0:1,qe=4;break;default:return!1}return!(Ve===void 0||qe===void 0||qe>4)&&U.coreMouseService.triggerMouseEvent({col:de.col,row:de.row,x:de.x,y:de.y,button:qe,action:Ve,ctrl:H.ctrlKey,alt:H.altKey,shift:H.shiftKey})}const j={mouseup:null,wheel:null,mousedrag:null,mousemove:null},ee={mouseup:H=>(M(H),H.buttons||(this._document.removeEventListener("mouseup",j.mouseup),j.mousedrag&&this._document.removeEventListener("mousemove",j.mousedrag)),this.cancel(H)),wheel:H=>(M(H),this.cancel(H,!0)),mousedrag:H=>{H.buttons&&M(H)},mousemove:H=>{H.buttons||M(H)}};this.register(this.coreMouseService.onProtocolChange(H=>{H?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(H)),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&H?j.mousemove||(k.addEventListener("mousemove",ee.mousemove),j.mousemove=ee.mousemove):(k.removeEventListener("mousemove",j.mousemove),j.mousemove=null),16&H?j.wheel||(k.addEventListener("wheel",ee.wheel,{passive:!1}),j.wheel=ee.wheel):(k.removeEventListener("wheel",j.wheel),j.wheel=null),2&H?j.mouseup||(j.mouseup=ee.mouseup):(this._document.removeEventListener("mouseup",j.mouseup),j.mouseup=null),4&H?j.mousedrag||(j.mousedrag=ee.mousedrag):(this._document.removeEventListener("mousemove",j.mousedrag),j.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,c.addDisposableDomListener)(k,"mousedown",H=>{if(H.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(H))return M(H),j.mouseup&&this._document.addEventListener("mouseup",j.mouseup),j.mousedrag&&this._document.addEventListener("mousemove",j.mousedrag),this.cancel(H)})),this.register((0,c.addDisposableDomListener)(k,"wheel",H=>{if(!j.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(H)===!1)return!1;if(!this.buffer.hasScrollback){const de=this.viewport.getLinesScrolled(H);if(de===0)return;const qe=G.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(H.deltaY<0?"A":"B");let Ve="";for(let yt=0;yt<Math.abs(de);yt++)Ve+=qe;return this.coreService.triggerDataEvent(Ve,!0),this.cancel(H,!0)}return this.viewport.handleWheel(H)?this.cancel(H):void 0}},{passive:!1})),this.register((0,c.addDisposableDomListener)(k,"touchstart",H=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(H),this.cancel(H)},{passive:!0})),this.register((0,c.addDisposableDomListener)(k,"touchmove",H=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(H)?void 0:this.cancel(H)},{passive:!1}))}refresh(U,k){var M;(M=this._renderService)==null||M.refreshRows(U,k)}updateCursorStyle(U){var k;(k=this._selectionService)!=null&&k.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,k,M=0){var j;M===1?(super.scrollLines(U,k,M),this.refresh(0,this.rows-1)):(j=this.viewport)==null||j.scrollLines(U)}paste(U){(0,O.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 k=this._characterJoinerService.register(U);return this.refresh(0,this.rows-1),k}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,k,M){this._selectionService.setSelection(U,k,M)}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(){var U;(U=this._selectionService)==null||U.clearSelection()}selectAll(){var U;(U=this._selectionService)==null||U.selectAll()}selectLines(U,k){var M;(M=this._selectionService)==null||M.selectLines(U,k)}_keyDown(U){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1)return!1;const k=this.browser.isMac&&this.options.macOptionIsMeta&&U.altKey;if(!k&&!this._compositionHelper.keydown(U))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;k||U.key!=="Dead"&&U.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const M=(0,q.evaluateKeyboardEvent)(U,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(U),M.type===3||M.type===2){const j=this.rows-1;return this.scrollLines(M.type===2?-j:j),this.cancel(U,!0)}return M.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,U)||(M.cancel&&this.cancel(U,!0),!M.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):(M.key!==G.C0.ETX&&M.key!==G.C0.CR||(this.textarea.value=""),this._onKey.fire({key:M.key,domEvent:U}),this._showCursor(),this.coreService.triggerDataEvent(M.key,!0),!this.optionsService.rawOptions.screenReaderMode||U.altKey||U.ctrlKey?this.cancel(U,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(U,k){const M=U.isMac&&!this.options.macOptionIsMeta&&k.altKey&&!k.ctrlKey&&!k.metaKey||U.isWindows&&k.altKey&&k.ctrlKey&&!k.metaKey||U.isWindows&&k.getModifierState("AltGraph");return k.type==="keypress"?M:M&&(!k.keyCode||k.keyCode>47)}_keyUp(U){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1||(function(k){return k.keyCode===16||k.keyCode===17||k.keyCode===18}(U)||this.focus(),this.updateCursorStyle(U),this._keyPressHandled=!1)}_keyPress(U){let k;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1)return!1;if(this.cancel(U),U.charCode)k=U.charCode;else if(U.which===null||U.which===void 0)k=U.keyCode;else{if(U.which===0||U.charCode===0)return!1;k=U.which}return!(!k||(U.altKey||U.ctrlKey||U.metaKey)&&!this._isThirdLevelShift(this.browser,U)||(k=String.fromCharCode(k),this._onKey.fire({key:k,domEvent:U}),this._showCursor(),this.coreService.triggerDataEvent(k,!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 k=U.data;return this.coreService.triggerDataEvent(k,!0),this.cancel(U),!0}return!1}resize(U,k){U!==this.cols||k!==this.rows?super.resize(U,k):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(U,k){var M,j;(M=this._charSizeService)==null||M.measure(),(j=this.viewport)==null||j.syncScrollArea(!0)}clear(){var U;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 k=1;k<this.rows;k++)this.buffer.lines.push(this.buffer.getBlankLine(L.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(U=this.viewport)==null||U.reset(),this.refresh(0,this.rows-1)}}reset(){var k,M;this.options.rows=this.rows,this.options.cols=this.cols;const U=this._customKeyEventHandler;this._setup(),super.reset(),(k=this._selectionService)==null||k.reset(),this._decorationService.reset(),(M=this.viewport)==null||M.reset(),this._customKeyEventHandler=U,this.refresh(0,this.rows-1)}clearTextureAtlas(){var U;(U=this._renderService)==null||U.clearTextureAtlas()}_reportFocus(){var U;(U=this.element)!=null&&U.classList.contains("focus")?this.coreService.triggerDataEvent(G.C0.ESC+"[I"):this.coreService.triggerDataEvent(G.C0.ESC+"[O")}_reportWindowsOptions(U){if(this._renderService)switch(U){case W.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const k=this._renderService.dimensions.css.canvas.width.toFixed(0),M=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${G.C0.ESC}[4;${M};${k}t`);break;case W.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const j=this._renderService.dimensions.css.cell.width.toFixed(0),ee=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${G.C0.ESC}[6;${ee};${j}t`)}}cancel(U,k){if(this.options.cancelEvents||k)return U.preventDefault(),U.stopPropagation(),!1}}a.Terminal=te},9924:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.TimeBasedDebouncer=void 0,a.TimeBasedDebouncer=class{constructor(l,O=1e3){this._renderCallback=l,this._debounceThresholdMS=O,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(l,O,c){this._rowCount=c,l=l!==void 0?l:0,O=O!==void 0?O: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,O):O;const h=Date.now();if(h-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=h,this._innerRefresh();else if(!this._additionalRefreshRequested){const u=h-this._lastRefreshMs,m=this._debounceThresholdMS-u;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},m)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const l=Math.max(this._rowStart,0),O=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(l,O)}}},1680:function(o,a,l){var O=this&&this.__decorate||function(d,f,p,$){var _,P=arguments.length,w=P<3?f:$===null?$=Object.getOwnPropertyDescriptor(f,p):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(d,f,p,$);else for(var v=d.length-1;v>=0;v--)(_=d[v])&&(w=(P<3?_(w):P>3?_(f,p,w):_(f,p))||w);return P>3&&w&&Object.defineProperty(f,p,w),w},c=this&&this.__param||function(d,f){return function(p,$){f(p,$,d)}};Object.defineProperty(a,"__esModule",{value:!0}),a.Viewport=void 0;const h=l(3656),u=l(4725),m=l(8460),S=l(844),Q=l(2585);let g=a.Viewport=class extends S.Disposable{constructor(d,f,p,$,_,P,w,v){super(),this._viewportElement=d,this._scrollArea=f,this._bufferService=p,this._optionsService=$,this._charSizeService=_,this._renderService=P,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 m.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,h.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(b=>this._activeBuffer=b.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(b=>this._renderDimensions=b)),this._handleThemeChange(v.colors),this.register(v.onChangeColors(b=>this._handleThemeChange(b))),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.syncScrollArea())),setTimeout(()=>this.syncScrollArea())}_handleThemeChange(d){this._viewportElement.style.backgroundColor=d.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(d){if(d)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 f=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==f&&(this._lastRecordedBufferHeight=f,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const d=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==d&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=d),this._refreshAnimationFrame=null}syncScrollArea(d=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(d);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(d)}_handleScroll(d){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 f=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:f,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const d=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(d*(this._smoothScrollState.target-this._smoothScrollState.origin)),d<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(d,f){const p=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(f<0&&this._viewportElement.scrollTop!==0||f>0&&p<this._lastRecordedBufferHeight)||(d.cancelable&&d.preventDefault(),!1)}handleWheel(d){const f=this._getPixelsScrolled(d);return f!==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+f:this._smoothScrollState.target+=f,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=f,this._bubbleScroll(d,f))}scrollLines(d){if(d!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const f=d*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+f,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:d,suppressScrollEvent:!1})}_getPixelsScrolled(d){if(d.deltaY===0||d.shiftKey)return 0;let f=this._applyScrollModifier(d.deltaY,d);return d.deltaMode===WheelEvent.DOM_DELTA_LINE?f*=this._currentRowHeight:d.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(f*=this._currentRowHeight*this._bufferService.rows),f}getBufferElements(d,f){var v;let p,$="";const _=[],P=f??this._bufferService.buffer.lines.length,w=this._bufferService.buffer.lines;for(let b=d;b<P;b++){const T=w.get(b);if(!T)continue;const Y=(v=w.get(b+1))==null?void 0:v.isWrapped;if($+=T.translateToString(!Y),!Y||b===w.length-1){const Z=document.createElement("div");Z.textContent=$,_.push(Z),$.length>0&&(p=Z),$=""}}return{bufferElements:_,cursorElement:p}}getLinesScrolled(d){if(d.deltaY===0||d.shiftKey)return 0;let f=this._applyScrollModifier(d.deltaY,d);return d.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(f/=this._currentRowHeight+0,this._wheelPartialScroll+=f,f=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):d.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(f*=this._bufferService.rows),f}_applyScrollModifier(d,f){const p=this._optionsService.rawOptions.fastScrollModifier;return p==="alt"&&f.altKey||p==="ctrl"&&f.ctrlKey||p==="shift"&&f.shiftKey?d*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:d*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(d){this._lastTouchY=d.touches[0].pageY}handleTouchMove(d){const f=this._lastTouchY-d.touches[0].pageY;return this._lastTouchY=d.touches[0].pageY,f!==0&&(this._viewportElement.scrollTop+=f,this._bubbleScroll(d,f))}};a.Viewport=g=O([c(2,Q.IBufferService),c(3,Q.IOptionsService),c(4,u.ICharSizeService),c(5,u.IRenderService),c(6,u.ICoreBrowserService),c(7,u.IThemeService)],g)},3107:function(o,a,l){var O=this&&this.__decorate||function(Q,g,d,f){var p,$=arguments.length,_=$<3?g:f===null?f=Object.getOwnPropertyDescriptor(g,d):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(Q,g,d,f);else for(var P=Q.length-1;P>=0;P--)(p=Q[P])&&(_=($<3?p(_):$>3?p(g,d,_):p(g,d))||_);return $>3&&_&&Object.defineProperty(g,d,_),_},c=this&&this.__param||function(Q,g){return function(d,f){g(d,f,Q)}};Object.defineProperty(a,"__esModule",{value:!0}),a.BufferDecorationRenderer=void 0;const h=l(4725),u=l(844),m=l(2585);let S=a.BufferDecorationRenderer=class extends u.Disposable{constructor(Q,g,d,f,p){super(),this._screenElement=Q,this._bufferService=g,this._coreBrowserService=d,this._decorationService=f,this._renderService=p,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($=>this._removeDecoration($))),this.register((0,u.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 Q of this._decorationService.decorations)this._renderDecoration(Q);this._dimensionsChanged=!1}_renderDecoration(Q){this._refreshStyle(Q),this._dimensionsChanged&&this._refreshXPosition(Q)}_createElement(Q){var f;const g=this._coreBrowserService.mainDocument.createElement("div");g.classList.add("xterm-decoration"),g.classList.toggle("xterm-decoration-top-layer",((f=Q==null?void 0:Q.options)==null?void 0:f.layer)==="top"),g.style.width=`${Math.round((Q.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,g.style.height=(Q.options.height||1)*this._renderService.dimensions.css.cell.height+"px",g.style.top=(Q.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",g.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const d=Q.options.x??0;return d&&d>this._bufferService.cols&&(g.style.display="none"),this._refreshXPosition(Q,g),g}_refreshStyle(Q){const g=Q.marker.line-this._bufferService.buffers.active.ydisp;if(g<0||g>=this._bufferService.rows)Q.element&&(Q.element.style.display="none",Q.onRenderEmitter.fire(Q.element));else{let d=this._decorationElements.get(Q);d||(d=this._createElement(Q),Q.element=d,this._decorationElements.set(Q,d),this._container.appendChild(d),Q.onDispose(()=>{this._decorationElements.delete(Q),d.remove()})),d.style.top=g*this._renderService.dimensions.css.cell.height+"px",d.style.display=this._altBufferIsActive?"none":"block",Q.onRenderEmitter.fire(d)}}_refreshXPosition(Q,g=Q.element){if(!g)return;const d=Q.options.x??0;(Q.options.anchor||"left")==="right"?g.style.right=d?d*this._renderService.dimensions.css.cell.width+"px":"":g.style.left=d?d*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(Q){var g;(g=this._decorationElements.get(Q))==null||g.remove(),this._decorationElements.delete(Q),Q.dispose()}};a.BufferDecorationRenderer=S=O([c(1,m.IBufferService),c(2,h.ICoreBrowserService),c(3,m.IDecorationService),c(4,h.IRenderService)],S)},5871:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ColorZoneStore=void 0,a.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 O of this._zones)if(O.color===l.options.overviewRulerOptions.color&&O.position===l.options.overviewRulerOptions.position){if(this._lineIntersectsZone(O,l.marker.line))return;if(this._lineAdjacentToZone(O,l.marker.line,l.options.overviewRulerOptions.position))return void this._addLineToZone(O,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,O){return O>=l.startBufferLine&&O<=l.endBufferLine}_lineAdjacentToZone(l,O,c){return O>=l.startBufferLine-this._linePadding[c||"full"]&&O<=l.endBufferLine+this._linePadding[c||"full"]}_addLineToZone(l,O){l.startBufferLine=Math.min(l.startBufferLine,O),l.endBufferLine=Math.max(l.endBufferLine,O)}}},5744:function(o,a,l){var O=this&&this.__decorate||function(p,$,_,P){var w,v=arguments.length,b=v<3?$:P===null?P=Object.getOwnPropertyDescriptor($,_):P;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(p,$,_,P);else for(var T=p.length-1;T>=0;T--)(w=p[T])&&(b=(v<3?w(b):v>3?w($,_,b):w($,_))||b);return v>3&&b&&Object.defineProperty($,_,b),b},c=this&&this.__param||function(p,$){return function(_,P){$(_,P,p)}};Object.defineProperty(a,"__esModule",{value:!0}),a.OverviewRulerRenderer=void 0;const h=l(5871),u=l(4725),m=l(844),S=l(2585),Q={full:0,left:0,center:0,right:0},g={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0};let f=a.OverviewRulerRenderer=class extends m.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(p,$,_,P,w,v,b){var Y;super(),this._viewportElement=p,this._screenElement=$,this._bufferService=_,this._decorationService=P,this._renderService=w,this._optionsService=v,this._coreBrowserService=b,this._colorZoneStore=new h.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(),(Y=this._viewportElement.parentElement)==null||Y.insertBefore(this._canvas,this._viewportElement);const T=this._canvas.getContext("2d");if(!T)throw new Error("Ctx cannot be null");this._ctx=T,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,m.toDisposable)(()=>{var Z;(Z=this._canvas)==null||Z.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 p=Math.floor(this._canvas.width/3),$=Math.ceil(this._canvas.width/3);g.full=this._canvas.width,g.left=p,g.center=$,g.right=p,this._refreshDrawHeightConstants(),d.full=0,d.left=0,d.center=g.left,d.right=g.left+g.center}_refreshDrawHeightConstants(){Q.full=Math.round(2*this._coreBrowserService.dpr);const p=this._canvas.height/this._bufferService.buffer.lines.length,$=Math.round(Math.max(Math.min(p,12),6)*this._coreBrowserService.dpr);Q.left=$,Q.center=$,Q.right=$}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Q.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Q.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Q.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Q.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 $ of this._decorationService.decorations)this._colorZoneStore.addDecoration($);this._ctx.lineWidth=1;const p=this._colorZoneStore.zones;for(const $ of p)$.position!=="full"&&this._renderColorZone($);for(const $ of p)$.position==="full"&&this._renderColorZone($);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(p){this._ctx.fillStyle=p.color,this._ctx.fillRect(d[p.position||"full"],Math.round((this._canvas.height-1)*(p.startBufferLine/this._bufferService.buffers.active.lines.length)-Q[p.position||"full"]/2),g[p.position||"full"],Math.round((this._canvas.height-1)*((p.endBufferLine-p.startBufferLine)/this._bufferService.buffers.active.lines.length)+Q[p.position||"full"]))}_queueRefresh(p,$){this._shouldUpdateDimensions=p||this._shouldUpdateDimensions,this._shouldUpdateAnchor=$||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};a.OverviewRulerRenderer=f=O([c(2,S.IBufferService),c(3,S.IDecorationService),c(4,u.IRenderService),c(5,S.IOptionsService),c(6,u.ICoreBrowserService)],f)},2950:function(o,a,l){var O=this&&this.__decorate||function(Q,g,d,f){var p,$=arguments.length,_=$<3?g:f===null?f=Object.getOwnPropertyDescriptor(g,d):f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(Q,g,d,f);else for(var P=Q.length-1;P>=0;P--)(p=Q[P])&&(_=($<3?p(_):$>3?p(g,d,_):p(g,d))||_);return $>3&&_&&Object.defineProperty(g,d,_),_},c=this&&this.__param||function(Q,g){return function(d,f){g(d,f,Q)}};Object.defineProperty(a,"__esModule",{value:!0}),a.CompositionHelper=void 0;const h=l(4725),u=l(2585),m=l(2584);let S=a.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(Q,g,d,f,p,$){this._textarea=Q,this._compositionView=g,this._bufferService=d,this._optionsService=f,this._coreService=p,this._renderService=$,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(Q){this._compositionView.textContent=Q.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(Q){if(this._isComposing||this._isSendingComposition){if(Q.keyCode===229||Q.keyCode===16||Q.keyCode===17||Q.keyCode===18)return!1;this._finalizeComposition(!1)}return Q.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(Q){if(this._compositionView.classList.remove("active"),this._isComposing=!1,Q){const g={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let d;this._isSendingComposition=!1,g.start+=this._dataAlreadySent.length,d=this._isComposing?this._textarea.value.substring(g.start,g.end):this._textarea.value.substring(g.start),d.length>0&&this._coreService.triggerDataEvent(d,!0)}},0)}else{this._isSendingComposition=!1;const g=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(g,!0)}}_handleAnyTextareaChanges(){const Q=this._textarea.value;setTimeout(()=>{if(!this._isComposing){const g=this._textarea.value,d=g.replace(Q,"");this._dataAlreadySent=d,g.length>Q.length?this._coreService.triggerDataEvent(d,!0):g.length<Q.length?this._coreService.triggerDataEvent(`${m.C0.DEL}`,!0):g.length===Q.length&&g!==Q&&this._coreService.triggerDataEvent(g,!0)}},0)}updateCompositionElements(Q){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const g=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),d=this._renderService.dimensions.css.cell.height,f=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,p=g*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=p+"px",this._compositionView.style.top=f+"px",this._compositionView.style.height=d+"px",this._compositionView.style.lineHeight=d+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const $=this._compositionView.getBoundingClientRect();this._textarea.style.left=p+"px",this._textarea.style.top=f+"px",this._textarea.style.width=Math.max($.width,1)+"px",this._textarea.style.height=Math.max($.height,1)+"px",this._textarea.style.lineHeight=$.height+"px"}Q||setTimeout(()=>this.updateCompositionElements(!0),0)}}};a.CompositionHelper=S=O([c(2,u.IBufferService),c(3,u.IOptionsService),c(4,u.ICoreService),c(5,h.IRenderService)],S)},9806:(o,a)=>{function l(O,c,h){const u=h.getBoundingClientRect(),m=O.getComputedStyle(h),S=parseInt(m.getPropertyValue("padding-left")),Q=parseInt(m.getPropertyValue("padding-top"));return[c.clientX-u.left-S,c.clientY-u.top-Q]}Object.defineProperty(a,"__esModule",{value:!0}),a.getCoords=a.getCoordsRelativeToElement=void 0,a.getCoordsRelativeToElement=l,a.getCoords=function(O,c,h,u,m,S,Q,g,d){if(!S)return;const f=l(O,c,h);return f?(f[0]=Math.ceil((f[0]+(d?Q/2:0))/Q),f[1]=Math.ceil(f[1]/g),f[0]=Math.min(Math.max(f[0],1),u+(d?1:0)),f[1]=Math.min(Math.max(f[1],1),m),f):void 0}},9504:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.moveToCellSequence=void 0;const O=l(2584);function c(g,d,f,p){const $=g-h(g,f),_=d-h(d,f),P=Math.abs($-_)-function(w,v,b){let T=0;const Y=w-h(w,b),Z=v-h(v,b);for(let R=0;R<Math.abs(Y-Z);R++){const z=u(w,v)==="A"?-1:1,V=b.buffer.lines.get(Y+z*R);V!=null&&V.isWrapped&&T++}return T}(g,d,f);return Q(P,S(u(g,d),p))}function h(g,d){let f=0,p=d.buffer.lines.get(g),$=p==null?void 0:p.isWrapped;for(;$&&g>=0&&g<d.rows;)f++,p=d.buffer.lines.get(--g),$=p==null?void 0:p.isWrapped;return f}function u(g,d){return g>d?"A":"B"}function m(g,d,f,p,$,_){let P=g,w=d,v="";for(;P!==f||w!==p;)P+=$?1:-1,$&&P>_.cols-1?(v+=_.buffer.translateBufferLineToString(w,!1,g,P),P=0,g=0,w++):!$&&P<0&&(v+=_.buffer.translateBufferLineToString(w,!1,0,g+1),P=_.cols-1,g=P,w--);return v+_.buffer.translateBufferLineToString(w,!1,g,P)}function S(g,d){const f=d?"O":"[";return O.C0.ESC+f+g}function Q(g,d){g=Math.floor(g);let f="";for(let p=0;p<g;p++)f+=d;return f}a.moveToCellSequence=function(g,d,f,p){const $=f.buffer.x,_=f.buffer.y;if(!f.buffer.hasScrollback)return function(v,b,T,Y,Z,R){return c(b,Y,Z,R).length===0?"":Q(m(v,b,v,b-h(b,Z),!1,Z).length,S("D",R))}($,_,0,d,f,p)+c(_,d,f,p)+function(v,b,T,Y,Z,R){let z;z=c(b,Y,Z,R).length>0?Y-h(Y,Z):b;const V=Y,L=function(G,q,X,x,C,W){let E;return E=c(X,x,C,W).length>0?x-h(x,C):q,G<X&&E<=x||G>=X&&E<x?"C":"D"}(v,b,T,Y,Z,R);return Q(m(v,z,T,V,L==="C",Z).length,S(L,R))}($,_,g,d,f,p);let P;if(_===d)return P=$>g?"D":"C",Q(Math.abs($-g),S(P,p));P=_>d?"D":"C";const w=Math.abs(_-d);return Q(function(v,b){return b.cols-v}(_>d?g:$,f)+(w-1)*f.cols+1+((_>d?$:g)-1),S(P,p))}},1296:function(o,a,l){var O=this&&this.__decorate||function(R,z,V,L){var G,q=arguments.length,X=q<3?z:L===null?L=Object.getOwnPropertyDescriptor(z,V):L;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")X=Reflect.decorate(R,z,V,L);else for(var x=R.length-1;x>=0;x--)(G=R[x])&&(X=(q<3?G(X):q>3?G(z,V,X):G(z,V))||X);return q>3&&X&&Object.defineProperty(z,V,X),X},c=this&&this.__param||function(R,z){return function(V,L){z(V,L,R)}};Object.defineProperty(a,"__esModule",{value:!0}),a.DomRenderer=void 0;const h=l(3787),u=l(2550),m=l(2223),S=l(6171),Q=l(6052),g=l(4725),d=l(8055),f=l(8460),p=l(844),$=l(2585),_="xterm-dom-renderer-owner-",P="xterm-rows",w="xterm-fg-",v="xterm-bg-",b="xterm-focus",T="xterm-selection";let Y=1,Z=a.DomRenderer=class extends p.Disposable{constructor(R,z,V,L,G,q,X,x,C,W,E,D,te){super(),this._terminal=R,this._document=z,this._element=V,this._screenElement=L,this._viewportElement=G,this._helperContainer=q,this._linkifier2=X,this._charSizeService=C,this._optionsService=W,this._bufferService=E,this._coreBrowserService=D,this._themeService=te,this._terminalClass=Y++,this._rowElements=[],this._selectionRenderModel=(0,Q.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new f.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(P),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(T),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,S.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._themeService.onChangeColors(ne=>this._injectCss(ne))),this._injectCss(this._themeService.colors),this._rowFactory=x.createInstance(h.DomRendererRowFactory,document),this._element.classList.add(_+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(ne=>this._handleLinkHover(ne))),this.register(this._linkifier2.onHideLinkUnderline(ne=>this._handleLinkLeave(ne))),this.register((0,p.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 u.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 R=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*R,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*R),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/R),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/R),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 z=`${this._terminalSelector} .${P} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=z,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(R){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let z=`${this._terminalSelector} .${P} { color: ${R.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;z+=`${this._terminalSelector} .${P} .xterm-dim { color: ${d.color.multiplyOpacity(R.foreground,.5).css};}`,z+=`${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}`,L=`blink_bar_${this._terminalClass}`,G=`blink_block_${this._terminalClass}`;z+=`@keyframes ${V} { 50% { border-bottom-style: hidden; }}`,z+=`@keyframes ${L} { 50% { box-shadow: none; }}`,z+=`@keyframes ${G} { 0% { background-color: ${R.cursor.css}; color: ${R.cursorAccent.css}; } 50% { background-color: inherit; color: ${R.cursor.css}; }}`,z+=`${this._terminalSelector} .${P}.${b} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${V} 1s step-end infinite;}${this._terminalSelector} .${P}.${b} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${L} 1s step-end infinite;}${this._terminalSelector} .${P}.${b} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${G} 1s step-end infinite;}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-block { background-color: ${R.cursor.css}; color: ${R.cursorAccent.css};}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${R.cursor.css} !important; color: ${R.cursorAccent.css} !important;}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${R.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${R.cursor.css} inset;}${this._terminalSelector} .${P} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${R.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,z+=`${this._terminalSelector} .${T} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${T} div { position: absolute; background-color: ${R.selectionBackgroundOpaque.css};}${this._terminalSelector} .${T} div { position: absolute; background-color: ${R.selectionInactiveBackgroundOpaque.css};}`;for(const[q,X]of R.ansi.entries())z+=`${this._terminalSelector} .${w}${q} { color: ${X.css}; }${this._terminalSelector} .${w}${q}.xterm-dim { color: ${d.color.multiplyOpacity(X,.5).css}; }${this._terminalSelector} .${v}${q} { background-color: ${X.css}; }`;z+=`${this._terminalSelector} .${w}${m.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(R.background).css}; }${this._terminalSelector} .${w}${m.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${d.color.multiplyOpacity(d.color.opaque(R.background),.5).css}; }${this._terminalSelector} .${v}${m.INVERTED_DEFAULT_COLOR} { background-color: ${R.foreground.css}; }`,this._themeStyleElement.textContent=z}_setDefaultSpacing(){const R=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${R}px`,this._rowFactory.defaultSpacing=R}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(R,z){for(let V=this._rowElements.length;V<=z;V++){const L=this._document.createElement("div");this._rowContainer.appendChild(L),this._rowElements.push(L)}for(;this._rowElements.length>z;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(R,z){this._refreshRowElements(R,z),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(b),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(b),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(R,z,V){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(R,z,V),this.renderRows(0,this._bufferService.rows-1),!R||!z)return;this._selectionRenderModel.update(this._terminal,R,z,V);const L=this._selectionRenderModel.viewportStartRow,G=this._selectionRenderModel.viewportEndRow,q=this._selectionRenderModel.viewportCappedStartRow,X=this._selectionRenderModel.viewportCappedEndRow;if(q>=this._bufferService.rows||X<0)return;const x=this._document.createDocumentFragment();if(V){const C=R[0]>z[0];x.appendChild(this._createSelectionElement(q,C?z[0]:R[0],C?R[0]:z[0],X-q+1))}else{const C=L===q?R[0]:0,W=q===G?z[0]:this._bufferService.cols;x.appendChild(this._createSelectionElement(q,C,W));const E=X-q-1;if(x.appendChild(this._createSelectionElement(q+1,0,this._bufferService.cols,E)),q!==X){const D=G===X?z[0]:this._bufferService.cols;x.appendChild(this._createSelectionElement(X,0,D))}}this._selectionContainer.appendChild(x)}_createSelectionElement(R,z,V,L=1){const G=this._document.createElement("div"),q=z*this.dimensions.css.cell.width;let X=this.dimensions.css.cell.width*(V-z);return q+X>this.dimensions.css.canvas.width&&(X=this.dimensions.css.canvas.width-q),G.style.height=L*this.dimensions.css.cell.height+"px",G.style.top=R*this.dimensions.css.cell.height+"px",G.style.left=`${q}px`,G.style.width=`${X}px`,G}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 R of this._rowElements)R.replaceChildren()}renderRows(R,z){const V=this._bufferService.buffer,L=V.ybase+V.y,G=Math.min(V.x,this._bufferService.cols-1),q=this._optionsService.rawOptions.cursorBlink,X=this._optionsService.rawOptions.cursorStyle,x=this._optionsService.rawOptions.cursorInactiveStyle;for(let C=R;C<=z;C++){const W=C+V.ydisp,E=this._rowElements[C],D=V.lines.get(W);if(!E||!D)break;E.replaceChildren(...this._rowFactory.createRow(D,W,W===L,X,x,G,q,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${_}${this._terminalClass}`}_handleLinkHover(R){this._setCellUnderline(R.x1,R.x2,R.y1,R.y2,R.cols,!0)}_handleLinkLeave(R){this._setCellUnderline(R.x1,R.x2,R.y1,R.y2,R.cols,!1)}_setCellUnderline(R,z,V,L,G,q){V<0&&(R=0),L<0&&(z=0);const X=this._bufferService.rows-1;V=Math.max(Math.min(V,X),0),L=Math.max(Math.min(L,X),0),G=Math.min(G,this._bufferService.cols);const x=this._bufferService.buffer,C=x.ybase+x.y,W=Math.min(x.x,G-1),E=this._optionsService.rawOptions.cursorBlink,D=this._optionsService.rawOptions.cursorStyle,te=this._optionsService.rawOptions.cursorInactiveStyle;for(let ne=V;ne<=L;++ne){const U=ne+x.ydisp,k=this._rowElements[ne],M=x.lines.get(U);if(!k||!M)break;k.replaceChildren(...this._rowFactory.createRow(M,U,U===C,D,te,W,E,this.dimensions.css.cell.width,this._widthCache,q?ne===V?R:0:-1,q?(ne===L?z:G)-1:-1))}}};a.DomRenderer=Z=O([c(7,$.IInstantiationService),c(8,g.ICharSizeService),c(9,$.IOptionsService),c(10,$.IBufferService),c(11,g.ICoreBrowserService),c(12,g.IThemeService)],Z)},3787:function(o,a,l){var O=this&&this.__decorate||function(P,w,v,b){var T,Y=arguments.length,Z=Y<3?w:b===null?b=Object.getOwnPropertyDescriptor(w,v):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Z=Reflect.decorate(P,w,v,b);else for(var R=P.length-1;R>=0;R--)(T=P[R])&&(Z=(Y<3?T(Z):Y>3?T(w,v,Z):T(w,v))||Z);return Y>3&&Z&&Object.defineProperty(w,v,Z),Z},c=this&&this.__param||function(P,w){return function(v,b){w(v,b,P)}};Object.defineProperty(a,"__esModule",{value:!0}),a.DomRendererRowFactory=void 0;const h=l(2223),u=l(643),m=l(511),S=l(2585),Q=l(8055),g=l(4725),d=l(4269),f=l(6171),p=l(3734);let $=a.DomRendererRowFactory=class{constructor(P,w,v,b,T,Y,Z){this._document=P,this._characterJoinerService=w,this._optionsService=v,this._coreBrowserService=b,this._coreService=T,this._decorationService=Y,this._themeService=Z,this._workCell=new m.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(P,w,v){this._selectionStart=P,this._selectionEnd=w,this._columnSelectMode=v}createRow(P,w,v,b,T,Y,Z,R,z,V,L){const G=[],q=this._characterJoinerService.getJoinedCharacters(w),X=this._themeService.colors;let x,C=P.getNoBgTrimmedLength();v&&C<Y+1&&(C=Y+1);let W=0,E="",D=0,te=0,ne=0,U=!1,k=0,M=!1,j=0;const ee=[],H=V!==-1&&L!==-1;for(let de=0;de<C;de++){P.loadCell(de,this._workCell);let qe=this._workCell.getWidth();if(qe===0)continue;let Ve=!1,yt=de,Oe=this._workCell;if(q.length>0&&de===q[0][0]){Ve=!0;const Ze=q.shift();Oe=new d.JoinedCellData(this._workCell,P.translateToString(!0,Ze[0],Ze[1]),Ze[1]-Ze[0]),yt=Ze[1]-1,qe=Oe.getWidth()}const eo=this._isCellInSelection(de,w),sh=v&&de===Y,oh=H&&de>=V&&de<=L;let ah=!1;this._decorationService.forEachDecorationAtCell(de,w,void 0,Ze=>{ah=!0});let el=Oe.getChars()||u.WHITESPACE_CELL_CHAR;if(el===" "&&(Oe.isUnderline()||Oe.isOverline())&&(el=" "),j=qe*R-z.get(el,Oe.isBold(),Oe.isItalic()),x){if(W&&(eo&&M||!eo&&!M&&Oe.bg===D)&&(eo&&M&&X.selectionForeground||Oe.fg===te)&&Oe.extended.ext===ne&&oh===U&&j===k&&!sh&&!Ve&&!ah){Oe.isInvisible()?E+=u.WHITESPACE_CELL_CHAR:E+=el,W++;continue}W&&(x.textContent=E),x=this._document.createElement("span"),W=0,E=""}else x=this._document.createElement("span");if(D=Oe.bg,te=Oe.fg,ne=Oe.extended.ext,U=oh,k=j,M=eo,Ve&&Y>=de&&Y<=yt&&(Y=de),!this._coreService.isCursorHidden&&sh&&this._coreService.isCursorInitialized){if(ee.push("xterm-cursor"),this._coreBrowserService.isFocused)Z&&ee.push("xterm-cursor-blink"),ee.push(b==="bar"?"xterm-cursor-bar":b==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(T)switch(T){case"outline":ee.push("xterm-cursor-outline");break;case"block":ee.push("xterm-cursor-block");break;case"bar":ee.push("xterm-cursor-bar");break;case"underline":ee.push("xterm-cursor-underline")}}if(Oe.isBold()&&ee.push("xterm-bold"),Oe.isItalic()&&ee.push("xterm-italic"),Oe.isDim()&&ee.push("xterm-dim"),E=Oe.isInvisible()?u.WHITESPACE_CELL_CHAR:Oe.getChars()||u.WHITESPACE_CELL_CHAR,Oe.isUnderline()&&(ee.push(`xterm-underline-${Oe.extended.underlineStyle}`),E===" "&&(E=" "),!Oe.isUnderlineColorDefault()))if(Oe.isUnderlineColorRGB())x.style.textDecorationColor=`rgb(${p.AttributeData.toColorRGB(Oe.getUnderlineColor()).join(",")})`;else{let Ze=Oe.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&Oe.isBold()&&Ze<8&&(Ze+=8),x.style.textDecorationColor=X.ansi[Ze].css}Oe.isOverline()&&(ee.push("xterm-overline"),E===" "&&(E=" ")),Oe.isStrikethrough()&&ee.push("xterm-strikethrough"),oh&&(x.style.textDecoration="underline");let ei=Oe.getFgColor(),to=Oe.getFgColorMode(),Ti=Oe.getBgColor(),io=Oe.getBgColorMode();const lh=!!Oe.isInverse();if(lh){const Ze=ei;ei=Ti,Ti=Ze;const QX=to;to=io,io=QX}let Pr,tl,yr,ro=!1;switch(this._decorationService.forEachDecorationAtCell(de,w,void 0,Ze=>{Ze.options.layer!=="top"&&ro||(Ze.backgroundColorRGB&&(io=50331648,Ti=Ze.backgroundColorRGB.rgba>>8&16777215,Pr=Ze.backgroundColorRGB),Ze.foregroundColorRGB&&(to=50331648,ei=Ze.foregroundColorRGB.rgba>>8&16777215,tl=Ze.foregroundColorRGB),ro=Ze.options.layer==="top")}),!ro&&eo&&(Pr=this._coreBrowserService.isFocused?X.selectionBackgroundOpaque:X.selectionInactiveBackgroundOpaque,Ti=Pr.rgba>>8&16777215,io=50331648,ro=!0,X.selectionForeground&&(to=50331648,ei=X.selectionForeground.rgba>>8&16777215,tl=X.selectionForeground)),ro&&ee.push("xterm-decoration-top"),io){case 16777216:case 33554432:yr=X.ansi[Ti],ee.push(`xterm-bg-${Ti}`);break;case 50331648:yr=Q.channels.toColor(Ti>>16,Ti>>8&255,255&Ti),this._addStyle(x,`background-color:#${_((Ti>>>0).toString(16),"0",6)}`);break;default:lh?(yr=X.foreground,ee.push(`xterm-bg-${h.INVERTED_DEFAULT_COLOR}`)):yr=X.background}switch(Pr||Oe.isDim()&&(Pr=Q.color.multiplyOpacity(yr,.5)),to){case 16777216:case 33554432:Oe.isBold()&&ei<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ei+=8),this._applyMinimumContrast(x,yr,X.ansi[ei],Oe,Pr,void 0)||ee.push(`xterm-fg-${ei}`);break;case 50331648:const Ze=Q.channels.toColor(ei>>16&255,ei>>8&255,255&ei);this._applyMinimumContrast(x,yr,Ze,Oe,Pr,tl)||this._addStyle(x,`color:#${_(ei.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(x,yr,X.foreground,Oe,Pr,tl)||lh&&ee.push(`xterm-fg-${h.INVERTED_DEFAULT_COLOR}`)}ee.length&&(x.className=ee.join(" "),ee.length=0),sh||Ve||ah?x.textContent=E:W++,j!==this.defaultSpacing&&(x.style.letterSpacing=`${j}px`),G.push(x),de=yt}return x&&W&&(x.textContent=E),G}_applyMinimumContrast(P,w,v,b,T,Y){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,f.treatGlyphAsBackgroundColor)(b.getCode()))return!1;const Z=this._getContrastCache(b);let R;if(T||Y||(R=Z.getColor(w.rgba,v.rgba)),R===void 0){const z=this._optionsService.rawOptions.minimumContrastRatio/(b.isDim()?2:1);R=Q.color.ensureContrastRatio(T||w,Y||v,z),Z.setColor((T||w).rgba,(Y||v).rgba,R??null)}return!!R&&(this._addStyle(P,`color:${R.css}`),!0)}_getContrastCache(P){return P.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(P,w){P.setAttribute("style",`${P.getAttribute("style")||""}${w};`)}_isCellInSelection(P,w){const v=this._selectionStart,b=this._selectionEnd;return!(!v||!b)&&(this._columnSelectMode?v[0]<=b[0]?P>=v[0]&&w>=v[1]&&P<b[0]&&w<=b[1]:P<v[0]&&w>=v[1]&&P>=b[0]&&w<=b[1]:w>v[1]&&w<b[1]||v[1]===b[1]&&w===v[1]&&P>=v[0]&&P<b[0]||v[1]<b[1]&&w===b[1]&&P<b[0]||v[1]<b[1]&&w===v[1]&&P>=v[0])}};function _(P,w,v){for(;P.length<v;)P=w+P;return P}a.DomRendererRowFactory=$=O([c(1,g.ICharacterJoinerService),c(2,S.IOptionsService),c(3,g.ICoreBrowserService),c(4,S.ICoreService),c(5,S.IDecorationService),c(6,g.IThemeService)],$)},2550:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.WidthCache=void 0,a.WidthCache=class{constructor(l,O){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 c=l.createElement("span");c.classList.add("xterm-char-measure-element");const h=l.createElement("span");h.classList.add("xterm-char-measure-element"),h.style.fontWeight="bold";const u=l.createElement("span");u.classList.add("xterm-char-measure-element"),u.style.fontStyle="italic";const m=l.createElement("span");m.classList.add("xterm-char-measure-element"),m.style.fontWeight="bold",m.style.fontStyle="italic",this._measureElements=[c,h,u,m],this._container.appendChild(c),this._container.appendChild(h),this._container.appendChild(u),this._container.appendChild(m),O.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,O,c,h){l===this._font&&O===this._fontSize&&c===this._weight&&h===this._weightBold||(this._font=l,this._fontSize=O,this._weight=c,this._weightBold=h,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${c}`,this._measureElements[1].style.fontWeight=`${h}`,this._measureElements[2].style.fontWeight=`${c}`,this._measureElements[3].style.fontWeight=`${h}`,this.clear())}get(l,O,c){let h=0;if(!O&&!c&&l.length===1&&(h=l.charCodeAt(0))<256){if(this._flat[h]!==-9999)return this._flat[h];const S=this._measure(l,0);return S>0&&(this._flat[h]=S),S}let u=l;O&&(u+="B"),c&&(u+="I");let m=this._holey.get(u);if(m===void 0){let S=0;O&&(S|=1),c&&(S|=2),m=this._measure(l,S),m>0&&this._holey.set(u,m)}return m}_measure(l,O){const c=this._measureElements[O];return c.textContent=l.repeat(32),c.offsetWidth/32}}},2223:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.TEXT_BASELINE=a.DIM_OPACITY=a.INVERTED_DEFAULT_COLOR=void 0;const O=l(6114);a.INVERTED_DEFAULT_COLOR=257,a.DIM_OPACITY=.5,a.TEXT_BASELINE=O.isFirefox||O.isLegacyEdge?"bottom":"ideographic"},6171:(o,a)=>{function l(c){return 57508<=c&&c<=57558}function O(c){return c>=128512&&c<=128591||c>=127744&&c<=128511||c>=128640&&c<=128767||c>=9728&&c<=9983||c>=9984&&c<=10175||c>=65024&&c<=65039||c>=129280&&c<=129535||c>=127462&&c<=127487}Object.defineProperty(a,"__esModule",{value:!0}),a.computeNextVariantOffset=a.createRenderDimensions=a.treatGlyphAsBackgroundColor=a.allowRescaling=a.isEmoji=a.isRestrictedPowerlineGlyph=a.isPowerlineGlyph=a.throwIfFalsy=void 0,a.throwIfFalsy=function(c){if(!c)throw new Error("value must not be falsy");return c},a.isPowerlineGlyph=l,a.isRestrictedPowerlineGlyph=function(c){return 57520<=c&&c<=57527},a.isEmoji=O,a.allowRescaling=function(c,h,u,m){return h===1&&u>Math.ceil(1.5*m)&&c!==void 0&&c>255&&!O(c)&&!l(c)&&!function(S){return 57344<=S&&S<=63743}(c)},a.treatGlyphAsBackgroundColor=function(c){return l(c)||function(h){return 9472<=h&&h<=9631}(c)},a.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}}}},a.computeNextVariantOffset=function(c,h,u=0){return(c-(2*Math.round(h)-u))%(2*Math.round(h))}},6052:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.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(c,h,u,m=!1){if(this.selectionStart=h,this.selectionEnd=u,!h||!u||h[0]===u[0]&&h[1]===u[1])return void this.clear();const S=c.buffers.active.ydisp,Q=h[1]-S,g=u[1]-S,d=Math.max(Q,0),f=Math.min(g,c.rows-1);d>=c.rows||f<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=m,this.viewportStartRow=Q,this.viewportEndRow=g,this.viewportCappedStartRow=d,this.viewportCappedEndRow=f,this.startCol=h[0],this.endCol=u[0])}isCellSelected(c,h,u){return!!this.hasSelection&&(u-=c.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?h>=this.startCol&&u>=this.viewportCappedStartRow&&h<this.endCol&&u<=this.viewportCappedEndRow:h<this.startCol&&u>=this.viewportCappedStartRow&&h>=this.endCol&&u<=this.viewportCappedEndRow:u>this.viewportStartRow&&u<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&u===this.viewportStartRow&&h>=this.startCol&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&u===this.viewportEndRow&&h<this.endCol||this.viewportStartRow<this.viewportEndRow&&u===this.viewportStartRow&&h>=this.startCol)}}a.createSelectionRenderModel=function(){return new l}},456:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.SelectionModel=void 0,a.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,O=this.selectionEnd;return!(!l||!O)&&(l[1]>O[1]||l[1]===O[1]&&l[0]>O[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(o,a,l){var O=this&&this.__decorate||function(f,p,$,_){var P,w=arguments.length,v=w<3?p:_===null?_=Object.getOwnPropertyDescriptor(p,$):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(f,p,$,_);else for(var b=f.length-1;b>=0;b--)(P=f[b])&&(v=(w<3?P(v):w>3?P(p,$,v):P(p,$))||v);return w>3&&v&&Object.defineProperty(p,$,v),v},c=this&&this.__param||function(f,p){return function($,_){p($,_,f)}};Object.defineProperty(a,"__esModule",{value:!0}),a.CharSizeService=void 0;const h=l(2585),u=l(8460),m=l(844);let S=a.CharSizeService=class extends m.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(f,p,$){super(),this._optionsService=$,this.width=0,this.height=0,this._onCharSizeChange=this.register(new u.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new d(this._optionsService))}catch{this._measureStrategy=this.register(new g(f,p,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}measure(){const f=this._measureStrategy.measure();f.width===this.width&&f.height===this.height||(this.width=f.width,this.height=f.height,this._onCharSizeChange.fire())}};a.CharSizeService=S=O([c(2,h.IOptionsService)],S);class Q extends m.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(p,$){p!==void 0&&p>0&&$!==void 0&&$>0&&(this._result.width=p,this._result.height=$)}}class g extends Q{constructor(p,$,_){super(),this._document=p,this._parentElement=$,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 d extends Q{constructor(p){super(),this._optionsService=p,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const $=this._ctx.measureText("W");if(!("width"in $&&"fontBoundingBoxAscent"in $&&"fontBoundingBoxDescent"in $))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const p=this._ctx.measureText("W");return this._validateAndSet(p.width,p.fontBoundingBoxAscent+p.fontBoundingBoxDescent),this._result}}},4269:function(o,a,l){var O=this&&this.__decorate||function(d,f,p,$){var _,P=arguments.length,w=P<3?f:$===null?$=Object.getOwnPropertyDescriptor(f,p):$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(d,f,p,$);else for(var v=d.length-1;v>=0;v--)(_=d[v])&&(w=(P<3?_(w):P>3?_(f,p,w):_(f,p))||w);return P>3&&w&&Object.defineProperty(f,p,w),w},c=this&&this.__param||function(d,f){return function(p,$){f(p,$,d)}};Object.defineProperty(a,"__esModule",{value:!0}),a.CharacterJoinerService=a.JoinedCellData=void 0;const h=l(3734),u=l(643),m=l(511),S=l(2585);class Q extends h.AttributeData{constructor(f,p,$){super(),this.content=0,this.combinedData="",this.fg=f.fg,this.bg=f.bg,this.combinedData=p,this._width=$}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(f){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}a.JoinedCellData=Q;let g=a.CharacterJoinerService=class q1{constructor(f){this._bufferService=f,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new m.CellData}register(f){const p={id:this._nextCharacterJoinerId++,handler:f};return this._characterJoiners.push(p),p.id}deregister(f){for(let p=0;p<this._characterJoiners.length;p++)if(this._characterJoiners[p].id===f)return this._characterJoiners.splice(p,1),!0;return!1}getJoinedCharacters(f){if(this._characterJoiners.length===0)return[];const p=this._bufferService.buffer.lines.get(f);if(!p||p.length===0)return[];const $=[],_=p.translateToString(!0);let P=0,w=0,v=0,b=p.getFg(0),T=p.getBg(0);for(let Y=0;Y<p.getTrimmedLength();Y++)if(p.loadCell(Y,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==b||this._workCell.bg!==T){if(Y-P>1){const Z=this._getJoinedRanges(_,v,w,p,P);for(let R=0;R<Z.length;R++)$.push(Z[R])}P=Y,v=w,b=this._workCell.fg,T=this._workCell.bg}w+=this._workCell.getChars().length||u.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-P>1){const Y=this._getJoinedRanges(_,v,w,p,P);for(let Z=0;Z<Y.length;Z++)$.push(Y[Z])}return $}_getJoinedRanges(f,p,$,_,P){const w=f.substring(p,$);let v=[];try{v=this._characterJoiners[0].handler(w)}catch(b){console.error(b)}for(let b=1;b<this._characterJoiners.length;b++)try{const T=this._characterJoiners[b].handler(w);for(let Y=0;Y<T.length;Y++)q1._mergeRanges(v,T[Y])}catch(T){console.error(T)}return this._stringRangesToCellRanges(v,_,P),v}_stringRangesToCellRanges(f,p,$){let _=0,P=!1,w=0,v=f[_];if(v){for(let b=$;b<this._bufferService.cols;b++){const T=p.getWidth(b),Y=p.getString(b).length||u.WHITESPACE_CELL_CHAR.length;if(T!==0){if(!P&&v[0]<=w&&(v[0]=b,P=!0),v[1]<=w){if(v[1]=b,v=f[++_],!v)break;v[0]<=w?(v[0]=b,P=!0):P=!1}w+=Y}}v&&(v[1]=this._bufferService.cols)}}static _mergeRanges(f,p){let $=!1;for(let _=0;_<f.length;_++){const P=f[_];if($){if(p[1]<=P[0])return f[_-1][1]=p[1],f;if(p[1]<=P[1])return f[_-1][1]=Math.max(p[1],P[1]),f.splice(_,1),f;f.splice(_,1),_--}else{if(p[1]<=P[0])return f.splice(_,0,p),f;if(p[1]<=P[1])return P[0]=Math.min(p[0],P[0]),f;p[0]<P[1]&&(P[0]=Math.min(p[0],P[0]),$=!0)}}return $?f[f.length-1][1]=p[1]:f.push(p),f}};a.CharacterJoinerService=g=O([c(0,S.IBufferService)],g)},5114:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CoreBrowserService=void 0;const O=l(844),c=l(8460),h=l(3656);class u extends O.Disposable{constructor(Q,g,d){super(),this._textarea=Q,this._window=g,this.mainDocument=d,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new m(this._window),this._onDprChange=this.register(new c.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new c.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange(f=>this._screenDprMonitor.setWindow(f))),this.register((0,c.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(Q){this._window!==Q&&(this._window=Q,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}}a.CoreBrowserService=u;class m extends O.Disposable{constructor(Q){super(),this._parentWindow=Q,this._windowResizeListener=this.register(new O.MutableDisposable),this._onDprChange=this.register(new c.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,O.toDisposable)(()=>this.clearListener()))}setWindow(Q){this._parentWindow=Q,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,h.addDisposableDomListener)(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var Q;this._outerListener&&((Q=this._resolutionMediaMatchList)==null||Q.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:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.LinkProviderService=void 0;const O=l(844);class c extends O.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,O.toDisposable)(()=>this.linkProviders.length=0))}registerLinkProvider(u){return this.linkProviders.push(u),{dispose:()=>{const m=this.linkProviders.indexOf(u);m!==-1&&this.linkProviders.splice(m,1)}}}}a.LinkProviderService=c},8934:function(o,a,l){var O=this&&this.__decorate||function(S,Q,g,d){var f,p=arguments.length,$=p<3?Q:d===null?d=Object.getOwnPropertyDescriptor(Q,g):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$=Reflect.decorate(S,Q,g,d);else for(var _=S.length-1;_>=0;_--)(f=S[_])&&($=(p<3?f($):p>3?f(Q,g,$):f(Q,g))||$);return p>3&&$&&Object.defineProperty(Q,g,$),$},c=this&&this.__param||function(S,Q){return function(g,d){Q(g,d,S)}};Object.defineProperty(a,"__esModule",{value:!0}),a.MouseService=void 0;const h=l(4725),u=l(9806);let m=a.MouseService=class{constructor(S,Q){this._renderService=S,this._charSizeService=Q}getCoords(S,Q,g,d,f){return(0,u.getCoords)(window,S,Q,g,d,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,f)}getMouseReportCoords(S,Q){const g=(0,u.getCoordsRelativeToElement)(window,S,Q);if(this._charSizeService.hasValidSize)return g[0]=Math.min(Math.max(g[0],0),this._renderService.dimensions.css.canvas.width-1),g[1]=Math.min(Math.max(g[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(g[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(g[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(g[0]),y:Math.floor(g[1])}}};a.MouseService=m=O([c(0,h.IRenderService),c(1,h.ICharSizeService)],m)},3230:function(o,a,l){var O=this&&this.__decorate||function(f,p,$,_){var P,w=arguments.length,v=w<3?p:_===null?_=Object.getOwnPropertyDescriptor(p,$):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(f,p,$,_);else for(var b=f.length-1;b>=0;b--)(P=f[b])&&(v=(w<3?P(v):w>3?P(p,$,v):P(p,$))||v);return w>3&&v&&Object.defineProperty(p,$,v),v},c=this&&this.__param||function(f,p){return function($,_){p($,_,f)}};Object.defineProperty(a,"__esModule",{value:!0}),a.RenderService=void 0;const h=l(6193),u=l(4725),m=l(8460),S=l(844),Q=l(7226),g=l(2585);let d=a.RenderService=class extends S.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(f,p,$,_,P,w,v,b){super(),this._rowCount=f,this._charSizeService=_,this._renderer=this.register(new S.MutableDisposable),this._pausedResizeTask=new Q.DebouncedIdleTask,this._observerDisposable=this.register(new S.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 m.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new m.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new m.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new m.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new h.RenderDebouncer((T,Y)=>this._renderRows(T,Y),v),this.register(this._renderDebouncer),this.register(v.onDprChange(()=>this.handleDevicePixelRatioChange())),this.register(w.onResize(()=>this._fullRefresh())),this.register(w.buffers.onBufferActivate(()=>{var T;return(T=this._renderer.value)==null?void 0:T.clear()})),this.register($.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this.register(P.onDecorationRegistered(()=>this._fullRefresh())),this.register(P.onDecorationRemoved(()=>this._fullRefresh())),this.register($.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(w.cols,w.rows),this._fullRefresh()})),this.register($.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(w.buffer.y,w.buffer.y,!0))),this.register(b.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(v.window,p),this.register(v.onWindowChange(T=>this._registerIntersectionObserver(T,p)))}_registerIntersectionObserver(f,p){if("IntersectionObserver"in f){const $=new f.IntersectionObserver(_=>this._handleIntersectionChange(_[_.length-1]),{threshold:0});$.observe(p),this._observerDisposable.value=(0,S.toDisposable)(()=>$.disconnect())}}_handleIntersectionChange(f){this._isPaused=f.isIntersecting===void 0?f.intersectionRatio===0:!f.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(f,p,$=!1){this._isPaused?this._needsFullRefresh=!0:($||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(f,p,this._rowCount))}_renderRows(f,p){this._renderer.value&&(f=Math.min(f,this._rowCount-1),p=Math.min(p,this._rowCount-1),this._renderer.value.renderRows(f,p),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:f,end:p}),this._onRender.fire({start:f,end:p}),this._isNextRenderRedrawOnly=!0)}resize(f,p){this._rowCount=p,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(f){this._renderer.value=f,this._renderer.value&&(this._renderer.value.onRequestRedraw(p=>this.refreshRows(p.start,p.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(f){return this._renderDebouncer.addRefreshCallback(f)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var f,p;this._renderer.value&&((p=(f=this._renderer.value).clearTextureAtlas)==null||p.call(f),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(f,p){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var $;return($=this._renderer.value)==null?void 0:$.handleResize(f,p)}):this._renderer.value.handleResize(f,p),this._fullRefresh())}handleCharSizeChanged(){var f;(f=this._renderer.value)==null||f.handleCharSizeChanged()}handleBlur(){var f;(f=this._renderer.value)==null||f.handleBlur()}handleFocus(){var f;(f=this._renderer.value)==null||f.handleFocus()}handleSelectionChanged(f,p,$){var _;this._selectionState.start=f,this._selectionState.end=p,this._selectionState.columnSelectMode=$,(_=this._renderer.value)==null||_.handleSelectionChanged(f,p,$)}handleCursorMove(){var f;(f=this._renderer.value)==null||f.handleCursorMove()}clear(){var f;(f=this._renderer.value)==null||f.clear()}};a.RenderService=d=O([c(2,g.IOptionsService),c(3,u.ICharSizeService),c(4,g.IDecorationService),c(5,g.IBufferService),c(6,u.ICoreBrowserService),c(7,u.IThemeService)],d)},9312:function(o,a,l){var O=this&&this.__decorate||function(v,b,T,Y){var Z,R=arguments.length,z=R<3?b:Y===null?Y=Object.getOwnPropertyDescriptor(b,T):Y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")z=Reflect.decorate(v,b,T,Y);else for(var V=v.length-1;V>=0;V--)(Z=v[V])&&(z=(R<3?Z(z):R>3?Z(b,T,z):Z(b,T))||z);return R>3&&z&&Object.defineProperty(b,T,z),z},c=this&&this.__param||function(v,b){return function(T,Y){b(T,Y,v)}};Object.defineProperty(a,"__esModule",{value:!0}),a.SelectionService=void 0;const h=l(9806),u=l(9504),m=l(456),S=l(4725),Q=l(8460),g=l(844),d=l(6114),f=l(4841),p=l(511),$=l(2585),_=" ",P=new RegExp(_,"g");let w=a.SelectionService=class extends g.Disposable{constructor(v,b,T,Y,Z,R,z,V,L){super(),this._element=v,this._screenElement=b,this._linkifier=T,this._bufferService=Y,this._coreService=Z,this._mouseService=R,this._optionsService=z,this._renderService=V,this._coreBrowserService=L,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new p.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new Q.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new Q.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new Q.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new Q.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=G=>this._handleMouseMove(G),this._mouseUpListener=G=>this._handleMouseUp(G),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(G=>this._handleTrim(G)),this.register(this._bufferService.buffers.onBufferActivate(G=>this._handleBufferActivate(G))),this.enable(),this._model=new m.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,g.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 v=this._model.finalSelectionStart,b=this._model.finalSelectionEnd;return!(!v||!b||v[0]===b[0]&&v[1]===b[1])}get selectionText(){const v=this._model.finalSelectionStart,b=this._model.finalSelectionEnd;if(!v||!b)return"";const T=this._bufferService.buffer,Y=[];if(this._activeSelectionMode===3){if(v[0]===b[0])return"";const Z=v[0]<b[0]?v[0]:b[0],R=v[0]<b[0]?b[0]:v[0];for(let z=v[1];z<=b[1];z++){const V=T.translateBufferLineToString(z,!0,Z,R);Y.push(V)}}else{const Z=v[1]===b[1]?b[0]:void 0;Y.push(T.translateBufferLineToString(v[1],!0,v[0],Z));for(let R=v[1]+1;R<=b[1]-1;R++){const z=T.lines.get(R),V=T.translateBufferLineToString(R,!0);z!=null&&z.isWrapped?Y[Y.length-1]+=V:Y.push(V)}if(v[1]!==b[1]){const R=T.lines.get(b[1]),z=T.translateBufferLineToString(b[1],!0,0,b[0]);R&&R.isWrapped?Y[Y.length-1]+=z:Y.push(z)}}return Y.map(Z=>Z.replace(P," ")).join(d.isWindows?`\r
|
|
45
45
|
`:`
|
|
46
|
-
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(v){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),d.isLinux&&v&&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(v){const b=this._getMouseBufferCoords(v),T=this._model.finalSelectionStart,Y=this._model.finalSelectionEnd;return!!(T&&Y&&b)&&this._areCoordsInSelection(b,T,Y)}isCellInSelection(v,b){const T=this._model.finalSelectionStart,Y=this._model.finalSelectionEnd;return!(!T||!Y)&&this._areCoordsInSelection([v,b],T,Y)}_areCoordsInSelection(v,b,T){return v[1]>b[1]&&v[1]<T[1]||b[1]===T[1]&&v[1]===b[1]&&v[0]>=b[0]&&v[0]<T[0]||b[1]<T[1]&&v[1]===T[1]&&v[0]<T[0]||b[1]<T[1]&&v[1]===b[1]&&v[0]>=b[0]}_selectWordAtCursor(v,b){var Z,R;const T=(R=(Z=this._linkifier.currentLink)==null?void 0:Z.link)==null?void 0:R.range;if(T)return this._model.selectionStart=[T.start.x-1,T.start.y-1],this._model.selectionStartLength=(0,f.getRangeLength)(T,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const Y=this._getMouseBufferCoords(v);return!!Y&&(this._selectWordAt(Y,b),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(v,b){this._model.clearSelection(),v=Math.max(v,0),b=Math.min(b,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,v],this._model.selectionEnd=[this._bufferService.cols,b],this.refresh(),this._onSelectionChange.fire()}_handleTrim(v){this._model.handleTrim(v)&&this.refresh()}_getMouseBufferCoords(v){const b=this._mouseService.getCoords(v,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(b)return b[0]--,b[1]--,b[1]+=this._bufferService.buffer.ydisp,b}_getMouseEventScrollAmount(v){let b=(0,h.getCoordsRelativeToElement)(this._coreBrowserService.window,v,this._screenElement)[1];const T=this._renderService.dimensions.css.canvas.height;return b>=0&&b<=T?0:(b>T&&(b-=T),b=Math.min(Math.max(b,-50),50),b/=50,b/Math.abs(b)+Math.round(14*b))}shouldForceSelection(v){return d.isMac?v.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:v.shiftKey}handleMouseDown(v){if(this._mouseDownTimeStamp=v.timeStamp,(v.button!==2||!this.hasSelection)&&v.button===0){if(!this._enabled){if(!this.shouldForceSelection(v))return;v.stopPropagation()}v.preventDefault(),this._dragScrollAmount=0,this._enabled&&v.shiftKey?this._handleIncrementalClick(v):v.detail===1?this._handleSingleClick(v):v.detail===2?this._handleDoubleClick(v):v.detail===3&&this._handleTripleClick(v),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(v){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(v))}_handleSingleClick(v){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(v)?3:0,this._model.selectionStart=this._getMouseBufferCoords(v),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const b=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);b&&b.length!==this._model.selectionStart[0]&&b.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(v){this._selectWordAtCursor(v,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(v){const b=this._getMouseBufferCoords(v);b&&(this._activeSelectionMode=2,this._selectLineAt(b[1]))}shouldColumnSelect(v){return v.altKey&&!(d.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(v){if(v.stopImmediatePropagation(),!this._model.selectionStart)return;const b=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(v),!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(v),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const T=this._bufferService.buffer;if(this._model.selectionEnd[1]<T.lines.length){const Y=T.lines.get(this._model.selectionEnd[1]);Y&&Y.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}b&&b[0]===this._model.selectionEnd[0]&&b[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 v=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(v.ydisp+this._bufferService.rows,v.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=v.ydisp),this.refresh()}}_handleMouseUp(v){const b=v.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&b<500&&v.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const T=this._mouseService.getCoords(v,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(T&&T[0]!==void 0&&T[1]!==void 0){const Y=(0,u.moveToCellSequence)(T[0]-1,T[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(Y,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const v=this._model.finalSelectionStart,b=this._model.finalSelectionEnd,T=!(!v||!b||v[0]===b[0]&&v[1]===b[1]);T?v&&b&&(this._oldSelectionStart&&this._oldSelectionEnd&&v[0]===this._oldSelectionStart[0]&&v[1]===this._oldSelectionStart[1]&&b[0]===this._oldSelectionEnd[0]&&b[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(v,b,T)):this._oldHasSelection&&this._fireOnSelectionChange(v,b,T)}_fireOnSelectionChange(v,b,T){this._oldSelectionStart=v,this._oldSelectionEnd=b,this._oldHasSelection=T,this._onSelectionChange.fire()}_handleBufferActivate(v){this.clearSelection(),this._trimListener.dispose(),this._trimListener=v.activeBuffer.lines.onTrim(b=>this._handleTrim(b))}_convertViewportColToCharacterIndex(v,b){let T=b;for(let Y=0;b>=Y;Y++){const Z=v.loadCell(Y,this._workCell).getChars().length;this._workCell.getWidth()===0?T--:Z>1&&b!==Y&&(T+=Z-1)}return T}setSelection(v,b,T){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[v,b],this._model.selectionStartLength=T,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(v){this._isClickInSelection(v)||(this._selectWordAtCursor(v,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(v,b,T=!0,Y=!0){if(v[0]>=this._bufferService.cols)return;const Z=this._bufferService.buffer,R=Z.lines.get(v[1]);if(!R)return;const z=Z.translateBufferLineToString(v[1],!1);let V=this._convertViewportColToCharacterIndex(R,v[0]),L=V;const G=v[0]-V;let q=0,X=0,x=0,C=0;if(z.charAt(V)===" "){for(;V>0&&z.charAt(V-1)===" ";)V--;for(;L<z.length&&z.charAt(L+1)===" ";)L++}else{let D=v[0],te=v[0];R.getWidth(D)===0&&(q++,D--),R.getWidth(te)===2&&(X++,te++);const re=R.getString(te).length;for(re>1&&(C+=re-1,L+=re-1);D>0&&V>0&&!this._isCharWordSeparator(R.loadCell(D-1,this._workCell));){R.loadCell(D-1,this._workCell);const U=this._workCell.getChars().length;this._workCell.getWidth()===0?(q++,D--):U>1&&(x+=U-1,V-=U-1),V--,D--}for(;te<R.length&&L+1<z.length&&!this._isCharWordSeparator(R.loadCell(te+1,this._workCell));){R.loadCell(te+1,this._workCell);const U=this._workCell.getChars().length;this._workCell.getWidth()===2?(X++,te++):U>1&&(C+=U-1,L+=U-1),L++,te++}}L++;let W=V+G-q+x,E=Math.min(this._bufferService.cols,L-V+q+X-x-C);if(b||z.slice(V,L).trim()!==""){if(T&&W===0&&R.getCodePoint(0)!==32){const D=Z.lines.get(v[1]-1);if(D&&R.isWrapped&&D.getCodePoint(this._bufferService.cols-1)!==32){const te=this._getWordAt([this._bufferService.cols-1,v[1]-1],!1,!0,!1);if(te){const re=this._bufferService.cols-te.start;W-=re,E+=re}}}if(Y&&W+E===this._bufferService.cols&&R.getCodePoint(this._bufferService.cols-1)!==32){const D=Z.lines.get(v[1]+1);if(D!=null&&D.isWrapped&&D.getCodePoint(0)!==32){const te=this._getWordAt([0,v[1]+1],!1,!1,!0);te&&(E+=te.length)}}return{start:W,length:E}}}_selectWordAt(v,b){const T=this._getWordAt(v,b);if(T){for(;T.start<0;)T.start+=this._bufferService.cols,v[1]--;this._model.selectionStart=[T.start,v[1]],this._model.selectionStartLength=T.length}}_selectToWordAt(v){const b=this._getWordAt(v,!0);if(b){let T=v[1];for(;b.start<0;)b.start+=this._bufferService.cols,T--;if(!this._model.areSelectionValuesReversed())for(;b.start+b.length>this._bufferService.cols;)b.length-=this._bufferService.cols,T++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?b.start:b.start+b.length,T]}}_isCharWordSeparator(v){return v.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(v.getChars())>=0}_selectLineAt(v){const b=this._bufferService.buffer.getWrappedRangeForLine(v),T={start:{x:0,y:b.first},end:{x:this._bufferService.cols-1,y:b.last}};this._model.selectionStart=[0,b.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,f.getRangeLength)(T,this._bufferService.cols)}};a.SelectionService=w=O([c(3,$.IBufferService),c(4,$.ICoreService),c(5,S.IMouseService),c(6,$.IOptionsService),c(7,S.IRenderService),c(8,S.ICoreBrowserService)],w)},4725:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ILinkProviderService=a.IThemeService=a.ICharacterJoinerService=a.ISelectionService=a.IRenderService=a.IMouseService=a.ICoreBrowserService=a.ICharSizeService=void 0;const O=l(8343);a.ICharSizeService=(0,O.createDecorator)("CharSizeService"),a.ICoreBrowserService=(0,O.createDecorator)("CoreBrowserService"),a.IMouseService=(0,O.createDecorator)("MouseService"),a.IRenderService=(0,O.createDecorator)("RenderService"),a.ISelectionService=(0,O.createDecorator)("SelectionService"),a.ICharacterJoinerService=(0,O.createDecorator)("CharacterJoinerService"),a.IThemeService=(0,O.createDecorator)("ThemeService"),a.ILinkProviderService=(0,O.createDecorator)("LinkProviderService")},6731:function(o,a,l){var O=this&&this.__decorate||function(w,v,b,T){var Y,Z=arguments.length,R=Z<3?v:T===null?T=Object.getOwnPropertyDescriptor(v,b):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(w,v,b,T);else for(var z=w.length-1;z>=0;z--)(Y=w[z])&&(R=(Z<3?Y(R):Z>3?Y(v,b,R):Y(v,b))||R);return Z>3&&R&&Object.defineProperty(v,b,R),R},c=this&&this.__param||function(w,v){return function(b,T){v(b,T,w)}};Object.defineProperty(a,"__esModule",{value:!0}),a.ThemeService=a.DEFAULT_ANSI_COLORS=void 0;const h=l(7239),u=l(8055),m=l(8460),S=l(844),Q=l(2585),g=u.css.toColor("#ffffff"),d=u.css.toColor("#000000"),f=u.css.toColor("#ffffff"),p=u.css.toColor("#000000"),$={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};a.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const w=[u.css.toColor("#2e3436"),u.css.toColor("#cc0000"),u.css.toColor("#4e9a06"),u.css.toColor("#c4a000"),u.css.toColor("#3465a4"),u.css.toColor("#75507b"),u.css.toColor("#06989a"),u.css.toColor("#d3d7cf"),u.css.toColor("#555753"),u.css.toColor("#ef2929"),u.css.toColor("#8ae234"),u.css.toColor("#fce94f"),u.css.toColor("#729fcf"),u.css.toColor("#ad7fa8"),u.css.toColor("#34e2e2"),u.css.toColor("#eeeeec")],v=[0,95,135,175,215,255];for(let b=0;b<216;b++){const T=v[b/36%6|0],Y=v[b/6%6|0],Z=v[b%6];w.push({css:u.channels.toCss(T,Y,Z),rgba:u.channels.toRgba(T,Y,Z)})}for(let b=0;b<24;b++){const T=8+10*b;w.push({css:u.channels.toCss(T,T,T),rgba:u.channels.toRgba(T,T,T)})}return w})());let _=a.ThemeService=class extends S.Disposable{get colors(){return this._colors}constructor(w){super(),this._optionsService=w,this._contrastCache=new h.ColorContrastCache,this._halfContrastCache=new h.ColorContrastCache,this._onChangeColors=this.register(new m.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:g,background:d,cursor:f,cursorAccent:p,selectionForeground:void 0,selectionBackgroundTransparent:$,selectionBackgroundOpaque:u.color.blend(d,$),selectionInactiveBackgroundTransparent:$,selectionInactiveBackgroundOpaque:u.color.blend(d,$),ansi:a.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 v=this._colors;if(v.foreground=P(w.foreground,g),v.background=P(w.background,d),v.cursor=P(w.cursor,f),v.cursorAccent=P(w.cursorAccent,p),v.selectionBackgroundTransparent=P(w.selectionBackground,$),v.selectionBackgroundOpaque=u.color.blend(v.background,v.selectionBackgroundTransparent),v.selectionInactiveBackgroundTransparent=P(w.selectionInactiveBackground,v.selectionBackgroundTransparent),v.selectionInactiveBackgroundOpaque=u.color.blend(v.background,v.selectionInactiveBackgroundTransparent),v.selectionForeground=w.selectionForeground?P(w.selectionForeground,u.NULL_COLOR):void 0,v.selectionForeground===u.NULL_COLOR&&(v.selectionForeground=void 0),u.color.isOpaque(v.selectionBackgroundTransparent)&&(v.selectionBackgroundTransparent=u.color.opacity(v.selectionBackgroundTransparent,.3)),u.color.isOpaque(v.selectionInactiveBackgroundTransparent)&&(v.selectionInactiveBackgroundTransparent=u.color.opacity(v.selectionInactiveBackgroundTransparent,.3)),v.ansi=a.DEFAULT_ANSI_COLORS.slice(),v.ansi[0]=P(w.black,a.DEFAULT_ANSI_COLORS[0]),v.ansi[1]=P(w.red,a.DEFAULT_ANSI_COLORS[1]),v.ansi[2]=P(w.green,a.DEFAULT_ANSI_COLORS[2]),v.ansi[3]=P(w.yellow,a.DEFAULT_ANSI_COLORS[3]),v.ansi[4]=P(w.blue,a.DEFAULT_ANSI_COLORS[4]),v.ansi[5]=P(w.magenta,a.DEFAULT_ANSI_COLORS[5]),v.ansi[6]=P(w.cyan,a.DEFAULT_ANSI_COLORS[6]),v.ansi[7]=P(w.white,a.DEFAULT_ANSI_COLORS[7]),v.ansi[8]=P(w.brightBlack,a.DEFAULT_ANSI_COLORS[8]),v.ansi[9]=P(w.brightRed,a.DEFAULT_ANSI_COLORS[9]),v.ansi[10]=P(w.brightGreen,a.DEFAULT_ANSI_COLORS[10]),v.ansi[11]=P(w.brightYellow,a.DEFAULT_ANSI_COLORS[11]),v.ansi[12]=P(w.brightBlue,a.DEFAULT_ANSI_COLORS[12]),v.ansi[13]=P(w.brightMagenta,a.DEFAULT_ANSI_COLORS[13]),v.ansi[14]=P(w.brightCyan,a.DEFAULT_ANSI_COLORS[14]),v.ansi[15]=P(w.brightWhite,a.DEFAULT_ANSI_COLORS[15]),w.extendedAnsi){const b=Math.min(v.ansi.length-16,w.extendedAnsi.length);for(let T=0;T<b;T++)v.ansi[T+16]=P(w.extendedAnsi[T],a.DEFAULT_ANSI_COLORS[T+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 v=0;v<this._restoreColors.ansi.length;++v)this._colors.ansi[v]=this._restoreColors.ansi[v]}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 P(w,v){if(w!==void 0)try{return u.css.toColor(w)}catch{}return v}a.ThemeService=_=O([c(0,Q.IOptionsService)],_)},6349:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CircularList=void 0;const O=l(8460),c=l(844);class h extends c.Disposable{constructor(m){super(),this._maxLength=m,this.onDeleteEmitter=this.register(new O.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new O.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new O.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(m){if(this._maxLength===m)return;const S=new Array(m);for(let Q=0;Q<Math.min(m,this.length);Q++)S[Q]=this._array[this._getCyclicIndex(Q)];this._array=S,this._maxLength=m,this._startIndex=0}get length(){return this._length}set length(m){if(m>this._length)for(let S=this._length;S<m;S++)this._array[S]=void 0;this._length=m}get(m){return this._array[this._getCyclicIndex(m)]}set(m,S){this._array[this._getCyclicIndex(m)]=S}push(m){this._array[this._getCyclicIndex(this._length)]=m,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(m,S,...Q){if(S){for(let g=m;g<this._length-S;g++)this._array[this._getCyclicIndex(g)]=this._array[this._getCyclicIndex(g+S)];this._length-=S,this.onDeleteEmitter.fire({index:m,amount:S})}for(let g=this._length-1;g>=m;g--)this._array[this._getCyclicIndex(g+Q.length)]=this._array[this._getCyclicIndex(g)];for(let g=0;g<Q.length;g++)this._array[this._getCyclicIndex(m+g)]=Q[g];if(Q.length&&this.onInsertEmitter.fire({index:m,amount:Q.length}),this._length+Q.length>this._maxLength){const g=this._length+Q.length-this._maxLength;this._startIndex+=g,this._length=this._maxLength,this.onTrimEmitter.fire(g)}else this._length+=Q.length}trimStart(m){m>this._length&&(m=this._length),this._startIndex+=m,this._length-=m,this.onTrimEmitter.fire(m)}shiftElements(m,S,Q){if(!(S<=0)){if(m<0||m>=this._length)throw new Error("start argument out of range");if(m+Q<0)throw new Error("Cannot shift elements in list beyond index 0");if(Q>0){for(let d=S-1;d>=0;d--)this.set(m+d+Q,this.get(m+d));const g=m+S+Q-this._length;if(g>0)for(this._length+=g;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let g=0;g<S;g++)this.set(m+g+Q,this.get(m+g))}}_getCyclicIndex(m){return(this._startIndex+m)%this._maxLength}}a.CircularList=h},1439:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.clone=void 0,a.clone=function l(O,c=5){if(typeof O!="object")return O;const h=Array.isArray(O)?[]:{};for(const u in O)h[u]=c<=1?O[u]:O[u]&&l(O[u],c-1);return h}},8055:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.contrastRatio=a.toPaddedHex=a.rgba=a.rgb=a.css=a.color=a.channels=a.NULL_COLOR=void 0;let l=0,O=0,c=0,h=0;var u,m,S,Q,g;function d(p){const $=p.toString(16);return $.length<2?"0"+$:$}function f(p,$){return p<$?($+.05)/(p+.05):(p+.05)/($+.05)}a.NULL_COLOR={css:"#00000000",rgba:0},function(p){p.toCss=function($,_,P,w){return w!==void 0?`#${d($)}${d(_)}${d(P)}${d(w)}`:`#${d($)}${d(_)}${d(P)}`},p.toRgba=function($,_,P,w=255){return($<<24|_<<16|P<<8|w)>>>0},p.toColor=function($,_,P,w){return{css:p.toCss($,_,P,w),rgba:p.toRgba($,_,P,w)}}}(u||(a.channels=u={})),function(p){function $(_,P){return h=Math.round(255*P),[l,O,c]=g.toChannels(_.rgba),{css:u.toCss(l,O,c,h),rgba:u.toRgba(l,O,c,h)}}p.blend=function(_,P){if(h=(255&P.rgba)/255,h===1)return{css:P.css,rgba:P.rgba};const w=P.rgba>>24&255,v=P.rgba>>16&255,b=P.rgba>>8&255,T=_.rgba>>24&255,Y=_.rgba>>16&255,Z=_.rgba>>8&255;return l=T+Math.round((w-T)*h),O=Y+Math.round((v-Y)*h),c=Z+Math.round((b-Z)*h),{css:u.toCss(l,O,c),rgba:u.toRgba(l,O,c)}},p.isOpaque=function(_){return(255&_.rgba)==255},p.ensureContrastRatio=function(_,P,w){const v=g.ensureContrastRatio(_.rgba,P.rgba,w);if(v)return u.toColor(v>>24&255,v>>16&255,v>>8&255)},p.opaque=function(_){const P=(255|_.rgba)>>>0;return[l,O,c]=g.toChannels(P),{css:u.toCss(l,O,c),rgba:P}},p.opacity=$,p.multiplyOpacity=function(_,P){return h=255&_.rgba,$(_,h*P/255)},p.toColorRGB=function(_){return[_.rgba>>24&255,_.rgba>>16&255,_.rgba>>8&255]}}(m||(a.color=m={})),function(p){let $,_;try{const P=document.createElement("canvas");P.width=1,P.height=1;const w=P.getContext("2d",{willReadFrequently:!0});w&&($=w,$.globalCompositeOperation="copy",_=$.createLinearGradient(0,0,1,1))}catch{}p.toColor=function(P){if(P.match(/#[\da-f]{3,8}/i))switch(P.length){case 4:return l=parseInt(P.slice(1,2).repeat(2),16),O=parseInt(P.slice(2,3).repeat(2),16),c=parseInt(P.slice(3,4).repeat(2),16),u.toColor(l,O,c);case 5:return l=parseInt(P.slice(1,2).repeat(2),16),O=parseInt(P.slice(2,3).repeat(2),16),c=parseInt(P.slice(3,4).repeat(2),16),h=parseInt(P.slice(4,5).repeat(2),16),u.toColor(l,O,c,h);case 7:return{css:P,rgba:(parseInt(P.slice(1),16)<<8|255)>>>0};case 9:return{css:P,rgba:parseInt(P.slice(1),16)>>>0}}const w=P.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]),O=parseInt(w[2]),c=parseInt(w[3]),h=Math.round(255*(w[5]===void 0?1:parseFloat(w[5]))),u.toColor(l,O,c,h);if(!$||!_)throw new Error("css.toColor: Unsupported css format");if($.fillStyle=_,$.fillStyle=P,typeof $.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if($.fillRect(0,0,1,1),[l,O,c,h]=$.getImageData(0,0,1,1).data,h!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:u.toRgba(l,O,c,h),css:P}}}(S||(a.css=S={})),function(p){function $(_,P,w){const v=_/255,b=P/255,T=w/255;return .2126*(v<=.03928?v/12.92:Math.pow((v+.055)/1.055,2.4))+.7152*(b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4))+.0722*(T<=.03928?T/12.92:Math.pow((T+.055)/1.055,2.4))}p.relativeLuminance=function(_){return $(_>>16&255,_>>8&255,255&_)},p.relativeLuminance2=$}(Q||(a.rgb=Q={})),function(p){function $(P,w,v){const b=P>>24&255,T=P>>16&255,Y=P>>8&255;let Z=w>>24&255,R=w>>16&255,z=w>>8&255,V=f(Q.relativeLuminance2(Z,R,z),Q.relativeLuminance2(b,T,Y));for(;V<v&&(Z>0||R>0||z>0);)Z-=Math.max(0,Math.ceil(.1*Z)),R-=Math.max(0,Math.ceil(.1*R)),z-=Math.max(0,Math.ceil(.1*z)),V=f(Q.relativeLuminance2(Z,R,z),Q.relativeLuminance2(b,T,Y));return(Z<<24|R<<16|z<<8|255)>>>0}function _(P,w,v){const b=P>>24&255,T=P>>16&255,Y=P>>8&255;let Z=w>>24&255,R=w>>16&255,z=w>>8&255,V=f(Q.relativeLuminance2(Z,R,z),Q.relativeLuminance2(b,T,Y));for(;V<v&&(Z<255||R<255||z<255);)Z=Math.min(255,Z+Math.ceil(.1*(255-Z))),R=Math.min(255,R+Math.ceil(.1*(255-R))),z=Math.min(255,z+Math.ceil(.1*(255-z))),V=f(Q.relativeLuminance2(Z,R,z),Q.relativeLuminance2(b,T,Y));return(Z<<24|R<<16|z<<8|255)>>>0}p.blend=function(P,w){if(h=(255&w)/255,h===1)return w;const v=w>>24&255,b=w>>16&255,T=w>>8&255,Y=P>>24&255,Z=P>>16&255,R=P>>8&255;return l=Y+Math.round((v-Y)*h),O=Z+Math.round((b-Z)*h),c=R+Math.round((T-R)*h),u.toRgba(l,O,c)},p.ensureContrastRatio=function(P,w,v){const b=Q.relativeLuminance(P>>8),T=Q.relativeLuminance(w>>8);if(f(b,T)<v){if(T<b){const R=$(P,w,v),z=f(b,Q.relativeLuminance(R>>8));if(z<v){const V=_(P,w,v);return z>f(b,Q.relativeLuminance(V>>8))?R:V}return R}const Y=_(P,w,v),Z=f(b,Q.relativeLuminance(Y>>8));if(Z<v){const R=$(P,w,v);return Z>f(b,Q.relativeLuminance(R>>8))?Y:R}return Y}},p.reduceLuminance=$,p.increaseLuminance=_,p.toChannels=function(P){return[P>>24&255,P>>16&255,P>>8&255,255&P]}}(g||(a.rgba=g={})),a.toPaddedHex=d,a.contrastRatio=f},8969:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CoreTerminal=void 0;const O=l(844),c=l(2585),h=l(4348),u=l(7866),m=l(744),S=l(7302),Q=l(6975),g=l(8460),d=l(1753),f=l(1480),p=l(7994),$=l(9282),_=l(5435),P=l(5981),w=l(2660);let v=!1;class b extends O.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new g.EventEmitter),this._onScroll.event(Y=>{var Z;(Z=this._onScrollApi)==null||Z.fire(Y.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(Y){for(const Z in Y)this.optionsService.options[Z]=Y[Z]}constructor(Y){super(),this._windowsWrappingHeuristics=this.register(new O.MutableDisposable),this._onBinary=this.register(new g.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new g.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new g.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new g.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new g.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new g.EventEmitter),this._instantiationService=new h.InstantiationService,this.optionsService=this.register(new S.OptionsService(Y)),this._instantiationService.setService(c.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(m.BufferService)),this._instantiationService.setService(c.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(u.LogService)),this._instantiationService.setService(c.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(Q.CoreService)),this._instantiationService.setService(c.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(d.CoreMouseService)),this._instantiationService.setService(c.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(f.UnicodeService)),this._instantiationService.setService(c.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(p.CharsetService),this._instantiationService.setService(c.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(w.OscLinkService),this._instantiationService.setService(c.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,g.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,g.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,g.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,g.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(Z=>{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(Z=>{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 P.WriteBuffer((Z,R)=>this._inputHandler.parse(Z,R))),this.register((0,g.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(Y,Z){this._writeBuffer.write(Y,Z)}writeSync(Y,Z){this._logService.logLevel<=c.LogLevelEnum.WARN&&!v&&(this._logService.warn("writeSync is unreliable and will be removed soon."),v=!0),this._writeBuffer.writeSync(Y,Z)}input(Y,Z=!0){this.coreService.triggerDataEvent(Y,Z)}resize(Y,Z){isNaN(Y)||isNaN(Z)||(Y=Math.max(Y,m.MINIMUM_COLS),Z=Math.max(Z,m.MINIMUM_ROWS),this._bufferService.resize(Y,Z))}scroll(Y,Z=!1){this._bufferService.scroll(Y,Z)}scrollLines(Y,Z,R){this._bufferService.scrollLines(Y,Z,R)}scrollPages(Y){this.scrollLines(Y*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(Y){const Z=Y-this._bufferService.buffer.ydisp;Z!==0&&this.scrollLines(Z)}registerEscHandler(Y,Z){return this._inputHandler.registerEscHandler(Y,Z)}registerDcsHandler(Y,Z){return this._inputHandler.registerDcsHandler(Y,Z)}registerCsiHandler(Y,Z){return this._inputHandler.registerCsiHandler(Y,Z)}registerOscHandler(Y,Z){return this._inputHandler.registerOscHandler(Y,Z)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let Y=!1;const Z=this.optionsService.rawOptions.windowsPty;Z&&Z.buildNumber!==void 0&&Z.buildNumber!==void 0?Y=Z.backend==="conpty"&&Z.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(Y=!0),Y?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const Y=[];Y.push(this.onLineFeed($.updateWindowsModeWrappedState.bind(null,this._bufferService))),Y.push(this.registerCsiHandler({final:"H"},()=>((0,$.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsWrappingHeuristics.value=(0,O.toDisposable)(()=>{for(const Z of Y)Z.dispose()})}}}a.CoreTerminal=b},8460:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.runAndSubscribe=a.forwardEvent=a.EventEmitter=void 0,a.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 O=0;O<this._listeners.length;O++)if(this._listeners[O]===l)return void this._listeners.splice(O,1)}}})),this._event}fire(l,O){const c=[];for(let h=0;h<this._listeners.length;h++)c.push(this._listeners[h]);for(let h=0;h<c.length;h++)c[h].call(void 0,l,O)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},a.forwardEvent=function(l,O){return l(c=>O.fire(c))},a.runAndSubscribe=function(l,O){return O(void 0),l(c=>O(c))}},5435:function(o,a,l){var O=this&&this.__decorate||function(q,X,x,C){var W,E=arguments.length,D=E<3?X:C===null?C=Object.getOwnPropertyDescriptor(X,x):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(q,X,x,C);else for(var te=q.length-1;te>=0;te--)(W=q[te])&&(D=(E<3?W(D):E>3?W(X,x,D):W(X,x))||D);return E>3&&D&&Object.defineProperty(X,x,D),D},c=this&&this.__param||function(q,X){return function(x,C){X(x,C,q)}};Object.defineProperty(a,"__esModule",{value:!0}),a.InputHandler=a.WindowsOptionsReportType=void 0;const h=l(2584),u=l(7116),m=l(2015),S=l(844),Q=l(482),g=l(8437),d=l(8460),f=l(643),p=l(511),$=l(3734),_=l(2585),P=l(1480),w=l(6242),v=l(6351),b=l(5941),T={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Y=131072;function Z(q,X){if(q>24)return X.setWinLines||!1;switch(q){case 1:return!!X.restoreWin;case 2:return!!X.minimizeWin;case 3:return!!X.setWinPosition;case 4:return!!X.setWinSizePixels;case 5:return!!X.raiseWin;case 6:return!!X.lowerWin;case 7:return!!X.refreshWin;case 8:return!!X.setWinSizeChars;case 9:return!!X.maximizeWin;case 10:return!!X.fullscreenWin;case 11:return!!X.getWinState;case 13:return!!X.getWinPosition;case 14:return!!X.getWinSizePixels;case 15:return!!X.getScreenSizePixels;case 16:return!!X.getCellSizePixels;case 18:return!!X.getWinSizeChars;case 19:return!!X.getScreenSizeChars;case 20:return!!X.getIconTitle;case 21:return!!X.getWinTitle;case 22:return!!X.pushTitle;case 23:return!!X.popTitle;case 24:return!!X.setWinLines}return!1}var R;(function(q){q[q.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",q[q.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(R||(a.WindowsOptionsReportType=R={}));let z=0;class V extends S.Disposable{getAttrData(){return this._curAttrData}constructor(X,x,C,W,E,D,te,re,U=new m.EscapeSequenceParser){super(),this._bufferService=X,this._charsetService=x,this._coreService=C,this._logService=W,this._optionsService=E,this._oscLinkService=D,this._coreMouseService=te,this._unicodeService=re,this._parser=U,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Q.StringToUtf32,this._utf8Decoder=new Q.Utf8ToUtf32,this._workCell=new p.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=g.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=g.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new d.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new d.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new d.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new d.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new d.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new d.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new d.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new d.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new d.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new d.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new d.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new d.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new d.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 L(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(k=>this._activeBuffer=k.activeBuffer)),this._parser.setCsiHandlerFallback((k,M)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(k),params:M.toArray()})}),this._parser.setEscHandlerFallback(k=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(k)})}),this._parser.setExecuteHandlerFallback(k=>{this._logService.debug("Unknown EXECUTE code: ",{code:k})}),this._parser.setOscHandlerFallback((k,M,j)=>{this._logService.debug("Unknown OSC code: ",{identifier:k,action:M,data:j})}),this._parser.setDcsHandlerFallback((k,M,j)=>{M==="HOOK"&&(j=j.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(k),action:M,payload:j})}),this._parser.setPrintHandler((k,M,j)=>this.print(k,M,j)),this._parser.registerCsiHandler({final:"@"},k=>this.insertChars(k)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},k=>this.scrollLeft(k)),this._parser.registerCsiHandler({final:"A"},k=>this.cursorUp(k)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},k=>this.scrollRight(k)),this._parser.registerCsiHandler({final:"B"},k=>this.cursorDown(k)),this._parser.registerCsiHandler({final:"C"},k=>this.cursorForward(k)),this._parser.registerCsiHandler({final:"D"},k=>this.cursorBackward(k)),this._parser.registerCsiHandler({final:"E"},k=>this.cursorNextLine(k)),this._parser.registerCsiHandler({final:"F"},k=>this.cursorPrecedingLine(k)),this._parser.registerCsiHandler({final:"G"},k=>this.cursorCharAbsolute(k)),this._parser.registerCsiHandler({final:"H"},k=>this.cursorPosition(k)),this._parser.registerCsiHandler({final:"I"},k=>this.cursorForwardTab(k)),this._parser.registerCsiHandler({final:"J"},k=>this.eraseInDisplay(k,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},k=>this.eraseInDisplay(k,!0)),this._parser.registerCsiHandler({final:"K"},k=>this.eraseInLine(k,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},k=>this.eraseInLine(k,!0)),this._parser.registerCsiHandler({final:"L"},k=>this.insertLines(k)),this._parser.registerCsiHandler({final:"M"},k=>this.deleteLines(k)),this._parser.registerCsiHandler({final:"P"},k=>this.deleteChars(k)),this._parser.registerCsiHandler({final:"S"},k=>this.scrollUp(k)),this._parser.registerCsiHandler({final:"T"},k=>this.scrollDown(k)),this._parser.registerCsiHandler({final:"X"},k=>this.eraseChars(k)),this._parser.registerCsiHandler({final:"Z"},k=>this.cursorBackwardTab(k)),this._parser.registerCsiHandler({final:"`"},k=>this.charPosAbsolute(k)),this._parser.registerCsiHandler({final:"a"},k=>this.hPositionRelative(k)),this._parser.registerCsiHandler({final:"b"},k=>this.repeatPrecedingCharacter(k)),this._parser.registerCsiHandler({final:"c"},k=>this.sendDeviceAttributesPrimary(k)),this._parser.registerCsiHandler({prefix:">",final:"c"},k=>this.sendDeviceAttributesSecondary(k)),this._parser.registerCsiHandler({final:"d"},k=>this.linePosAbsolute(k)),this._parser.registerCsiHandler({final:"e"},k=>this.vPositionRelative(k)),this._parser.registerCsiHandler({final:"f"},k=>this.hVPosition(k)),this._parser.registerCsiHandler({final:"g"},k=>this.tabClear(k)),this._parser.registerCsiHandler({final:"h"},k=>this.setMode(k)),this._parser.registerCsiHandler({prefix:"?",final:"h"},k=>this.setModePrivate(k)),this._parser.registerCsiHandler({final:"l"},k=>this.resetMode(k)),this._parser.registerCsiHandler({prefix:"?",final:"l"},k=>this.resetModePrivate(k)),this._parser.registerCsiHandler({final:"m"},k=>this.charAttributes(k)),this._parser.registerCsiHandler({final:"n"},k=>this.deviceStatus(k)),this._parser.registerCsiHandler({prefix:"?",final:"n"},k=>this.deviceStatusPrivate(k)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},k=>this.softReset(k)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},k=>this.setCursorStyle(k)),this._parser.registerCsiHandler({final:"r"},k=>this.setScrollRegion(k)),this._parser.registerCsiHandler({final:"s"},k=>this.saveCursor(k)),this._parser.registerCsiHandler({final:"t"},k=>this.windowOptions(k)),this._parser.registerCsiHandler({final:"u"},k=>this.restoreCursor(k)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},k=>this.insertColumns(k)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},k=>this.deleteColumns(k)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},k=>this.selectProtected(k)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},k=>this.requestMode(k,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},k=>this.requestMode(k,!1)),this._parser.setExecuteHandler(h.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(h.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(h.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(h.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(h.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(h.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(h.C1.IND,()=>this.index()),this._parser.setExecuteHandler(h.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(h.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new w.OscHandler(k=>(this.setTitle(k),this.setIconName(k),!0))),this._parser.registerOscHandler(1,new w.OscHandler(k=>this.setIconName(k))),this._parser.registerOscHandler(2,new w.OscHandler(k=>this.setTitle(k))),this._parser.registerOscHandler(4,new w.OscHandler(k=>this.setOrReportIndexedColor(k))),this._parser.registerOscHandler(8,new w.OscHandler(k=>this.setHyperlink(k))),this._parser.registerOscHandler(10,new w.OscHandler(k=>this.setOrReportFgColor(k))),this._parser.registerOscHandler(11,new w.OscHandler(k=>this.setOrReportBgColor(k))),this._parser.registerOscHandler(12,new w.OscHandler(k=>this.setOrReportCursorColor(k))),this._parser.registerOscHandler(104,new w.OscHandler(k=>this.restoreIndexedColor(k))),this._parser.registerOscHandler(110,new w.OscHandler(k=>this.restoreFgColor(k))),this._parser.registerOscHandler(111,new w.OscHandler(k=>this.restoreBgColor(k))),this._parser.registerOscHandler(112,new w.OscHandler(k=>this.restoreCursorColor(k))),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 k in u.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:k},()=>this.selectCharset("("+k)),this._parser.registerEscHandler({intermediates:")",final:k},()=>this.selectCharset(")"+k)),this._parser.registerEscHandler({intermediates:"*",final:k},()=>this.selectCharset("*"+k)),this._parser.registerEscHandler({intermediates:"+",final:k},()=>this.selectCharset("+"+k)),this._parser.registerEscHandler({intermediates:"-",final:k},()=>this.selectCharset("-"+k)),this._parser.registerEscHandler({intermediates:".",final:k},()=>this.selectCharset("."+k)),this._parser.registerEscHandler({intermediates:"/",final:k},()=>this.selectCharset("/"+k));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(k=>(this._logService.error("Parsing error: ",k),k)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new v.DcsHandler((k,M)=>this.requestStatusString(k,M)))}_preserveStack(X,x,C,W){this._parseStack.paused=!0,this._parseStack.cursorStartX=X,this._parseStack.cursorStartY=x,this._parseStack.decodedLength=C,this._parseStack.position=W}_logSlowResolvingAsync(X){this._logService.logLevel<=_.LogLevelEnum.WARN&&Promise.race([X,new Promise((x,C)=>setTimeout(()=>C("#SLOW_TIMEOUT"),5e3))]).catch(x=>{if(x!=="#SLOW_TIMEOUT")throw x;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(X,x){let C,W=this._activeBuffer.x,E=this._activeBuffer.y,D=0;const te=this._parseStack.paused;if(te){if(C=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,x))return this._logSlowResolvingAsync(C),C;W=this._parseStack.cursorStartX,E=this._parseStack.cursorStartY,this._parseStack.paused=!1,X.length>Y&&(D=this._parseStack.position+Y)}if(this._logService.logLevel<=_.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof X=="string"?` "${X}"`:` "${Array.prototype.map.call(X,k=>String.fromCharCode(k)).join("")}"`),typeof X=="string"?X.split("").map(k=>k.charCodeAt(0)):X),this._parseBuffer.length<X.length&&this._parseBuffer.length<Y&&(this._parseBuffer=new Uint32Array(Math.min(X.length,Y))),te||this._dirtyRowTracker.clearRange(),X.length>Y)for(let k=D;k<X.length;k+=Y){const M=k+Y<X.length?k+Y:X.length,j=typeof X=="string"?this._stringDecoder.decode(X.substring(k,M),this._parseBuffer):this._utf8Decoder.decode(X.subarray(k,M),this._parseBuffer);if(C=this._parser.parse(this._parseBuffer,j))return this._preserveStack(W,E,j,k),this._logSlowResolvingAsync(C),C}else if(!te){const k=typeof X=="string"?this._stringDecoder.decode(X,this._parseBuffer):this._utf8Decoder.decode(X,this._parseBuffer);if(C=this._parser.parse(this._parseBuffer,k))return this._preserveStack(W,E,k,0),this._logSlowResolvingAsync(C),C}this._activeBuffer.x===W&&this._activeBuffer.y===E||this._onCursorMove.fire();const re=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(re,this._bufferService.rows-1))}print(X,x,C){let W,E;const D=this._charsetService.charset,te=this._optionsService.rawOptions.screenReaderMode,re=this._bufferService.cols,U=this._coreService.decPrivateModes.wraparound,k=this._coreService.modes.insertMode,M=this._curAttrData;let j=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&C-x>0&&j.getWidth(this._activeBuffer.x-1)===2&&j.setCellFromCodepoint(this._activeBuffer.x-1,0,1,M);let ee=this._parser.precedingJoinState;for(let H=x;H<C;++H){if(W=X[H],W<127&&D){const yt=D[String.fromCharCode(W)];yt&&(W=yt.charCodeAt(0))}const de=this._unicodeService.charProperties(W,ee);E=P.UnicodeService.extractWidth(de);const qe=P.UnicodeService.extractShouldJoin(de),Ve=qe?P.UnicodeService.extractWidth(ee):0;if(ee=de,te&&this._onA11yChar.fire((0,Q.stringFromCodePoint)(W)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+E-Ve>re){if(U){const yt=j;let Oe=this._activeBuffer.x-Ve;for(this._activeBuffer.x=Ve,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),j=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),Ve>0&&j instanceof g.BufferLine&&j.copyCellsFrom(yt,Oe,0,Ve,!1);Oe<re;)yt.setCellFromCodepoint(Oe++,0,1,M)}else if(this._activeBuffer.x=re-1,E===2)continue}if(qe&&this._activeBuffer.x){const yt=j.getWidth(this._activeBuffer.x-1)?1:2;j.addCodepointToCell(this._activeBuffer.x-yt,W,E);for(let Oe=E-Ve;--Oe>=0;)j.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}else if(k&&(j.insertCells(this._activeBuffer.x,E-Ve,this._activeBuffer.getNullCell(M)),j.getWidth(re-1)===2&&j.setCellFromCodepoint(re-1,f.NULL_CELL_CODE,f.NULL_CELL_WIDTH,M)),j.setCellFromCodepoint(this._activeBuffer.x++,W,E,M),E>0)for(;--E;)j.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}this._parser.precedingJoinState=ee,this._activeBuffer.x<re&&C-x>0&&j.getWidth(this._activeBuffer.x)===0&&!j.hasContent(this._activeBuffer.x)&&j.setCellFromCodepoint(this._activeBuffer.x,0,1,M),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(X,x){return X.final!=="t"||X.prefix||X.intermediates?this._parser.registerCsiHandler(X,x):this._parser.registerCsiHandler(X,C=>!Z(C.params[0],this._optionsService.rawOptions.windowOptions)||x(C))}registerDcsHandler(X,x){return this._parser.registerDcsHandler(X,new v.DcsHandler(x))}registerEscHandler(X,x){return this._parser.registerEscHandler(X,x)}registerOscHandler(X,x){return this._parser.registerOscHandler(X,new w.OscHandler(x))}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(){var X;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&&((X=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&X.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const x=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);x.hasWidth(this._activeBuffer.x)&&!x.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const X=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-X),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(X=this._bufferService.cols-1){this._activeBuffer.x=Math.min(X,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(X,x){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=X,this._activeBuffer.y=this._activeBuffer.scrollTop+x):(this._activeBuffer.x=X,this._activeBuffer.y=x),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(X,x){this._restrictCursor(),this._setCursor(this._activeBuffer.x+X,this._activeBuffer.y+x)}cursorUp(X){const x=this._activeBuffer.y-this._activeBuffer.scrollTop;return x>=0?this._moveCursor(0,-Math.min(x,X.params[0]||1)):this._moveCursor(0,-(X.params[0]||1)),!0}cursorDown(X){const x=this._activeBuffer.scrollBottom-this._activeBuffer.y;return x>=0?this._moveCursor(0,Math.min(x,X.params[0]||1)):this._moveCursor(0,X.params[0]||1),!0}cursorForward(X){return this._moveCursor(X.params[0]||1,0),!0}cursorBackward(X){return this._moveCursor(-(X.params[0]||1),0),!0}cursorNextLine(X){return this.cursorDown(X),this._activeBuffer.x=0,!0}cursorPrecedingLine(X){return this.cursorUp(X),this._activeBuffer.x=0,!0}cursorCharAbsolute(X){return this._setCursor((X.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(X){return this._setCursor(X.length>=2?(X.params[1]||1)-1:0,(X.params[0]||1)-1),!0}charPosAbsolute(X){return this._setCursor((X.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(X){return this._moveCursor(X.params[0]||1,0),!0}linePosAbsolute(X){return this._setCursor(this._activeBuffer.x,(X.params[0]||1)-1),!0}vPositionRelative(X){return this._moveCursor(0,X.params[0]||1),!0}hVPosition(X){return this.cursorPosition(X),!0}tabClear(X){const x=X.params[0];return x===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:x===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(X){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let x=X.params[0]||1;for(;x--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(X){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let x=X.params[0]||1;for(;x--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(X){const x=X.params[0];return x===1&&(this._curAttrData.bg|=536870912),x!==2&&x!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(X,x,C,W=!1,E=!1){const D=this._activeBuffer.lines.get(this._activeBuffer.ybase+X);D.replaceCells(x,C,this._activeBuffer.getNullCell(this._eraseAttrData()),E),W&&(D.isWrapped=!1)}_resetBufferLine(X,x=!1){const C=this._activeBuffer.lines.get(this._activeBuffer.ybase+X);C&&(C.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),x),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+X),C.isWrapped=!1)}eraseInDisplay(X,x=!1){let C;switch(this._restrictCursor(this._bufferService.cols),X.params[0]){case 0:for(C=this._activeBuffer.y,this._dirtyRowTracker.markDirty(C),this._eraseInBufferLine(C++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,x);C<this._bufferService.rows;C++)this._resetBufferLine(C,x);this._dirtyRowTracker.markDirty(C);break;case 1:for(C=this._activeBuffer.y,this._dirtyRowTracker.markDirty(C),this._eraseInBufferLine(C,0,this._activeBuffer.x+1,!0,x),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(C+1).isWrapped=!1);C--;)this._resetBufferLine(C,x);this._dirtyRowTracker.markDirty(0);break;case 2:for(C=this._bufferService.rows,this._dirtyRowTracker.markDirty(C-1);C--;)this._resetBufferLine(C,x);this._dirtyRowTracker.markDirty(0);break;case 3:const W=this._activeBuffer.lines.length-this._bufferService.rows;W>0&&(this._activeBuffer.lines.trimStart(W),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-W,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-W,0),this._onScroll.fire(0))}return!0}eraseInLine(X,x=!1){switch(this._restrictCursor(this._bufferService.cols),X.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,x);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,x);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,x)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(X){this._restrictCursor();let x=X.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const C=this._activeBuffer.ybase+this._activeBuffer.y,W=this._bufferService.rows-1-this._activeBuffer.scrollBottom,E=this._bufferService.rows-1+this._activeBuffer.ybase-W+1;for(;x--;)this._activeBuffer.lines.splice(E-1,1),this._activeBuffer.lines.splice(C,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(X){this._restrictCursor();let x=X.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const C=this._activeBuffer.ybase+this._activeBuffer.y;let W;for(W=this._bufferService.rows-1-this._activeBuffer.scrollBottom,W=this._bufferService.rows-1+this._activeBuffer.ybase-W;x--;)this._activeBuffer.lines.splice(C,1),this._activeBuffer.lines.splice(W,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(X){this._restrictCursor();const x=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return x&&(x.insertCells(this._activeBuffer.x,X.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(X){this._restrictCursor();const x=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return x&&(x.deleteCells(this._activeBuffer.x,X.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(X){let x=X.params[0]||1;for(;x--;)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(X){let x=X.params[0]||1;for(;x--;)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(g.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(X){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const x=X.params[0]||1;for(let C=this._activeBuffer.scrollTop;C<=this._activeBuffer.scrollBottom;++C){const W=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);W.deleteCells(0,x,this._activeBuffer.getNullCell(this._eraseAttrData())),W.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(X){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const x=X.params[0]||1;for(let C=this._activeBuffer.scrollTop;C<=this._activeBuffer.scrollBottom;++C){const W=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);W.insertCells(0,x,this._activeBuffer.getNullCell(this._eraseAttrData())),W.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(X){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const x=X.params[0]||1;for(let C=this._activeBuffer.scrollTop;C<=this._activeBuffer.scrollBottom;++C){const W=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);W.insertCells(this._activeBuffer.x,x,this._activeBuffer.getNullCell(this._eraseAttrData())),W.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(X){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const x=X.params[0]||1;for(let C=this._activeBuffer.scrollTop;C<=this._activeBuffer.scrollBottom;++C){const W=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);W.deleteCells(this._activeBuffer.x,x,this._activeBuffer.getNullCell(this._eraseAttrData())),W.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(X){this._restrictCursor();const x=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return x&&(x.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(X.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(X){const x=this._parser.precedingJoinState;if(!x)return!0;const C=X.params[0]||1,W=P.UnicodeService.extractWidth(x),E=this._activeBuffer.x-W,D=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(E),te=new Uint32Array(D.length*C);let re=0;for(let k=0;k<D.length;){const M=D.codePointAt(k)||0;te[re++]=M,k+=M>65535?2:1}let U=re;for(let k=1;k<C;++k)te.copyWithin(U,0,re),U+=re;return this.print(te,0,U),!0}sendDeviceAttributesPrimary(X){return X.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(h.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(h.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(X){return X.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(h.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(h.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(X.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(h.C0.ESC+"[>83;40003;0c")),!0}_is(X){return(this._optionsService.rawOptions.termName+"").indexOf(X)===0}setMode(X){for(let x=0;x<X.length;x++)switch(X.params[x]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(X){for(let x=0;x<X.length;x++)switch(X.params[x]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,u.DEFAULT_CHARSET),this._charsetService.setgCharset(1,u.DEFAULT_CHARSET),this._charsetService.setgCharset(2,u.DEFAULT_CHARSET),this._charsetService.setgCharset(3,u.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(X){for(let x=0;x<X.length;x++)switch(X.params[x]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(X){for(let x=0;x<X.length;x++)switch(X.params[x]){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(),X.params[x]===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(X,x){const C=this._coreService.decPrivateModes,{activeProtocol:W,activeEncoding:E}=this._coreMouseService,D=this._coreService,{buffers:te,cols:re}=this._bufferService,{active:U,alt:k}=te,M=this._optionsService.rawOptions,j=qe=>qe?1:2,ee=X.params[0];return H=ee,de=x?ee===2?4:ee===4?j(D.modes.insertMode):ee===12?3:ee===20?j(M.convertEol):0:ee===1?j(C.applicationCursorKeys):ee===3?M.windowOptions.setWinLines?re===80?2:re===132?1:0:0:ee===6?j(C.origin):ee===7?j(C.wraparound):ee===8?3:ee===9?j(W==="X10"):ee===12?j(M.cursorBlink):ee===25?j(!D.isCursorHidden):ee===45?j(C.reverseWraparound):ee===66?j(C.applicationKeypad):ee===67?4:ee===1e3?j(W==="VT200"):ee===1002?j(W==="DRAG"):ee===1003?j(W==="ANY"):ee===1004?j(C.sendFocus):ee===1005?4:ee===1006?j(E==="SGR"):ee===1015?4:ee===1016?j(E==="SGR_PIXELS"):ee===1048?1:ee===47||ee===1047||ee===1049?j(U===k):ee===2004?j(C.bracketedPasteMode):0,D.triggerDataEvent(`${h.C0.ESC}[${x?"":"?"}${H};${de}$y`),!0;var H,de}_updateAttrColor(X,x,C,W,E){return x===2?(X|=50331648,X&=-16777216,X|=$.AttributeData.fromColorRGB([C,W,E])):x===5&&(X&=-50331904,X|=33554432|255&C),X}_extractColor(X,x,C){const W=[0,0,-1,0,0,0];let E=0,D=0;do{if(W[D+E]=X.params[x+D],X.hasSubParams(x+D)){const te=X.getSubParams(x+D);let re=0;do W[1]===5&&(E=1),W[D+re+1+E]=te[re];while(++re<te.length&&re+D+1+E<W.length);break}if(W[1]===5&&D+E>=2||W[1]===2&&D+E>=5)break;W[1]&&(E=1)}while(++D+x<X.length&&D+E<W.length);for(let te=2;te<W.length;++te)W[te]===-1&&(W[te]=0);switch(W[0]){case 38:C.fg=this._updateAttrColor(C.fg,W[1],W[3],W[4],W[5]);break;case 48:C.bg=this._updateAttrColor(C.bg,W[1],W[3],W[4],W[5]);break;case 58:C.extended=C.extended.clone(),C.extended.underlineColor=this._updateAttrColor(C.extended.underlineColor,W[1],W[3],W[4],W[5])}return D}_processUnderline(X,x){x.extended=x.extended.clone(),(!~X||X>5)&&(X=1),x.extended.underlineStyle=X,x.fg|=268435456,X===0&&(x.fg&=-268435457),x.updateExtended()}_processSGR0(X){X.fg=g.DEFAULT_ATTR_DATA.fg,X.bg=g.DEFAULT_ATTR_DATA.bg,X.extended=X.extended.clone(),X.extended.underlineStyle=0,X.extended.underlineColor&=-67108864,X.updateExtended()}charAttributes(X){if(X.length===1&&X.params[0]===0)return this._processSGR0(this._curAttrData),!0;const x=X.length;let C;const W=this._curAttrData;for(let E=0;E<x;E++)C=X.params[E],C>=30&&C<=37?(W.fg&=-50331904,W.fg|=16777216|C-30):C>=40&&C<=47?(W.bg&=-50331904,W.bg|=16777216|C-40):C>=90&&C<=97?(W.fg&=-50331904,W.fg|=16777224|C-90):C>=100&&C<=107?(W.bg&=-50331904,W.bg|=16777224|C-100):C===0?this._processSGR0(W):C===1?W.fg|=134217728:C===3?W.bg|=67108864:C===4?(W.fg|=268435456,this._processUnderline(X.hasSubParams(E)?X.getSubParams(E)[0]:1,W)):C===5?W.fg|=536870912:C===7?W.fg|=67108864:C===8?W.fg|=1073741824:C===9?W.fg|=2147483648:C===2?W.bg|=134217728:C===21?this._processUnderline(2,W):C===22?(W.fg&=-134217729,W.bg&=-134217729):C===23?W.bg&=-67108865:C===24?(W.fg&=-268435457,this._processUnderline(0,W)):C===25?W.fg&=-536870913:C===27?W.fg&=-67108865:C===28?W.fg&=-1073741825:C===29?W.fg&=2147483647:C===39?(W.fg&=-67108864,W.fg|=16777215&g.DEFAULT_ATTR_DATA.fg):C===49?(W.bg&=-67108864,W.bg|=16777215&g.DEFAULT_ATTR_DATA.bg):C===38||C===48||C===58?E+=this._extractColor(X,E,W):C===53?W.bg|=1073741824:C===55?W.bg&=-1073741825:C===59?(W.extended=W.extended.clone(),W.extended.underlineColor=-1,W.updateExtended()):C===100?(W.fg&=-67108864,W.fg|=16777215&g.DEFAULT_ATTR_DATA.fg,W.bg&=-67108864,W.bg|=16777215&g.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",C);return!0}deviceStatus(X){switch(X.params[0]){case 5:this._coreService.triggerDataEvent(`${h.C0.ESC}[0n`);break;case 6:const x=this._activeBuffer.y+1,C=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${h.C0.ESC}[${x};${C}R`)}return!0}deviceStatusPrivate(X){if(X.params[0]===6){const x=this._activeBuffer.y+1,C=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${h.C0.ESC}[?${x};${C}R`)}return!0}softReset(X){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=g.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(X){const x=X.params[0]||1;switch(x){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 C=x%2==1;return this._optionsService.options.cursorBlink=C,!0}setScrollRegion(X){const x=X.params[0]||1;let C;return(X.length<2||(C=X.params[1])>this._bufferService.rows||C===0)&&(C=this._bufferService.rows),C>x&&(this._activeBuffer.scrollTop=x-1,this._activeBuffer.scrollBottom=C-1,this._setCursor(0,0)),!0}windowOptions(X){if(!Z(X.params[0],this._optionsService.rawOptions.windowOptions))return!0;const x=X.length>1?X.params[1]:0;switch(X.params[0]){case 14:x!==2&&this._onRequestWindowsOptionsReport.fire(R.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(R.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${h.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:x!==0&&x!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),x!==0&&x!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:x!==0&&x!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),x!==0&&x!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(X){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(X){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(X){return this._windowTitle=X,this._onTitleChange.fire(X),!0}setIconName(X){return this._iconName=X,!0}setOrReportIndexedColor(X){const x=[],C=X.split(";");for(;C.length>1;){const W=C.shift(),E=C.shift();if(/^\d+$/.exec(W)){const D=parseInt(W);if(G(D))if(E==="?")x.push({type:0,index:D});else{const te=(0,b.parseColor)(E);te&&x.push({type:1,index:D,color:te})}}}return x.length&&this._onColor.fire(x),!0}setHyperlink(X){const x=X.split(";");return!(x.length<2)&&(x[1]?this._createHyperlink(x[0],x[1]):!x[0]&&this._finishHyperlink())}_createHyperlink(X,x){this._getCurrentLinkId()&&this._finishHyperlink();const C=X.split(":");let W;const E=C.findIndex(D=>D.startsWith("id="));return E!==-1&&(W=C[E].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:W,uri:x}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(X,x){const C=X.split(";");for(let W=0;W<C.length&&!(x>=this._specialColors.length);++W,++x)if(C[W]==="?")this._onColor.fire([{type:0,index:this._specialColors[x]}]);else{const E=(0,b.parseColor)(C[W]);E&&this._onColor.fire([{type:1,index:this._specialColors[x],color:E}])}return!0}setOrReportFgColor(X){return this._setOrReportSpecialColor(X,0)}setOrReportBgColor(X){return this._setOrReportSpecialColor(X,1)}setOrReportCursorColor(X){return this._setOrReportSpecialColor(X,2)}restoreIndexedColor(X){if(!X)return this._onColor.fire([{type:2}]),!0;const x=[],C=X.split(";");for(let W=0;W<C.length;++W)if(/^\d+$/.exec(C[W])){const E=parseInt(C[W]);G(E)&&x.push({type:2,index:E})}return x.length&&this._onColor.fire(x),!0}restoreFgColor(X){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(X){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(X){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,u.DEFAULT_CHARSET),!0}selectCharset(X){return X.length!==2?(this.selectDefaultCharset(),!0):(X[0]==="/"||this._charsetService.setgCharset(T[X[0]],u.CHARSETS[X[1]]||u.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 X=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,X,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=g.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=g.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(X){return this._charsetService.setgLevel(X),!0}screenAlignmentPattern(){const X=new p.CellData;X.content=4194373,X.fg=this._curAttrData.fg,X.bg=this._curAttrData.bg,this._setCursor(0,0);for(let x=0;x<this._bufferService.rows;++x){const C=this._activeBuffer.ybase+this._activeBuffer.y+x,W=this._activeBuffer.lines.get(C);W&&(W.fill(X),W.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(X,x){const C=this._bufferService.buffer,W=this._optionsService.rawOptions;return(E=>(this._coreService.triggerDataEvent(`${h.C0.ESC}${E}${h.C0.ESC}\\`),!0))(X==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:X==='"p'?'P1$r61;1"p':X==="r"?`P1$r${C.scrollTop+1};${C.scrollBottom+1}r`:X==="m"?"P1$r0m":X===" q"?`P1$r${{block:2,underline:4,bar:6}[W.cursorStyle]-(W.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(X,x){this._dirtyRowTracker.markRangeDirty(X,x)}}a.InputHandler=V;let L=class{constructor(q){this._bufferService=q,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(q){q<this.start?this.start=q:q>this.end&&(this.end=q)}markRangeDirty(q,X){q>X&&(z=q,q=X,X=z),q<this.start&&(this.start=q),X>this.end&&(this.end=X)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function G(q){return 0<=q&&q<256}L=O([c(0,_.IBufferService)],L)},844:(o,a)=>{function l(O){for(const c of O)c.dispose();O.length=0}Object.defineProperty(a,"__esModule",{value:!0}),a.getDisposeArrayDisposable=a.disposeArray=a.toDisposable=a.MutableDisposable=a.Disposable=void 0,a.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const O of this._disposables)O.dispose();this._disposables.length=0}register(O){return this._disposables.push(O),O}unregister(O){const c=this._disposables.indexOf(O);c!==-1&&this._disposables.splice(c,1)}},a.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(O){var c;this._isDisposed||O===this._value||((c=this._value)==null||c.dispose(),this._value=O)}clear(){this.value=void 0}dispose(){var O;this._isDisposed=!0,(O=this._value)==null||O.dispose(),this._value=void 0}},a.toDisposable=function(O){return{dispose:O}},a.disposeArray=l,a.getDisposeArrayDisposable=function(O){return{dispose:()=>l(O)}}},1505:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.FourKeyMap=a.TwoKeyMap=void 0;class l{constructor(){this._data={}}set(c,h,u){this._data[c]||(this._data[c]={}),this._data[c][h]=u}get(c,h){return this._data[c]?this._data[c][h]:void 0}clear(){this._data={}}}a.TwoKeyMap=l,a.FourKeyMap=class{constructor(){this._data=new l}set(O,c,h,u,m){this._data.get(O,c)||this._data.set(O,c,new l),this._data.get(O,c).set(h,u,m)}get(O,c,h,u){var m;return(m=this._data.get(O,c))==null?void 0:m.get(h,u)}clear(){this._data.clear()}}},6114:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.isChromeOS=a.isLinux=a.isWindows=a.isIphone=a.isIpad=a.isMac=a.getSafariVersion=a.isSafari=a.isLegacyEdge=a.isFirefox=a.isNode=void 0,a.isNode=typeof process<"u"&&"title"in process;const l=a.isNode?"node":navigator.userAgent,O=a.isNode?"node":navigator.platform;a.isFirefox=l.includes("Firefox"),a.isLegacyEdge=l.includes("Edge"),a.isSafari=/^((?!chrome|android).)*safari/i.test(l),a.getSafariVersion=function(){if(!a.isSafari)return 0;const c=l.match(/Version\/(\d+)/);return c===null||c.length<2?0:parseInt(c[1])},a.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(O),a.isIpad=O==="iPad",a.isIphone=O==="iPhone",a.isWindows=["Windows","Win16","Win32","WinCE"].includes(O),a.isLinux=O.indexOf("Linux")>=0,a.isChromeOS=/\bCrOS\b/.test(l)},6106:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.SortedList=void 0;let l=0;a.SortedList=class{constructor(O){this._getKey=O,this._array=[]}clear(){this._array.length=0}insert(O){this._array.length!==0?(l=this._search(this._getKey(O)),this._array.splice(l,0,O)):this._array.push(O)}delete(O){if(this._array.length===0)return!1;const c=this._getKey(O);if(c===void 0||(l=this._search(c),l===-1)||this._getKey(this._array[l])!==c)return!1;do if(this._array[l]===O)return this._array.splice(l,1),!0;while(++l<this._array.length&&this._getKey(this._array[l])===c);return!1}*getKeyIterator(O){if(this._array.length!==0&&(l=this._search(O),!(l<0||l>=this._array.length)&&this._getKey(this._array[l])===O))do yield this._array[l];while(++l<this._array.length&&this._getKey(this._array[l])===O)}forEachByKey(O,c){if(this._array.length!==0&&(l=this._search(O),!(l<0||l>=this._array.length)&&this._getKey(this._array[l])===O))do c(this._array[l]);while(++l<this._array.length&&this._getKey(this._array[l])===O)}values(){return[...this._array].values()}_search(O){let c=0,h=this._array.length-1;for(;h>=c;){let u=c+h>>1;const m=this._getKey(this._array[u]);if(m>O)h=u-1;else{if(!(m<O)){for(;u>0&&this._getKey(this._array[u-1])===O;)u--;return u}c=u+1}}return c}}},7226:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.DebouncedIdleTask=a.IdleTaskQueue=a.PriorityTaskQueue=void 0;const O=l(6114);class c{constructor(){this._tasks=[],this._i=0}enqueue(m){this._tasks.push(m),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(m){this._idleCallback=void 0;let S=0,Q=0,g=m.timeRemaining(),d=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),Q=Math.max(S,Q),d=m.timeRemaining(),1.5*Q>d)return g-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(g-S))}ms`),void this._start();g=d}this.clear()}}class h extends c{_requestCallback(m){return setTimeout(()=>m(this._createDeadline(16)))}_cancelCallback(m){clearTimeout(m)}_createDeadline(m){const S=Date.now()+m;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}a.PriorityTaskQueue=h,a.IdleTaskQueue=!O.isNode&&"requestIdleCallback"in window?class extends c{_requestCallback(u){return requestIdleCallback(u)}_cancelCallback(u){cancelIdleCallback(u)}}:h,a.DebouncedIdleTask=class{constructor(){this._queue=new a.IdleTaskQueue}set(u){this._queue.clear(),this._queue.enqueue(u)}flush(){this._queue.flush()}}},9282:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.updateWindowsModeWrappedState=void 0;const O=l(643);a.updateWindowsModeWrappedState=function(c){const h=c.buffer.lines.get(c.buffer.ybase+c.buffer.y-1),u=h==null?void 0:h.get(c.cols-1),m=c.buffer.lines.get(c.buffer.ybase+c.buffer.y);m&&u&&(m.isWrapped=u[O.CHAR_DATA_CODE_INDEX]!==O.NULL_CELL_CODE&&u[O.CHAR_DATA_CODE_INDEX]!==O.WHITESPACE_CELL_CODE)}},3734:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ExtendedAttrs=a.AttributeData=void 0;class l{constructor(){this.fg=0,this.bg=0,this.extended=new O}static toColorRGB(h){return[h>>>16&255,h>>>8&255,255&h]}static fromColorRGB(h){return(255&h[0])<<16|(255&h[1])<<8|255&h[2]}clone(){const h=new l;return h.fg=this.fg,h.bg=this.bg,h.extended=this.extended.clone(),h}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}}a.AttributeData=l;class O{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(h){this._ext=h}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(h){this._ext&=-469762049,this._ext|=h<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(h){this._ext&=-67108864,this._ext|=67108863&h}get urlId(){return this._urlId}set urlId(h){this._urlId=h}get underlineVariantOffset(){const h=(3758096384&this._ext)>>29;return h<0?4294967288^h:h}set underlineVariantOffset(h){this._ext&=536870911,this._ext|=h<<29&3758096384}constructor(h=0,u=0){this._ext=0,this._urlId=0,this._ext=h,this._urlId=u}clone(){return new O(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}a.ExtendedAttrs=O},9092:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.Buffer=a.MAX_BUFFER_SIZE=void 0;const O=l(6349),c=l(7226),h=l(3734),u=l(8437),m=l(4634),S=l(511),Q=l(643),g=l(4863),d=l(7116);a.MAX_BUFFER_SIZE=4294967295,a.Buffer=class{constructor(f,p,$){this._hasScrollback=f,this._optionsService=p,this._bufferService=$,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=u.DEFAULT_ATTR_DATA.clone(),this.savedCharset=d.DEFAULT_CHARSET,this.markers=[],this._nullCell=S.CellData.fromCharData([0,Q.NULL_CELL_CHAR,Q.NULL_CELL_WIDTH,Q.NULL_CELL_CODE]),this._whitespaceCell=S.CellData.fromCharData([0,Q.WHITESPACE_CELL_CHAR,Q.WHITESPACE_CELL_WIDTH,Q.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new c.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new O.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(f){return f?(this._nullCell.fg=f.fg,this._nullCell.bg=f.bg,this._nullCell.extended=f.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell}getWhitespaceCell(f){return f?(this._whitespaceCell.fg=f.fg,this._whitespaceCell.bg=f.bg,this._whitespaceCell.extended=f.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell}getBlankLine(f,p){return new u.BufferLine(this._bufferService.cols,this.getNullCell(f),p)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const f=this.ybase+this.y-this.ydisp;return f>=0&&f<this._rows}_getCorrectBufferLength(f){if(!this._hasScrollback)return f;const p=f+this._optionsService.rawOptions.scrollback;return p>a.MAX_BUFFER_SIZE?a.MAX_BUFFER_SIZE:p}fillViewportRows(f){if(this.lines.length===0){f===void 0&&(f=u.DEFAULT_ATTR_DATA);let p=this._rows;for(;p--;)this.lines.push(this.getBlankLine(f))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new O.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(f,p){const $=this.getNullCell(u.DEFAULT_ATTR_DATA);let _=0;const P=this._getCorrectBufferLength(p);if(P>this.lines.maxLength&&(this.lines.maxLength=P),this.lines.length>0){if(this._cols<f)for(let v=0;v<this.lines.length;v++)_+=+this.lines.get(v).resize(f,$);let w=0;if(this._rows<p)for(let v=this._rows;v<p;v++)this.lines.length<p+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new u.BufferLine(f,$)):this.ybase>0&&this.lines.length<=this.ybase+this.y+w+1?(this.ybase--,w++,this.ydisp>0&&this.ydisp--):this.lines.push(new u.BufferLine(f,$)));else for(let v=this._rows;v>p;v--)this.lines.length>p+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(P<this.lines.maxLength){const v=this.lines.length-P;v>0&&(this.lines.trimStart(v),this.ybase=Math.max(this.ybase-v,0),this.ydisp=Math.max(this.ydisp-v,0),this.savedY=Math.max(this.savedY-v,0)),this.lines.maxLength=P}this.x=Math.min(this.x,f-1),this.y=Math.min(this.y,p-1),w&&(this.y+=w),this.savedX=Math.min(this.savedX,f-1),this.scrollTop=0}if(this.scrollBottom=p-1,this._isReflowEnabled&&(this._reflow(f,p),this._cols>f))for(let w=0;w<this.lines.length;w++)_+=+this.lines.get(w).resize(f,$);this._cols=f,this._rows=p,this._memoryCleanupQueue.clear(),_>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let f=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,f=!1);let p=0;for(;this._memoryCleanupPosition<this.lines.length;)if(p+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),p>100)return!0;return f}get _isReflowEnabled(){const f=this._optionsService.rawOptions.windowsPty;return f&&f.buildNumber?this._hasScrollback&&f.backend==="conpty"&&f.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(f,p){this._cols!==f&&(f>this._cols?this._reflowLarger(f,p):this._reflowSmaller(f,p))}_reflowLarger(f,p){const $=(0,m.reflowLargerGetLinesToRemove)(this.lines,this._cols,f,this.ybase+this.y,this.getNullCell(u.DEFAULT_ATTR_DATA));if($.length>0){const _=(0,m.reflowLargerCreateNewLayout)(this.lines,$);(0,m.reflowLargerApplyNewLayout)(this.lines,_.layout),this._reflowLargerAdjustViewport(f,p,_.countRemoved)}}_reflowLargerAdjustViewport(f,p,$){const _=this.getNullCell(u.DEFAULT_ATTR_DATA);let P=$;for(;P-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<p&&this.lines.push(new u.BufferLine(f,_))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-$,0)}_reflowSmaller(f,p){const $=this.getNullCell(u.DEFAULT_ATTR_DATA),_=[];let P=0;for(let w=this.lines.length-1;w>=0;w--){let v=this.lines.get(w);if(!v||!v.isWrapped&&v.getTrimmedLength()<=f)continue;const b=[v];for(;v.isWrapped&&w>0;)v=this.lines.get(--w),b.unshift(v);const T=this.ybase+this.y;if(T>=w&&T<w+b.length)continue;const Y=b[b.length-1].getTrimmedLength(),Z=(0,m.reflowSmallerGetNewLineLengths)(b,this._cols,f),R=Z.length-b.length;let z;z=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+R):Math.max(0,this.lines.length-this.lines.maxLength+R);const V=[];for(let C=0;C<R;C++){const W=this.getBlankLine(u.DEFAULT_ATTR_DATA,!0);V.push(W)}V.length>0&&(_.push({start:w+b.length+P,newLines:V}),P+=V.length),b.push(...V);let L=Z.length-1,G=Z[L];G===0&&(L--,G=Z[L]);let q=b.length-R-1,X=Y;for(;q>=0;){const C=Math.min(X,G);if(b[L]===void 0)break;if(b[L].copyCellsFrom(b[q],X-C,G-C,C,!0),G-=C,G===0&&(L--,G=Z[L]),X-=C,X===0){q--;const W=Math.max(q,0);X=(0,m.getWrappedLineTrimmedLength)(b,W,this._cols)}}for(let C=0;C<b.length;C++)Z[C]<f&&b[C].setCell(Z[C],$);let x=R-z;for(;x-- >0;)this.ybase===0?this.y<p-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+P)-p&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+R,this.ybase+p-1)}if(_.length>0){const w=[],v=[];for(let L=0;L<this.lines.length;L++)v.push(this.lines.get(L));const b=this.lines.length;let T=b-1,Y=0,Z=_[Y];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+P);let R=0;for(let L=Math.min(this.lines.maxLength-1,b+P-1);L>=0;L--)if(Z&&Z.start>T+R){for(let G=Z.newLines.length-1;G>=0;G--)this.lines.set(L--,Z.newLines[G]);L++,w.push({index:T+1,amount:Z.newLines.length}),R+=Z.newLines.length,Z=_[++Y]}else this.lines.set(L,v[T--]);let z=0;for(let L=w.length-1;L>=0;L--)w[L].index+=z,this.lines.onInsertEmitter.fire(w[L]),z+=w[L].amount;const V=Math.max(0,b+P-this.lines.maxLength);V>0&&this.lines.onTrimEmitter.fire(V)}}translateBufferLineToString(f,p,$=0,_){const P=this.lines.get(f);return P?P.translateToString(p,$,_):""}getWrappedRangeForLine(f){let p=f,$=f;for(;p>0&&this.lines.get(p).isWrapped;)p--;for(;$+1<this.lines.length&&this.lines.get($+1).isWrapped;)$++;return{first:p,last:$}}setupTabStops(f){for(f!=null?this.tabs[f]||(f=this.prevStop(f)):(this.tabs={},f=0);f<this._cols;f+=this._optionsService.rawOptions.tabStopWidth)this.tabs[f]=!0}prevStop(f){for(f==null&&(f=this.x);!this.tabs[--f]&&f>0;);return f>=this._cols?this._cols-1:f<0?0:f}nextStop(f){for(f==null&&(f=this.x);!this.tabs[++f]&&f<this._cols;);return f>=this._cols?this._cols-1:f<0?0:f}clearMarkers(f){this._isClearing=!0;for(let p=0;p<this.markers.length;p++)this.markers[p].line===f&&(this.markers[p].dispose(),this.markers.splice(p--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let f=0;f<this.markers.length;f++)this.markers[f].dispose(),this.markers.splice(f--,1);this._isClearing=!1}addMarker(f){const p=new g.Marker(f);return this.markers.push(p),p.register(this.lines.onTrim($=>{p.line-=$,p.line<0&&p.dispose()})),p.register(this.lines.onInsert($=>{p.line>=$.index&&(p.line+=$.amount)})),p.register(this.lines.onDelete($=>{p.line>=$.index&&p.line<$.index+$.amount&&p.dispose(),p.line>$.index&&(p.line-=$.amount)})),p.register(p.onDispose(()=>this._removeMarker(p))),p}_removeMarker(f){this._isClearing||this.markers.splice(this.markers.indexOf(f),1)}}},8437:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.BufferLine=a.DEFAULT_ATTR_DATA=void 0;const O=l(3734),c=l(511),h=l(643),u=l(482);a.DEFAULT_ATTR_DATA=Object.freeze(new O.AttributeData);let m=0;class S{constructor(g,d,f=!1){this.isWrapped=f,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*g);const p=d||c.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]);for(let $=0;$<g;++$)this.setCell($,p);this.length=g}get(g){const d=this._data[3*g+0],f=2097151&d;return[this._data[3*g+1],2097152&d?this._combined[g]:f?(0,u.stringFromCodePoint)(f):"",d>>22,2097152&d?this._combined[g].charCodeAt(this._combined[g].length-1):f]}set(g,d){this._data[3*g+1]=d[h.CHAR_DATA_ATTR_INDEX],d[h.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[g]=d[1],this._data[3*g+0]=2097152|g|d[h.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*g+0]=d[h.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|d[h.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(g){return this._data[3*g+0]>>22}hasWidth(g){return 12582912&this._data[3*g+0]}getFg(g){return this._data[3*g+1]}getBg(g){return this._data[3*g+2]}hasContent(g){return 4194303&this._data[3*g+0]}getCodePoint(g){const d=this._data[3*g+0];return 2097152&d?this._combined[g].charCodeAt(this._combined[g].length-1):2097151&d}isCombined(g){return 2097152&this._data[3*g+0]}getString(g){const d=this._data[3*g+0];return 2097152&d?this._combined[g]:2097151&d?(0,u.stringFromCodePoint)(2097151&d):""}isProtected(g){return 536870912&this._data[3*g+2]}loadCell(g,d){return m=3*g,d.content=this._data[m+0],d.fg=this._data[m+1],d.bg=this._data[m+2],2097152&d.content&&(d.combinedData=this._combined[g]),268435456&d.bg&&(d.extended=this._extendedAttrs[g]),d}setCell(g,d){2097152&d.content&&(this._combined[g]=d.combinedData),268435456&d.bg&&(this._extendedAttrs[g]=d.extended),this._data[3*g+0]=d.content,this._data[3*g+1]=d.fg,this._data[3*g+2]=d.bg}setCellFromCodepoint(g,d,f,p){268435456&p.bg&&(this._extendedAttrs[g]=p.extended),this._data[3*g+0]=d|f<<22,this._data[3*g+1]=p.fg,this._data[3*g+2]=p.bg}addCodepointToCell(g,d,f){let p=this._data[3*g+0];2097152&p?this._combined[g]+=(0,u.stringFromCodePoint)(d):2097151&p?(this._combined[g]=(0,u.stringFromCodePoint)(2097151&p)+(0,u.stringFromCodePoint)(d),p&=-2097152,p|=2097152):p=d|4194304,f&&(p&=-12582913,p|=f<<22),this._data[3*g+0]=p}insertCells(g,d,f){if((g%=this.length)&&this.getWidth(g-1)===2&&this.setCellFromCodepoint(g-1,0,1,f),d<this.length-g){const p=new c.CellData;for(let $=this.length-g-d-1;$>=0;--$)this.setCell(g+d+$,this.loadCell(g+$,p));for(let $=0;$<d;++$)this.setCell(g+$,f)}else for(let p=g;p<this.length;++p)this.setCell(p,f);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,f)}deleteCells(g,d,f){if(g%=this.length,d<this.length-g){const p=new c.CellData;for(let $=0;$<this.length-g-d;++$)this.setCell(g+$,this.loadCell(g+d+$,p));for(let $=this.length-d;$<this.length;++$)this.setCell($,f)}else for(let p=g;p<this.length;++p)this.setCell(p,f);g&&this.getWidth(g-1)===2&&this.setCellFromCodepoint(g-1,0,1,f),this.getWidth(g)!==0||this.hasContent(g)||this.setCellFromCodepoint(g,0,1,f)}replaceCells(g,d,f,p=!1){if(p)for(g&&this.getWidth(g-1)===2&&!this.isProtected(g-1)&&this.setCellFromCodepoint(g-1,0,1,f),d<this.length&&this.getWidth(d-1)===2&&!this.isProtected(d)&&this.setCellFromCodepoint(d,0,1,f);g<d&&g<this.length;)this.isProtected(g)||this.setCell(g,f),g++;else for(g&&this.getWidth(g-1)===2&&this.setCellFromCodepoint(g-1,0,1,f),d<this.length&&this.getWidth(d-1)===2&&this.setCellFromCodepoint(d,0,1,f);g<d&&g<this.length;)this.setCell(g++,f)}resize(g,d){if(g===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const f=3*g;if(g>this.length){if(this._data.buffer.byteLength>=4*f)this._data=new Uint32Array(this._data.buffer,0,f);else{const p=new Uint32Array(f);p.set(this._data),this._data=p}for(let p=this.length;p<g;++p)this.setCell(p,d)}else{this._data=this._data.subarray(0,f);const p=Object.keys(this._combined);for(let _=0;_<p.length;_++){const P=parseInt(p[_],10);P>=g&&delete this._combined[P]}const $=Object.keys(this._extendedAttrs);for(let _=0;_<$.length;_++){const P=parseInt($[_],10);P>=g&&delete this._extendedAttrs[P]}}return this.length=g,4*f*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const g=new Uint32Array(this._data.length);return g.set(this._data),this._data=g,1}return 0}fill(g,d=!1){if(d)for(let f=0;f<this.length;++f)this.isProtected(f)||this.setCell(f,g);else{this._combined={},this._extendedAttrs={};for(let f=0;f<this.length;++f)this.setCell(f,g)}}copyFrom(g){this.length!==g.length?this._data=new Uint32Array(g._data):this._data.set(g._data),this.length=g.length,this._combined={};for(const d in g._combined)this._combined[d]=g._combined[d];this._extendedAttrs={};for(const d in g._extendedAttrs)this._extendedAttrs[d]=g._extendedAttrs[d];this.isWrapped=g.isWrapped}clone(){const g=new S(0);g._data=new Uint32Array(this._data),g.length=this.length;for(const d in this._combined)g._combined[d]=this._combined[d];for(const d in this._extendedAttrs)g._extendedAttrs[d]=this._extendedAttrs[d];return g.isWrapped=this.isWrapped,g}getTrimmedLength(){for(let g=this.length-1;g>=0;--g)if(4194303&this._data[3*g+0])return g+(this._data[3*g+0]>>22);return 0}getNoBgTrimmedLength(){for(let g=this.length-1;g>=0;--g)if(4194303&this._data[3*g+0]||50331648&this._data[3*g+2])return g+(this._data[3*g+0]>>22);return 0}copyCellsFrom(g,d,f,p,$){const _=g._data;if($)for(let w=p-1;w>=0;w--){for(let v=0;v<3;v++)this._data[3*(f+w)+v]=_[3*(d+w)+v];268435456&_[3*(d+w)+2]&&(this._extendedAttrs[f+w]=g._extendedAttrs[d+w])}else for(let w=0;w<p;w++){for(let v=0;v<3;v++)this._data[3*(f+w)+v]=_[3*(d+w)+v];268435456&_[3*(d+w)+2]&&(this._extendedAttrs[f+w]=g._extendedAttrs[d+w])}const P=Object.keys(g._combined);for(let w=0;w<P.length;w++){const v=parseInt(P[w],10);v>=d&&(this._combined[v-d+f]=g._combined[v])}}translateToString(g,d,f,p){d=d??0,f=f??this.length,g&&(f=Math.min(f,this.getTrimmedLength())),p&&(p.length=0);let $="";for(;d<f;){const _=this._data[3*d+0],P=2097151&_,w=2097152&_?this._combined[d]:P?(0,u.stringFromCodePoint)(P):h.WHITESPACE_CELL_CHAR;if($+=w,p)for(let v=0;v<w.length;++v)p.push(d);d+=_>>22||1}return p&&p.push(d),$}}a.BufferLine=S},4841:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.getRangeLength=void 0,a.getRangeLength=function(l,O){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 O*(l.end.y-l.start.y)+(l.end.x-l.start.x+1)}},4634:(o,a)=>{function l(O,c,h){if(c===O.length-1)return O[c].getTrimmedLength();const u=!O[c].hasContent(h-1)&&O[c].getWidth(h-1)===1,m=O[c+1].getWidth(0)===2;return u&&m?h-1:h}Object.defineProperty(a,"__esModule",{value:!0}),a.getWrappedLineTrimmedLength=a.reflowSmallerGetNewLineLengths=a.reflowLargerApplyNewLayout=a.reflowLargerCreateNewLayout=a.reflowLargerGetLinesToRemove=void 0,a.reflowLargerGetLinesToRemove=function(O,c,h,u,m){const S=[];for(let Q=0;Q<O.length-1;Q++){let g=Q,d=O.get(++g);if(!d.isWrapped)continue;const f=[O.get(Q)];for(;g<O.length&&d.isWrapped;)f.push(d),d=O.get(++g);if(u>=Q&&u<g){Q+=f.length-1;continue}let p=0,$=l(f,p,c),_=1,P=0;for(;_<f.length;){const v=l(f,_,c),b=v-P,T=h-$,Y=Math.min(b,T);f[p].copyCellsFrom(f[_],P,$,Y,!1),$+=Y,$===h&&(p++,$=0),P+=Y,P===v&&(_++,P=0),$===0&&p!==0&&f[p-1].getWidth(h-1)===2&&(f[p].copyCellsFrom(f[p-1],h-1,$++,1,!1),f[p-1].setCell(h-1,m))}f[p].replaceCells($,h,m);let w=0;for(let v=f.length-1;v>0&&(v>p||f[v].getTrimmedLength()===0);v--)w++;w>0&&(S.push(Q+f.length-w),S.push(w)),Q+=f.length-1}return S},a.reflowLargerCreateNewLayout=function(O,c){const h=[];let u=0,m=c[u],S=0;for(let Q=0;Q<O.length;Q++)if(m===Q){const g=c[++u];O.onDeleteEmitter.fire({index:Q-S,amount:g}),Q+=g-1,S+=g,m=c[++u]}else h.push(Q);return{layout:h,countRemoved:S}},a.reflowLargerApplyNewLayout=function(O,c){const h=[];for(let u=0;u<c.length;u++)h.push(O.get(c[u]));for(let u=0;u<h.length;u++)O.set(u,h[u]);O.length=c.length},a.reflowSmallerGetNewLineLengths=function(O,c,h){const u=[],m=O.map((d,f)=>l(O,f,c)).reduce((d,f)=>d+f);let S=0,Q=0,g=0;for(;g<m;){if(m-g<h){u.push(m-g);break}S+=h;const d=l(O,Q,c);S>d&&(S-=d,Q++);const f=O[Q].getWidth(S-1)===2;f&&S--;const p=f?h-1:h;u.push(p),g+=p}return u},a.getWrappedLineTrimmedLength=l},5295:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.BufferSet=void 0;const O=l(8460),c=l(844),h=l(9092);class u extends c.Disposable{constructor(S,Q){super(),this._optionsService=S,this._bufferService=Q,this._onBufferActivate=this.register(new O.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 h.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new h.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(S){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(S),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(S,Q){this._normal.resize(S,Q),this._alt.resize(S,Q),this.setupTabStops(S)}setupTabStops(S){this._normal.setupTabStops(S),this._alt.setupTabStops(S)}}a.BufferSet=u},511:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CellData=void 0;const O=l(482),c=l(643),h=l(3734);class u extends h.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new h.ExtendedAttrs,this.combinedData=""}static fromCharData(S){const Q=new u;return Q.setFromCharData(S),Q}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,O.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[c.CHAR_DATA_ATTR_INDEX],this.bg=0;let Q=!1;if(S[c.CHAR_DATA_CHAR_INDEX].length>2)Q=!0;else if(S[c.CHAR_DATA_CHAR_INDEX].length===2){const g=S[c.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=g&&g<=56319){const d=S[c.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=d&&d<=57343?this.content=1024*(g-55296)+d-56320+65536|S[c.CHAR_DATA_WIDTH_INDEX]<<22:Q=!0}else Q=!0}else this.content=S[c.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[c.CHAR_DATA_WIDTH_INDEX]<<22;Q&&(this.combinedData=S[c.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[c.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}a.CellData=u},643:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.WHITESPACE_CELL_CODE=a.WHITESPACE_CELL_WIDTH=a.WHITESPACE_CELL_CHAR=a.NULL_CELL_CODE=a.NULL_CELL_WIDTH=a.NULL_CELL_CHAR=a.CHAR_DATA_CODE_INDEX=a.CHAR_DATA_WIDTH_INDEX=a.CHAR_DATA_CHAR_INDEX=a.CHAR_DATA_ATTR_INDEX=a.DEFAULT_EXT=a.DEFAULT_ATTR=a.DEFAULT_COLOR=void 0,a.DEFAULT_COLOR=0,a.DEFAULT_ATTR=256|a.DEFAULT_COLOR<<9,a.DEFAULT_EXT=0,a.CHAR_DATA_ATTR_INDEX=0,a.CHAR_DATA_CHAR_INDEX=1,a.CHAR_DATA_WIDTH_INDEX=2,a.CHAR_DATA_CODE_INDEX=3,a.NULL_CELL_CHAR="",a.NULL_CELL_WIDTH=1,a.NULL_CELL_CODE=0,a.WHITESPACE_CELL_CHAR=" ",a.WHITESPACE_CELL_WIDTH=1,a.WHITESPACE_CELL_CODE=32},4863:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.Marker=void 0;const O=l(8460),c=l(844);class h{get id(){return this._id}constructor(m){this.line=m,this.isDisposed=!1,this._disposables=[],this._id=h._nextId++,this._onDispose=this.register(new O.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,c.disposeArray)(this._disposables),this._disposables.length=0)}register(m){return this._disposables.push(m),m}}a.Marker=h,h._nextId=1},7116:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.DEFAULT_CHARSET=a.CHARSETS=void 0,a.CHARSETS={},a.DEFAULT_CHARSET=a.CHARSETS.B,a.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:"≥","{":"π","|":"≠","}":"£","~":"·"},a.CHARSETS.A={"#":"£"},a.CHARSETS.B=void 0,a.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},a.CHARSETS.C=a.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},a.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},a.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},a.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},a.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},a.CHARSETS.E=a.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},a.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},a.CHARSETS.H=a.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},a.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(o,a)=>{var l,O,c;Object.defineProperty(a,"__esModule",{value:!0}),a.C1_ESCAPED=a.C1=a.C0=void 0,function(h){h.NUL="\0",h.SOH="",h.STX="",h.ETX="",h.EOT="",h.ENQ="",h.ACK="",h.BEL="\x07",h.BS="\b",h.HT=" ",h.LF=`
|
|
46
|
+
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(v){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),d.isLinux&&v&&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(v){const b=this._getMouseBufferCoords(v),T=this._model.finalSelectionStart,Y=this._model.finalSelectionEnd;return!!(T&&Y&&b)&&this._areCoordsInSelection(b,T,Y)}isCellInSelection(v,b){const T=this._model.finalSelectionStart,Y=this._model.finalSelectionEnd;return!(!T||!Y)&&this._areCoordsInSelection([v,b],T,Y)}_areCoordsInSelection(v,b,T){return v[1]>b[1]&&v[1]<T[1]||b[1]===T[1]&&v[1]===b[1]&&v[0]>=b[0]&&v[0]<T[0]||b[1]<T[1]&&v[1]===T[1]&&v[0]<T[0]||b[1]<T[1]&&v[1]===b[1]&&v[0]>=b[0]}_selectWordAtCursor(v,b){var Z,R;const T=(R=(Z=this._linkifier.currentLink)==null?void 0:Z.link)==null?void 0:R.range;if(T)return this._model.selectionStart=[T.start.x-1,T.start.y-1],this._model.selectionStartLength=(0,f.getRangeLength)(T,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const Y=this._getMouseBufferCoords(v);return!!Y&&(this._selectWordAt(Y,b),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(v,b){this._model.clearSelection(),v=Math.max(v,0),b=Math.min(b,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,v],this._model.selectionEnd=[this._bufferService.cols,b],this.refresh(),this._onSelectionChange.fire()}_handleTrim(v){this._model.handleTrim(v)&&this.refresh()}_getMouseBufferCoords(v){const b=this._mouseService.getCoords(v,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(b)return b[0]--,b[1]--,b[1]+=this._bufferService.buffer.ydisp,b}_getMouseEventScrollAmount(v){let b=(0,h.getCoordsRelativeToElement)(this._coreBrowserService.window,v,this._screenElement)[1];const T=this._renderService.dimensions.css.canvas.height;return b>=0&&b<=T?0:(b>T&&(b-=T),b=Math.min(Math.max(b,-50),50),b/=50,b/Math.abs(b)+Math.round(14*b))}shouldForceSelection(v){return d.isMac?v.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:v.shiftKey}handleMouseDown(v){if(this._mouseDownTimeStamp=v.timeStamp,(v.button!==2||!this.hasSelection)&&v.button===0){if(!this._enabled){if(!this.shouldForceSelection(v))return;v.stopPropagation()}v.preventDefault(),this._dragScrollAmount=0,this._enabled&&v.shiftKey?this._handleIncrementalClick(v):v.detail===1?this._handleSingleClick(v):v.detail===2?this._handleDoubleClick(v):v.detail===3&&this._handleTripleClick(v),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(v){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(v))}_handleSingleClick(v){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(v)?3:0,this._model.selectionStart=this._getMouseBufferCoords(v),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const b=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);b&&b.length!==this._model.selectionStart[0]&&b.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(v){this._selectWordAtCursor(v,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(v){const b=this._getMouseBufferCoords(v);b&&(this._activeSelectionMode=2,this._selectLineAt(b[1]))}shouldColumnSelect(v){return v.altKey&&!(d.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(v){if(v.stopImmediatePropagation(),!this._model.selectionStart)return;const b=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(v),!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(v),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const T=this._bufferService.buffer;if(this._model.selectionEnd[1]<T.lines.length){const Y=T.lines.get(this._model.selectionEnd[1]);Y&&Y.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}b&&b[0]===this._model.selectionEnd[0]&&b[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 v=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(v.ydisp+this._bufferService.rows,v.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=v.ydisp),this.refresh()}}_handleMouseUp(v){const b=v.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&b<500&&v.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const T=this._mouseService.getCoords(v,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(T&&T[0]!==void 0&&T[1]!==void 0){const Y=(0,u.moveToCellSequence)(T[0]-1,T[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(Y,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const v=this._model.finalSelectionStart,b=this._model.finalSelectionEnd,T=!(!v||!b||v[0]===b[0]&&v[1]===b[1]);T?v&&b&&(this._oldSelectionStart&&this._oldSelectionEnd&&v[0]===this._oldSelectionStart[0]&&v[1]===this._oldSelectionStart[1]&&b[0]===this._oldSelectionEnd[0]&&b[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(v,b,T)):this._oldHasSelection&&this._fireOnSelectionChange(v,b,T)}_fireOnSelectionChange(v,b,T){this._oldSelectionStart=v,this._oldSelectionEnd=b,this._oldHasSelection=T,this._onSelectionChange.fire()}_handleBufferActivate(v){this.clearSelection(),this._trimListener.dispose(),this._trimListener=v.activeBuffer.lines.onTrim(b=>this._handleTrim(b))}_convertViewportColToCharacterIndex(v,b){let T=b;for(let Y=0;b>=Y;Y++){const Z=v.loadCell(Y,this._workCell).getChars().length;this._workCell.getWidth()===0?T--:Z>1&&b!==Y&&(T+=Z-1)}return T}setSelection(v,b,T){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[v,b],this._model.selectionStartLength=T,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(v){this._isClickInSelection(v)||(this._selectWordAtCursor(v,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(v,b,T=!0,Y=!0){if(v[0]>=this._bufferService.cols)return;const Z=this._bufferService.buffer,R=Z.lines.get(v[1]);if(!R)return;const z=Z.translateBufferLineToString(v[1],!1);let V=this._convertViewportColToCharacterIndex(R,v[0]),L=V;const G=v[0]-V;let q=0,X=0,x=0,C=0;if(z.charAt(V)===" "){for(;V>0&&z.charAt(V-1)===" ";)V--;for(;L<z.length&&z.charAt(L+1)===" ";)L++}else{let D=v[0],te=v[0];R.getWidth(D)===0&&(q++,D--),R.getWidth(te)===2&&(X++,te++);const ne=R.getString(te).length;for(ne>1&&(C+=ne-1,L+=ne-1);D>0&&V>0&&!this._isCharWordSeparator(R.loadCell(D-1,this._workCell));){R.loadCell(D-1,this._workCell);const U=this._workCell.getChars().length;this._workCell.getWidth()===0?(q++,D--):U>1&&(x+=U-1,V-=U-1),V--,D--}for(;te<R.length&&L+1<z.length&&!this._isCharWordSeparator(R.loadCell(te+1,this._workCell));){R.loadCell(te+1,this._workCell);const U=this._workCell.getChars().length;this._workCell.getWidth()===2?(X++,te++):U>1&&(C+=U-1,L+=U-1),L++,te++}}L++;let W=V+G-q+x,E=Math.min(this._bufferService.cols,L-V+q+X-x-C);if(b||z.slice(V,L).trim()!==""){if(T&&W===0&&R.getCodePoint(0)!==32){const D=Z.lines.get(v[1]-1);if(D&&R.isWrapped&&D.getCodePoint(this._bufferService.cols-1)!==32){const te=this._getWordAt([this._bufferService.cols-1,v[1]-1],!1,!0,!1);if(te){const ne=this._bufferService.cols-te.start;W-=ne,E+=ne}}}if(Y&&W+E===this._bufferService.cols&&R.getCodePoint(this._bufferService.cols-1)!==32){const D=Z.lines.get(v[1]+1);if(D!=null&&D.isWrapped&&D.getCodePoint(0)!==32){const te=this._getWordAt([0,v[1]+1],!1,!1,!0);te&&(E+=te.length)}}return{start:W,length:E}}}_selectWordAt(v,b){const T=this._getWordAt(v,b);if(T){for(;T.start<0;)T.start+=this._bufferService.cols,v[1]--;this._model.selectionStart=[T.start,v[1]],this._model.selectionStartLength=T.length}}_selectToWordAt(v){const b=this._getWordAt(v,!0);if(b){let T=v[1];for(;b.start<0;)b.start+=this._bufferService.cols,T--;if(!this._model.areSelectionValuesReversed())for(;b.start+b.length>this._bufferService.cols;)b.length-=this._bufferService.cols,T++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?b.start:b.start+b.length,T]}}_isCharWordSeparator(v){return v.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(v.getChars())>=0}_selectLineAt(v){const b=this._bufferService.buffer.getWrappedRangeForLine(v),T={start:{x:0,y:b.first},end:{x:this._bufferService.cols-1,y:b.last}};this._model.selectionStart=[0,b.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,f.getRangeLength)(T,this._bufferService.cols)}};a.SelectionService=w=O([c(3,$.IBufferService),c(4,$.ICoreService),c(5,S.IMouseService),c(6,$.IOptionsService),c(7,S.IRenderService),c(8,S.ICoreBrowserService)],w)},4725:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ILinkProviderService=a.IThemeService=a.ICharacterJoinerService=a.ISelectionService=a.IRenderService=a.IMouseService=a.ICoreBrowserService=a.ICharSizeService=void 0;const O=l(8343);a.ICharSizeService=(0,O.createDecorator)("CharSizeService"),a.ICoreBrowserService=(0,O.createDecorator)("CoreBrowserService"),a.IMouseService=(0,O.createDecorator)("MouseService"),a.IRenderService=(0,O.createDecorator)("RenderService"),a.ISelectionService=(0,O.createDecorator)("SelectionService"),a.ICharacterJoinerService=(0,O.createDecorator)("CharacterJoinerService"),a.IThemeService=(0,O.createDecorator)("ThemeService"),a.ILinkProviderService=(0,O.createDecorator)("LinkProviderService")},6731:function(o,a,l){var O=this&&this.__decorate||function(w,v,b,T){var Y,Z=arguments.length,R=Z<3?v:T===null?T=Object.getOwnPropertyDescriptor(v,b):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(w,v,b,T);else for(var z=w.length-1;z>=0;z--)(Y=w[z])&&(R=(Z<3?Y(R):Z>3?Y(v,b,R):Y(v,b))||R);return Z>3&&R&&Object.defineProperty(v,b,R),R},c=this&&this.__param||function(w,v){return function(b,T){v(b,T,w)}};Object.defineProperty(a,"__esModule",{value:!0}),a.ThemeService=a.DEFAULT_ANSI_COLORS=void 0;const h=l(7239),u=l(8055),m=l(8460),S=l(844),Q=l(2585),g=u.css.toColor("#ffffff"),d=u.css.toColor("#000000"),f=u.css.toColor("#ffffff"),p=u.css.toColor("#000000"),$={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};a.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const w=[u.css.toColor("#2e3436"),u.css.toColor("#cc0000"),u.css.toColor("#4e9a06"),u.css.toColor("#c4a000"),u.css.toColor("#3465a4"),u.css.toColor("#75507b"),u.css.toColor("#06989a"),u.css.toColor("#d3d7cf"),u.css.toColor("#555753"),u.css.toColor("#ef2929"),u.css.toColor("#8ae234"),u.css.toColor("#fce94f"),u.css.toColor("#729fcf"),u.css.toColor("#ad7fa8"),u.css.toColor("#34e2e2"),u.css.toColor("#eeeeec")],v=[0,95,135,175,215,255];for(let b=0;b<216;b++){const T=v[b/36%6|0],Y=v[b/6%6|0],Z=v[b%6];w.push({css:u.channels.toCss(T,Y,Z),rgba:u.channels.toRgba(T,Y,Z)})}for(let b=0;b<24;b++){const T=8+10*b;w.push({css:u.channels.toCss(T,T,T),rgba:u.channels.toRgba(T,T,T)})}return w})());let _=a.ThemeService=class extends S.Disposable{get colors(){return this._colors}constructor(w){super(),this._optionsService=w,this._contrastCache=new h.ColorContrastCache,this._halfContrastCache=new h.ColorContrastCache,this._onChangeColors=this.register(new m.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:g,background:d,cursor:f,cursorAccent:p,selectionForeground:void 0,selectionBackgroundTransparent:$,selectionBackgroundOpaque:u.color.blend(d,$),selectionInactiveBackgroundTransparent:$,selectionInactiveBackgroundOpaque:u.color.blend(d,$),ansi:a.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 v=this._colors;if(v.foreground=P(w.foreground,g),v.background=P(w.background,d),v.cursor=P(w.cursor,f),v.cursorAccent=P(w.cursorAccent,p),v.selectionBackgroundTransparent=P(w.selectionBackground,$),v.selectionBackgroundOpaque=u.color.blend(v.background,v.selectionBackgroundTransparent),v.selectionInactiveBackgroundTransparent=P(w.selectionInactiveBackground,v.selectionBackgroundTransparent),v.selectionInactiveBackgroundOpaque=u.color.blend(v.background,v.selectionInactiveBackgroundTransparent),v.selectionForeground=w.selectionForeground?P(w.selectionForeground,u.NULL_COLOR):void 0,v.selectionForeground===u.NULL_COLOR&&(v.selectionForeground=void 0),u.color.isOpaque(v.selectionBackgroundTransparent)&&(v.selectionBackgroundTransparent=u.color.opacity(v.selectionBackgroundTransparent,.3)),u.color.isOpaque(v.selectionInactiveBackgroundTransparent)&&(v.selectionInactiveBackgroundTransparent=u.color.opacity(v.selectionInactiveBackgroundTransparent,.3)),v.ansi=a.DEFAULT_ANSI_COLORS.slice(),v.ansi[0]=P(w.black,a.DEFAULT_ANSI_COLORS[0]),v.ansi[1]=P(w.red,a.DEFAULT_ANSI_COLORS[1]),v.ansi[2]=P(w.green,a.DEFAULT_ANSI_COLORS[2]),v.ansi[3]=P(w.yellow,a.DEFAULT_ANSI_COLORS[3]),v.ansi[4]=P(w.blue,a.DEFAULT_ANSI_COLORS[4]),v.ansi[5]=P(w.magenta,a.DEFAULT_ANSI_COLORS[5]),v.ansi[6]=P(w.cyan,a.DEFAULT_ANSI_COLORS[6]),v.ansi[7]=P(w.white,a.DEFAULT_ANSI_COLORS[7]),v.ansi[8]=P(w.brightBlack,a.DEFAULT_ANSI_COLORS[8]),v.ansi[9]=P(w.brightRed,a.DEFAULT_ANSI_COLORS[9]),v.ansi[10]=P(w.brightGreen,a.DEFAULT_ANSI_COLORS[10]),v.ansi[11]=P(w.brightYellow,a.DEFAULT_ANSI_COLORS[11]),v.ansi[12]=P(w.brightBlue,a.DEFAULT_ANSI_COLORS[12]),v.ansi[13]=P(w.brightMagenta,a.DEFAULT_ANSI_COLORS[13]),v.ansi[14]=P(w.brightCyan,a.DEFAULT_ANSI_COLORS[14]),v.ansi[15]=P(w.brightWhite,a.DEFAULT_ANSI_COLORS[15]),w.extendedAnsi){const b=Math.min(v.ansi.length-16,w.extendedAnsi.length);for(let T=0;T<b;T++)v.ansi[T+16]=P(w.extendedAnsi[T],a.DEFAULT_ANSI_COLORS[T+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 v=0;v<this._restoreColors.ansi.length;++v)this._colors.ansi[v]=this._restoreColors.ansi[v]}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 P(w,v){if(w!==void 0)try{return u.css.toColor(w)}catch{}return v}a.ThemeService=_=O([c(0,Q.IOptionsService)],_)},6349:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CircularList=void 0;const O=l(8460),c=l(844);class h extends c.Disposable{constructor(m){super(),this._maxLength=m,this.onDeleteEmitter=this.register(new O.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new O.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new O.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(m){if(this._maxLength===m)return;const S=new Array(m);for(let Q=0;Q<Math.min(m,this.length);Q++)S[Q]=this._array[this._getCyclicIndex(Q)];this._array=S,this._maxLength=m,this._startIndex=0}get length(){return this._length}set length(m){if(m>this._length)for(let S=this._length;S<m;S++)this._array[S]=void 0;this._length=m}get(m){return this._array[this._getCyclicIndex(m)]}set(m,S){this._array[this._getCyclicIndex(m)]=S}push(m){this._array[this._getCyclicIndex(this._length)]=m,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(m,S,...Q){if(S){for(let g=m;g<this._length-S;g++)this._array[this._getCyclicIndex(g)]=this._array[this._getCyclicIndex(g+S)];this._length-=S,this.onDeleteEmitter.fire({index:m,amount:S})}for(let g=this._length-1;g>=m;g--)this._array[this._getCyclicIndex(g+Q.length)]=this._array[this._getCyclicIndex(g)];for(let g=0;g<Q.length;g++)this._array[this._getCyclicIndex(m+g)]=Q[g];if(Q.length&&this.onInsertEmitter.fire({index:m,amount:Q.length}),this._length+Q.length>this._maxLength){const g=this._length+Q.length-this._maxLength;this._startIndex+=g,this._length=this._maxLength,this.onTrimEmitter.fire(g)}else this._length+=Q.length}trimStart(m){m>this._length&&(m=this._length),this._startIndex+=m,this._length-=m,this.onTrimEmitter.fire(m)}shiftElements(m,S,Q){if(!(S<=0)){if(m<0||m>=this._length)throw new Error("start argument out of range");if(m+Q<0)throw new Error("Cannot shift elements in list beyond index 0");if(Q>0){for(let d=S-1;d>=0;d--)this.set(m+d+Q,this.get(m+d));const g=m+S+Q-this._length;if(g>0)for(this._length+=g;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let g=0;g<S;g++)this.set(m+g+Q,this.get(m+g))}}_getCyclicIndex(m){return(this._startIndex+m)%this._maxLength}}a.CircularList=h},1439:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.clone=void 0,a.clone=function l(O,c=5){if(typeof O!="object")return O;const h=Array.isArray(O)?[]:{};for(const u in O)h[u]=c<=1?O[u]:O[u]&&l(O[u],c-1);return h}},8055:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.contrastRatio=a.toPaddedHex=a.rgba=a.rgb=a.css=a.color=a.channels=a.NULL_COLOR=void 0;let l=0,O=0,c=0,h=0;var u,m,S,Q,g;function d(p){const $=p.toString(16);return $.length<2?"0"+$:$}function f(p,$){return p<$?($+.05)/(p+.05):(p+.05)/($+.05)}a.NULL_COLOR={css:"#00000000",rgba:0},function(p){p.toCss=function($,_,P,w){return w!==void 0?`#${d($)}${d(_)}${d(P)}${d(w)}`:`#${d($)}${d(_)}${d(P)}`},p.toRgba=function($,_,P,w=255){return($<<24|_<<16|P<<8|w)>>>0},p.toColor=function($,_,P,w){return{css:p.toCss($,_,P,w),rgba:p.toRgba($,_,P,w)}}}(u||(a.channels=u={})),function(p){function $(_,P){return h=Math.round(255*P),[l,O,c]=g.toChannels(_.rgba),{css:u.toCss(l,O,c,h),rgba:u.toRgba(l,O,c,h)}}p.blend=function(_,P){if(h=(255&P.rgba)/255,h===1)return{css:P.css,rgba:P.rgba};const w=P.rgba>>24&255,v=P.rgba>>16&255,b=P.rgba>>8&255,T=_.rgba>>24&255,Y=_.rgba>>16&255,Z=_.rgba>>8&255;return l=T+Math.round((w-T)*h),O=Y+Math.round((v-Y)*h),c=Z+Math.round((b-Z)*h),{css:u.toCss(l,O,c),rgba:u.toRgba(l,O,c)}},p.isOpaque=function(_){return(255&_.rgba)==255},p.ensureContrastRatio=function(_,P,w){const v=g.ensureContrastRatio(_.rgba,P.rgba,w);if(v)return u.toColor(v>>24&255,v>>16&255,v>>8&255)},p.opaque=function(_){const P=(255|_.rgba)>>>0;return[l,O,c]=g.toChannels(P),{css:u.toCss(l,O,c),rgba:P}},p.opacity=$,p.multiplyOpacity=function(_,P){return h=255&_.rgba,$(_,h*P/255)},p.toColorRGB=function(_){return[_.rgba>>24&255,_.rgba>>16&255,_.rgba>>8&255]}}(m||(a.color=m={})),function(p){let $,_;try{const P=document.createElement("canvas");P.width=1,P.height=1;const w=P.getContext("2d",{willReadFrequently:!0});w&&($=w,$.globalCompositeOperation="copy",_=$.createLinearGradient(0,0,1,1))}catch{}p.toColor=function(P){if(P.match(/#[\da-f]{3,8}/i))switch(P.length){case 4:return l=parseInt(P.slice(1,2).repeat(2),16),O=parseInt(P.slice(2,3).repeat(2),16),c=parseInt(P.slice(3,4).repeat(2),16),u.toColor(l,O,c);case 5:return l=parseInt(P.slice(1,2).repeat(2),16),O=parseInt(P.slice(2,3).repeat(2),16),c=parseInt(P.slice(3,4).repeat(2),16),h=parseInt(P.slice(4,5).repeat(2),16),u.toColor(l,O,c,h);case 7:return{css:P,rgba:(parseInt(P.slice(1),16)<<8|255)>>>0};case 9:return{css:P,rgba:parseInt(P.slice(1),16)>>>0}}const w=P.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]),O=parseInt(w[2]),c=parseInt(w[3]),h=Math.round(255*(w[5]===void 0?1:parseFloat(w[5]))),u.toColor(l,O,c,h);if(!$||!_)throw new Error("css.toColor: Unsupported css format");if($.fillStyle=_,$.fillStyle=P,typeof $.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if($.fillRect(0,0,1,1),[l,O,c,h]=$.getImageData(0,0,1,1).data,h!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:u.toRgba(l,O,c,h),css:P}}}(S||(a.css=S={})),function(p){function $(_,P,w){const v=_/255,b=P/255,T=w/255;return .2126*(v<=.03928?v/12.92:Math.pow((v+.055)/1.055,2.4))+.7152*(b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4))+.0722*(T<=.03928?T/12.92:Math.pow((T+.055)/1.055,2.4))}p.relativeLuminance=function(_){return $(_>>16&255,_>>8&255,255&_)},p.relativeLuminance2=$}(Q||(a.rgb=Q={})),function(p){function $(P,w,v){const b=P>>24&255,T=P>>16&255,Y=P>>8&255;let Z=w>>24&255,R=w>>16&255,z=w>>8&255,V=f(Q.relativeLuminance2(Z,R,z),Q.relativeLuminance2(b,T,Y));for(;V<v&&(Z>0||R>0||z>0);)Z-=Math.max(0,Math.ceil(.1*Z)),R-=Math.max(0,Math.ceil(.1*R)),z-=Math.max(0,Math.ceil(.1*z)),V=f(Q.relativeLuminance2(Z,R,z),Q.relativeLuminance2(b,T,Y));return(Z<<24|R<<16|z<<8|255)>>>0}function _(P,w,v){const b=P>>24&255,T=P>>16&255,Y=P>>8&255;let Z=w>>24&255,R=w>>16&255,z=w>>8&255,V=f(Q.relativeLuminance2(Z,R,z),Q.relativeLuminance2(b,T,Y));for(;V<v&&(Z<255||R<255||z<255);)Z=Math.min(255,Z+Math.ceil(.1*(255-Z))),R=Math.min(255,R+Math.ceil(.1*(255-R))),z=Math.min(255,z+Math.ceil(.1*(255-z))),V=f(Q.relativeLuminance2(Z,R,z),Q.relativeLuminance2(b,T,Y));return(Z<<24|R<<16|z<<8|255)>>>0}p.blend=function(P,w){if(h=(255&w)/255,h===1)return w;const v=w>>24&255,b=w>>16&255,T=w>>8&255,Y=P>>24&255,Z=P>>16&255,R=P>>8&255;return l=Y+Math.round((v-Y)*h),O=Z+Math.round((b-Z)*h),c=R+Math.round((T-R)*h),u.toRgba(l,O,c)},p.ensureContrastRatio=function(P,w,v){const b=Q.relativeLuminance(P>>8),T=Q.relativeLuminance(w>>8);if(f(b,T)<v){if(T<b){const R=$(P,w,v),z=f(b,Q.relativeLuminance(R>>8));if(z<v){const V=_(P,w,v);return z>f(b,Q.relativeLuminance(V>>8))?R:V}return R}const Y=_(P,w,v),Z=f(b,Q.relativeLuminance(Y>>8));if(Z<v){const R=$(P,w,v);return Z>f(b,Q.relativeLuminance(R>>8))?Y:R}return Y}},p.reduceLuminance=$,p.increaseLuminance=_,p.toChannels=function(P){return[P>>24&255,P>>16&255,P>>8&255,255&P]}}(g||(a.rgba=g={})),a.toPaddedHex=d,a.contrastRatio=f},8969:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CoreTerminal=void 0;const O=l(844),c=l(2585),h=l(4348),u=l(7866),m=l(744),S=l(7302),Q=l(6975),g=l(8460),d=l(1753),f=l(1480),p=l(7994),$=l(9282),_=l(5435),P=l(5981),w=l(2660);let v=!1;class b extends O.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new g.EventEmitter),this._onScroll.event(Y=>{var Z;(Z=this._onScrollApi)==null||Z.fire(Y.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(Y){for(const Z in Y)this.optionsService.options[Z]=Y[Z]}constructor(Y){super(),this._windowsWrappingHeuristics=this.register(new O.MutableDisposable),this._onBinary=this.register(new g.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new g.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new g.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new g.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new g.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new g.EventEmitter),this._instantiationService=new h.InstantiationService,this.optionsService=this.register(new S.OptionsService(Y)),this._instantiationService.setService(c.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(m.BufferService)),this._instantiationService.setService(c.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(u.LogService)),this._instantiationService.setService(c.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(Q.CoreService)),this._instantiationService.setService(c.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(d.CoreMouseService)),this._instantiationService.setService(c.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(f.UnicodeService)),this._instantiationService.setService(c.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(p.CharsetService),this._instantiationService.setService(c.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(w.OscLinkService),this._instantiationService.setService(c.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,g.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,g.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,g.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,g.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(Z=>{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(Z=>{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 P.WriteBuffer((Z,R)=>this._inputHandler.parse(Z,R))),this.register((0,g.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(Y,Z){this._writeBuffer.write(Y,Z)}writeSync(Y,Z){this._logService.logLevel<=c.LogLevelEnum.WARN&&!v&&(this._logService.warn("writeSync is unreliable and will be removed soon."),v=!0),this._writeBuffer.writeSync(Y,Z)}input(Y,Z=!0){this.coreService.triggerDataEvent(Y,Z)}resize(Y,Z){isNaN(Y)||isNaN(Z)||(Y=Math.max(Y,m.MINIMUM_COLS),Z=Math.max(Z,m.MINIMUM_ROWS),this._bufferService.resize(Y,Z))}scroll(Y,Z=!1){this._bufferService.scroll(Y,Z)}scrollLines(Y,Z,R){this._bufferService.scrollLines(Y,Z,R)}scrollPages(Y){this.scrollLines(Y*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(Y){const Z=Y-this._bufferService.buffer.ydisp;Z!==0&&this.scrollLines(Z)}registerEscHandler(Y,Z){return this._inputHandler.registerEscHandler(Y,Z)}registerDcsHandler(Y,Z){return this._inputHandler.registerDcsHandler(Y,Z)}registerCsiHandler(Y,Z){return this._inputHandler.registerCsiHandler(Y,Z)}registerOscHandler(Y,Z){return this._inputHandler.registerOscHandler(Y,Z)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let Y=!1;const Z=this.optionsService.rawOptions.windowsPty;Z&&Z.buildNumber!==void 0&&Z.buildNumber!==void 0?Y=Z.backend==="conpty"&&Z.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(Y=!0),Y?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const Y=[];Y.push(this.onLineFeed($.updateWindowsModeWrappedState.bind(null,this._bufferService))),Y.push(this.registerCsiHandler({final:"H"},()=>((0,$.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsWrappingHeuristics.value=(0,O.toDisposable)(()=>{for(const Z of Y)Z.dispose()})}}}a.CoreTerminal=b},8460:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.runAndSubscribe=a.forwardEvent=a.EventEmitter=void 0,a.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 O=0;O<this._listeners.length;O++)if(this._listeners[O]===l)return void this._listeners.splice(O,1)}}})),this._event}fire(l,O){const c=[];for(let h=0;h<this._listeners.length;h++)c.push(this._listeners[h]);for(let h=0;h<c.length;h++)c[h].call(void 0,l,O)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},a.forwardEvent=function(l,O){return l(c=>O.fire(c))},a.runAndSubscribe=function(l,O){return O(void 0),l(c=>O(c))}},5435:function(o,a,l){var O=this&&this.__decorate||function(q,X,x,C){var W,E=arguments.length,D=E<3?X:C===null?C=Object.getOwnPropertyDescriptor(X,x):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(q,X,x,C);else for(var te=q.length-1;te>=0;te--)(W=q[te])&&(D=(E<3?W(D):E>3?W(X,x,D):W(X,x))||D);return E>3&&D&&Object.defineProperty(X,x,D),D},c=this&&this.__param||function(q,X){return function(x,C){X(x,C,q)}};Object.defineProperty(a,"__esModule",{value:!0}),a.InputHandler=a.WindowsOptionsReportType=void 0;const h=l(2584),u=l(7116),m=l(2015),S=l(844),Q=l(482),g=l(8437),d=l(8460),f=l(643),p=l(511),$=l(3734),_=l(2585),P=l(1480),w=l(6242),v=l(6351),b=l(5941),T={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Y=131072;function Z(q,X){if(q>24)return X.setWinLines||!1;switch(q){case 1:return!!X.restoreWin;case 2:return!!X.minimizeWin;case 3:return!!X.setWinPosition;case 4:return!!X.setWinSizePixels;case 5:return!!X.raiseWin;case 6:return!!X.lowerWin;case 7:return!!X.refreshWin;case 8:return!!X.setWinSizeChars;case 9:return!!X.maximizeWin;case 10:return!!X.fullscreenWin;case 11:return!!X.getWinState;case 13:return!!X.getWinPosition;case 14:return!!X.getWinSizePixels;case 15:return!!X.getScreenSizePixels;case 16:return!!X.getCellSizePixels;case 18:return!!X.getWinSizeChars;case 19:return!!X.getScreenSizeChars;case 20:return!!X.getIconTitle;case 21:return!!X.getWinTitle;case 22:return!!X.pushTitle;case 23:return!!X.popTitle;case 24:return!!X.setWinLines}return!1}var R;(function(q){q[q.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",q[q.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(R||(a.WindowsOptionsReportType=R={}));let z=0;class V extends S.Disposable{getAttrData(){return this._curAttrData}constructor(X,x,C,W,E,D,te,ne,U=new m.EscapeSequenceParser){super(),this._bufferService=X,this._charsetService=x,this._coreService=C,this._logService=W,this._optionsService=E,this._oscLinkService=D,this._coreMouseService=te,this._unicodeService=ne,this._parser=U,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Q.StringToUtf32,this._utf8Decoder=new Q.Utf8ToUtf32,this._workCell=new p.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=g.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=g.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new d.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new d.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new d.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new d.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new d.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new d.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new d.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new d.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new d.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new d.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new d.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new d.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new d.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 L(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(k=>this._activeBuffer=k.activeBuffer)),this._parser.setCsiHandlerFallback((k,M)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(k),params:M.toArray()})}),this._parser.setEscHandlerFallback(k=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(k)})}),this._parser.setExecuteHandlerFallback(k=>{this._logService.debug("Unknown EXECUTE code: ",{code:k})}),this._parser.setOscHandlerFallback((k,M,j)=>{this._logService.debug("Unknown OSC code: ",{identifier:k,action:M,data:j})}),this._parser.setDcsHandlerFallback((k,M,j)=>{M==="HOOK"&&(j=j.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(k),action:M,payload:j})}),this._parser.setPrintHandler((k,M,j)=>this.print(k,M,j)),this._parser.registerCsiHandler({final:"@"},k=>this.insertChars(k)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},k=>this.scrollLeft(k)),this._parser.registerCsiHandler({final:"A"},k=>this.cursorUp(k)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},k=>this.scrollRight(k)),this._parser.registerCsiHandler({final:"B"},k=>this.cursorDown(k)),this._parser.registerCsiHandler({final:"C"},k=>this.cursorForward(k)),this._parser.registerCsiHandler({final:"D"},k=>this.cursorBackward(k)),this._parser.registerCsiHandler({final:"E"},k=>this.cursorNextLine(k)),this._parser.registerCsiHandler({final:"F"},k=>this.cursorPrecedingLine(k)),this._parser.registerCsiHandler({final:"G"},k=>this.cursorCharAbsolute(k)),this._parser.registerCsiHandler({final:"H"},k=>this.cursorPosition(k)),this._parser.registerCsiHandler({final:"I"},k=>this.cursorForwardTab(k)),this._parser.registerCsiHandler({final:"J"},k=>this.eraseInDisplay(k,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},k=>this.eraseInDisplay(k,!0)),this._parser.registerCsiHandler({final:"K"},k=>this.eraseInLine(k,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},k=>this.eraseInLine(k,!0)),this._parser.registerCsiHandler({final:"L"},k=>this.insertLines(k)),this._parser.registerCsiHandler({final:"M"},k=>this.deleteLines(k)),this._parser.registerCsiHandler({final:"P"},k=>this.deleteChars(k)),this._parser.registerCsiHandler({final:"S"},k=>this.scrollUp(k)),this._parser.registerCsiHandler({final:"T"},k=>this.scrollDown(k)),this._parser.registerCsiHandler({final:"X"},k=>this.eraseChars(k)),this._parser.registerCsiHandler({final:"Z"},k=>this.cursorBackwardTab(k)),this._parser.registerCsiHandler({final:"`"},k=>this.charPosAbsolute(k)),this._parser.registerCsiHandler({final:"a"},k=>this.hPositionRelative(k)),this._parser.registerCsiHandler({final:"b"},k=>this.repeatPrecedingCharacter(k)),this._parser.registerCsiHandler({final:"c"},k=>this.sendDeviceAttributesPrimary(k)),this._parser.registerCsiHandler({prefix:">",final:"c"},k=>this.sendDeviceAttributesSecondary(k)),this._parser.registerCsiHandler({final:"d"},k=>this.linePosAbsolute(k)),this._parser.registerCsiHandler({final:"e"},k=>this.vPositionRelative(k)),this._parser.registerCsiHandler({final:"f"},k=>this.hVPosition(k)),this._parser.registerCsiHandler({final:"g"},k=>this.tabClear(k)),this._parser.registerCsiHandler({final:"h"},k=>this.setMode(k)),this._parser.registerCsiHandler({prefix:"?",final:"h"},k=>this.setModePrivate(k)),this._parser.registerCsiHandler({final:"l"},k=>this.resetMode(k)),this._parser.registerCsiHandler({prefix:"?",final:"l"},k=>this.resetModePrivate(k)),this._parser.registerCsiHandler({final:"m"},k=>this.charAttributes(k)),this._parser.registerCsiHandler({final:"n"},k=>this.deviceStatus(k)),this._parser.registerCsiHandler({prefix:"?",final:"n"},k=>this.deviceStatusPrivate(k)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},k=>this.softReset(k)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},k=>this.setCursorStyle(k)),this._parser.registerCsiHandler({final:"r"},k=>this.setScrollRegion(k)),this._parser.registerCsiHandler({final:"s"},k=>this.saveCursor(k)),this._parser.registerCsiHandler({final:"t"},k=>this.windowOptions(k)),this._parser.registerCsiHandler({final:"u"},k=>this.restoreCursor(k)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},k=>this.insertColumns(k)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},k=>this.deleteColumns(k)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},k=>this.selectProtected(k)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},k=>this.requestMode(k,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},k=>this.requestMode(k,!1)),this._parser.setExecuteHandler(h.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(h.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(h.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(h.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(h.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(h.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(h.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(h.C1.IND,()=>this.index()),this._parser.setExecuteHandler(h.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(h.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new w.OscHandler(k=>(this.setTitle(k),this.setIconName(k),!0))),this._parser.registerOscHandler(1,new w.OscHandler(k=>this.setIconName(k))),this._parser.registerOscHandler(2,new w.OscHandler(k=>this.setTitle(k))),this._parser.registerOscHandler(4,new w.OscHandler(k=>this.setOrReportIndexedColor(k))),this._parser.registerOscHandler(8,new w.OscHandler(k=>this.setHyperlink(k))),this._parser.registerOscHandler(10,new w.OscHandler(k=>this.setOrReportFgColor(k))),this._parser.registerOscHandler(11,new w.OscHandler(k=>this.setOrReportBgColor(k))),this._parser.registerOscHandler(12,new w.OscHandler(k=>this.setOrReportCursorColor(k))),this._parser.registerOscHandler(104,new w.OscHandler(k=>this.restoreIndexedColor(k))),this._parser.registerOscHandler(110,new w.OscHandler(k=>this.restoreFgColor(k))),this._parser.registerOscHandler(111,new w.OscHandler(k=>this.restoreBgColor(k))),this._parser.registerOscHandler(112,new w.OscHandler(k=>this.restoreCursorColor(k))),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 k in u.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:k},()=>this.selectCharset("("+k)),this._parser.registerEscHandler({intermediates:")",final:k},()=>this.selectCharset(")"+k)),this._parser.registerEscHandler({intermediates:"*",final:k},()=>this.selectCharset("*"+k)),this._parser.registerEscHandler({intermediates:"+",final:k},()=>this.selectCharset("+"+k)),this._parser.registerEscHandler({intermediates:"-",final:k},()=>this.selectCharset("-"+k)),this._parser.registerEscHandler({intermediates:".",final:k},()=>this.selectCharset("."+k)),this._parser.registerEscHandler({intermediates:"/",final:k},()=>this.selectCharset("/"+k));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(k=>(this._logService.error("Parsing error: ",k),k)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new v.DcsHandler((k,M)=>this.requestStatusString(k,M)))}_preserveStack(X,x,C,W){this._parseStack.paused=!0,this._parseStack.cursorStartX=X,this._parseStack.cursorStartY=x,this._parseStack.decodedLength=C,this._parseStack.position=W}_logSlowResolvingAsync(X){this._logService.logLevel<=_.LogLevelEnum.WARN&&Promise.race([X,new Promise((x,C)=>setTimeout(()=>C("#SLOW_TIMEOUT"),5e3))]).catch(x=>{if(x!=="#SLOW_TIMEOUT")throw x;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(X,x){let C,W=this._activeBuffer.x,E=this._activeBuffer.y,D=0;const te=this._parseStack.paused;if(te){if(C=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,x))return this._logSlowResolvingAsync(C),C;W=this._parseStack.cursorStartX,E=this._parseStack.cursorStartY,this._parseStack.paused=!1,X.length>Y&&(D=this._parseStack.position+Y)}if(this._logService.logLevel<=_.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof X=="string"?` "${X}"`:` "${Array.prototype.map.call(X,k=>String.fromCharCode(k)).join("")}"`),typeof X=="string"?X.split("").map(k=>k.charCodeAt(0)):X),this._parseBuffer.length<X.length&&this._parseBuffer.length<Y&&(this._parseBuffer=new Uint32Array(Math.min(X.length,Y))),te||this._dirtyRowTracker.clearRange(),X.length>Y)for(let k=D;k<X.length;k+=Y){const M=k+Y<X.length?k+Y:X.length,j=typeof X=="string"?this._stringDecoder.decode(X.substring(k,M),this._parseBuffer):this._utf8Decoder.decode(X.subarray(k,M),this._parseBuffer);if(C=this._parser.parse(this._parseBuffer,j))return this._preserveStack(W,E,j,k),this._logSlowResolvingAsync(C),C}else if(!te){const k=typeof X=="string"?this._stringDecoder.decode(X,this._parseBuffer):this._utf8Decoder.decode(X,this._parseBuffer);if(C=this._parser.parse(this._parseBuffer,k))return this._preserveStack(W,E,k,0),this._logSlowResolvingAsync(C),C}this._activeBuffer.x===W&&this._activeBuffer.y===E||this._onCursorMove.fire();const ne=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(ne,this._bufferService.rows-1))}print(X,x,C){let W,E;const D=this._charsetService.charset,te=this._optionsService.rawOptions.screenReaderMode,ne=this._bufferService.cols,U=this._coreService.decPrivateModes.wraparound,k=this._coreService.modes.insertMode,M=this._curAttrData;let j=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&C-x>0&&j.getWidth(this._activeBuffer.x-1)===2&&j.setCellFromCodepoint(this._activeBuffer.x-1,0,1,M);let ee=this._parser.precedingJoinState;for(let H=x;H<C;++H){if(W=X[H],W<127&&D){const yt=D[String.fromCharCode(W)];yt&&(W=yt.charCodeAt(0))}const de=this._unicodeService.charProperties(W,ee);E=P.UnicodeService.extractWidth(de);const qe=P.UnicodeService.extractShouldJoin(de),Ve=qe?P.UnicodeService.extractWidth(ee):0;if(ee=de,te&&this._onA11yChar.fire((0,Q.stringFromCodePoint)(W)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+E-Ve>ne){if(U){const yt=j;let Oe=this._activeBuffer.x-Ve;for(this._activeBuffer.x=Ve,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),j=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),Ve>0&&j instanceof g.BufferLine&&j.copyCellsFrom(yt,Oe,0,Ve,!1);Oe<ne;)yt.setCellFromCodepoint(Oe++,0,1,M)}else if(this._activeBuffer.x=ne-1,E===2)continue}if(qe&&this._activeBuffer.x){const yt=j.getWidth(this._activeBuffer.x-1)?1:2;j.addCodepointToCell(this._activeBuffer.x-yt,W,E);for(let Oe=E-Ve;--Oe>=0;)j.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}else if(k&&(j.insertCells(this._activeBuffer.x,E-Ve,this._activeBuffer.getNullCell(M)),j.getWidth(ne-1)===2&&j.setCellFromCodepoint(ne-1,f.NULL_CELL_CODE,f.NULL_CELL_WIDTH,M)),j.setCellFromCodepoint(this._activeBuffer.x++,W,E,M),E>0)for(;--E;)j.setCellFromCodepoint(this._activeBuffer.x++,0,0,M)}this._parser.precedingJoinState=ee,this._activeBuffer.x<ne&&C-x>0&&j.getWidth(this._activeBuffer.x)===0&&!j.hasContent(this._activeBuffer.x)&&j.setCellFromCodepoint(this._activeBuffer.x,0,1,M),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(X,x){return X.final!=="t"||X.prefix||X.intermediates?this._parser.registerCsiHandler(X,x):this._parser.registerCsiHandler(X,C=>!Z(C.params[0],this._optionsService.rawOptions.windowOptions)||x(C))}registerDcsHandler(X,x){return this._parser.registerDcsHandler(X,new v.DcsHandler(x))}registerEscHandler(X,x){return this._parser.registerEscHandler(X,x)}registerOscHandler(X,x){return this._parser.registerOscHandler(X,new w.OscHandler(x))}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(){var X;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&&((X=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&X.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const x=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);x.hasWidth(this._activeBuffer.x)&&!x.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const X=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-X),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(X=this._bufferService.cols-1){this._activeBuffer.x=Math.min(X,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(X,x){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=X,this._activeBuffer.y=this._activeBuffer.scrollTop+x):(this._activeBuffer.x=X,this._activeBuffer.y=x),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(X,x){this._restrictCursor(),this._setCursor(this._activeBuffer.x+X,this._activeBuffer.y+x)}cursorUp(X){const x=this._activeBuffer.y-this._activeBuffer.scrollTop;return x>=0?this._moveCursor(0,-Math.min(x,X.params[0]||1)):this._moveCursor(0,-(X.params[0]||1)),!0}cursorDown(X){const x=this._activeBuffer.scrollBottom-this._activeBuffer.y;return x>=0?this._moveCursor(0,Math.min(x,X.params[0]||1)):this._moveCursor(0,X.params[0]||1),!0}cursorForward(X){return this._moveCursor(X.params[0]||1,0),!0}cursorBackward(X){return this._moveCursor(-(X.params[0]||1),0),!0}cursorNextLine(X){return this.cursorDown(X),this._activeBuffer.x=0,!0}cursorPrecedingLine(X){return this.cursorUp(X),this._activeBuffer.x=0,!0}cursorCharAbsolute(X){return this._setCursor((X.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(X){return this._setCursor(X.length>=2?(X.params[1]||1)-1:0,(X.params[0]||1)-1),!0}charPosAbsolute(X){return this._setCursor((X.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(X){return this._moveCursor(X.params[0]||1,0),!0}linePosAbsolute(X){return this._setCursor(this._activeBuffer.x,(X.params[0]||1)-1),!0}vPositionRelative(X){return this._moveCursor(0,X.params[0]||1),!0}hVPosition(X){return this.cursorPosition(X),!0}tabClear(X){const x=X.params[0];return x===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:x===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(X){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let x=X.params[0]||1;for(;x--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(X){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let x=X.params[0]||1;for(;x--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(X){const x=X.params[0];return x===1&&(this._curAttrData.bg|=536870912),x!==2&&x!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(X,x,C,W=!1,E=!1){const D=this._activeBuffer.lines.get(this._activeBuffer.ybase+X);D.replaceCells(x,C,this._activeBuffer.getNullCell(this._eraseAttrData()),E),W&&(D.isWrapped=!1)}_resetBufferLine(X,x=!1){const C=this._activeBuffer.lines.get(this._activeBuffer.ybase+X);C&&(C.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),x),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+X),C.isWrapped=!1)}eraseInDisplay(X,x=!1){let C;switch(this._restrictCursor(this._bufferService.cols),X.params[0]){case 0:for(C=this._activeBuffer.y,this._dirtyRowTracker.markDirty(C),this._eraseInBufferLine(C++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,x);C<this._bufferService.rows;C++)this._resetBufferLine(C,x);this._dirtyRowTracker.markDirty(C);break;case 1:for(C=this._activeBuffer.y,this._dirtyRowTracker.markDirty(C),this._eraseInBufferLine(C,0,this._activeBuffer.x+1,!0,x),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(C+1).isWrapped=!1);C--;)this._resetBufferLine(C,x);this._dirtyRowTracker.markDirty(0);break;case 2:for(C=this._bufferService.rows,this._dirtyRowTracker.markDirty(C-1);C--;)this._resetBufferLine(C,x);this._dirtyRowTracker.markDirty(0);break;case 3:const W=this._activeBuffer.lines.length-this._bufferService.rows;W>0&&(this._activeBuffer.lines.trimStart(W),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-W,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-W,0),this._onScroll.fire(0))}return!0}eraseInLine(X,x=!1){switch(this._restrictCursor(this._bufferService.cols),X.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,x);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,x);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,x)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(X){this._restrictCursor();let x=X.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const C=this._activeBuffer.ybase+this._activeBuffer.y,W=this._bufferService.rows-1-this._activeBuffer.scrollBottom,E=this._bufferService.rows-1+this._activeBuffer.ybase-W+1;for(;x--;)this._activeBuffer.lines.splice(E-1,1),this._activeBuffer.lines.splice(C,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(X){this._restrictCursor();let x=X.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const C=this._activeBuffer.ybase+this._activeBuffer.y;let W;for(W=this._bufferService.rows-1-this._activeBuffer.scrollBottom,W=this._bufferService.rows-1+this._activeBuffer.ybase-W;x--;)this._activeBuffer.lines.splice(C,1),this._activeBuffer.lines.splice(W,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(X){this._restrictCursor();const x=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return x&&(x.insertCells(this._activeBuffer.x,X.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(X){this._restrictCursor();const x=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return x&&(x.deleteCells(this._activeBuffer.x,X.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(X){let x=X.params[0]||1;for(;x--;)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(X){let x=X.params[0]||1;for(;x--;)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(g.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(X){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const x=X.params[0]||1;for(let C=this._activeBuffer.scrollTop;C<=this._activeBuffer.scrollBottom;++C){const W=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);W.deleteCells(0,x,this._activeBuffer.getNullCell(this._eraseAttrData())),W.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(X){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const x=X.params[0]||1;for(let C=this._activeBuffer.scrollTop;C<=this._activeBuffer.scrollBottom;++C){const W=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);W.insertCells(0,x,this._activeBuffer.getNullCell(this._eraseAttrData())),W.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(X){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const x=X.params[0]||1;for(let C=this._activeBuffer.scrollTop;C<=this._activeBuffer.scrollBottom;++C){const W=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);W.insertCells(this._activeBuffer.x,x,this._activeBuffer.getNullCell(this._eraseAttrData())),W.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(X){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const x=X.params[0]||1;for(let C=this._activeBuffer.scrollTop;C<=this._activeBuffer.scrollBottom;++C){const W=this._activeBuffer.lines.get(this._activeBuffer.ybase+C);W.deleteCells(this._activeBuffer.x,x,this._activeBuffer.getNullCell(this._eraseAttrData())),W.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(X){this._restrictCursor();const x=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return x&&(x.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(X.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(X){const x=this._parser.precedingJoinState;if(!x)return!0;const C=X.params[0]||1,W=P.UnicodeService.extractWidth(x),E=this._activeBuffer.x-W,D=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(E),te=new Uint32Array(D.length*C);let ne=0;for(let k=0;k<D.length;){const M=D.codePointAt(k)||0;te[ne++]=M,k+=M>65535?2:1}let U=ne;for(let k=1;k<C;++k)te.copyWithin(U,0,ne),U+=ne;return this.print(te,0,U),!0}sendDeviceAttributesPrimary(X){return X.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(h.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(h.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(X){return X.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(h.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(h.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(X.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(h.C0.ESC+"[>83;40003;0c")),!0}_is(X){return(this._optionsService.rawOptions.termName+"").indexOf(X)===0}setMode(X){for(let x=0;x<X.length;x++)switch(X.params[x]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(X){for(let x=0;x<X.length;x++)switch(X.params[x]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,u.DEFAULT_CHARSET),this._charsetService.setgCharset(1,u.DEFAULT_CHARSET),this._charsetService.setgCharset(2,u.DEFAULT_CHARSET),this._charsetService.setgCharset(3,u.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(X){for(let x=0;x<X.length;x++)switch(X.params[x]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(X){for(let x=0;x<X.length;x++)switch(X.params[x]){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(),X.params[x]===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(X,x){const C=this._coreService.decPrivateModes,{activeProtocol:W,activeEncoding:E}=this._coreMouseService,D=this._coreService,{buffers:te,cols:ne}=this._bufferService,{active:U,alt:k}=te,M=this._optionsService.rawOptions,j=qe=>qe?1:2,ee=X.params[0];return H=ee,de=x?ee===2?4:ee===4?j(D.modes.insertMode):ee===12?3:ee===20?j(M.convertEol):0:ee===1?j(C.applicationCursorKeys):ee===3?M.windowOptions.setWinLines?ne===80?2:ne===132?1:0:0:ee===6?j(C.origin):ee===7?j(C.wraparound):ee===8?3:ee===9?j(W==="X10"):ee===12?j(M.cursorBlink):ee===25?j(!D.isCursorHidden):ee===45?j(C.reverseWraparound):ee===66?j(C.applicationKeypad):ee===67?4:ee===1e3?j(W==="VT200"):ee===1002?j(W==="DRAG"):ee===1003?j(W==="ANY"):ee===1004?j(C.sendFocus):ee===1005?4:ee===1006?j(E==="SGR"):ee===1015?4:ee===1016?j(E==="SGR_PIXELS"):ee===1048?1:ee===47||ee===1047||ee===1049?j(U===k):ee===2004?j(C.bracketedPasteMode):0,D.triggerDataEvent(`${h.C0.ESC}[${x?"":"?"}${H};${de}$y`),!0;var H,de}_updateAttrColor(X,x,C,W,E){return x===2?(X|=50331648,X&=-16777216,X|=$.AttributeData.fromColorRGB([C,W,E])):x===5&&(X&=-50331904,X|=33554432|255&C),X}_extractColor(X,x,C){const W=[0,0,-1,0,0,0];let E=0,D=0;do{if(W[D+E]=X.params[x+D],X.hasSubParams(x+D)){const te=X.getSubParams(x+D);let ne=0;do W[1]===5&&(E=1),W[D+ne+1+E]=te[ne];while(++ne<te.length&&ne+D+1+E<W.length);break}if(W[1]===5&&D+E>=2||W[1]===2&&D+E>=5)break;W[1]&&(E=1)}while(++D+x<X.length&&D+E<W.length);for(let te=2;te<W.length;++te)W[te]===-1&&(W[te]=0);switch(W[0]){case 38:C.fg=this._updateAttrColor(C.fg,W[1],W[3],W[4],W[5]);break;case 48:C.bg=this._updateAttrColor(C.bg,W[1],W[3],W[4],W[5]);break;case 58:C.extended=C.extended.clone(),C.extended.underlineColor=this._updateAttrColor(C.extended.underlineColor,W[1],W[3],W[4],W[5])}return D}_processUnderline(X,x){x.extended=x.extended.clone(),(!~X||X>5)&&(X=1),x.extended.underlineStyle=X,x.fg|=268435456,X===0&&(x.fg&=-268435457),x.updateExtended()}_processSGR0(X){X.fg=g.DEFAULT_ATTR_DATA.fg,X.bg=g.DEFAULT_ATTR_DATA.bg,X.extended=X.extended.clone(),X.extended.underlineStyle=0,X.extended.underlineColor&=-67108864,X.updateExtended()}charAttributes(X){if(X.length===1&&X.params[0]===0)return this._processSGR0(this._curAttrData),!0;const x=X.length;let C;const W=this._curAttrData;for(let E=0;E<x;E++)C=X.params[E],C>=30&&C<=37?(W.fg&=-50331904,W.fg|=16777216|C-30):C>=40&&C<=47?(W.bg&=-50331904,W.bg|=16777216|C-40):C>=90&&C<=97?(W.fg&=-50331904,W.fg|=16777224|C-90):C>=100&&C<=107?(W.bg&=-50331904,W.bg|=16777224|C-100):C===0?this._processSGR0(W):C===1?W.fg|=134217728:C===3?W.bg|=67108864:C===4?(W.fg|=268435456,this._processUnderline(X.hasSubParams(E)?X.getSubParams(E)[0]:1,W)):C===5?W.fg|=536870912:C===7?W.fg|=67108864:C===8?W.fg|=1073741824:C===9?W.fg|=2147483648:C===2?W.bg|=134217728:C===21?this._processUnderline(2,W):C===22?(W.fg&=-134217729,W.bg&=-134217729):C===23?W.bg&=-67108865:C===24?(W.fg&=-268435457,this._processUnderline(0,W)):C===25?W.fg&=-536870913:C===27?W.fg&=-67108865:C===28?W.fg&=-1073741825:C===29?W.fg&=2147483647:C===39?(W.fg&=-67108864,W.fg|=16777215&g.DEFAULT_ATTR_DATA.fg):C===49?(W.bg&=-67108864,W.bg|=16777215&g.DEFAULT_ATTR_DATA.bg):C===38||C===48||C===58?E+=this._extractColor(X,E,W):C===53?W.bg|=1073741824:C===55?W.bg&=-1073741825:C===59?(W.extended=W.extended.clone(),W.extended.underlineColor=-1,W.updateExtended()):C===100?(W.fg&=-67108864,W.fg|=16777215&g.DEFAULT_ATTR_DATA.fg,W.bg&=-67108864,W.bg|=16777215&g.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",C);return!0}deviceStatus(X){switch(X.params[0]){case 5:this._coreService.triggerDataEvent(`${h.C0.ESC}[0n`);break;case 6:const x=this._activeBuffer.y+1,C=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${h.C0.ESC}[${x};${C}R`)}return!0}deviceStatusPrivate(X){if(X.params[0]===6){const x=this._activeBuffer.y+1,C=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${h.C0.ESC}[?${x};${C}R`)}return!0}softReset(X){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=g.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(X){const x=X.params[0]||1;switch(x){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 C=x%2==1;return this._optionsService.options.cursorBlink=C,!0}setScrollRegion(X){const x=X.params[0]||1;let C;return(X.length<2||(C=X.params[1])>this._bufferService.rows||C===0)&&(C=this._bufferService.rows),C>x&&(this._activeBuffer.scrollTop=x-1,this._activeBuffer.scrollBottom=C-1,this._setCursor(0,0)),!0}windowOptions(X){if(!Z(X.params[0],this._optionsService.rawOptions.windowOptions))return!0;const x=X.length>1?X.params[1]:0;switch(X.params[0]){case 14:x!==2&&this._onRequestWindowsOptionsReport.fire(R.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(R.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${h.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:x!==0&&x!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),x!==0&&x!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:x!==0&&x!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),x!==0&&x!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(X){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(X){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(X){return this._windowTitle=X,this._onTitleChange.fire(X),!0}setIconName(X){return this._iconName=X,!0}setOrReportIndexedColor(X){const x=[],C=X.split(";");for(;C.length>1;){const W=C.shift(),E=C.shift();if(/^\d+$/.exec(W)){const D=parseInt(W);if(G(D))if(E==="?")x.push({type:0,index:D});else{const te=(0,b.parseColor)(E);te&&x.push({type:1,index:D,color:te})}}}return x.length&&this._onColor.fire(x),!0}setHyperlink(X){const x=X.split(";");return!(x.length<2)&&(x[1]?this._createHyperlink(x[0],x[1]):!x[0]&&this._finishHyperlink())}_createHyperlink(X,x){this._getCurrentLinkId()&&this._finishHyperlink();const C=X.split(":");let W;const E=C.findIndex(D=>D.startsWith("id="));return E!==-1&&(W=C[E].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:W,uri:x}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(X,x){const C=X.split(";");for(let W=0;W<C.length&&!(x>=this._specialColors.length);++W,++x)if(C[W]==="?")this._onColor.fire([{type:0,index:this._specialColors[x]}]);else{const E=(0,b.parseColor)(C[W]);E&&this._onColor.fire([{type:1,index:this._specialColors[x],color:E}])}return!0}setOrReportFgColor(X){return this._setOrReportSpecialColor(X,0)}setOrReportBgColor(X){return this._setOrReportSpecialColor(X,1)}setOrReportCursorColor(X){return this._setOrReportSpecialColor(X,2)}restoreIndexedColor(X){if(!X)return this._onColor.fire([{type:2}]),!0;const x=[],C=X.split(";");for(let W=0;W<C.length;++W)if(/^\d+$/.exec(C[W])){const E=parseInt(C[W]);G(E)&&x.push({type:2,index:E})}return x.length&&this._onColor.fire(x),!0}restoreFgColor(X){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(X){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(X){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,u.DEFAULT_CHARSET),!0}selectCharset(X){return X.length!==2?(this.selectDefaultCharset(),!0):(X[0]==="/"||this._charsetService.setgCharset(T[X[0]],u.CHARSETS[X[1]]||u.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 X=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,X,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=g.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=g.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(X){return this._charsetService.setgLevel(X),!0}screenAlignmentPattern(){const X=new p.CellData;X.content=4194373,X.fg=this._curAttrData.fg,X.bg=this._curAttrData.bg,this._setCursor(0,0);for(let x=0;x<this._bufferService.rows;++x){const C=this._activeBuffer.ybase+this._activeBuffer.y+x,W=this._activeBuffer.lines.get(C);W&&(W.fill(X),W.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(X,x){const C=this._bufferService.buffer,W=this._optionsService.rawOptions;return(E=>(this._coreService.triggerDataEvent(`${h.C0.ESC}${E}${h.C0.ESC}\\`),!0))(X==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:X==='"p'?'P1$r61;1"p':X==="r"?`P1$r${C.scrollTop+1};${C.scrollBottom+1}r`:X==="m"?"P1$r0m":X===" q"?`P1$r${{block:2,underline:4,bar:6}[W.cursorStyle]-(W.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(X,x){this._dirtyRowTracker.markRangeDirty(X,x)}}a.InputHandler=V;let L=class{constructor(q){this._bufferService=q,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(q){q<this.start?this.start=q:q>this.end&&(this.end=q)}markRangeDirty(q,X){q>X&&(z=q,q=X,X=z),q<this.start&&(this.start=q),X>this.end&&(this.end=X)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function G(q){return 0<=q&&q<256}L=O([c(0,_.IBufferService)],L)},844:(o,a)=>{function l(O){for(const c of O)c.dispose();O.length=0}Object.defineProperty(a,"__esModule",{value:!0}),a.getDisposeArrayDisposable=a.disposeArray=a.toDisposable=a.MutableDisposable=a.Disposable=void 0,a.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const O of this._disposables)O.dispose();this._disposables.length=0}register(O){return this._disposables.push(O),O}unregister(O){const c=this._disposables.indexOf(O);c!==-1&&this._disposables.splice(c,1)}},a.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(O){var c;this._isDisposed||O===this._value||((c=this._value)==null||c.dispose(),this._value=O)}clear(){this.value=void 0}dispose(){var O;this._isDisposed=!0,(O=this._value)==null||O.dispose(),this._value=void 0}},a.toDisposable=function(O){return{dispose:O}},a.disposeArray=l,a.getDisposeArrayDisposable=function(O){return{dispose:()=>l(O)}}},1505:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.FourKeyMap=a.TwoKeyMap=void 0;class l{constructor(){this._data={}}set(c,h,u){this._data[c]||(this._data[c]={}),this._data[c][h]=u}get(c,h){return this._data[c]?this._data[c][h]:void 0}clear(){this._data={}}}a.TwoKeyMap=l,a.FourKeyMap=class{constructor(){this._data=new l}set(O,c,h,u,m){this._data.get(O,c)||this._data.set(O,c,new l),this._data.get(O,c).set(h,u,m)}get(O,c,h,u){var m;return(m=this._data.get(O,c))==null?void 0:m.get(h,u)}clear(){this._data.clear()}}},6114:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.isChromeOS=a.isLinux=a.isWindows=a.isIphone=a.isIpad=a.isMac=a.getSafariVersion=a.isSafari=a.isLegacyEdge=a.isFirefox=a.isNode=void 0,a.isNode=typeof process<"u"&&"title"in process;const l=a.isNode?"node":navigator.userAgent,O=a.isNode?"node":navigator.platform;a.isFirefox=l.includes("Firefox"),a.isLegacyEdge=l.includes("Edge"),a.isSafari=/^((?!chrome|android).)*safari/i.test(l),a.getSafariVersion=function(){if(!a.isSafari)return 0;const c=l.match(/Version\/(\d+)/);return c===null||c.length<2?0:parseInt(c[1])},a.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(O),a.isIpad=O==="iPad",a.isIphone=O==="iPhone",a.isWindows=["Windows","Win16","Win32","WinCE"].includes(O),a.isLinux=O.indexOf("Linux")>=0,a.isChromeOS=/\bCrOS\b/.test(l)},6106:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.SortedList=void 0;let l=0;a.SortedList=class{constructor(O){this._getKey=O,this._array=[]}clear(){this._array.length=0}insert(O){this._array.length!==0?(l=this._search(this._getKey(O)),this._array.splice(l,0,O)):this._array.push(O)}delete(O){if(this._array.length===0)return!1;const c=this._getKey(O);if(c===void 0||(l=this._search(c),l===-1)||this._getKey(this._array[l])!==c)return!1;do if(this._array[l]===O)return this._array.splice(l,1),!0;while(++l<this._array.length&&this._getKey(this._array[l])===c);return!1}*getKeyIterator(O){if(this._array.length!==0&&(l=this._search(O),!(l<0||l>=this._array.length)&&this._getKey(this._array[l])===O))do yield this._array[l];while(++l<this._array.length&&this._getKey(this._array[l])===O)}forEachByKey(O,c){if(this._array.length!==0&&(l=this._search(O),!(l<0||l>=this._array.length)&&this._getKey(this._array[l])===O))do c(this._array[l]);while(++l<this._array.length&&this._getKey(this._array[l])===O)}values(){return[...this._array].values()}_search(O){let c=0,h=this._array.length-1;for(;h>=c;){let u=c+h>>1;const m=this._getKey(this._array[u]);if(m>O)h=u-1;else{if(!(m<O)){for(;u>0&&this._getKey(this._array[u-1])===O;)u--;return u}c=u+1}}return c}}},7226:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.DebouncedIdleTask=a.IdleTaskQueue=a.PriorityTaskQueue=void 0;const O=l(6114);class c{constructor(){this._tasks=[],this._i=0}enqueue(m){this._tasks.push(m),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(m){this._idleCallback=void 0;let S=0,Q=0,g=m.timeRemaining(),d=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),Q=Math.max(S,Q),d=m.timeRemaining(),1.5*Q>d)return g-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(g-S))}ms`),void this._start();g=d}this.clear()}}class h extends c{_requestCallback(m){return setTimeout(()=>m(this._createDeadline(16)))}_cancelCallback(m){clearTimeout(m)}_createDeadline(m){const S=Date.now()+m;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}a.PriorityTaskQueue=h,a.IdleTaskQueue=!O.isNode&&"requestIdleCallback"in window?class extends c{_requestCallback(u){return requestIdleCallback(u)}_cancelCallback(u){cancelIdleCallback(u)}}:h,a.DebouncedIdleTask=class{constructor(){this._queue=new a.IdleTaskQueue}set(u){this._queue.clear(),this._queue.enqueue(u)}flush(){this._queue.flush()}}},9282:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.updateWindowsModeWrappedState=void 0;const O=l(643);a.updateWindowsModeWrappedState=function(c){const h=c.buffer.lines.get(c.buffer.ybase+c.buffer.y-1),u=h==null?void 0:h.get(c.cols-1),m=c.buffer.lines.get(c.buffer.ybase+c.buffer.y);m&&u&&(m.isWrapped=u[O.CHAR_DATA_CODE_INDEX]!==O.NULL_CELL_CODE&&u[O.CHAR_DATA_CODE_INDEX]!==O.WHITESPACE_CELL_CODE)}},3734:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ExtendedAttrs=a.AttributeData=void 0;class l{constructor(){this.fg=0,this.bg=0,this.extended=new O}static toColorRGB(h){return[h>>>16&255,h>>>8&255,255&h]}static fromColorRGB(h){return(255&h[0])<<16|(255&h[1])<<8|255&h[2]}clone(){const h=new l;return h.fg=this.fg,h.bg=this.bg,h.extended=this.extended.clone(),h}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}}a.AttributeData=l;class O{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(h){this._ext=h}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(h){this._ext&=-469762049,this._ext|=h<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(h){this._ext&=-67108864,this._ext|=67108863&h}get urlId(){return this._urlId}set urlId(h){this._urlId=h}get underlineVariantOffset(){const h=(3758096384&this._ext)>>29;return h<0?4294967288^h:h}set underlineVariantOffset(h){this._ext&=536870911,this._ext|=h<<29&3758096384}constructor(h=0,u=0){this._ext=0,this._urlId=0,this._ext=h,this._urlId=u}clone(){return new O(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}a.ExtendedAttrs=O},9092:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.Buffer=a.MAX_BUFFER_SIZE=void 0;const O=l(6349),c=l(7226),h=l(3734),u=l(8437),m=l(4634),S=l(511),Q=l(643),g=l(4863),d=l(7116);a.MAX_BUFFER_SIZE=4294967295,a.Buffer=class{constructor(f,p,$){this._hasScrollback=f,this._optionsService=p,this._bufferService=$,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=u.DEFAULT_ATTR_DATA.clone(),this.savedCharset=d.DEFAULT_CHARSET,this.markers=[],this._nullCell=S.CellData.fromCharData([0,Q.NULL_CELL_CHAR,Q.NULL_CELL_WIDTH,Q.NULL_CELL_CODE]),this._whitespaceCell=S.CellData.fromCharData([0,Q.WHITESPACE_CELL_CHAR,Q.WHITESPACE_CELL_WIDTH,Q.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new c.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new O.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(f){return f?(this._nullCell.fg=f.fg,this._nullCell.bg=f.bg,this._nullCell.extended=f.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell}getWhitespaceCell(f){return f?(this._whitespaceCell.fg=f.fg,this._whitespaceCell.bg=f.bg,this._whitespaceCell.extended=f.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell}getBlankLine(f,p){return new u.BufferLine(this._bufferService.cols,this.getNullCell(f),p)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const f=this.ybase+this.y-this.ydisp;return f>=0&&f<this._rows}_getCorrectBufferLength(f){if(!this._hasScrollback)return f;const p=f+this._optionsService.rawOptions.scrollback;return p>a.MAX_BUFFER_SIZE?a.MAX_BUFFER_SIZE:p}fillViewportRows(f){if(this.lines.length===0){f===void 0&&(f=u.DEFAULT_ATTR_DATA);let p=this._rows;for(;p--;)this.lines.push(this.getBlankLine(f))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new O.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(f,p){const $=this.getNullCell(u.DEFAULT_ATTR_DATA);let _=0;const P=this._getCorrectBufferLength(p);if(P>this.lines.maxLength&&(this.lines.maxLength=P),this.lines.length>0){if(this._cols<f)for(let v=0;v<this.lines.length;v++)_+=+this.lines.get(v).resize(f,$);let w=0;if(this._rows<p)for(let v=this._rows;v<p;v++)this.lines.length<p+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new u.BufferLine(f,$)):this.ybase>0&&this.lines.length<=this.ybase+this.y+w+1?(this.ybase--,w++,this.ydisp>0&&this.ydisp--):this.lines.push(new u.BufferLine(f,$)));else for(let v=this._rows;v>p;v--)this.lines.length>p+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(P<this.lines.maxLength){const v=this.lines.length-P;v>0&&(this.lines.trimStart(v),this.ybase=Math.max(this.ybase-v,0),this.ydisp=Math.max(this.ydisp-v,0),this.savedY=Math.max(this.savedY-v,0)),this.lines.maxLength=P}this.x=Math.min(this.x,f-1),this.y=Math.min(this.y,p-1),w&&(this.y+=w),this.savedX=Math.min(this.savedX,f-1),this.scrollTop=0}if(this.scrollBottom=p-1,this._isReflowEnabled&&(this._reflow(f,p),this._cols>f))for(let w=0;w<this.lines.length;w++)_+=+this.lines.get(w).resize(f,$);this._cols=f,this._rows=p,this._memoryCleanupQueue.clear(),_>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let f=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,f=!1);let p=0;for(;this._memoryCleanupPosition<this.lines.length;)if(p+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),p>100)return!0;return f}get _isReflowEnabled(){const f=this._optionsService.rawOptions.windowsPty;return f&&f.buildNumber?this._hasScrollback&&f.backend==="conpty"&&f.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(f,p){this._cols!==f&&(f>this._cols?this._reflowLarger(f,p):this._reflowSmaller(f,p))}_reflowLarger(f,p){const $=(0,m.reflowLargerGetLinesToRemove)(this.lines,this._cols,f,this.ybase+this.y,this.getNullCell(u.DEFAULT_ATTR_DATA));if($.length>0){const _=(0,m.reflowLargerCreateNewLayout)(this.lines,$);(0,m.reflowLargerApplyNewLayout)(this.lines,_.layout),this._reflowLargerAdjustViewport(f,p,_.countRemoved)}}_reflowLargerAdjustViewport(f,p,$){const _=this.getNullCell(u.DEFAULT_ATTR_DATA);let P=$;for(;P-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<p&&this.lines.push(new u.BufferLine(f,_))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-$,0)}_reflowSmaller(f,p){const $=this.getNullCell(u.DEFAULT_ATTR_DATA),_=[];let P=0;for(let w=this.lines.length-1;w>=0;w--){let v=this.lines.get(w);if(!v||!v.isWrapped&&v.getTrimmedLength()<=f)continue;const b=[v];for(;v.isWrapped&&w>0;)v=this.lines.get(--w),b.unshift(v);const T=this.ybase+this.y;if(T>=w&&T<w+b.length)continue;const Y=b[b.length-1].getTrimmedLength(),Z=(0,m.reflowSmallerGetNewLineLengths)(b,this._cols,f),R=Z.length-b.length;let z;z=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+R):Math.max(0,this.lines.length-this.lines.maxLength+R);const V=[];for(let C=0;C<R;C++){const W=this.getBlankLine(u.DEFAULT_ATTR_DATA,!0);V.push(W)}V.length>0&&(_.push({start:w+b.length+P,newLines:V}),P+=V.length),b.push(...V);let L=Z.length-1,G=Z[L];G===0&&(L--,G=Z[L]);let q=b.length-R-1,X=Y;for(;q>=0;){const C=Math.min(X,G);if(b[L]===void 0)break;if(b[L].copyCellsFrom(b[q],X-C,G-C,C,!0),G-=C,G===0&&(L--,G=Z[L]),X-=C,X===0){q--;const W=Math.max(q,0);X=(0,m.getWrappedLineTrimmedLength)(b,W,this._cols)}}for(let C=0;C<b.length;C++)Z[C]<f&&b[C].setCell(Z[C],$);let x=R-z;for(;x-- >0;)this.ybase===0?this.y<p-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+P)-p&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+R,this.ybase+p-1)}if(_.length>0){const w=[],v=[];for(let L=0;L<this.lines.length;L++)v.push(this.lines.get(L));const b=this.lines.length;let T=b-1,Y=0,Z=_[Y];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+P);let R=0;for(let L=Math.min(this.lines.maxLength-1,b+P-1);L>=0;L--)if(Z&&Z.start>T+R){for(let G=Z.newLines.length-1;G>=0;G--)this.lines.set(L--,Z.newLines[G]);L++,w.push({index:T+1,amount:Z.newLines.length}),R+=Z.newLines.length,Z=_[++Y]}else this.lines.set(L,v[T--]);let z=0;for(let L=w.length-1;L>=0;L--)w[L].index+=z,this.lines.onInsertEmitter.fire(w[L]),z+=w[L].amount;const V=Math.max(0,b+P-this.lines.maxLength);V>0&&this.lines.onTrimEmitter.fire(V)}}translateBufferLineToString(f,p,$=0,_){const P=this.lines.get(f);return P?P.translateToString(p,$,_):""}getWrappedRangeForLine(f){let p=f,$=f;for(;p>0&&this.lines.get(p).isWrapped;)p--;for(;$+1<this.lines.length&&this.lines.get($+1).isWrapped;)$++;return{first:p,last:$}}setupTabStops(f){for(f!=null?this.tabs[f]||(f=this.prevStop(f)):(this.tabs={},f=0);f<this._cols;f+=this._optionsService.rawOptions.tabStopWidth)this.tabs[f]=!0}prevStop(f){for(f==null&&(f=this.x);!this.tabs[--f]&&f>0;);return f>=this._cols?this._cols-1:f<0?0:f}nextStop(f){for(f==null&&(f=this.x);!this.tabs[++f]&&f<this._cols;);return f>=this._cols?this._cols-1:f<0?0:f}clearMarkers(f){this._isClearing=!0;for(let p=0;p<this.markers.length;p++)this.markers[p].line===f&&(this.markers[p].dispose(),this.markers.splice(p--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let f=0;f<this.markers.length;f++)this.markers[f].dispose(),this.markers.splice(f--,1);this._isClearing=!1}addMarker(f){const p=new g.Marker(f);return this.markers.push(p),p.register(this.lines.onTrim($=>{p.line-=$,p.line<0&&p.dispose()})),p.register(this.lines.onInsert($=>{p.line>=$.index&&(p.line+=$.amount)})),p.register(this.lines.onDelete($=>{p.line>=$.index&&p.line<$.index+$.amount&&p.dispose(),p.line>$.index&&(p.line-=$.amount)})),p.register(p.onDispose(()=>this._removeMarker(p))),p}_removeMarker(f){this._isClearing||this.markers.splice(this.markers.indexOf(f),1)}}},8437:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.BufferLine=a.DEFAULT_ATTR_DATA=void 0;const O=l(3734),c=l(511),h=l(643),u=l(482);a.DEFAULT_ATTR_DATA=Object.freeze(new O.AttributeData);let m=0;class S{constructor(g,d,f=!1){this.isWrapped=f,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*g);const p=d||c.CellData.fromCharData([0,h.NULL_CELL_CHAR,h.NULL_CELL_WIDTH,h.NULL_CELL_CODE]);for(let $=0;$<g;++$)this.setCell($,p);this.length=g}get(g){const d=this._data[3*g+0],f=2097151&d;return[this._data[3*g+1],2097152&d?this._combined[g]:f?(0,u.stringFromCodePoint)(f):"",d>>22,2097152&d?this._combined[g].charCodeAt(this._combined[g].length-1):f]}set(g,d){this._data[3*g+1]=d[h.CHAR_DATA_ATTR_INDEX],d[h.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[g]=d[1],this._data[3*g+0]=2097152|g|d[h.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*g+0]=d[h.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|d[h.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(g){return this._data[3*g+0]>>22}hasWidth(g){return 12582912&this._data[3*g+0]}getFg(g){return this._data[3*g+1]}getBg(g){return this._data[3*g+2]}hasContent(g){return 4194303&this._data[3*g+0]}getCodePoint(g){const d=this._data[3*g+0];return 2097152&d?this._combined[g].charCodeAt(this._combined[g].length-1):2097151&d}isCombined(g){return 2097152&this._data[3*g+0]}getString(g){const d=this._data[3*g+0];return 2097152&d?this._combined[g]:2097151&d?(0,u.stringFromCodePoint)(2097151&d):""}isProtected(g){return 536870912&this._data[3*g+2]}loadCell(g,d){return m=3*g,d.content=this._data[m+0],d.fg=this._data[m+1],d.bg=this._data[m+2],2097152&d.content&&(d.combinedData=this._combined[g]),268435456&d.bg&&(d.extended=this._extendedAttrs[g]),d}setCell(g,d){2097152&d.content&&(this._combined[g]=d.combinedData),268435456&d.bg&&(this._extendedAttrs[g]=d.extended),this._data[3*g+0]=d.content,this._data[3*g+1]=d.fg,this._data[3*g+2]=d.bg}setCellFromCodepoint(g,d,f,p){268435456&p.bg&&(this._extendedAttrs[g]=p.extended),this._data[3*g+0]=d|f<<22,this._data[3*g+1]=p.fg,this._data[3*g+2]=p.bg}addCodepointToCell(g,d,f){let p=this._data[3*g+0];2097152&p?this._combined[g]+=(0,u.stringFromCodePoint)(d):2097151&p?(this._combined[g]=(0,u.stringFromCodePoint)(2097151&p)+(0,u.stringFromCodePoint)(d),p&=-2097152,p|=2097152):p=d|4194304,f&&(p&=-12582913,p|=f<<22),this._data[3*g+0]=p}insertCells(g,d,f){if((g%=this.length)&&this.getWidth(g-1)===2&&this.setCellFromCodepoint(g-1,0,1,f),d<this.length-g){const p=new c.CellData;for(let $=this.length-g-d-1;$>=0;--$)this.setCell(g+d+$,this.loadCell(g+$,p));for(let $=0;$<d;++$)this.setCell(g+$,f)}else for(let p=g;p<this.length;++p)this.setCell(p,f);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,f)}deleteCells(g,d,f){if(g%=this.length,d<this.length-g){const p=new c.CellData;for(let $=0;$<this.length-g-d;++$)this.setCell(g+$,this.loadCell(g+d+$,p));for(let $=this.length-d;$<this.length;++$)this.setCell($,f)}else for(let p=g;p<this.length;++p)this.setCell(p,f);g&&this.getWidth(g-1)===2&&this.setCellFromCodepoint(g-1,0,1,f),this.getWidth(g)!==0||this.hasContent(g)||this.setCellFromCodepoint(g,0,1,f)}replaceCells(g,d,f,p=!1){if(p)for(g&&this.getWidth(g-1)===2&&!this.isProtected(g-1)&&this.setCellFromCodepoint(g-1,0,1,f),d<this.length&&this.getWidth(d-1)===2&&!this.isProtected(d)&&this.setCellFromCodepoint(d,0,1,f);g<d&&g<this.length;)this.isProtected(g)||this.setCell(g,f),g++;else for(g&&this.getWidth(g-1)===2&&this.setCellFromCodepoint(g-1,0,1,f),d<this.length&&this.getWidth(d-1)===2&&this.setCellFromCodepoint(d,0,1,f);g<d&&g<this.length;)this.setCell(g++,f)}resize(g,d){if(g===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const f=3*g;if(g>this.length){if(this._data.buffer.byteLength>=4*f)this._data=new Uint32Array(this._data.buffer,0,f);else{const p=new Uint32Array(f);p.set(this._data),this._data=p}for(let p=this.length;p<g;++p)this.setCell(p,d)}else{this._data=this._data.subarray(0,f);const p=Object.keys(this._combined);for(let _=0;_<p.length;_++){const P=parseInt(p[_],10);P>=g&&delete this._combined[P]}const $=Object.keys(this._extendedAttrs);for(let _=0;_<$.length;_++){const P=parseInt($[_],10);P>=g&&delete this._extendedAttrs[P]}}return this.length=g,4*f*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const g=new Uint32Array(this._data.length);return g.set(this._data),this._data=g,1}return 0}fill(g,d=!1){if(d)for(let f=0;f<this.length;++f)this.isProtected(f)||this.setCell(f,g);else{this._combined={},this._extendedAttrs={};for(let f=0;f<this.length;++f)this.setCell(f,g)}}copyFrom(g){this.length!==g.length?this._data=new Uint32Array(g._data):this._data.set(g._data),this.length=g.length,this._combined={};for(const d in g._combined)this._combined[d]=g._combined[d];this._extendedAttrs={};for(const d in g._extendedAttrs)this._extendedAttrs[d]=g._extendedAttrs[d];this.isWrapped=g.isWrapped}clone(){const g=new S(0);g._data=new Uint32Array(this._data),g.length=this.length;for(const d in this._combined)g._combined[d]=this._combined[d];for(const d in this._extendedAttrs)g._extendedAttrs[d]=this._extendedAttrs[d];return g.isWrapped=this.isWrapped,g}getTrimmedLength(){for(let g=this.length-1;g>=0;--g)if(4194303&this._data[3*g+0])return g+(this._data[3*g+0]>>22);return 0}getNoBgTrimmedLength(){for(let g=this.length-1;g>=0;--g)if(4194303&this._data[3*g+0]||50331648&this._data[3*g+2])return g+(this._data[3*g+0]>>22);return 0}copyCellsFrom(g,d,f,p,$){const _=g._data;if($)for(let w=p-1;w>=0;w--){for(let v=0;v<3;v++)this._data[3*(f+w)+v]=_[3*(d+w)+v];268435456&_[3*(d+w)+2]&&(this._extendedAttrs[f+w]=g._extendedAttrs[d+w])}else for(let w=0;w<p;w++){for(let v=0;v<3;v++)this._data[3*(f+w)+v]=_[3*(d+w)+v];268435456&_[3*(d+w)+2]&&(this._extendedAttrs[f+w]=g._extendedAttrs[d+w])}const P=Object.keys(g._combined);for(let w=0;w<P.length;w++){const v=parseInt(P[w],10);v>=d&&(this._combined[v-d+f]=g._combined[v])}}translateToString(g,d,f,p){d=d??0,f=f??this.length,g&&(f=Math.min(f,this.getTrimmedLength())),p&&(p.length=0);let $="";for(;d<f;){const _=this._data[3*d+0],P=2097151&_,w=2097152&_?this._combined[d]:P?(0,u.stringFromCodePoint)(P):h.WHITESPACE_CELL_CHAR;if($+=w,p)for(let v=0;v<w.length;++v)p.push(d);d+=_>>22||1}return p&&p.push(d),$}}a.BufferLine=S},4841:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.getRangeLength=void 0,a.getRangeLength=function(l,O){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 O*(l.end.y-l.start.y)+(l.end.x-l.start.x+1)}},4634:(o,a)=>{function l(O,c,h){if(c===O.length-1)return O[c].getTrimmedLength();const u=!O[c].hasContent(h-1)&&O[c].getWidth(h-1)===1,m=O[c+1].getWidth(0)===2;return u&&m?h-1:h}Object.defineProperty(a,"__esModule",{value:!0}),a.getWrappedLineTrimmedLength=a.reflowSmallerGetNewLineLengths=a.reflowLargerApplyNewLayout=a.reflowLargerCreateNewLayout=a.reflowLargerGetLinesToRemove=void 0,a.reflowLargerGetLinesToRemove=function(O,c,h,u,m){const S=[];for(let Q=0;Q<O.length-1;Q++){let g=Q,d=O.get(++g);if(!d.isWrapped)continue;const f=[O.get(Q)];for(;g<O.length&&d.isWrapped;)f.push(d),d=O.get(++g);if(u>=Q&&u<g){Q+=f.length-1;continue}let p=0,$=l(f,p,c),_=1,P=0;for(;_<f.length;){const v=l(f,_,c),b=v-P,T=h-$,Y=Math.min(b,T);f[p].copyCellsFrom(f[_],P,$,Y,!1),$+=Y,$===h&&(p++,$=0),P+=Y,P===v&&(_++,P=0),$===0&&p!==0&&f[p-1].getWidth(h-1)===2&&(f[p].copyCellsFrom(f[p-1],h-1,$++,1,!1),f[p-1].setCell(h-1,m))}f[p].replaceCells($,h,m);let w=0;for(let v=f.length-1;v>0&&(v>p||f[v].getTrimmedLength()===0);v--)w++;w>0&&(S.push(Q+f.length-w),S.push(w)),Q+=f.length-1}return S},a.reflowLargerCreateNewLayout=function(O,c){const h=[];let u=0,m=c[u],S=0;for(let Q=0;Q<O.length;Q++)if(m===Q){const g=c[++u];O.onDeleteEmitter.fire({index:Q-S,amount:g}),Q+=g-1,S+=g,m=c[++u]}else h.push(Q);return{layout:h,countRemoved:S}},a.reflowLargerApplyNewLayout=function(O,c){const h=[];for(let u=0;u<c.length;u++)h.push(O.get(c[u]));for(let u=0;u<h.length;u++)O.set(u,h[u]);O.length=c.length},a.reflowSmallerGetNewLineLengths=function(O,c,h){const u=[],m=O.map((d,f)=>l(O,f,c)).reduce((d,f)=>d+f);let S=0,Q=0,g=0;for(;g<m;){if(m-g<h){u.push(m-g);break}S+=h;const d=l(O,Q,c);S>d&&(S-=d,Q++);const f=O[Q].getWidth(S-1)===2;f&&S--;const p=f?h-1:h;u.push(p),g+=p}return u},a.getWrappedLineTrimmedLength=l},5295:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.BufferSet=void 0;const O=l(8460),c=l(844),h=l(9092);class u extends c.Disposable{constructor(S,Q){super(),this._optionsService=S,this._bufferService=Q,this._onBufferActivate=this.register(new O.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 h.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new h.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(S){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(S),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(S,Q){this._normal.resize(S,Q),this._alt.resize(S,Q),this.setupTabStops(S)}setupTabStops(S){this._normal.setupTabStops(S),this._alt.setupTabStops(S)}}a.BufferSet=u},511:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CellData=void 0;const O=l(482),c=l(643),h=l(3734);class u extends h.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new h.ExtendedAttrs,this.combinedData=""}static fromCharData(S){const Q=new u;return Q.setFromCharData(S),Q}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,O.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[c.CHAR_DATA_ATTR_INDEX],this.bg=0;let Q=!1;if(S[c.CHAR_DATA_CHAR_INDEX].length>2)Q=!0;else if(S[c.CHAR_DATA_CHAR_INDEX].length===2){const g=S[c.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=g&&g<=56319){const d=S[c.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=d&&d<=57343?this.content=1024*(g-55296)+d-56320+65536|S[c.CHAR_DATA_WIDTH_INDEX]<<22:Q=!0}else Q=!0}else this.content=S[c.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[c.CHAR_DATA_WIDTH_INDEX]<<22;Q&&(this.combinedData=S[c.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[c.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}a.CellData=u},643:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.WHITESPACE_CELL_CODE=a.WHITESPACE_CELL_WIDTH=a.WHITESPACE_CELL_CHAR=a.NULL_CELL_CODE=a.NULL_CELL_WIDTH=a.NULL_CELL_CHAR=a.CHAR_DATA_CODE_INDEX=a.CHAR_DATA_WIDTH_INDEX=a.CHAR_DATA_CHAR_INDEX=a.CHAR_DATA_ATTR_INDEX=a.DEFAULT_EXT=a.DEFAULT_ATTR=a.DEFAULT_COLOR=void 0,a.DEFAULT_COLOR=0,a.DEFAULT_ATTR=256|a.DEFAULT_COLOR<<9,a.DEFAULT_EXT=0,a.CHAR_DATA_ATTR_INDEX=0,a.CHAR_DATA_CHAR_INDEX=1,a.CHAR_DATA_WIDTH_INDEX=2,a.CHAR_DATA_CODE_INDEX=3,a.NULL_CELL_CHAR="",a.NULL_CELL_WIDTH=1,a.NULL_CELL_CODE=0,a.WHITESPACE_CELL_CHAR=" ",a.WHITESPACE_CELL_WIDTH=1,a.WHITESPACE_CELL_CODE=32},4863:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.Marker=void 0;const O=l(8460),c=l(844);class h{get id(){return this._id}constructor(m){this.line=m,this.isDisposed=!1,this._disposables=[],this._id=h._nextId++,this._onDispose=this.register(new O.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,c.disposeArray)(this._disposables),this._disposables.length=0)}register(m){return this._disposables.push(m),m}}a.Marker=h,h._nextId=1},7116:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.DEFAULT_CHARSET=a.CHARSETS=void 0,a.CHARSETS={},a.DEFAULT_CHARSET=a.CHARSETS.B,a.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:"≥","{":"π","|":"≠","}":"£","~":"·"},a.CHARSETS.A={"#":"£"},a.CHARSETS.B=void 0,a.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},a.CHARSETS.C=a.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},a.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},a.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},a.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},a.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},a.CHARSETS.E=a.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},a.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},a.CHARSETS.H=a.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},a.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(o,a)=>{var l,O,c;Object.defineProperty(a,"__esModule",{value:!0}),a.C1_ESCAPED=a.C1=a.C0=void 0,function(h){h.NUL="\0",h.SOH="",h.STX="",h.ETX="",h.EOT="",h.ENQ="",h.ACK="",h.BEL="\x07",h.BS="\b",h.HT=" ",h.LF=`
|
|
47
47
|
`,h.VT="\v",h.FF="\f",h.CR="\r",h.SO="",h.SI="",h.DLE="",h.DC1="",h.DC2="",h.DC3="",h.DC4="",h.NAK="",h.SYN="",h.ETB="",h.CAN="",h.EM="",h.SUB="",h.ESC="\x1B",h.FS="",h.GS="",h.RS="",h.US="",h.SP=" ",h.DEL=""}(l||(a.C0=l={})),function(h){h.PAD="",h.HOP="",h.BPH="",h.NBH="",h.IND="",h.NEL="
",h.SSA="",h.ESA="",h.HTS="",h.HTJ="",h.VTS="",h.PLD="",h.PLU="",h.RI="",h.SS2="",h.SS3="",h.DCS="",h.PU1="",h.PU2="",h.STS="",h.CCH="",h.MW="",h.SPA="",h.EPA="",h.SOS="",h.SGCI="",h.SCI="",h.CSI="",h.ST="",h.OSC="",h.PM="",h.APC=""}(O||(a.C1=O={})),function(h){h.ST=`${l.ESC}\\`}(c||(a.C1_ESCAPED=c={}))},7399:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.evaluateKeyboardEvent=void 0;const O=l(2584),c={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:["'",'"']};a.evaluateKeyboardEvent=function(h,u,m,S){const Q={type:0,cancel:!1,key:void 0},g=(h.shiftKey?1:0)|(h.altKey?2:0)|(h.ctrlKey?4:0)|(h.metaKey?8:0);switch(h.keyCode){case 0:h.key==="UIKeyInputUpArrow"?Q.key=u?O.C0.ESC+"OA":O.C0.ESC+"[A":h.key==="UIKeyInputLeftArrow"?Q.key=u?O.C0.ESC+"OD":O.C0.ESC+"[D":h.key==="UIKeyInputRightArrow"?Q.key=u?O.C0.ESC+"OC":O.C0.ESC+"[C":h.key==="UIKeyInputDownArrow"&&(Q.key=u?O.C0.ESC+"OB":O.C0.ESC+"[B");break;case 8:Q.key=h.ctrlKey?"\b":O.C0.DEL,h.altKey&&(Q.key=O.C0.ESC+Q.key);break;case 9:if(h.shiftKey){Q.key=O.C0.ESC+"[Z";break}Q.key=O.C0.HT,Q.cancel=!0;break;case 13:Q.key=h.altKey?O.C0.ESC+O.C0.CR:O.C0.CR,Q.cancel=!0;break;case 27:Q.key=O.C0.ESC,h.altKey&&(Q.key=O.C0.ESC+O.C0.ESC),Q.cancel=!0;break;case 37:if(h.metaKey)break;g?(Q.key=O.C0.ESC+"[1;"+(g+1)+"D",Q.key===O.C0.ESC+"[1;3D"&&(Q.key=O.C0.ESC+(m?"b":"[1;5D"))):Q.key=u?O.C0.ESC+"OD":O.C0.ESC+"[D";break;case 39:if(h.metaKey)break;g?(Q.key=O.C0.ESC+"[1;"+(g+1)+"C",Q.key===O.C0.ESC+"[1;3C"&&(Q.key=O.C0.ESC+(m?"f":"[1;5C"))):Q.key=u?O.C0.ESC+"OC":O.C0.ESC+"[C";break;case 38:if(h.metaKey)break;g?(Q.key=O.C0.ESC+"[1;"+(g+1)+"A",m||Q.key!==O.C0.ESC+"[1;3A"||(Q.key=O.C0.ESC+"[1;5A")):Q.key=u?O.C0.ESC+"OA":O.C0.ESC+"[A";break;case 40:if(h.metaKey)break;g?(Q.key=O.C0.ESC+"[1;"+(g+1)+"B",m||Q.key!==O.C0.ESC+"[1;3B"||(Q.key=O.C0.ESC+"[1;5B")):Q.key=u?O.C0.ESC+"OB":O.C0.ESC+"[B";break;case 45:h.shiftKey||h.ctrlKey||(Q.key=O.C0.ESC+"[2~");break;case 46:Q.key=g?O.C0.ESC+"[3;"+(g+1)+"~":O.C0.ESC+"[3~";break;case 36:Q.key=g?O.C0.ESC+"[1;"+(g+1)+"H":u?O.C0.ESC+"OH":O.C0.ESC+"[H";break;case 35:Q.key=g?O.C0.ESC+"[1;"+(g+1)+"F":u?O.C0.ESC+"OF":O.C0.ESC+"[F";break;case 33:h.shiftKey?Q.type=2:h.ctrlKey?Q.key=O.C0.ESC+"[5;"+(g+1)+"~":Q.key=O.C0.ESC+"[5~";break;case 34:h.shiftKey?Q.type=3:h.ctrlKey?Q.key=O.C0.ESC+"[6;"+(g+1)+"~":Q.key=O.C0.ESC+"[6~";break;case 112:Q.key=g?O.C0.ESC+"[1;"+(g+1)+"P":O.C0.ESC+"OP";break;case 113:Q.key=g?O.C0.ESC+"[1;"+(g+1)+"Q":O.C0.ESC+"OQ";break;case 114:Q.key=g?O.C0.ESC+"[1;"+(g+1)+"R":O.C0.ESC+"OR";break;case 115:Q.key=g?O.C0.ESC+"[1;"+(g+1)+"S":O.C0.ESC+"OS";break;case 116:Q.key=g?O.C0.ESC+"[15;"+(g+1)+"~":O.C0.ESC+"[15~";break;case 117:Q.key=g?O.C0.ESC+"[17;"+(g+1)+"~":O.C0.ESC+"[17~";break;case 118:Q.key=g?O.C0.ESC+"[18;"+(g+1)+"~":O.C0.ESC+"[18~";break;case 119:Q.key=g?O.C0.ESC+"[19;"+(g+1)+"~":O.C0.ESC+"[19~";break;case 120:Q.key=g?O.C0.ESC+"[20;"+(g+1)+"~":O.C0.ESC+"[20~";break;case 121:Q.key=g?O.C0.ESC+"[21;"+(g+1)+"~":O.C0.ESC+"[21~";break;case 122:Q.key=g?O.C0.ESC+"[23;"+(g+1)+"~":O.C0.ESC+"[23~";break;case 123:Q.key=g?O.C0.ESC+"[24;"+(g+1)+"~":O.C0.ESC+"[24~";break;default:if(!h.ctrlKey||h.shiftKey||h.altKey||h.metaKey)if(m&&!S||!h.altKey||h.metaKey)!m||h.altKey||h.ctrlKey||h.shiftKey||!h.metaKey?h.key&&!h.ctrlKey&&!h.altKey&&!h.metaKey&&h.keyCode>=48&&h.key.length===1?Q.key=h.key:h.key&&h.ctrlKey&&(h.key==="_"&&(Q.key=O.C0.US),h.key==="@"&&(Q.key=O.C0.NUL)):h.keyCode===65&&(Q.type=1);else{const d=c[h.keyCode],f=d==null?void 0:d[h.shiftKey?1:0];if(f)Q.key=O.C0.ESC+f;else if(h.keyCode>=65&&h.keyCode<=90){const p=h.ctrlKey?h.keyCode-64:h.keyCode+32;let $=String.fromCharCode(p);h.shiftKey&&($=$.toUpperCase()),Q.key=O.C0.ESC+$}else if(h.keyCode===32)Q.key=O.C0.ESC+(h.ctrlKey?O.C0.NUL:" ");else if(h.key==="Dead"&&h.code.startsWith("Key")){let p=h.code.slice(3,4);h.shiftKey||(p=p.toLowerCase()),Q.key=O.C0.ESC+p,Q.cancel=!0}}else h.keyCode>=65&&h.keyCode<=90?Q.key=String.fromCharCode(h.keyCode-64):h.keyCode===32?Q.key=O.C0.NUL:h.keyCode>=51&&h.keyCode<=55?Q.key=String.fromCharCode(h.keyCode-51+27):h.keyCode===56?Q.key=O.C0.DEL:h.keyCode===219?Q.key=O.C0.ESC:h.keyCode===220?Q.key=O.C0.FS:h.keyCode===221&&(Q.key=O.C0.GS)}return Q}},482:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.Utf8ToUtf32=a.StringToUtf32=a.utf32ToString=a.stringFromCodePoint=void 0,a.stringFromCodePoint=function(l){return l>65535?(l-=65536,String.fromCharCode(55296+(l>>10))+String.fromCharCode(l%1024+56320)):String.fromCharCode(l)},a.utf32ToString=function(l,O=0,c=l.length){let h="";for(let u=O;u<c;++u){let m=l[u];m>65535?(m-=65536,h+=String.fromCharCode(55296+(m>>10))+String.fromCharCode(m%1024+56320)):h+=String.fromCharCode(m)}return h},a.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(l,O){const c=l.length;if(!c)return 0;let h=0,u=0;if(this._interim){const m=l.charCodeAt(u++);56320<=m&&m<=57343?O[h++]=1024*(this._interim-55296)+m-56320+65536:(O[h++]=this._interim,O[h++]=m),this._interim=0}for(let m=u;m<c;++m){const S=l.charCodeAt(m);if(55296<=S&&S<=56319){if(++m>=c)return this._interim=S,h;const Q=l.charCodeAt(m);56320<=Q&&Q<=57343?O[h++]=1024*(S-55296)+Q-56320+65536:(O[h++]=S,O[h++]=Q)}else S!==65279&&(O[h++]=S)}return h}},a.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(l,O){const c=l.length;if(!c)return 0;let h,u,m,S,Q=0,g=0,d=0;if(this.interim[0]){let $=!1,_=this.interim[0];_&=(224&_)==192?31:(240&_)==224?15:7;let P,w=0;for(;(P=63&this.interim[++w])&&w<4;)_<<=6,_|=P;const v=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,b=v-w;for(;d<b;){if(d>=c)return 0;if(P=l[d++],(192&P)!=128){d--,$=!0;break}this.interim[w++]=P,_<<=6,_|=63&P}$||(v===2?_<128?d--:O[Q++]=_:v===3?_<2048||_>=55296&&_<=57343||_===65279||(O[Q++]=_):_<65536||_>1114111||(O[Q++]=_)),this.interim.fill(0)}const f=c-4;let p=d;for(;p<c;){for(;!(!(p<f)||128&(h=l[p])||128&(u=l[p+1])||128&(m=l[p+2])||128&(S=l[p+3]));)O[Q++]=h,O[Q++]=u,O[Q++]=m,O[Q++]=S,p+=4;if(h=l[p++],h<128)O[Q++]=h;else if((224&h)==192){if(p>=c)return this.interim[0]=h,Q;if(u=l[p++],(192&u)!=128){p--;continue}if(g=(31&h)<<6|63&u,g<128){p--;continue}O[Q++]=g}else if((240&h)==224){if(p>=c)return this.interim[0]=h,Q;if(u=l[p++],(192&u)!=128){p--;continue}if(p>=c)return this.interim[0]=h,this.interim[1]=u,Q;if(m=l[p++],(192&m)!=128){p--;continue}if(g=(15&h)<<12|(63&u)<<6|63&m,g<2048||g>=55296&&g<=57343||g===65279)continue;O[Q++]=g}else if((248&h)==240){if(p>=c)return this.interim[0]=h,Q;if(u=l[p++],(192&u)!=128){p--;continue}if(p>=c)return this.interim[0]=h,this.interim[1]=u,Q;if(m=l[p++],(192&m)!=128){p--;continue}if(p>=c)return this.interim[0]=h,this.interim[1]=u,this.interim[2]=m,Q;if(S=l[p++],(192&S)!=128){p--;continue}if(g=(7&h)<<18|(63&u)<<12|(63&m)<<6|63&S,g<65536||g>1114111)continue;O[Q++]=g}}return Q}}},225:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.UnicodeV6=void 0;const O=l(1480),c=[[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]],h=[[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 u;a.UnicodeV6=class{constructor(){if(this.version="6",!u){u=new Uint8Array(65536),u.fill(1),u[0]=0,u.fill(0,1,32),u.fill(0,127,160),u.fill(2,4352,4448),u[9001]=2,u[9002]=2,u.fill(2,11904,42192),u[12351]=1,u.fill(2,44032,55204),u.fill(2,63744,64256),u.fill(2,65040,65050),u.fill(2,65072,65136),u.fill(2,65280,65377),u.fill(2,65504,65511);for(let m=0;m<c.length;++m)u.fill(0,c[m][0],c[m][1]+1)}}wcwidth(m){return m<32?0:m<127?1:m<65536?u[m]:function(S,Q){let g,d=0,f=Q.length-1;if(S<Q[0][0]||S>Q[f][1])return!1;for(;f>=d;)if(g=d+f>>1,S>Q[g][1])d=g+1;else{if(!(S<Q[g][0]))return!0;f=g-1}return!1}(m,h)?0:m>=131072&&m<=196605||m>=196608&&m<=262141?2:1}charProperties(m,S){let Q=this.wcwidth(m),g=Q===0&&S!==0;if(g){const d=O.UnicodeService.extractWidth(S);d===0?g=!1:d>Q&&(Q=d)}return O.UnicodeService.createPropertyValue(0,Q,g)}}},5981:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.WriteBuffer=void 0;const O=l(8460),c=l(844);class h extends c.Disposable{constructor(m){super(),this._action=m,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new O.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(m,S){if(S!==void 0&&this._syncCalls>S)return void(this._syncCalls=0);if(this._pendingData+=m.length,this._writeBuffer.push(m),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let Q;for(this._isSyncWriting=!0;Q=this._writeBuffer.shift();){this._action(Q);const g=this._callbacks.shift();g&&g()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(m,S){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+=m.length,this._writeBuffer.push(m),this._callbacks.push(S),void this._innerWrite();setTimeout(()=>this._innerWrite())}this._pendingData+=m.length,this._writeBuffer.push(m),this._callbacks.push(S)}_innerWrite(m=0,S=!0){const Q=m||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const g=this._writeBuffer[this._bufferOffset],d=this._action(g,S);if(d){const p=$=>Date.now()-Q>=12?setTimeout(()=>this._innerWrite(0,$)):this._innerWrite(Q,$);return void d.catch($=>(queueMicrotask(()=>{throw $}),Promise.resolve(!1))).then(p)}const f=this._callbacks[this._bufferOffset];if(f&&f(),this._bufferOffset++,this._pendingData-=g.length,Date.now()-Q>=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()}}a.WriteBuffer=h},5941:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.toRgbString=a.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})$/,O=/^[\da-f]+$/;function c(h,u){const m=h.toString(16),S=m.length<2?"0"+m:m;switch(u){case 4:return m[0];case 8:return S;case 12:return(S+S).slice(0,3);default:return S+S}}a.parseColor=function(h){if(!h)return;let u=h.toLowerCase();if(u.indexOf("rgb:")===0){u=u.slice(4);const m=l.exec(u);if(m){const S=m[1]?15:m[4]?255:m[7]?4095:65535;return[Math.round(parseInt(m[1]||m[4]||m[7]||m[10],16)/S*255),Math.round(parseInt(m[2]||m[5]||m[8]||m[11],16)/S*255),Math.round(parseInt(m[3]||m[6]||m[9]||m[12],16)/S*255)]}}else if(u.indexOf("#")===0&&(u=u.slice(1),O.exec(u)&&[3,6,9,12].includes(u.length))){const m=u.length/3,S=[0,0,0];for(let Q=0;Q<3;++Q){const g=parseInt(u.slice(m*Q,m*Q+m),16);S[Q]=m===1?g<<4:m===2?g:m===3?g>>4:g>>8}return S}},a.toRgbString=function(h,u=16){const[m,S,Q]=h;return`rgb:${c(m,u)}/${c(S,u)}/${c(Q,u)}`}},5770:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.PAYLOAD_LIMIT=void 0,a.PAYLOAD_LIMIT=1e7},6351:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.DcsHandler=a.DcsParser=void 0;const O=l(482),c=l(8742),h=l(5770),u=[];a.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=u,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=u}registerHandler(S,Q){this._handlers[S]===void 0&&(this._handlers[S]=[]);const g=this._handlers[S];return g.push(Q),{dispose:()=>{const d=g.indexOf(Q);d!==-1&&g.splice(d,1)}}}clearHandler(S){this._handlers[S]&&delete this._handlers[S]}setHandlerFallback(S){this._handlerFb=S}reset(){if(this._active.length)for(let S=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;S>=0;--S)this._active[S].unhook(!1);this._stack.paused=!1,this._active=u,this._ident=0}hook(S,Q){if(this.reset(),this._ident=S,this._active=this._handlers[S]||u,this._active.length)for(let g=this._active.length-1;g>=0;g--)this._active[g].hook(Q);else this._handlerFb(this._ident,"HOOK",Q)}put(S,Q,g){if(this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].put(S,Q,g);else this._handlerFb(this._ident,"PUT",(0,O.utf32ToString)(S,Q,g))}unhook(S,Q=!0){if(this._active.length){let g=!1,d=this._active.length-1,f=!1;if(this._stack.paused&&(d=this._stack.loopPosition-1,g=Q,f=this._stack.fallThrough,this._stack.paused=!1),!f&&g===!1){for(;d>=0&&(g=this._active[d].unhook(S),g!==!0);d--)if(g instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!1,g;d--}for(;d>=0;d--)if(g=this._active[d].unhook(!1),g instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!0,g}else this._handlerFb(this._ident,"UNHOOK",S);this._active=u,this._ident=0}};const m=new c.Params;m.addParam(0),a.DcsHandler=class{constructor(S){this._handler=S,this._data="",this._params=m,this._hitLimit=!1}hook(S){this._params=S.length>1||S.params[0]?S.clone():m,this._data="",this._hitLimit=!1}put(S,Q,g){this._hitLimit||(this._data+=(0,O.utf32ToString)(S,Q,g),this._data.length>h.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(S){let Q=!1;if(this._hitLimit)Q=!1;else if(S&&(Q=this._handler(this._data,this._params),Q instanceof Promise))return Q.then(g=>(this._params=m,this._data="",this._hitLimit=!1,g));return this._params=m,this._data="",this._hitLimit=!1,Q}}},2015:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.EscapeSequenceParser=a.VT500_TRANSITION_TABLE=a.TransitionTable=void 0;const O=l(844),c=l(8742),h=l(6242),u=l(6351);class m{constructor(d){this.table=new Uint8Array(d)}setDefault(d,f){this.table.fill(d<<4|f)}add(d,f,p,$){this.table[f<<8|d]=p<<4|$}addMany(d,f,p,$){for(let _=0;_<d.length;_++)this.table[f<<8|d[_]]=p<<4|$}}a.TransitionTable=m;const S=160;a.VT500_TRANSITION_TABLE=function(){const g=new m(4095),d=Array.apply(null,Array(256)).map((w,v)=>v),f=(w,v)=>d.slice(w,v),p=f(32,127),$=f(0,24);$.push(25),$.push.apply($,f(28,32));const _=f(0,14);let P;for(P in g.setDefault(1,0),g.addMany(p,0,2,0),_)g.addMany([24,26,153,154],P,3,0),g.addMany(f(128,144),P,3,0),g.addMany(f(144,152),P,3,0),g.add(156,P,0,0),g.add(27,P,11,1),g.add(157,P,4,8),g.addMany([152,158,159],P,0,7),g.add(155,P,11,3),g.add(144,P,11,9);return g.addMany($,0,3,0),g.addMany($,1,3,1),g.add(127,1,0,1),g.addMany($,8,0,8),g.addMany($,3,3,3),g.add(127,3,0,3),g.addMany($,4,3,4),g.add(127,4,0,4),g.addMany($,6,3,6),g.addMany($,5,3,5),g.add(127,5,0,5),g.addMany($,2,3,2),g.add(127,2,0,2),g.add(93,1,4,8),g.addMany(p,8,5,8),g.add(127,8,5,8),g.addMany([156,27,24,26,7],8,6,0),g.addMany(f(28,32),8,0,8),g.addMany([88,94,95],1,0,7),g.addMany(p,7,0,7),g.addMany($,7,0,7),g.add(156,7,0,0),g.add(127,7,0,7),g.add(91,1,11,3),g.addMany(f(64,127),3,7,0),g.addMany(f(48,60),3,8,4),g.addMany([60,61,62,63],3,9,4),g.addMany(f(48,60),4,8,4),g.addMany(f(64,127),4,7,0),g.addMany([60,61,62,63],4,0,6),g.addMany(f(32,64),6,0,6),g.add(127,6,0,6),g.addMany(f(64,127),6,0,0),g.addMany(f(32,48),3,9,5),g.addMany(f(32,48),5,9,5),g.addMany(f(48,64),5,0,6),g.addMany(f(64,127),5,7,0),g.addMany(f(32,48),4,9,5),g.addMany(f(32,48),1,9,2),g.addMany(f(32,48),2,9,2),g.addMany(f(48,127),2,10,0),g.addMany(f(48,80),1,10,0),g.addMany(f(81,88),1,10,0),g.addMany([89,90,92],1,10,0),g.addMany(f(96,127),1,10,0),g.add(80,1,11,9),g.addMany($,9,0,9),g.add(127,9,0,9),g.addMany(f(28,32),9,0,9),g.addMany(f(32,48),9,9,12),g.addMany(f(48,60),9,8,10),g.addMany([60,61,62,63],9,9,10),g.addMany($,11,0,11),g.addMany(f(32,128),11,0,11),g.addMany(f(28,32),11,0,11),g.addMany($,10,0,10),g.add(127,10,0,10),g.addMany(f(28,32),10,0,10),g.addMany(f(48,60),10,8,10),g.addMany([60,61,62,63],10,0,11),g.addMany(f(32,48),10,9,12),g.addMany($,12,0,12),g.add(127,12,0,12),g.addMany(f(28,32),12,0,12),g.addMany(f(32,48),12,9,12),g.addMany(f(48,64),12,0,11),g.addMany(f(64,127),12,12,13),g.addMany(f(64,127),10,12,13),g.addMany(f(64,127),9,12,13),g.addMany($,13,13,13),g.addMany(p,13,13,13),g.add(127,13,0,13),g.addMany([27,156,24,26],13,14,0),g.add(S,0,2,0),g.add(S,8,5,8),g.add(S,6,0,6),g.add(S,11,0,11),g.add(S,13,13,13),g}();class Q extends O.Disposable{constructor(d=a.VT500_TRANSITION_TABLE){super(),this._transitions=d,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new c.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(f,p,$)=>{},this._executeHandlerFb=f=>{},this._csiHandlerFb=(f,p)=>{},this._escHandlerFb=f=>{},this._errorHandlerFb=f=>f,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,O.toDisposable)(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this.register(new h.OscParser),this._dcsParser=this.register(new u.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(d,f=[64,126]){let p=0;if(d.prefix){if(d.prefix.length>1)throw new Error("only one byte as prefix supported");if(p=d.prefix.charCodeAt(0),p&&60>p||p>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(d.intermediates){if(d.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let _=0;_<d.intermediates.length;++_){const P=d.intermediates.charCodeAt(_);if(32>P||P>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");p<<=8,p|=P}}if(d.final.length!==1)throw new Error("final must be a single byte");const $=d.final.charCodeAt(0);if(f[0]>$||$>f[1])throw new Error(`final must be in range ${f[0]} .. ${f[1]}`);return p<<=8,p|=$,p}identToString(d){const f=[];for(;d;)f.push(String.fromCharCode(255&d)),d>>=8;return f.reverse().join("")}setPrintHandler(d){this._printHandler=d}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(d,f){const p=this._identifier(d,[48,126]);this._escHandlers[p]===void 0&&(this._escHandlers[p]=[]);const $=this._escHandlers[p];return $.push(f),{dispose:()=>{const _=$.indexOf(f);_!==-1&&$.splice(_,1)}}}clearEscHandler(d){this._escHandlers[this._identifier(d,[48,126])]&&delete this._escHandlers[this._identifier(d,[48,126])]}setEscHandlerFallback(d){this._escHandlerFb=d}setExecuteHandler(d,f){this._executeHandlers[d.charCodeAt(0)]=f}clearExecuteHandler(d){this._executeHandlers[d.charCodeAt(0)]&&delete this._executeHandlers[d.charCodeAt(0)]}setExecuteHandlerFallback(d){this._executeHandlerFb=d}registerCsiHandler(d,f){const p=this._identifier(d);this._csiHandlers[p]===void 0&&(this._csiHandlers[p]=[]);const $=this._csiHandlers[p];return $.push(f),{dispose:()=>{const _=$.indexOf(f);_!==-1&&$.splice(_,1)}}}clearCsiHandler(d){this._csiHandlers[this._identifier(d)]&&delete this._csiHandlers[this._identifier(d)]}setCsiHandlerFallback(d){this._csiHandlerFb=d}registerDcsHandler(d,f){return this._dcsParser.registerHandler(this._identifier(d),f)}clearDcsHandler(d){this._dcsParser.clearHandler(this._identifier(d))}setDcsHandlerFallback(d){this._dcsParser.setHandlerFallback(d)}registerOscHandler(d,f){return this._oscParser.registerHandler(d,f)}clearOscHandler(d){this._oscParser.clearHandler(d)}setOscHandlerFallback(d){this._oscParser.setHandlerFallback(d)}setErrorHandler(d){this._errorHandler=d}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(d,f,p,$,_){this._parseStack.state=d,this._parseStack.handlers=f,this._parseStack.handlerPos=p,this._parseStack.transition=$,this._parseStack.chunkPos=_}parse(d,f,p){let $,_=0,P=0,w=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,w=this._parseStack.chunkPos+1;else{if(p===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const v=this._parseStack.handlers;let b=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(p===!1&&b>-1){for(;b>=0&&($=v[b](this._params),$!==!0);b--)if($ instanceof Promise)return this._parseStack.handlerPos=b,$}this._parseStack.handlers=[];break;case 4:if(p===!1&&b>-1){for(;b>=0&&($=v[b](),$!==!0);b--)if($ instanceof Promise)return this._parseStack.handlerPos=b,$}this._parseStack.handlers=[];break;case 6:if(_=d[this._parseStack.chunkPos],$=this._dcsParser.unhook(_!==24&&_!==26,p),$)return $;_===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(_=d[this._parseStack.chunkPos],$=this._oscParser.end(_!==24&&_!==26,p),$)return $;_===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 v=w;v<f;++v){switch(_=d[v],P=this._transitions.table[this.currentState<<8|(_<160?_:S)],P>>4){case 2:for(let R=v+1;;++R){if(R>=f||(_=d[R])<32||_>126&&_<S){this._printHandler(d,v,R),v=R-1;break}if(++R>=f||(_=d[R])<32||_>126&&_<S){this._printHandler(d,v,R),v=R-1;break}if(++R>=f||(_=d[R])<32||_>126&&_<S){this._printHandler(d,v,R),v=R-1;break}if(++R>=f||(_=d[R])<32||_>126&&_<S){this._printHandler(d,v,R),v=R-1;break}}break;case 3:this._executeHandlers[_]?this._executeHandlers[_]():this._executeHandlerFb(_),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:v,code:_,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const b=this._csiHandlers[this._collect<<8|_];let T=b?b.length-1:-1;for(;T>=0&&($=b[T](this._params),$!==!0);T--)if($ instanceof Promise)return this._preserveStack(3,b,T,P,v),$;T<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(++v<f&&(_=d[v])>47&&_<60);v--;break;case 9:this._collect<<=8,this._collect|=_;break;case 10:const Y=this._escHandlers[this._collect<<8|_];let Z=Y?Y.length-1:-1;for(;Z>=0&&($=Y[Z](),$!==!0);Z--)if($ instanceof Promise)return this._preserveStack(4,Y,Z,P,v),$;Z<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 R=v+1;;++R)if(R>=f||(_=d[R])===24||_===26||_===27||_>127&&_<S){this._dcsParser.put(d,v,R),v=R-1;break}break;case 14:if($=this._dcsParser.unhook(_!==24&&_!==26),$)return this._preserveStack(6,[],0,P,v),$;_===27&&(P|=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 R=v+1;;R++)if(R>=f||(_=d[R])<32||_>127&&_<S){this._oscParser.put(d,v,R),v=R-1;break}break;case 6:if($=this._oscParser.end(_!==24&&_!==26),$)return this._preserveStack(5,[],0,P,v),$;_===27&&(P|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&P}}}a.EscapeSequenceParser=Q},6242:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.OscHandler=a.OscParser=void 0;const O=l(5770),c=l(482),h=[];a.OscParser=class{constructor(){this._state=0,this._active=h,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(u,m){this._handlers[u]===void 0&&(this._handlers[u]=[]);const S=this._handlers[u];return S.push(m),{dispose:()=>{const Q=S.indexOf(m);Q!==-1&&S.splice(Q,1)}}}clearHandler(u){this._handlers[u]&&delete this._handlers[u]}setHandlerFallback(u){this._handlerFb=u}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=h}reset(){if(this._state===2)for(let u=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;u>=0;--u)this._active[u].end(!1);this._stack.paused=!1,this._active=h,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||h,this._active.length)for(let u=this._active.length-1;u>=0;u--)this._active[u].start();else this._handlerFb(this._id,"START")}_put(u,m,S){if(this._active.length)for(let Q=this._active.length-1;Q>=0;Q--)this._active[Q].put(u,m,S);else this._handlerFb(this._id,"PUT",(0,c.utf32ToString)(u,m,S))}start(){this.reset(),this._state=1}put(u,m,S){if(this._state!==3){if(this._state===1)for(;m<S;){const Q=u[m++];if(Q===59){this._state=2,this._start();break}if(Q<48||57<Q)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+Q-48}this._state===2&&S-m>0&&this._put(u,m,S)}}end(u,m=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let S=!1,Q=this._active.length-1,g=!1;if(this._stack.paused&&(Q=this._stack.loopPosition-1,S=m,g=this._stack.fallThrough,this._stack.paused=!1),!g&&S===!1){for(;Q>=0&&(S=this._active[Q].end(u),S!==!0);Q--)if(S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=Q,this._stack.fallThrough=!1,S;Q--}for(;Q>=0;Q--)if(S=this._active[Q].end(!1),S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=Q,this._stack.fallThrough=!0,S}else this._handlerFb(this._id,"END",u);this._active=h,this._id=-1,this._state=0}}},a.OscHandler=class{constructor(u){this._handler=u,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(u,m,S){this._hitLimit||(this._data+=(0,c.utf32ToString)(u,m,S),this._data.length>O.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(u){let m=!1;if(this._hitLimit)m=!1;else if(u&&(m=this._handler(this._data),m instanceof Promise))return m.then(S=>(this._data="",this._hitLimit=!1,S));return this._data="",this._hitLimit=!1,m}}},8742:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.Params=void 0;const l=2147483647;class O{static fromArray(h){const u=new O;if(!h.length)return u;for(let m=Array.isArray(h[0])?1:0;m<h.length;++m){const S=h[m];if(Array.isArray(S))for(let Q=0;Q<S.length;++Q)u.addSubParam(S[Q]);else u.addParam(S)}return u}constructor(h=32,u=32){if(this.maxLength=h,this.maxSubParamsLength=u,u>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(h),this.length=0,this._subParams=new Int32Array(u),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(h),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const h=new O(this.maxLength,this.maxSubParamsLength);return h.params.set(this.params),h.length=this.length,h._subParams.set(this._subParams),h._subParamsLength=this._subParamsLength,h._subParamsIdx.set(this._subParamsIdx),h._rejectDigits=this._rejectDigits,h._rejectSubDigits=this._rejectSubDigits,h._digitIsSub=this._digitIsSub,h}toArray(){const h=[];for(let u=0;u<this.length;++u){h.push(this.params[u]);const m=this._subParamsIdx[u]>>8,S=255&this._subParamsIdx[u];S-m>0&&h.push(Array.prototype.slice.call(this._subParams,m,S))}return h}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(h){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(h<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=h>l?l:h}}addSubParam(h){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(h<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=h>l?l:h,this._subParamsIdx[this.length-1]++}}hasSubParams(h){return(255&this._subParamsIdx[h])-(this._subParamsIdx[h]>>8)>0}getSubParams(h){const u=this._subParamsIdx[h]>>8,m=255&this._subParamsIdx[h];return m-u>0?this._subParams.subarray(u,m):null}getSubParamsAll(){const h={};for(let u=0;u<this.length;++u){const m=this._subParamsIdx[u]>>8,S=255&this._subParamsIdx[u];S-m>0&&(h[u]=this._subParams.slice(m,S))}return h}addDigit(h){let u;if(this._rejectDigits||!(u=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const m=this._digitIsSub?this._subParams:this.params,S=m[u-1];m[u-1]=~S?Math.min(10*S+h,l):h}}a.Params=O},5741:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.AddonManager=void 0,a.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let l=this._addons.length-1;l>=0;l--)this._addons[l].instance.dispose()}loadAddon(l,O){const c={instance:O,dispose:O.dispose,isDisposed:!1};this._addons.push(c),O.dispose=()=>this._wrappedAddonDispose(c),O.activate(l)}_wrappedAddonDispose(l){if(l.isDisposed)return;let O=-1;for(let c=0;c<this._addons.length;c++)if(this._addons[c]===l){O=c;break}if(O===-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(O,1)}}},8771:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.BufferApiView=void 0;const O=l(3785),c=l(511);a.BufferApiView=class{constructor(h,u){this._buffer=h,this.type=u}init(h){return this._buffer=h,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(h){const u=this._buffer.lines.get(h);if(u)return new O.BufferLineApiView(u)}getNullCell(){return new c.CellData}}},3785:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.BufferLineApiView=void 0;const O=l(511);a.BufferLineApiView=class{constructor(c){this._line=c}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(c,h){if(!(c<0||c>=this._line.length))return h?(this._line.loadCell(c,h),h):this._line.loadCell(c,new O.CellData)}translateToString(c,h,u){return this._line.translateToString(c,h,u)}}},8285:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.BufferNamespaceApi=void 0;const O=l(8771),c=l(8460),h=l(844);class u extends h.Disposable{constructor(S){super(),this._core=S,this._onBufferChange=this.register(new c.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new O.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new O.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)}}a.BufferNamespaceApi=u},7975:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ParserApi=void 0,a.ParserApi=class{constructor(l){this._core=l}registerCsiHandler(l,O){return this._core.registerCsiHandler(l,c=>O(c.toArray()))}addCsiHandler(l,O){return this.registerCsiHandler(l,O)}registerDcsHandler(l,O){return this._core.registerDcsHandler(l,(c,h)=>O(c,h.toArray()))}addDcsHandler(l,O){return this.registerDcsHandler(l,O)}registerEscHandler(l,O){return this._core.registerEscHandler(l,O)}addEscHandler(l,O){return this.registerEscHandler(l,O)}registerOscHandler(l,O){return this._core.registerOscHandler(l,O)}addOscHandler(l,O){return this.registerOscHandler(l,O)}}},7090:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.UnicodeApi=void 0,a.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(o,a,l){var O=this&&this.__decorate||function(g,d,f,p){var $,_=arguments.length,P=_<3?d:p===null?p=Object.getOwnPropertyDescriptor(d,f):p;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")P=Reflect.decorate(g,d,f,p);else for(var w=g.length-1;w>=0;w--)($=g[w])&&(P=(_<3?$(P):_>3?$(d,f,P):$(d,f))||P);return _>3&&P&&Object.defineProperty(d,f,P),P},c=this&&this.__param||function(g,d){return function(f,p){d(f,p,g)}};Object.defineProperty(a,"__esModule",{value:!0}),a.BufferService=a.MINIMUM_ROWS=a.MINIMUM_COLS=void 0;const h=l(8460),u=l(844),m=l(5295),S=l(2585);a.MINIMUM_COLS=2,a.MINIMUM_ROWS=1;let Q=a.BufferService=class extends u.Disposable{get buffer(){return this.buffers.active}constructor(g){super(),this.isUserScrolling=!1,this._onResize=this.register(new h.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new h.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(g.rawOptions.cols||0,a.MINIMUM_COLS),this.rows=Math.max(g.rawOptions.rows||0,a.MINIMUM_ROWS),this.buffers=this.register(new m.BufferSet(g,this))}resize(g,d){this.cols=g,this.rows=d,this.buffers.resize(g,d),this._onResize.fire({cols:g,rows:d})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(g,d=!1){const f=this.buffer;let p;p=this._cachedBlankLine,p&&p.length===this.cols&&p.getFg(0)===g.fg&&p.getBg(0)===g.bg||(p=f.getBlankLine(g,d),this._cachedBlankLine=p),p.isWrapped=d;const $=f.ybase+f.scrollTop,_=f.ybase+f.scrollBottom;if(f.scrollTop===0){const P=f.lines.isFull;_===f.lines.length-1?P?f.lines.recycle().copyFrom(p):f.lines.push(p.clone()):f.lines.splice(_+1,0,p.clone()),P?this.isUserScrolling&&(f.ydisp=Math.max(f.ydisp-1,0)):(f.ybase++,this.isUserScrolling||f.ydisp++)}else{const P=_-$+1;f.lines.shiftElements($+1,P-1,-1),f.lines.set(_,p.clone())}this.isUserScrolling||(f.ydisp=f.ybase),this._onScroll.fire(f.ydisp)}scrollLines(g,d,f){const p=this.buffer;if(g<0){if(p.ydisp===0)return;this.isUserScrolling=!0}else g+p.ydisp>=p.ybase&&(this.isUserScrolling=!1);const $=p.ydisp;p.ydisp=Math.max(Math.min(p.ydisp+g,p.ybase),0),$!==p.ydisp&&(d||this._onScroll.fire(p.ydisp))}};a.BufferService=Q=O([c(0,S.IOptionsService)],Q)},7994:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CharsetService=void 0,a.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,O){this._charsets[l]=O,this.glevel===l&&(this.charset=O)}}},1753:function(o,a,l){var O=this&&this.__decorate||function(p,$,_,P){var w,v=arguments.length,b=v<3?$:P===null?P=Object.getOwnPropertyDescriptor($,_):P;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(p,$,_,P);else for(var T=p.length-1;T>=0;T--)(w=p[T])&&(b=(v<3?w(b):v>3?w($,_,b):w($,_))||b);return v>3&&b&&Object.defineProperty($,_,b),b},c=this&&this.__param||function(p,$){return function(_,P){$(_,P,p)}};Object.defineProperty(a,"__esModule",{value:!0}),a.CoreMouseService=void 0;const h=l(2585),u=l(8460),m=l(844),S={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:p=>p.button!==4&&p.action===1&&(p.ctrl=!1,p.alt=!1,p.shift=!1,!0)},VT200:{events:19,restrict:p=>p.action!==32},DRAG:{events:23,restrict:p=>p.action!==32||p.button!==3},ANY:{events:31,restrict:p=>!0}};function Q(p,$){let _=(p.ctrl?16:0)|(p.shift?4:0)|(p.alt?8:0);return p.button===4?(_|=64,_|=p.action):(_|=3&p.button,4&p.button&&(_|=64),8&p.button&&(_|=128),p.action===32?_|=32:p.action!==0||$||(_|=3)),_}const g=String.fromCharCode,d={DEFAULT:p=>{const $=[Q(p,!1)+32,p.col+32,p.row+32];return $[0]>255||$[1]>255||$[2]>255?"":`\x1B[M${g($[0])}${g($[1])}${g($[2])}`},SGR:p=>{const $=p.action===0&&p.button!==4?"m":"M";return`\x1B[<${Q(p,!0)};${p.col};${p.row}${$}`},SGR_PIXELS:p=>{const $=p.action===0&&p.button!==4?"m":"M";return`\x1B[<${Q(p,!0)};${p.x};${p.y}${$}`}};let f=a.CoreMouseService=class extends m.Disposable{constructor(p,$){super(),this._bufferService=p,this._coreService=$,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new u.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const _ of Object.keys(S))this.addProtocol(_,S[_]);for(const _ of Object.keys(d))this.addEncoding(_,d[_]);this.reset()}addProtocol(p,$){this._protocols[p]=$}addEncoding(p,$){this._encodings[p]=$}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(p){if(!this._protocols[p])throw new Error(`unknown protocol "${p}"`);this._activeProtocol=p,this._onProtocolChange.fire(this._protocols[p].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(p){if(!this._encodings[p])throw new Error(`unknown encoding "${p}"`);this._activeEncoding=p}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(p){if(p.col<0||p.col>=this._bufferService.cols||p.row<0||p.row>=this._bufferService.rows||p.button===4&&p.action===32||p.button===3&&p.action!==32||p.button!==4&&(p.action===2||p.action===3)||(p.col++,p.row++,p.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,p,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(p))return!1;const $=this._encodings[this._activeEncoding](p);return $&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent($):this._coreService.triggerDataEvent($,!0)),this._lastEvent=p,!0}explainEvents(p){return{down:!!(1&p),up:!!(2&p),drag:!!(4&p),move:!!(8&p),wheel:!!(16&p)}}_equalEvents(p,$,_){if(_){if(p.x!==$.x||p.y!==$.y)return!1}else if(p.col!==$.col||p.row!==$.row)return!1;return p.button===$.button&&p.action===$.action&&p.ctrl===$.ctrl&&p.alt===$.alt&&p.shift===$.shift}};a.CoreMouseService=f=O([c(0,h.IBufferService),c(1,h.ICoreService)],f)},6975:function(o,a,l){var O=this&&this.__decorate||function(f,p,$,_){var P,w=arguments.length,v=w<3?p:_===null?_=Object.getOwnPropertyDescriptor(p,$):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(f,p,$,_);else for(var b=f.length-1;b>=0;b--)(P=f[b])&&(v=(w<3?P(v):w>3?P(p,$,v):P(p,$))||v);return w>3&&v&&Object.defineProperty(p,$,v),v},c=this&&this.__param||function(f,p){return function($,_){p($,_,f)}};Object.defineProperty(a,"__esModule",{value:!0}),a.CoreService=void 0;const h=l(1439),u=l(8460),m=l(844),S=l(2585),Q=Object.freeze({insertMode:!1}),g=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let d=a.CoreService=class extends m.Disposable{constructor(f,p,$){super(),this._bufferService=f,this._logService=p,this._optionsService=$,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new u.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new u.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new u.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new u.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,h.clone)(Q),this.decPrivateModes=(0,h.clone)(g)}reset(){this.modes=(0,h.clone)(Q),this.decPrivateModes=(0,h.clone)(g)}triggerDataEvent(f,p=!1){if(this._optionsService.rawOptions.disableStdin)return;const $=this._bufferService.buffer;p&&this._optionsService.rawOptions.scrollOnUserInput&&$.ybase!==$.ydisp&&this._onRequestScrollToBottom.fire(),p&&this._onUserInput.fire(),this._logService.debug(`sending data "${f}"`,()=>f.split("").map(_=>_.charCodeAt(0))),this._onData.fire(f)}triggerBinaryEvent(f){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${f}"`,()=>f.split("").map(p=>p.charCodeAt(0))),this._onBinary.fire(f))}};a.CoreService=d=O([c(0,S.IBufferService),c(1,S.ILogService),c(2,S.IOptionsService)],d)},9074:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.DecorationService=void 0;const O=l(8055),c=l(8460),h=l(844),u=l(6106);let m=0,S=0;class Q extends h.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new u.SortedList(f=>f==null?void 0:f.marker.line),this._onDecorationRegistered=this.register(new c.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new c.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,h.toDisposable)(()=>this.reset()))}registerDecoration(f){if(f.marker.isDisposed)return;const p=new g(f);if(p){const $=p.marker.onDispose(()=>p.dispose());p.onDispose(()=>{p&&(this._decorations.delete(p)&&this._onDecorationRemoved.fire(p),$.dispose())}),this._decorations.insert(p),this._onDecorationRegistered.fire(p)}return p}reset(){for(const f of this._decorations.values())f.dispose();this._decorations.clear()}*getDecorationsAtCell(f,p,$){let _=0,P=0;for(const w of this._decorations.getKeyIterator(p))_=w.options.x??0,P=_+(w.options.width??1),f>=_&&f<P&&(!$||(w.options.layer??"bottom")===$)&&(yield w)}forEachDecorationAtCell(f,p,$,_){this._decorations.forEachByKey(p,P=>{m=P.options.x??0,S=m+(P.options.width??1),f>=m&&f<S&&(!$||(P.options.layer??"bottom")===$)&&_(P)})}}a.DecorationService=Q;class g extends h.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=O.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=O.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(f){super(),this.options=f,this.onRenderEmitter=this.register(new c.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new c.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=f.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.InstantiationService=a.ServiceCollection=void 0;const O=l(2585),c=l(8343);class h{constructor(...m){this._entries=new Map;for(const[S,Q]of m)this.set(S,Q)}set(m,S){const Q=this._entries.get(m);return this._entries.set(m,S),Q}forEach(m){for(const[S,Q]of this._entries.entries())m(S,Q)}has(m){return this._entries.has(m)}get(m){return this._entries.get(m)}}a.ServiceCollection=h,a.InstantiationService=class{constructor(){this._services=new h,this._services.set(O.IInstantiationService,this)}setService(u,m){this._services.set(u,m)}getService(u){return this._services.get(u)}createInstance(u,...m){const S=(0,c.getServiceDependencies)(u).sort((d,f)=>d.index-f.index),Q=[];for(const d of S){const f=this._services.get(d.id);if(!f)throw new Error(`[createInstance] ${u.name} depends on UNKNOWN service ${d.id}.`);Q.push(f)}const g=S.length>0?S[0].index:m.length;if(m.length!==g)throw new Error(`[createInstance] First service dependency of ${u.name} at position ${g+1} conflicts with ${m.length} static arguments`);return new u(...m,...Q)}}},7866:function(o,a,l){var O=this&&this.__decorate||function(g,d,f,p){var $,_=arguments.length,P=_<3?d:p===null?p=Object.getOwnPropertyDescriptor(d,f):p;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")P=Reflect.decorate(g,d,f,p);else for(var w=g.length-1;w>=0;w--)($=g[w])&&(P=(_<3?$(P):_>3?$(d,f,P):$(d,f))||P);return _>3&&P&&Object.defineProperty(d,f,P),P},c=this&&this.__param||function(g,d){return function(f,p){d(f,p,g)}};Object.defineProperty(a,"__esModule",{value:!0}),a.traceCall=a.setTraceLogger=a.LogService=void 0;const h=l(844),u=l(2585),m={trace:u.LogLevelEnum.TRACE,debug:u.LogLevelEnum.DEBUG,info:u.LogLevelEnum.INFO,warn:u.LogLevelEnum.WARN,error:u.LogLevelEnum.ERROR,off:u.LogLevelEnum.OFF};let S,Q=a.LogService=class extends h.Disposable{get logLevel(){return this._logLevel}constructor(g){super(),this._optionsService=g,this._logLevel=u.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),S=this}_updateLogLevel(){this._logLevel=m[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(g){for(let d=0;d<g.length;d++)typeof g[d]=="function"&&(g[d]=g[d]())}_log(g,d,f){this._evalLazyOptionalParams(f),g.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+d,...f)}trace(g,...d){var f;this._logLevel<=u.LogLevelEnum.TRACE&&this._log(((f=this._optionsService.options.logger)==null?void 0:f.trace.bind(this._optionsService.options.logger))??console.log,g,d)}debug(g,...d){var f;this._logLevel<=u.LogLevelEnum.DEBUG&&this._log(((f=this._optionsService.options.logger)==null?void 0:f.debug.bind(this._optionsService.options.logger))??console.log,g,d)}info(g,...d){var f;this._logLevel<=u.LogLevelEnum.INFO&&this._log(((f=this._optionsService.options.logger)==null?void 0:f.info.bind(this._optionsService.options.logger))??console.info,g,d)}warn(g,...d){var f;this._logLevel<=u.LogLevelEnum.WARN&&this._log(((f=this._optionsService.options.logger)==null?void 0:f.warn.bind(this._optionsService.options.logger))??console.warn,g,d)}error(g,...d){var f;this._logLevel<=u.LogLevelEnum.ERROR&&this._log(((f=this._optionsService.options.logger)==null?void 0:f.error.bind(this._optionsService.options.logger))??console.error,g,d)}};a.LogService=Q=O([c(0,u.IOptionsService)],Q),a.setTraceLogger=function(g){S=g},a.traceCall=function(g,d,f){if(typeof f.value!="function")throw new Error("not supported");const p=f.value;f.value=function(...$){if(S.logLevel!==u.LogLevelEnum.TRACE)return p.apply(this,$);S.trace(`GlyphRenderer#${p.name}(${$.map(P=>JSON.stringify(P)).join(", ")})`);const _=p.apply(this,$);return S.trace(`GlyphRenderer#${p.name} return`,_),_}}},7302:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.OptionsService=a.DEFAULT_OPTIONS=void 0;const O=l(8460),c=l(844),h=l(6114);a.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:h.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const u=["normal","bold","100","200","300","400","500","600","700","800","900"];class m extends c.Disposable{constructor(Q){super(),this._onOptionChange=this.register(new O.EventEmitter),this.onOptionChange=this._onOptionChange.event;const g={...a.DEFAULT_OPTIONS};for(const d in Q)if(d in g)try{const f=Q[d];g[d]=this._sanitizeAndValidateOption(d,f)}catch(f){console.error(f)}this.rawOptions=g,this.options={...g},this._setupOptions(),this.register((0,c.toDisposable)(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(Q,g){return this.onOptionChange(d=>{d===Q&&g(this.rawOptions[Q])})}onMultipleOptionChange(Q,g){return this.onOptionChange(d=>{Q.indexOf(d)!==-1&&g()})}_setupOptions(){const Q=d=>{if(!(d in a.DEFAULT_OPTIONS))throw new Error(`No option with key "${d}"`);return this.rawOptions[d]},g=(d,f)=>{if(!(d in a.DEFAULT_OPTIONS))throw new Error(`No option with key "${d}"`);f=this._sanitizeAndValidateOption(d,f),this.rawOptions[d]!==f&&(this.rawOptions[d]=f,this._onOptionChange.fire(d))};for(const d in this.rawOptions){const f={get:Q.bind(this,d),set:g.bind(this,d)};Object.defineProperty(this.options,d,f)}}_sanitizeAndValidateOption(Q,g){switch(Q){case"cursorStyle":if(g||(g=a.DEFAULT_OPTIONS[Q]),!function(d){return d==="block"||d==="underline"||d==="bar"}(g))throw new Error(`"${g}" is not a valid value for ${Q}`);break;case"wordSeparator":g||(g=a.DEFAULT_OPTIONS[Q]);break;case"fontWeight":case"fontWeightBold":if(typeof g=="number"&&1<=g&&g<=1e3)break;g=u.includes(g)?g:a.DEFAULT_OPTIONS[Q];break;case"cursorWidth":g=Math.floor(g);case"lineHeight":case"tabStopWidth":if(g<1)throw new Error(`${Q} cannot be less than 1, value: ${g}`);break;case"minimumContrastRatio":g=Math.max(1,Math.min(21,Math.round(10*g)/10));break;case"scrollback":if((g=Math.min(g,4294967295))<0)throw new Error(`${Q} cannot be less than 0, value: ${g}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(g<=0)throw new Error(`${Q} cannot be less than or equal to 0, value: ${g}`);break;case"rows":case"cols":if(!g&&g!==0)throw new Error(`${Q} must be numeric, value: ${g}`);break;case"windowsPty":g=g??{}}return g}}a.OptionsService=m},2660:function(o,a,l){var O=this&&this.__decorate||function(m,S,Q,g){var d,f=arguments.length,p=f<3?S:g===null?g=Object.getOwnPropertyDescriptor(S,Q):g;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(m,S,Q,g);else for(var $=m.length-1;$>=0;$--)(d=m[$])&&(p=(f<3?d(p):f>3?d(S,Q,p):d(S,Q))||p);return f>3&&p&&Object.defineProperty(S,Q,p),p},c=this&&this.__param||function(m,S){return function(Q,g){S(Q,g,m)}};Object.defineProperty(a,"__esModule",{value:!0}),a.OscLinkService=void 0;const h=l(2585);let u=a.OscLinkService=class{constructor(m){this._bufferService=m,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(m){const S=this._bufferService.buffer;if(m.id===void 0){const $=S.addMarker(S.ybase+S.y),_={data:m,id:this._nextId++,lines:[$]};return $.onDispose(()=>this._removeMarkerFromLink(_,$)),this._dataByLinkId.set(_.id,_),_.id}const Q=m,g=this._getEntryIdKey(Q),d=this._entriesWithId.get(g);if(d)return this.addLineToLink(d.id,S.ybase+S.y),d.id;const f=S.addMarker(S.ybase+S.y),p={id:this._nextId++,key:this._getEntryIdKey(Q),data:Q,lines:[f]};return f.onDispose(()=>this._removeMarkerFromLink(p,f)),this._entriesWithId.set(p.key,p),this._dataByLinkId.set(p.id,p),p.id}addLineToLink(m,S){const Q=this._dataByLinkId.get(m);if(Q&&Q.lines.every(g=>g.line!==S)){const g=this._bufferService.buffer.addMarker(S);Q.lines.push(g),g.onDispose(()=>this._removeMarkerFromLink(Q,g))}}getLinkData(m){var S;return(S=this._dataByLinkId.get(m))==null?void 0:S.data}_getEntryIdKey(m){return`${m.id};;${m.uri}`}_removeMarkerFromLink(m,S){const Q=m.lines.indexOf(S);Q!==-1&&(m.lines.splice(Q,1),m.lines.length===0&&(m.data.id!==void 0&&this._entriesWithId.delete(m.key),this._dataByLinkId.delete(m.id)))}};a.OscLinkService=u=O([c(0,h.IBufferService)],u)},8343:(o,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.createDecorator=a.getServiceDependencies=a.serviceRegistry=void 0;const l="di$target",O="di$dependencies";a.serviceRegistry=new Map,a.getServiceDependencies=function(c){return c[O]||[]},a.createDecorator=function(c){if(a.serviceRegistry.has(c))return a.serviceRegistry.get(c);const h=function(u,m,S){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(Q,g,d){g[l]===g?g[O].push({id:Q,index:d}):(g[O]=[{id:Q,index:d}],g[l]=g)})(h,u,S)};return h.toString=()=>c,a.serviceRegistry.set(c,h),h}},2585:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.IDecorationService=a.IUnicodeService=a.IOscLinkService=a.IOptionsService=a.ILogService=a.LogLevelEnum=a.IInstantiationService=a.ICharsetService=a.ICoreService=a.ICoreMouseService=a.IBufferService=void 0;const O=l(8343);var c;a.IBufferService=(0,O.createDecorator)("BufferService"),a.ICoreMouseService=(0,O.createDecorator)("CoreMouseService"),a.ICoreService=(0,O.createDecorator)("CoreService"),a.ICharsetService=(0,O.createDecorator)("CharsetService"),a.IInstantiationService=(0,O.createDecorator)("InstantiationService"),function(h){h[h.TRACE=0]="TRACE",h[h.DEBUG=1]="DEBUG",h[h.INFO=2]="INFO",h[h.WARN=3]="WARN",h[h.ERROR=4]="ERROR",h[h.OFF=5]="OFF"}(c||(a.LogLevelEnum=c={})),a.ILogService=(0,O.createDecorator)("LogService"),a.IOptionsService=(0,O.createDecorator)("OptionsService"),a.IOscLinkService=(0,O.createDecorator)("OscLinkService"),a.IUnicodeService=(0,O.createDecorator)("UnicodeService"),a.IDecorationService=(0,O.createDecorator)("DecorationService")},1480:(o,a,l)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.UnicodeService=void 0;const O=l(8460),c=l(225);class h{static extractShouldJoin(m){return(1&m)!=0}static extractWidth(m){return m>>1&3}static extractCharKind(m){return m>>3}static createPropertyValue(m,S,Q=!1){return(16777215&m)<<3|(3&S)<<1|(Q?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new O.EventEmitter,this.onChange=this._onChange.event;const m=new c.UnicodeV6;this.register(m),this._active=m.version,this._activeProvider=m}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(m){if(!this._providers[m])throw new Error(`unknown Unicode version "${m}"`);this._active=m,this._activeProvider=this._providers[m],this._onChange.fire(m)}register(m){this._providers[m.version]=m}wcwidth(m){return this._activeProvider.wcwidth(m)}getStringCellWidth(m){let S=0,Q=0;const g=m.length;for(let d=0;d<g;++d){let f=m.charCodeAt(d);if(55296<=f&&f<=56319){if(++d>=g)return S+this.wcwidth(f);const _=m.charCodeAt(d);56320<=_&&_<=57343?f=1024*(f-55296)+_-56320+65536:S+=this.wcwidth(_)}const p=this.charProperties(f,Q);let $=h.extractWidth(p);h.extractShouldJoin(p)&&($-=h.extractWidth(Q)),S+=$,Q=p}return S}charProperties(m,S){return this._activeProvider.charProperties(m,S)}}a.UnicodeService=h}},r={};function n(o){var a=r[o];if(a!==void 0)return a.exports;var l=r[o]={exports:{}};return i[o].call(l.exports,l,l.exports,n),l.exports}var s={};return(()=>{var o=s;Object.defineProperty(o,"__esModule",{value:!0}),o.Terminal=void 0;const a=n(9042),l=n(3236),O=n(844),c=n(5741),h=n(8285),u=n(7975),m=n(7090),S=["cols","rows"];class Q extends O.Disposable{constructor(d){super(),this._core=this.register(new l.Terminal(d)),this._addonManager=this.register(new c.AddonManager),this._publicOptions={...this._core.options};const f=$=>this._core.options[$],p=($,_)=>{this._checkReadonlyOptions($),this._core.options[$]=_};for(const $ in this._core.options){const _={get:f.bind(this,$),set:p.bind(this,$)};Object.defineProperty(this._publicOptions,$,_)}}_checkReadonlyOptions(d){if(S.includes(d))throw new Error(`Option "${d}" 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 u.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new m.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 h.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const d=this._core.coreService.decPrivateModes;let f="none";switch(this._core.coreMouseService.activeProtocol){case"X10":f="x10";break;case"VT200":f="vt200";break;case"DRAG":f="drag";break;case"ANY":f="any"}return{applicationCursorKeysMode:d.applicationCursorKeys,applicationKeypadMode:d.applicationKeypad,bracketedPasteMode:d.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:f,originMode:d.origin,reverseWraparoundMode:d.reverseWraparound,sendFocusMode:d.sendFocus,wraparoundMode:d.wraparound}}get options(){return this._publicOptions}set options(d){for(const f in d)this._publicOptions[f]=d[f]}blur(){this._core.blur()}focus(){this._core.focus()}input(d,f=!0){this._core.input(d,f)}resize(d,f){this._verifyIntegers(d,f),this._core.resize(d,f)}open(d){this._core.open(d)}attachCustomKeyEventHandler(d){this._core.attachCustomKeyEventHandler(d)}attachCustomWheelEventHandler(d){this._core.attachCustomWheelEventHandler(d)}registerLinkProvider(d){return this._core.registerLinkProvider(d)}registerCharacterJoiner(d){return this._checkProposedApi(),this._core.registerCharacterJoiner(d)}deregisterCharacterJoiner(d){this._checkProposedApi(),this._core.deregisterCharacterJoiner(d)}registerMarker(d=0){return this._verifyIntegers(d),this._core.registerMarker(d)}registerDecoration(d){return this._checkProposedApi(),this._verifyPositiveIntegers(d.x??0,d.width??0,d.height??0),this._core.registerDecoration(d)}hasSelection(){return this._core.hasSelection()}select(d,f,p){this._verifyIntegers(d,f,p),this._core.select(d,f,p)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(d,f){this._verifyIntegers(d,f),this._core.selectLines(d,f)}dispose(){super.dispose()}scrollLines(d){this._verifyIntegers(d),this._core.scrollLines(d)}scrollPages(d){this._verifyIntegers(d),this._core.scrollPages(d)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(d){this._verifyIntegers(d),this._core.scrollToLine(d)}clear(){this._core.clear()}write(d,f){this._core.write(d,f)}writeln(d,f){this._core.write(d),this._core.write(`\r
|
|
48
48
|
`,f)}paste(d){this._core.paste(d)}refresh(d,f){this._verifyIntegers(d,f),this._core.refresh(d,f)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(d){this._addonManager.loadAddon(this,d)}static get strings(){return a}_verifyIntegers(...d){for(const f of d)if(f===1/0||isNaN(f)||f%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...d){for(const f of d)if(f&&(f===1/0||isNaN(f)||f%1!=0||f<0))throw new Error("This API only accepts positive integers")}}o.Terminal=Q})(),s})())})(z1);var Ix=z1.exports,V1={exports:{}};(function(t,e){(function(i,r){t.exports=r()})(self,()=>(()=>{var i={};return(()=>{var r=i;Object.defineProperty(r,"__esModule",{value:!0}),r.FitAddon=void 0,r.FitAddon=class{activate(n){this._terminal=n}dispose(){}fit(){const n=this.proposeDimensions();if(!n||!this._terminal||isNaN(n.cols)||isNaN(n.rows))return;const s=this._terminal._core;this._terminal.rows===n.rows&&this._terminal.cols===n.cols||(s._renderService.clear(),this._terminal.resize(n.cols,n.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;const n=this._terminal._core,s=n._renderService.dimensions;if(s.css.cell.width===0||s.css.cell.height===0)return;const o=this._terminal.options.scrollback===0?0:n.viewport.scrollBarWidth,a=window.getComputedStyle(this._terminal.element.parentElement),l=parseInt(a.getPropertyValue("height")),O=Math.max(0,parseInt(a.getPropertyValue("width"))),c=window.getComputedStyle(this._terminal.element),h=l-(parseInt(c.getPropertyValue("padding-top"))+parseInt(c.getPropertyValue("padding-bottom"))),u=O-(parseInt(c.getPropertyValue("padding-right"))+parseInt(c.getPropertyValue("padding-left")))-o;return{cols:Math.max(2,Math.floor(u/s.css.cell.width)),rows:Math.max(1,Math.floor(h/s.css.cell.height))}}}})(),i})())})(V1);var Nx=V1.exports,E1={exports:{}};(function(t,e){(function(i,r){t.exports=r()})(self,()=>(()=>{var i={6:(o,a)=>{function l(c){try{const h=new URL(c),u=h.password&&h.username?`${h.protocol}//${h.username}:${h.password}@${h.host}`:h.username?`${h.protocol}//${h.username}@${h.host}`:`${h.protocol}//${h.host}`;return c.toLocaleLowerCase().startsWith(u.toLocaleLowerCase())}catch{return!1}}Object.defineProperty(a,"__esModule",{value:!0}),a.LinkComputer=a.WebLinkProvider=void 0,a.WebLinkProvider=class{constructor(c,h,u,m={}){this._terminal=c,this._regex=h,this._handler=u,this._options=m}provideLinks(c,h){const u=O.computeLink(c,this._regex,this._terminal,this._handler);h(this._addCallbacks(u))}_addCallbacks(c){return c.map(h=>(h.leave=this._options.leave,h.hover=(u,m)=>{if(this._options.hover){const{range:S}=h;this._options.hover(u,m,S)}},h))}};class O{static computeLink(h,u,m,S){const Q=new RegExp(u.source,(u.flags||"")+"g"),[g,d]=O._getWindowedLineStrings(h-1,m),f=g.join("");let p;const $=[];for(;p=Q.exec(f);){const _=p[0];if(!l(_))continue;const[P,w]=O._mapStrIdx(m,d,0,p.index),[v,b]=O._mapStrIdx(m,P,w,_.length);if(P===-1||w===-1||v===-1||b===-1)continue;const T={start:{x:w+1,y:P+1},end:{x:b,y:v+1}};$.push({range:T,text:_,activate:S})}return $}static _getWindowedLineStrings(h,u){let m,S=h,Q=h,g=0,d="";const f=[];if(m=u.buffer.active.getLine(h)){const p=m.translateToString(!0);if(m.isWrapped&&p[0]!==" "){for(g=0;(m=u.buffer.active.getLine(--S))&&g<2048&&(d=m.translateToString(!0),g+=d.length,f.push(d),m.isWrapped&&d.indexOf(" ")===-1););f.reverse()}for(f.push(p),g=0;(m=u.buffer.active.getLine(++Q))&&m.isWrapped&&g<2048&&(d=m.translateToString(!0),g+=d.length,f.push(d),d.indexOf(" ")===-1););}return[f,S]}static _mapStrIdx(h,u,m,S){const Q=h.buffer.active,g=Q.getNullCell();let d=m;for(;S;){const f=Q.getLine(u);if(!f)return[-1,-1];for(let p=d;p<f.length;++p){f.getCell(p,g);const $=g.getChars();if(g.getWidth()&&(S-=$.length||1,p===f.length-1&&$==="")){const _=Q.getLine(u+1);_&&_.isWrapped&&(_.getCell(0,g),g.getWidth()===2&&(S+=1))}if(S<0)return[u,p]}u++,d=0}return[u,d]}}a.LinkComputer=O}},r={};function n(o){var a=r[o];if(a!==void 0)return a.exports;var l=r[o]={exports:{}};return i[o](l,l.exports,n),l.exports}var s={};return(()=>{var o=s;Object.defineProperty(o,"__esModule",{value:!0}),o.WebLinksAddon=void 0;const a=n(6),l=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function O(c,h){const u=window.open();if(u){try{u.opener=null}catch{}u.location.href=h}else console.warn("Opening link blocked as opener could not be cleared")}o.WebLinksAddon=class{constructor(c=O,h={}){this._handler=c,this._options=h}activate(c){this._terminal=c;const h=this._options,u=h.urlRegex||l;this._linkProvider=this._terminal.registerLinkProvider(new a.WebLinkProvider(this._terminal,u,this._handler,h))}dispose(){var c;(c=this._linkProvider)==null||c.dispose()}}})(),s})())})(E1);var Fx=E1.exports;const Hx=[{label:"↑",seq:"\x1B[A"},{label:"↓",seq:"\x1B[B"},{label:"←",seq:"\x1B[D"},{label:"→",seq:"\x1B[C"},{label:"Enter",seq:"\r"},{label:"Tab",seq:" "},{label:"Esc",seq:"\x1B"},{label:"Ctrl+C",seq:""}];class Kx extends Wu.Component{constructor(i){super(i);Oh(this,"handleVirtualKey",i=>{var r;this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"input",data:i})),(r=this.terminal)==null||r.focus()});this.containerRef=Wu.createRef(),this.terminal=null,this.fitAddon=null,this.ws=null,this.resizeObserver=null,this._writeBuffer="",this._writeTimer=null}componentDidMount(){this.initTerminal(),this.connectWebSocket(),this.setupResizeObserver()}componentWillUnmount(){this._writeTimer&&cancelAnimationFrame(this._writeTimer),this.ws&&(this.ws.close(),this.ws=null),this.resizeObserver&&this.resizeObserver.disconnect(),this.terminal&&this.terminal.dispose()}initTerminal(){this.terminal=new Ix.Terminal({cursorBlink:!0,cursorStyle:"bar",fontSize:13,fontFamily:'Menlo, Monaco, "Courier New", monospace',theme:{background:"#0a0a0a",foreground:"#d4d4d4",cursor:"#d4d4d4",selectionBackground:"#264f78"},scrollback:3e3,allowProposedApi:!0}),this.fitAddon=new Nx.FitAddon,this.terminal.loadAddon(this.fitAddon),this.terminal.loadAddon(new Fx.WebLinksAddon),this.terminal.open(this.containerRef.current),requestAnimationFrame(()=>{this.fitAddon&&(this.fitAddon.fit(),this.terminal.focus())}),this.terminal.onData(i=>{this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify({type:"input",data:i}))})}connectWebSocket(){const i=window.location.protocol==="https:"?"wss:":"ws:",r=window.location.hostname,n=window.location.port==="5173"?"5174":window.location.port,s=`${i}//${r}:${n}/ws/terminal`;this.ws=new WebSocket(s),this.ws.onopen=()=>{console.log("[Terminal] Connected to PTY service"),this.sendResize()},this.ws.onmessage=o=>{try{const a=JSON.parse(o.data);a.type==="data"?this._throttledWrite(a.data):a.type==="exit"?(this._flushWrite(),this.terminal&&this.terminal.write(`\r
|
|
49
49
|
[Process exited with code ${a.exitCode??"?"}]\r
|
|
@@ -53,12 +53,12 @@ WARNING: This link could potentially be dangerous`)){const d=window.open();if(d)
|
|
|
53
53
|
`,this;e--}else if(n instanceof je){let l=n.text[o+(i<0?-1:0)];if(this.offsets[r]+=i,l.length>Math.max(0,e))return this.value=e==0?l:i>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=n.children[o+(i<0?-1:0)];e>l.length?(e-=l.length,this.offsets[r]+=i):(i<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(i>0?1:(l instanceof je?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 G1{constructor(e,i,r){this.value="",this.done=!1,this.cursor=new Ao(e,i>r?-1:1),this.pos=i>r?e.length:0,this.from=Math.min(i,r),this.to=Math.max(i,r)}nextInner(e,i){if(i<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,i<0?this.pos-this.to:this.from-this.pos);let r=i<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*i,this.value=n.length<=r?n:i<0?n.slice(n.length-r):n.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 B1{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:i,lineBreak:r,value:n}=this.inner.next(e);return i&&this.afterBreak?(this.value="",this.afterBreak=!1):i?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&($e.prototype[Symbol.iterator]=function(){return this.iter()},Ao.prototype[Symbol.iterator]=G1.prototype[Symbol.iterator]=B1.prototype[Symbol.iterator]=function(){return this});let nk=class{constructor(e,i,r,n){this.from=e,this.to=i,this.number=r,this.text=n}get length(){return this.to-this.from}};function Rs(t,e,i){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,i))]}function Ke(t,e,i=!0,r=!0){return tk(t,e,i,r)}function sk(t){return t>=56320&&t<57344}function ok(t){return t>=55296&&t<56320}function Xt(t,e){let i=t.charCodeAt(e);if(!ok(i)||e+1==t.length)return i;let r=t.charCodeAt(e+1);return sk(r)?(i-55296<<10)+(r-56320)+65536:i}function Vp(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function Ei(t){return t<65536?1:2}const Rf=/\r\n?|\n/;var nt=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(nt||(nt={}));class Ii{constructor(e){this.sections=e}get length(){let e=0;for(let i=0;i<this.sections.length;i+=2)e+=this.sections[i];return e}get newLength(){let e=0;for(let i=0;i<this.sections.length;i+=2){let r=this.sections[i+1];e+=r<0?this.sections[i]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let i=0,r=0,n=0;i<this.sections.length;){let s=this.sections[i++],o=this.sections[i++];o<0?(e(r,n,s),n+=s):n+=o,r+=s}}iterChangedRanges(e,i=!1){Cf(this,e,i)}get invertedDesc(){let e=[];for(let i=0;i<this.sections.length;){let r=this.sections[i++],n=this.sections[i++];n<0?e.push(r,n):e.push(n,r)}return new Ii(e)}composeDesc(e){return this.empty?e:e.empty?this:I1(this,e)}mapDesc(e,i=!1){return e.empty?this:Yf(this,e,i)}mapPos(e,i=-1,r=nt.Simple){let n=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],O=n+a;if(l<0){if(O>e)return s+(e-n);s+=a}else{if(r!=nt.Simple&&O>=e&&(r==nt.TrackDel&&n<e&&O>e||r==nt.TrackBefore&&n<e||r==nt.TrackAfter&&O>e))return null;if(O>e||O==e&&i<0&&!a)return e==n||i<0?s:s+l;s+=l}n=O}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return s}touchesRange(e,i=e){for(let r=0,n=0;r<this.sections.length&&n<=i;){let s=this.sections[r++],o=this.sections[r++],a=n+s;if(o>=0&&n<=i&&a>=e)return n<e&&a>i?"cover":!0;n=a}return!1}toString(){let e="";for(let i=0;i<this.sections.length;){let r=this.sections[i++],n=this.sections[i++];e+=(e?" ":"")+r+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(i=>typeof i!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Ii(e)}static create(e){return new Ii(e)}}class Be extends Ii{constructor(e,i){super(e),this.inserted=i}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Cf(this,(i,r,n,s,o)=>e=e.replace(n,n+(r-i),o),!1),e}mapDesc(e,i=!1){return Yf(this,e,i,!0)}invert(e){let i=this.sections.slice(),r=[];for(let n=0,s=0;n<i.length;n+=2){let o=i[n],a=i[n+1];if(a>=0){i[n]=a,i[n+1]=o;let l=n>>1;for(;r.length<l;)r.push($e.empty);r.push(o?e.slice(s,s+o):$e.empty)}s+=o}return new Be(i,r)}compose(e){return this.empty?e:e.empty?this:I1(this,e,!0)}map(e,i=!1){return e.empty?this:Yf(this,e,i,!0)}iterChanges(e,i=!1){Cf(this,e,i)}get desc(){return Ii.create(this.sections)}filter(e){let i=[],r=[],n=[],s=new da(this);e:for(let o=0,a=0;;){let l=o==e.length?1e9:e[o++];for(;a<l||a==l&&s.len==0;){if(s.done)break e;let c=Math.min(s.len,l-a);ht(n,c,-1);let h=s.ins==-1?-1:s.off==0?s.ins:0;ht(i,c,h),h>0&&zr(r,i,s.text),s.forward(c),a+=c}let O=e[o++];for(;a<O;){if(s.done)break e;let c=Math.min(s.len,O-a);ht(i,c,-1),ht(n,c,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(c),a+=c}}return{changes:new Be(i,r),filtered:Ii.create(n)}}toJSON(){let e=[];for(let i=0;i<this.sections.length;i+=2){let r=this.sections[i],n=this.sections[i+1];n<0?e.push(r):n==0?e.push([r]):e.push([r].concat(this.inserted[i>>1].toJSON()))}return e}static of(e,i,r){let n=[],s=[],o=0,a=null;function l(c=!1){if(!c&&!n.length)return;o<i&&ht(n,i-o,-1);let h=new Be(n,s);a=a?a.compose(h.map(a)):h,n=[],s=[],o=0}function O(c){if(Array.isArray(c))for(let h of c)O(h);else if(c instanceof Be){if(c.length!=i)throw new RangeError(`Mismatched change set length (got ${c.length}, expected ${i})`);l(),a=a?a.compose(c.map(a)):c}else{let{from:h,to:u=h,insert:m}=c;if(h>u||h<0||u>i)throw new RangeError(`Invalid change range ${h} to ${u} (in doc of length ${i})`);let S=m?typeof m=="string"?$e.of(m.split(r||Rf)):m:$e.empty,Q=S.length;if(h==u&&Q==0)return;h<o&&l(),h>o&&ht(n,h-o,-1),ht(n,u-h,Q),zr(s,n,S),o=u}}return O(e),l(!a),a}static empty(e){return new Be(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],r=[];for(let n=0;n<e.length;n++){let s=e[n];if(typeof s=="number")i.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,a)=>a&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)i.push(s[0],0);else{for(;r.length<n;)r.push($e.empty);r[n]=$e.of(s.slice(1)),i.push(s[0],r[n].length)}}}return new Be(i,r)}static createSet(e,i){return new Be(e,i)}}function ht(t,e,i,r=!1){if(e==0&&i<=0)return;let n=t.length-2;n>=0&&i<=0&&i==t[n+1]?t[n]+=e:n>=0&&e==0&&t[n]==0?t[n+1]+=i:r?(t[n]+=e,t[n+1]+=i):t.push(e,i)}function zr(t,e,i){if(i.length==0)return;let r=e.length-2>>1;if(r<t.length)t[t.length-1]=t[t.length-1].append(i);else{for(;t.length<r;)t.push($e.empty);t.push(i)}}function Cf(t,e,i){let r=t.inserted;for(let n=0,s=0,o=0;o<t.sections.length;){let a=t.sections[o++],l=t.sections[o++];if(l<0)n+=a,s+=a;else{let O=n,c=s,h=$e.empty;for(;O+=a,c+=l,l&&r&&(h=h.append(r[o-2>>1])),!(i||o==t.sections.length||t.sections[o+1]<0);)a=t.sections[o++],l=t.sections[o++];e(n,O,s,c,h),n=O,s=c}}}function Yf(t,e,i,r=!1){let n=[],s=r?[]:null,o=new da(t),a=new da(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let O=Math.min(o.len,a.len);ht(n,O,-1),o.forward(O),a.forward(O)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len<o.len||a.len==o.len&&!i))){let O=a.len;for(ht(n,a.ins,-1);O;){let c=Math.min(o.len,O);o.ins>=0&&l<o.i&&o.len<=c&&(ht(n,0,o.ins),s&&zr(s,n,o.text),l=o.i),o.forward(c),O-=c}a.next()}else if(o.ins>=0){let O=0,c=o.len;for(;c;)if(a.ins==-1){let h=Math.min(c,a.len);O+=h,c-=h,a.forward(h)}else if(a.ins==0&&a.len<c)c-=a.len,a.next();else break;ht(n,O,l<o.i?o.ins:0),s&&l<o.i&&zr(s,n,o.text),l=o.i,o.forward(o.len-c)}else{if(o.done&&a.done)return s?Be.createSet(n,s):Ii.create(n);throw new Error("Mismatched change set lengths")}}}function I1(t,e,i=!1){let r=[],n=i?[]:null,s=new da(t),o=new da(e);for(let a=!1;;){if(s.done&&o.done)return n?Be.createSet(r,n):Ii.create(r);if(s.ins==0)ht(r,s.len,0,a),s.next();else if(o.len==0&&!o.done)ht(r,0,o.ins,a),n&&zr(n,r,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(s.len2,o.len),O=r.length;if(s.ins==-1){let c=o.ins==-1?-1:o.off?0:o.ins;ht(r,l,c,a),n&&c&&zr(n,r,o.text)}else o.ins==-1?(ht(r,s.off?0:s.len,l,a),n&&zr(n,r,s.textBit(l))):(ht(r,s.off?0:s.len,o.off?0:o.ins,a),n&&!o.off&&zr(n,r,o.text));a=(s.ins>l||o.ins>=0&&o.len>l)&&(a||r.length>O),s.forward2(l),o.forward(l)}}}}class da{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,i=this.i-2>>1;return i>=e.length?$e.empty:e[i]}textBit(e){let{inserted:i}=this.set,r=this.i-2>>1;return r>=i.length&&!e?$e.empty:i[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 _n{constructor(e,i,r){this.from=e,this.to=i,this.flags=r}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 bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,i=-1){let r,n;return this.empty?r=n=e.mapPos(this.from,i):(r=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),r==this.from&&n==this.to?this:new _n(r,n,this.flags)}extend(e,i=e,r=0){if(e<=this.anchor&&i>=this.anchor)return A.range(e,i,void 0,void 0,r);let n=Math.abs(e-this.anchor)>Math.abs(i-this.anchor)?e:i;return A.range(this.anchor,n,void 0,void 0,r)}eq(e,i=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!i||!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 A.range(e.anchor,e.head)}static create(e,i,r){return new _n(e,i,r)}}class A{constructor(e,i){this.ranges=e,this.mainIndex=i}map(e,i=-1){return e.empty?this:A.create(this.ranges.map(r=>r.map(e,i)),this.mainIndex)}eq(e,i=!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],i))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new A([this.main],0)}addRange(e,i=!0){return A.create([e].concat(this.ranges),i?0:this.mainIndex+1)}replaceRange(e,i=this.mainIndex){let r=this.ranges.slice();return r[i]=e,A.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 A(e.ranges.map(i=>_n.fromJSON(i)),e.main)}static single(e,i=e){return new A([A.range(e,i)],0)}static create(e,i=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,n=0;n<e.length;n++){let s=e[n];if(s.empty?s.from<=r:s.from<r)return A.normalized(e.slice(),i);r=s.to}return new A(e,i)}static cursor(e,i=0,r,n){return _n.create(e,e,(i==0?0:i<0?8:16)|(r==null?7:Math.min(6,r))|(n??16777215)<<6)}static range(e,i,r,n,s){let o=(r??16777215)<<6|(n==null?7:Math.min(6,n));return!s&&e!=i&&(s=i<e?1:-1),i<e?_n.create(i,e,48|o):_n.create(e,i,(s?s<0?8:16:0)|o)}static normalized(e,i=0){let r=e[i];e.sort((n,s)=>n.from-s.from),i=e.indexOf(r);for(let n=1;n<e.length;n++){let s=e[n],o=e[n-1];if(s.empty?s.from<=o.to:s.from<o.to){let a=o.from,l=Math.max(s.to,o.to);n<=i&&i--,e.splice(--n,2,s.anchor>s.head?A.range(l,a):A.range(a,l))}}return new A(e,i)}}function N1(t,e){for(let i of t.ranges)if(i.to>e)throw new RangeError("Selection points outside of document")}let Ep=0;class K{constructor(e,i,r,n,s){this.combine=e,this.compareInput=i,this.compare=r,this.isStatic=n,this.id=Ep++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new K(e.combine||(i=>i),e.compareInput||((i,r)=>i===r),e.compare||(e.combine?(i,r)=>i===r:Ap),!!e.static,e.enables)}of(e){return new oO([],this,0,e)}compute(e,i){if(this.isStatic)throw new Error("Can't compute a static facet");return new oO(e,this,1,i)}computeN(e,i){if(this.isStatic)throw new Error("Can't compute a static facet");return new oO(e,this,2,i)}from(e,i){return i||(i=r=>r),this.compute([e],r=>i(r.field(e)))}}function Ap(t,e){return t==e||t.length==e.length&&t.every((i,r)=>i===e[r])}class oO{constructor(e,i,r,n){this.dependencies=e,this.facet=i,this.type=r,this.value=n,this.id=Ep++}dynamicSlot(e){var i;let r=this.value,n=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,O=!1,c=[];for(let h of this.dependencies)h=="doc"?l=!0:h=="selection"?O=!0:((i=e[h.id])!==null&&i!==void 0?i:1)&1||c.push(e[h.id]);return{create(h){return h.values[o]=r(h),1},update(h,u){if(l&&u.docChanged||O&&(u.docChanged||u.selection)||Zf(h,c)){let m=r(h);if(a?!lQ(m,h.values[o],n):!n(m,h.values[o]))return h.values[o]=m,1}return 0},reconfigure:(h,u)=>{let m,S=u.config.address[s];if(S!=null){let Q=DO(u,S);if(this.dependencies.every(g=>g instanceof K?u.facet(g)===h.facet(g):g instanceof et?u.field(g,!1)==h.field(g,!1):!0)||(a?lQ(m=r(h),Q,n):n(m=r(h),Q)))return h.values[o]=Q,0}else m=r(h);return h.values[o]=m,1}}}}function lQ(t,e,i){if(t.length!=e.length)return!1;for(let r=0;r<t.length;r++)if(!i(t[r],e[r]))return!1;return!0}function Zf(t,e){let i=!1;for(let r of e)jo(t,r)&1&&(i=!0);return i}function ak(t,e,i){let r=i.map(l=>t[l.id]),n=i.map(l=>l.type),s=r.filter(l=>!(l&1)),o=t[e.id]>>1;function a(l){let O=[];for(let c=0;c<r.length;c++){let h=DO(l,r[c]);if(n[c]==2)for(let u of h)O.push(u);else O.push(h)}return e.combine(O)}return{create(l){for(let O of r)jo(l,O);return l.values[o]=a(l),1},update(l,O){if(!Zf(l,s))return 0;let c=a(l);return e.compare(c,l.values[o])?0:(l.values[o]=c,1)},reconfigure(l,O){let c=Zf(l,r),h=O.config.facets[e.id],u=O.facet(e);if(h&&!c&&Ap(i,h))return l.values[o]=u,0;let m=a(l);return e.compare(m,u)?(l.values[o]=u,0):(l.values[o]=m,1)}}}const Sl=K.define({static:!0});class et{constructor(e,i,r,n,s){this.id=e,this.createF=i,this.updateF=r,this.compareF=n,this.spec=s,this.provides=void 0}static define(e){let i=new et(Ep++,e.create,e.update,e.compare||((r,n)=>r===n),e);return e.provide&&(i.provides=e.provide(i)),i}create(e){let i=e.facet(Sl).find(r=>r.field==this);return((i==null?void 0:i.create)||this.createF)(e)}slot(e){let i=e[this.id]>>1;return{create:r=>(r.values[i]=this.create(r),1),update:(r,n)=>{let s=r.values[i],o=this.updateF(s,n);return this.compareF(s,o)?0:(r.values[i]=o,1)},reconfigure:(r,n)=>{let s=r.facet(Sl),o=n.facet(Sl),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(r.values[i]=a.create(r),1):n.config.address[this.id]!=null?(r.values[i]=n.field(this),0):(r.values[i]=this.create(r),1)}}}init(e){return[this,Sl.of({field:this,create:e})]}get extension(){return this}}const dn={lowest:4,low:3,default:2,high:1,highest:0};function uo(t){return e=>new F1(e,t)}const _r={highest:uo(dn.highest),high:uo(dn.high),default:uo(dn.default),low:uo(dn.low),lowest:uo(dn.lowest)};class F1{constructor(e,i){this.inner=e,this.prec=i}}class Ec{of(e){return new Wf(this,e)}reconfigure(e){return Ec.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Wf{constructor(e,i){this.compartment=e,this.inner=i}}class LO{constructor(e,i,r,n,s,o){for(this.base=e,this.compartments=i,this.dynamicSlots=r,this.address=n,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let i=this.address[e.id];return i==null?e.default:this.staticValues[i>>1]}static resolve(e,i,r){let n=[],s=Object.create(null),o=new Map;for(let u of lk(e,i,o))u instanceof et?n.push(u):(s[u.facet.id]||(s[u.facet.id]=[])).push(u);let a=Object.create(null),l=[],O=[];for(let u of n)a[u.id]=O.length<<1,O.push(m=>u.slot(m));let c=r==null?void 0:r.config.facets;for(let u in s){let m=s[u],S=m[0].facet,Q=c&&c[u]||[];if(m.every(g=>g.type==0))if(a[S.id]=l.length<<1|1,Ap(Q,m))l.push(r.facet(S));else{let g=S.combine(m.map(d=>d.value));l.push(r&&S.compare(g,r.facet(S))?r.facet(S):g)}else{for(let g of m)g.type==0?(a[g.id]=l.length<<1|1,l.push(g.value)):(a[g.id]=O.length<<1,O.push(d=>g.dynamicSlot(d)));a[S.id]=O.length<<1,O.push(g=>ak(g,S,m))}}let h=O.map(u=>u(a));return new LO(e,o,h,a,l,s)}}function lk(t,e,i){let r=[[],[],[],[],[]],n=new Map;function s(o,a){let l=n.get(o);if(l!=null){if(l<=a)return;let O=r[l].indexOf(o);O>-1&&r[l].splice(O,1),o instanceof Wf&&i.delete(o.compartment)}if(n.set(o,a),Array.isArray(o))for(let O of o)s(O,a);else if(o instanceof Wf){if(i.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let O=e.get(o.compartment)||o.inner;i.set(o.compartment,O),s(O,a)}else if(o instanceof F1)s(o.inner,o.prec);else if(o instanceof et)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof oO)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,dn.default);else{let O=o.extension;if(!O)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(O,a)}}return s(t,dn.default),r.reduce((o,a)=>o.concat(a))}function jo(t,e){if(e&1)return 2;let i=e>>1,r=t.status[i];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;t.status[i]=4;let n=t.computeSlot(t,t.config.dynamicSlots[i]);return t.status[i]=2|n}function DO(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const H1=K.define(),Uf=K.define({combine:t=>t.some(e=>e),static:!0}),K1=K.define({combine:t=>t.length?t[0]:void 0,static:!0}),J1=K.define(),e0=K.define(),t0=K.define(),i0=K.define({combine:t=>t.length?t[0]:!1});class Hi{constructor(e,i){this.type=e,this.value=i}static define(){return new Ok}}class Ok{of(e){return new Hi(this,e)}}class ck{constructor(e){this.map=e}of(e){return new ae(this,e)}}class ae{constructor(e,i){this.type=e,this.value=i}map(e){let i=this.type.map(this.value,e);return i===void 0?void 0:i==this.value?this:new ae(this.type,i)}is(e){return this.type==e}static define(e={}){return new ck(e.map||(i=>i))}static mapEffects(e,i){if(!e.length)return e;let r=[];for(let n of e){let s=n.map(i);s&&r.push(s)}return r}}ae.reconfigure=ae.define();ae.appendConfig=ae.define();class Me{constructor(e,i,r,n,s,o){this.startState=e,this.changes=i,this.selection=r,this.effects=n,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,r&&N1(r,i.newLength),s.some(a=>a.type==Me.time)||(this.annotations=s.concat(Me.time.of(Date.now())))}static create(e,i,r,n,s,o){return new Me(e,i,r,n,s,o)}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 i of this.annotations)if(i.type==e)return i.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let i=this.annotation(Me.userEvent);return!!(i&&(i==e||i.length>e.length&&i.slice(0,e.length)==e&&i[e.length]=="."))}}Me.time=Hi.define();Me.userEvent=Hi.define();Me.addToHistory=Hi.define();Me.remote=Hi.define();function hk(t,e){let i=[];for(let r=0,n=0;;){let s,o;if(r<t.length&&(n==e.length||e[n]>=t[r]))s=t[r++],o=t[r++];else if(n<e.length)s=e[n++],o=e[n++];else return i;!i.length||i[i.length-1]<s?i.push(s,o):i[i.length-1]<o&&(i[i.length-1]=o)}}function r0(t,e,i){var r;let n,s,o;return i?(n=e.changes,s=Be.empty(e.changes.length),o=t.changes.compose(e.changes)):(n=e.changes.map(t.changes),s=t.changes.mapDesc(e.changes,!0),o=t.changes.compose(n)),{changes:o,selection:e.selection?e.selection.map(s):(r=t.selection)===null||r===void 0?void 0:r.map(n),effects:ae.mapEffects(t.effects,n).concat(ae.mapEffects(e.effects,s)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function zf(t,e,i){let r=e.selection,n=ms(e.annotations);return e.userEvent&&(n=n.concat(Me.userEvent.of(e.userEvent))),{changes:e.changes instanceof Be?e.changes:Be.of(e.changes||[],i,t.facet(K1)),selection:r&&(r instanceof A?r:A.single(r.anchor,r.head)),effects:ms(e.effects),annotations:n,scrollIntoView:!!e.scrollIntoView}}function n0(t,e,i){let r=zf(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(i=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(i=!1);let o=!!e[s].sequential;r=r0(r,zf(t,e[s],o?r.changes.newLength:t.doc.length),o)}let n=Me.create(t,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return fk(i?uk(n):n)}function uk(t){let e=t.startState,i=!0;for(let n of e.facet(J1)){let s=n(t);if(s===!1){i=!1;break}Array.isArray(s)&&(i=i===!0?s:hk(i,s))}if(i!==!0){let n,s;if(i===!1)s=t.changes.invertedDesc,n=Be.empty(e.doc.length);else{let o=t.changes.filter(i);n=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}t=Me.create(e,n,t.selection&&t.selection.map(s),ae.mapEffects(t.effects,s),t.annotations,t.scrollIntoView)}let r=e.facet(e0);for(let n=r.length-1;n>=0;n--){let s=r[n](t);s instanceof Me?t=s:Array.isArray(s)&&s.length==1&&s[0]instanceof Me?t=s[0]:t=n0(e,ms(s),!1)}return t}function fk(t){let e=t.startState,i=e.facet(t0),r=t;for(let n=i.length-1;n>=0;n--){let s=i[n](t);s&&Object.keys(s).length&&(r=r0(r,zf(e,s,t.changes.newLength),!0))}return r==t?t:Me.create(e,t.changes,t.selection,r.effects,r.annotations,r.scrollIntoView)}const dk=[];function ms(t){return t==null?dk:Array.isArray(t)?t:[t]}var Ye=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(Ye||(Ye={}));const pk=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let qf;try{qf=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function mk(t){if(qf)return qf.test(t);for(let e=0;e<t.length;e++){let i=t[e];if(/\w/.test(i)||i>""&&(i.toUpperCase()!=i.toLowerCase()||pk.test(i)))return!0}return!1}function gk(t){return e=>{if(!/\S/.test(e))return Ye.Space;if(mk(e))return Ye.Word;for(let i=0;i<t.length;i++)if(e.indexOf(t[i])>-1)return Ye.Word;return Ye.Other}}class fe{constructor(e,i,r,n,s,o){this.config=e,this.doc=i,this.selection=r,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)jo(this,a<<1);this.computeSlot=null}field(e,i=!0){let r=this.config.address[e.id];if(r==null){if(i)throw new RangeError("Field is not present in this state");return}return jo(this,r),DO(this,r)}update(...e){return n0(this,e,!0)}applyTransaction(e){let i=this.config,{base:r,compartments:n}=i;for(let a of e.effects)a.is(Ec.reconfigure)?(i&&(n=new Map,i.compartments.forEach((l,O)=>n.set(O,l)),i=null),n.set(a.value.compartment,a.value.extension)):a.is(ae.reconfigure)?(i=null,r=a.value):a.is(ae.appendConfig)&&(i=null,r=ms(r).concat(a.value));let s;i?s=e.startState.values.slice():(i=LO.resolve(r,n,this),s=new fe(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(l,O)=>O.reconfigure(l,this),null).values);let o=e.startState.facet(Uf)?e.newSelection:e.newSelection.asSingle();new fe(i,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:e},range:A.cursor(i.from+e.length)}))}changeByRange(e){let i=this.selection,r=e(i.ranges[0]),n=this.changes(r.changes),s=[r.range],o=ms(r.effects);for(let a=1;a<i.ranges.length;a++){let l=e(i.ranges[a]),O=this.changes(l.changes),c=O.map(n);for(let u=0;u<a;u++)s[u]=s[u].map(c);let h=n.mapDesc(O,!0);s.push(l.range.map(h)),n=n.compose(c),o=ae.mapEffects(o,c).concat(ae.mapEffects(ms(l.effects),h))}return{changes:n,selection:A.create(s,i.mainIndex),effects:o}}changes(e=[]){return e instanceof Be?e:Be.of(e,this.doc.length,this.facet(fe.lineSeparator))}toText(e){return $e.of(e.split(this.facet(fe.lineSeparator)||Rf))}sliceDoc(e=0,i=this.doc.length){return this.doc.sliceString(e,i,this.lineBreak)}facet(e){let i=this.config.address[e.id];return i==null?e.default:(jo(this,i),DO(this,i))}toJSON(e){let i={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let n=e[r];n instanceof et&&this.config.address[n.id]!=null&&(i[r]=n.spec.toJSON(this.field(e[r]),this))}return i}static fromJSON(e,i={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(r){for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)){let o=r[s],a=e[s];n.push(o.init(l=>o.spec.fromJSON(a,l)))}}return fe.create({doc:e.doc,selection:A.fromJSON(e.selection),extensions:i.extensions?n.concat([i.extensions]):n})}static create(e={}){let i=LO.resolve(e.extensions||[],new Map),r=e.doc instanceof $e?e.doc:$e.of((e.doc||"").split(i.staticFacet(fe.lineSeparator)||Rf)),n=e.selection?e.selection instanceof A?e.selection:A.single(e.selection.anchor,e.selection.head):A.single(0);return N1(n,r.length),i.staticFacet(Uf)||(n=n.asSingle()),new fe(i,r,n,i.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(fe.tabSize)}get lineBreak(){return this.facet(fe.lineSeparator)||`
|
|
54
54
|
`}get readOnly(){return this.facet(i0)}phrase(e,...i){for(let r of this.facet(fe.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return i.length&&(e=e.replace(/\$(\$|\d*)/g,(r,n)=>{if(n=="$")return"$";let s=+(n||1);return!s||s>i.length?r:i[s-1]})),e}languageDataAt(e,i,r=-1){let n=[];for(let s of this.facet(H1))for(let o of s(this,i,r))Object.prototype.hasOwnProperty.call(o,e)&&n.push(o[e]);return n}charCategorizer(e){let i=this.languageDataAt("wordChars",e);return gk(i.length?i[0]:"")}wordAt(e){let{text:i,from:r,length:n}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=Ke(i,o,!1);if(s(i.slice(l,o))!=Ye.Word)break;o=l}for(;a<n;){let l=Ke(i,a);if(s(i.slice(a,l))!=Ye.Word)break;a=l}return o==a?null:A.range(o+r,a+r)}}fe.allowMultipleSelections=Uf;fe.tabSize=K.define({combine:t=>t.length?t[0]:4});fe.lineSeparator=K1;fe.readOnly=i0;fe.phrases=K.define({compare(t,e){let i=Object.keys(t),r=Object.keys(e);return i.length==r.length&&i.every(n=>t[n]==e[n])}});fe.languageData=H1;fe.changeFilter=J1;fe.transactionFilter=e0;fe.transactionExtender=t0;Ec.reconfigure=ae.define();function Xi(t,e,i={}){let r={};for(let n of t)for(let s of Object.keys(n)){let o=n[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(i,s))r[s]=i[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let n in e)r[n]===void 0&&(r[n]=e[n]);return r}class Nr{eq(e){return this==e}range(e,i=e){return Vf.create(e,i,this)}}Nr.prototype.startSide=Nr.prototype.endSide=0;Nr.prototype.point=!1;Nr.prototype.mapMode=nt.TrackDel;function jp(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}let Vf=class s0{constructor(e,i,r){this.from=e,this.to=i,this.value=r}static create(e,i,r){return new s0(e,i,r)}};function Ef(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class Lp{constructor(e,i,r,n){this.from=e,this.to=i,this.value=r,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,i,r,n=0){let s=r?this.to:this.from;for(let o=n,a=s.length;;){if(o==a)return o;let l=o+a>>1,O=s[l]-e||(r?this.value[l].endSide:this.value[l].startSide)-i;if(l==o)return O>=0?o:a;O>=0?a=l:o=l+1}}between(e,i,r,n){for(let s=this.findIndex(i,-1e9,!0),o=this.findIndex(r,1e9,!1,s);s<o;s++)if(n(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,i){let r=[],n=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let O=this.value[l],c=this.from[l]+e,h=this.to[l]+e,u,m;if(c==h){let S=i.mapPos(c,O.startSide,O.mapMode);if(S==null||(u=m=S,O.startSide!=O.endSide&&(m=i.mapPos(c,O.endSide),m<u)))continue}else if(u=i.mapPos(c,O.startSide),m=i.mapPos(h,O.endSide),u>m||u==m&&O.startSide>0&&O.endSide<=0)continue;(m-u||O.endSide-O.startSide)<0||(o<0&&(o=u),O.point&&(a=Math.max(a,m-u)),r.push(O),n.push(u-o),s.push(m-o))}return{mapped:r.length?new Lp(n,s,r,a):null,pos:o}}}class ce{constructor(e,i,r,n){this.chunkPos=e,this.chunk=i,this.nextLayer=r,this.maxPoint=n}static create(e,i,r,n){return new ce(e,i,r,n)}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 i of this.chunk)e+=i.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:i=[],sort:r=!1,filterFrom:n=0,filterTo:s=this.length}=e,o=e.filter;if(i.length==0&&!o)return this;if(r&&(i=i.slice().sort(Ef)),this.isEmpty)return i.length?ce.of(i):this;let a=new o0(this,null,-1).goto(0),l=0,O=[],c=new Fi;for(;a.value||l<i.length;)if(l<i.length&&(a.from-i[l].from||a.startSide-i[l].value.startSide)>=0){let h=i[l++];c.addInner(h.from,h.to,h.value)||O.push(h)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==i.length||this.chunkEnd(a.chunkIndex)<i[l].from)&&(!o||n>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&c.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||n>a.to||s<a.from||o(a.from,a.to,a.value))&&(c.addInner(a.from,a.to,a.value)||O.push(Vf.create(a.from,a.to,a.value))),a.next());return c.finishInner(this.nextLayer.isEmpty&&!O.length?ce.empty:this.nextLayer.update({add:O,filter:o,filterFrom:n,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let i=[],r=[],n=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],O=e.touchesRange(a,a+l.length);if(O===!1)n=Math.max(n,l.maxPoint),i.push(l),r.push(e.mapPos(a));else if(O===!0){let{mapped:c,pos:h}=l.map(a,e);c&&(n=Math.max(n,c.maxPoint),i.push(c),r.push(h))}}let s=this.nextLayer.map(e);return i.length==0?s:new ce(r,i,s||ce.empty,n)}between(e,i,r){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let s=this.chunkPos[n],o=this.chunk[n];if(i>=s&&e<=s+o.length&&o.between(s,e-s,i-s,r)===!1)return}this.nextLayer.between(e,i,r)}}iter(e=0){return pa.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,i=0){return pa.from(e).goto(i)}static compare(e,i,r,n,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=i.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),l=OQ(o,a,r),O=new fo(o,l,s),c=new fo(a,l,s);r.iterGaps((h,u,m)=>cQ(O,h,c,u,m,n)),r.empty&&r.length==0&&cQ(O,0,c,0,0,n)}static eq(e,i,r=0,n){n==null&&(n=999999999);let s=e.filter(c=>!c.isEmpty&&i.indexOf(c)<0),o=i.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=OQ(s,o),l=new fo(s,a,0).goto(r),O=new fo(o,a,0).goto(r);for(;;){if(l.to!=O.to||!Af(l.active,O.active)||l.point&&(!O.point||!jp(l.point,O.point)))return!1;if(l.to>n)return!0;l.next(),O.next()}}static spans(e,i,r,n,s=-1){let o=new fo(e,null,s).goto(i),a=i,l=o.openStart;for(;;){let O=Math.min(o.to,r);if(o.point){let c=o.activeForPoint(o.to),h=o.pointFrom<i?c.length+1:o.point.startSide<0?c.length:Math.min(c.length,l);n.point(a,O,o.point,c,h,o.pointRank),l=Math.min(o.openEnd(O),c.length)}else O>a&&(n.span(a,O,o.active,l),l=o.openEnd(O));if(o.to>r)return l+(o.point&&o.to>r?1:0);a=o.to,o.next()}}static of(e,i=!1){let r=new Fi;for(let n of e instanceof Vf?[e]:i?Qk(e):e)r.add(n.from,n.to,n.value);return r.finish()}static join(e){if(!e.length)return ce.empty;let i=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let n=e[r];n!=ce.empty;n=n.nextLayer)i=new ce(n.chunkPos,n.chunk,i,Math.max(n.maxPoint,i.maxPoint));return i}}ce.empty=new ce([],[],null,-1);function Qk(t){if(t.length>1)for(let e=t[0],i=1;i<t.length;i++){let r=t[i];if(Ef(e,r)>0)return t.slice().sort(Ef);e=r}return t}ce.empty.nextLayer=ce.empty;class Fi{finishChunk(e){this.chunks.push(new Lp(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,i,r){this.addInner(e,i,r)||(this.nextLayer||(this.nextLayer=new Fi)).add(e,i,r)}addInner(e,i,r){let n=e-this.lastTo||r.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return n<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(i-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=i,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,i-e)),!0)}addChunk(e,i){if((e-this.lastTo||i.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,i.maxPoint),this.chunks.push(i),this.chunkPos.push(e);let r=i.value.length-1;return this.last=i.value[r],this.lastFrom=i.from[r]+e,this.lastTo=i.to[r]+e,!0}finish(){return this.finishInner(ce.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let i=ce.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,i}}function OQ(t,e,i){let r=new Map;for(let s of t)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&r.set(s.chunk[o],s.chunkPos[o]);let n=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let a=r.get(s.chunk[o]);a!=null&&(i?i.mapPos(a):a)==s.chunkPos[o]&&!(i!=null&&i.touchesRange(a,a+s.chunk[o].length))&&n.add(s.chunk[o])}return n}class o0{constructor(e,i,r,n=0){this.layer=e,this.skip=i,this.minPoint=r,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,i=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,i,!1),this}gotoInner(e,i,r){for(;this.chunkIndex<this.layer.chunk.length;){let n=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(n)||this.layer.chunkEnd(this.chunkIndex)<e||n.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],i,!0);(!r||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(e,i){(this.to-e||this.endSide-i)<0&&this.gotoInner(e,i,!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],i=this.layer.chunk[this.chunkIndex],r=e+i.from[this.rangeIndex];if(this.from=r,this.to=e+i.to[this.rangeIndex],this.value=i.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 pa{constructor(e){this.heap=e}static from(e,i=null,r=-1){let n=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=r&&n.push(new o0(o,i,r,s));return n.length==1?n[0]:new pa(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,i=-1e9){for(let r of this.heap)r.goto(e,i);for(let r=this.heap.length>>1;r>=0;r--)zh(this.heap,r);return this.next(),this}forward(e,i){for(let r of this.heap)r.forward(e,i);for(let r=this.heap.length>>1;r>=0;r--)zh(this.heap,r);(this.to-e||this.value.endSide-i)<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(),zh(this.heap,0)}}}function zh(t,e){for(let i=t[e];;){let r=(e<<1)+1;if(r>=t.length)break;let n=t[r];if(r+1<t.length&&n.compare(t[r+1])>=0&&(n=t[r+1],r++),i.compare(n)<0)break;t[r]=i,t[e]=n,e=r}}class fo{constructor(e,i,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=pa.from(e,i,r)}goto(e,i=-1e9){return this.cursor.goto(e,i),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=i,this.openStart=-1,this.next(),this}forward(e,i){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-i)<0;)this.removeActive(this.minActive);this.cursor.forward(e,i)}removeActive(e){$l(this.active,e),$l(this.activeTo,e),$l(this.activeRank,e),this.minActive=hQ(this.active,this.activeTo)}addActive(e){let i=0,{value:r,to:n,rank:s}=this.cursor;for(;i<this.activeRank.length&&(s-this.activeRank[i]||n-this.activeTo[i])>0;)i++;_l(this.active,i,r),_l(this.activeTo,i,n),_l(this.activeRank,i,s),e&&_l(e,i,this.cursor.from),this.minActive=hQ(this.active,this.activeTo)}next(){let e=this.to,i=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),r&&$l(r,n)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(i&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.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 n=r.length-1;n>=0&&r[n]<e;n--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let i=[];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)&&i.push(this.active[r]);return i.reverse()}openEnd(e){let i=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)i++;return i}}function cQ(t,e,i,r,n,s){t.goto(e),i.goto(r);let o=r+n,a=r,l=r-e,O=!!s.boundChange;for(let c=!1;;){let h=t.to+l-i.to,u=h||t.endSide-i.endSide,m=u<0?t.to+l:i.to,S=Math.min(m,o);if(t.point||i.point?(t.point&&i.point&&jp(t.point,i.point)&&Af(t.activeForPoint(t.to),i.activeForPoint(i.to))||s.comparePoint(a,S,t.point,i.point),c=!1):(c&&s.boundChange(a),S>a&&!Af(t.active,i.active)&&s.compareRange(a,S,t.active,i.active),O&&S<o&&(h||t.openEnd(m)!=i.openEnd(m))&&(c=!0)),m>o)break;a=m,u<=0&&t.next(),u>=0&&i.next()}}function Af(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!=e[i]&&!jp(t[i],e[i]))return!1;return!0}function $l(t,e){for(let i=e,r=t.length-1;i<r;i++)t[i]=t[i+1];t.pop()}function _l(t,e,i){for(let r=t.length-1;r>=e;r--)t[r+1]=t[r];t[e]=i}function hQ(t,e){let i=-1,r=1e9;for(let n=0;n<e.length;n++)(e[n]-r||t[n].endSide-t[i].endSide)<0&&(i=n,r=e[n]);return i}function yi(t,e,i=t.length){let r=0;for(let n=0;n<i&&n<t.length;)t.charCodeAt(n)==9?(r+=e-r%e,n++):(r++,n=Ke(t,n));return r}function jf(t,e,i,r){for(let n=0,s=0;;){if(s>=e)return n;if(n==t.length)break;s+=t.charCodeAt(n)==9?i-s%i:1,n=Ke(t,n)}return r===!0?-1:t.length}const Lf="ͼ",uQ=typeof Symbol>"u"?"__"+Lf:Symbol.for(Lf),Df=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),fQ=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Fr{constructor(e,i){this.rules=[];let{finish:r}=i||{};function n(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,O){let c=[],h=/^@(\w+)\b/.exec(o[0]),u=h&&h[1]=="keyframes";if(h&&a==null)return l.push(o[0]+";");for(let m in a){let S=a[m];if(/&/.test(m))s(m.split(/,\s*/).map(Q=>o.map(g=>Q.replace(/&/,g))).reduce((Q,g)=>Q.concat(g)),S,l);else if(S&&typeof S=="object"){if(!h)throw new RangeError("The value of a property ("+m+") should be a primitive value.");s(n(m),S,c,u)}else S!=null&&c.push(m.replace(/_.*/,"").replace(/[A-Z]/g,Q=>"-"+Q.toLowerCase())+": "+S+";")}(c.length||u)&&l.push((r&&!h&&!O?o.map(r):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)s(n(o),e[o],this.rules)}getRules(){return this.rules.join(`
|
|
55
55
|
`)}static newName(){let e=fQ[uQ]||1;return fQ[uQ]=e+1,Lf+e.toString(36)}static mount(e,i,r){let n=e[Df],s=r&&r.nonce;n?s&&n.setNonce(s):n=new Sk(e,s),n.mount(Array.isArray(i)?i:[i],e)}}let dQ=new Map;class Sk{constructor(e,i){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let s=dQ.get(r);if(s)return e[Df]=s;this.sheet=new n.CSSStyleSheet,dQ.set(r,this)}else this.styleTag=r.createElement("style"),i&&this.styleTag.setAttribute("nonce",i);this.modules=[],e[Df]=this}mount(e,i){let r=this.sheet,n=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),r)for(let O=0;O<a.rules.length;O++)r.insertRule(a.rules[O],n++)}else{for(;s<l;)n+=this.modules[s++].rules.length;n+=a.rules.length,s++}}if(r)i.adoptedStyleSheets.indexOf(this.sheet)<0&&(i.adoptedStyleSheets=[this.sheet,...i.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
|
|
56
|
-
`;this.styleTag.textContent=o;let a=i.head||i;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Hr={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:"'"},ma={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},$k=typeof navigator<"u"&&/Mac/.test(navigator.platform),_k=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var rt=0;rt<10;rt++)Hr[48+rt]=Hr[96+rt]=String(rt);for(var rt=1;rt<=24;rt++)Hr[rt+111]="F"+rt;for(var rt=65;rt<=90;rt++)Hr[rt]=String.fromCharCode(rt+32),ma[rt]=String.fromCharCode(rt);for(var qh in Hr)ma.hasOwnProperty(qh)||(ma[qh]=Hr[qh]);function vk(t){var e=$k&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||_k&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",i=!e&&t.key||(t.shiftKey?ma:Hr)[t.keyCode]||t.key||"Unidentified";return i=="Esc"&&(i="Escape"),i=="Del"&&(i="Delete"),i=="Left"&&(i="ArrowLeft"),i=="Up"&&(i="ArrowUp"),i=="Right"&&(i="ArrowRight"),i=="Down"&&(i="ArrowDown"),i}function me(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,i=arguments[1];if(i&&typeof i=="object"&&i.nodeType==null&&!Array.isArray(i)){for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r)){var n=i[r];typeof n=="string"?t.setAttribute(r,n):n!=null&&(t[r]=n)}e++}for(;e<arguments.length;e++)a0(t,arguments[e]);return t}function a0(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var i=0;i<e.length;i++)a0(t,e[i]);else throw new RangeError("Unsupported child node: "+e)}let gt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Mf=typeof document<"u"?document:{documentElement:{style:{}}};const Gf=/Edge\/(\d+)/.exec(gt.userAgent),l0=/MSIE \d/.test(gt.userAgent),Bf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(gt.userAgent),Ac=!!(l0||Bf||Gf),pQ=!Ac&&/gecko\/(\d+)/i.test(gt.userAgent),Vh=!Ac&&/Chrome\/(\d+)/.exec(gt.userAgent),Pk="webkitFontSmoothing"in Mf.documentElement.style,If=!Ac&&/Apple Computer/.test(gt.vendor),mQ=If&&(/Mobile\/\w+/.test(gt.userAgent)||gt.maxTouchPoints>2);var J={mac:mQ||/Mac/.test(gt.platform),windows:/Win/.test(gt.platform),linux:/Linux|X11/.test(gt.platform),ie:Ac,ie_version:l0?Mf.documentMode||6:Bf?+Bf[1]:Gf?+Gf[1]:0,gecko:pQ,gecko_version:pQ?+(/Firefox\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,chrome:!!Vh,chrome_version:Vh?+Vh[1]:0,ios:mQ,android:/Android\b/.test(gt.userAgent),webkit_version:Pk?+(/\bAppleWebKit\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,safari:If,safari_version:If?+(/\bVersion\/(\d+(\.\d+)?)/.exec(gt.userAgent)||[0,0])[1]:0,tabSize:Mf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Dp(t,e){for(let i in t)i=="class"&&e.class?e.class+=" "+t.class:i=="style"&&e.style?e.style+=";"+t.style:e[i]=t[i];return e}const MO=Object.create(null);function Mp(t,e,i){if(t==e)return!0;t||(t=MO),e||(e=MO);let r=Object.keys(t),n=Object.keys(e);if(r.length-0!=n.length-0)return!1;for(let s of r)if(s!=i&&(n.indexOf(s)==-1||t[s]!==e[s]))return!1;return!0}function yk(t,e){for(let i=t.attributes.length-1;i>=0;i--){let r=t.attributes[i].name;e[r]==null&&t.removeAttribute(r)}for(let i in e){let r=e[i];i=="style"?t.style.cssText=r:t.getAttribute(i)!=r&&t.setAttribute(i,r)}}function gQ(t,e,i){let r=!1;if(e)for(let n in e)i&&n in i||(r=!0,n=="style"?t.style.cssText="":t.removeAttribute(n));if(i)for(let n in i)e&&e[n]==i[n]||(r=!0,n=="style"?t.style.cssText=i[n]:t.setAttribute(n,i[n]));return r}function wk(t){let e=Object.create(null);for(let i=0;i<t.attributes.length;i++){let r=t.attributes[i];e[r.name]=r.value}return e}class bi{eq(e){return!1}updateDOM(e,i,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,i,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ot=function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t}(ot||(ot={}));class ne extends Nr{constructor(e,i,r,n){super(),this.startSide=e,this.endSide=i,this.widget=r,this.spec=n}get heightRelevant(){return!1}static mark(e){return new Da(e)}static widget(e){let i=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return i+=r&&!e.inlineOrder?i>0?3e8:-4e8:i>0?1e8:-1e8,new Wn(e,i,i,r,e.widget||null,!1)}static replace(e){let i=!!e.block,r,n;if(e.isBlockGap)r=-5e8,n=4e8;else{let{start:s,end:o}=O0(e,i);r=(s?i?-3e8:-1:5e8)-1,n=(o?i?2e8:1:-6e8)+1}return new Wn(e,r,n,i,e.widget||null,!0)}static line(e){return new Ma(e)}static set(e,i=!1){return ce.of(e,i)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ne.none=ce.empty;class Da extends ne{constructor(e){let{start:i,end:r}=O0(e);super(i?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Dp(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||MO}eq(e){return this==e||e instanceof Da&&this.tagName==e.tagName&&Mp(this.attrs,e.attrs)}range(e,i=e){if(e>=i)throw new RangeError("Mark decorations may not be empty");return super.range(e,i)}}Da.prototype.point=!1;class Ma extends ne{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Ma&&this.spec.class==e.spec.class&&Mp(this.spec.attributes,e.spec.attributes)}range(e,i=e){if(i!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,i)}}Ma.prototype.mapMode=nt.TrackBefore;Ma.prototype.point=!0;class Wn extends ne{constructor(e,i,r,n,s,o){super(i,r,s,e),this.block=n,this.isReplace=o,this.mapMode=n?i<=0?nt.TrackBefore:nt.TrackAfter:nt.TrackDel}get type(){return this.startSide!=this.endSide?ot.WidgetRange:this.startSide<=0?ot.WidgetBefore:ot.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Wn&&Xk(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,i=e){if(this.isReplace&&(e>i||e==i&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&i!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,i)}}Wn.prototype.point=!0;function O0(t,e=!1){let{inclusiveStart:i,inclusiveEnd:r}=t;return i==null&&(i=t.inclusive),r==null&&(r=t.inclusive),{start:i??e,end:r??e}}function Xk(t,e){return t==e||!!(t&&e&&t.compare(e))}function gs(t,e,i,r=0){let n=i.length-1;n>=0&&i[n]+r>=t?i[n]=Math.max(i[n],e):i.push(t,e)}class ga extends Nr{constructor(e,i){super(),this.tagName=e,this.attributes=i}eq(e){return e==this||e instanceof ga&&this.tagName==e.tagName&&Mp(this.attributes,e.attributes)}static create(e){return new ga(e.tagName,e.attributes||MO)}static set(e,i=!1){return ce.of(e,i)}}ga.prototype.startSide=ga.prototype.endSide=-1;function Qa(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function Nf(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Lo(t,e){if(!e.anchorNode)return!1;try{return Nf(t,e.anchorNode)}catch{return!1}}function Do(t){return t.nodeType==3?$a(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function Mo(t,e,i,r){return i?QQ(t,e,i,r,-1)||QQ(t,e,i,r,1):!1}function Kr(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function GO(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function QQ(t,e,i,r,n){for(;;){if(t==i&&e==r)return!0;if(e==(n<0?0:mr(t))){if(t.nodeName=="DIV")return!1;let s=t.parentNode;if(!s||s.nodeType!=1)return!1;e=Kr(t)+(n<0?0:1),t=s}else if(t.nodeType==1){if(t=t.childNodes[e+(n<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=n<0?mr(t):0}else return!1}}function mr(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Sa(t,e){let i=e?t.left:t.right;return{left:i,right:i,top:t.top,bottom:t.bottom}}function bk(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function c0(t,e){let i=e.width/t.offsetWidth,r=e.height/t.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.width-t.offsetWidth)<1)&&(i=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-t.offsetHeight)<1)&&(r=1),{scaleX:i,scaleY:r}}function xk(t,e,i,r,n,s,o,a){let l=t.ownerDocument,O=l.defaultView||window;for(let c=t,h=!1;c&&!h;)if(c.nodeType==1){let u,m=c==l.body,S=1,Q=1;if(m)u=bk(O);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(h=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let f=c.getBoundingClientRect();({scaleX:S,scaleY:Q}=c0(c,f)),u={left:f.left,right:f.left+c.clientWidth*S,top:f.top,bottom:f.top+c.clientHeight*Q}}let g=0,d=0;if(n=="nearest")e.top<u.top?(d=e.top-(u.top+o),i>0&&e.bottom>u.bottom+d&&(d=e.bottom-u.bottom+o)):e.bottom>u.bottom&&(d=e.bottom-u.bottom+o,i<0&&e.top-d<u.top&&(d=e.top-(u.top+o)));else{let f=e.bottom-e.top,p=u.bottom-u.top;d=(n=="center"&&f<=p?e.top+f/2-p/2:n=="start"||n=="center"&&i<0?e.top-o:e.bottom-p+o)-u.top}if(r=="nearest"?e.left<u.left?(g=e.left-(u.left+s),i>0&&e.right>u.right+g&&(g=e.right-u.right+s)):e.right>u.right&&(g=e.right-u.right+s,i<0&&e.left<u.left+g&&(g=e.left-(u.left+s))):g=(r=="center"?e.left+(e.right-e.left)/2-(u.right-u.left)/2:r=="start"==a?e.left-s:e.right-(u.right-u.left)+s)-u.left,g||d)if(m)O.scrollBy(g,d);else{let f=0,p=0;if(d){let $=c.scrollTop;c.scrollTop+=d/Q,p=(c.scrollTop-$)*Q}if(g){let $=c.scrollLeft;c.scrollLeft+=g/S,f=(c.scrollLeft-$)*S}e={left:e.left-f,top:e.top-p,right:e.right-f,bottom:e.bottom-p},f&&Math.abs(f-g)<1&&(r="nearest"),p&&Math.abs(p-d)<1&&(n="nearest")}if(m)break;(e.top<u.top||e.bottom>u.bottom||e.left<u.left||e.right>u.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function h0(t,e=!0){let i=t.ownerDocument,r=null,n=null;for(let s=t.parentNode;s&&!(s==i.body||(!e||r)&&n);)if(s.nodeType==1)!n&&s.scrollHeight>s.clientHeight&&(n=s),e&&!r&&s.scrollWidth>s.clientWidth&&(r=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:r,y:n}}class kk{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:i,focusNode:r}=e;this.set(i,Math.min(e.anchorOffset,i?mr(i):0),r,Math.min(e.focusOffset,r?mr(r):0))}set(e,i,r,n){this.anchorNode=e,this.anchorOffset=i,this.focusNode=r,this.focusOffset=n}}let hn=null;J.safari&&J.safari_version>=26&&(hn=!1);function u0(t){if(t.setActive)return t.setActive();if(hn)return t.focus(hn);let e=[];for(let i=t;i&&(e.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(t.focus(hn==null?{get preventScroll(){return hn={preventScroll:!0},!0}}:void 0),!hn){hn=!1;for(let i=0;i<e.length;){let r=e[i++],n=e[i++],s=e[i++];r.scrollTop!=n&&(r.scrollTop=n),r.scrollLeft!=s&&(r.scrollLeft=s)}}}let SQ;function $a(t,e,i=e){let r=SQ||(SQ=document.createRange());return r.setEnd(t,i),r.setStart(t,e),r}function Qs(t,e,i,r){let n={key:e,code:e,keyCode:i,which:i,cancelable:!0};r&&({altKey:n.altKey,ctrlKey:n.ctrlKey,shiftKey:n.shiftKey,metaKey:n.metaKey}=r);let s=new KeyboardEvent("keydown",n);s.synthetic=!0,t.dispatchEvent(s);let o=new KeyboardEvent("keyup",n);return o.synthetic=!0,t.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function Tk(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function Rk(t,e){let i=e.focusNode,r=e.focusOffset;if(!i||e.anchorNode!=i||e.anchorOffset!=r)return!1;for(r=Math.min(r,mr(i));;)if(r){if(i.nodeType!=1)return!1;let n=i.childNodes[r-1];n.contentEditable=="false"?r--:(i=n,r=mr(i))}else{if(i==t)return!0;r=Kr(i),i=i.parentNode}}function f0(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function d0(t,e){for(let i=t,r=e;;){if(i.nodeType==3&&r>0)return{node:i,offset:r};if(i.nodeType==1&&r>0){if(i.contentEditable=="false")return null;i=i.childNodes[r-1],r=mr(i)}else if(i.parentNode&&!GO(i))r=Kr(i),i=i.parentNode;else return null}}function p0(t,e){for(let i=t,r=e;;){if(i.nodeType==3&&r<i.nodeValue.length)return{node:i,offset:r};if(i.nodeType==1&&r<i.childNodes.length){if(i.contentEditable=="false")return null;i=i.childNodes[r],r=0}else if(i.parentNode&&!GO(i))r=Kr(i)+1,i=i.parentNode;else return null}}class Si{constructor(e,i,r=!0){this.node=e,this.offset=i,this.precise=r}static before(e,i){return new Si(e.parentNode,Kr(e),i)}static after(e,i){return new Si(e.parentNode,Kr(e)+1,i)}}var Xe=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(Xe||(Xe={}));const Un=Xe.LTR,Gp=Xe.RTL;function m0(t){let e=[];for(let i=0;i<t.length;i++)e.push(1<<+t[i]);return e}const Ck=m0("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Yk=m0("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Ff=Object.create(null),Ci=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),i=t.charCodeAt(1);Ff[e]=i,Ff[i]=-e}function g0(t){return t<=247?Ck[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?Yk[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}const Zk=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class ji{get dir(){return this.level%2?Gp:Un}constructor(e,i,r){this.from=e,this.to=i,this.level=r}side(e,i){return this.dir==i==e?this.to:this.from}forward(e,i){return e==(this.dir==i)}static find(e,i,r,n){let s=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=i&&a.to>=i){if(a.level==r)return o;(s<0||(n!=0?n<0?a.from<i:a.to>i:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function Q0(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let r=t[i],n=e[i];if(r.from!=n.from||r.to!=n.to||r.direction!=n.direction||!Q0(r.inner,n.inner))return!1}return!0}const we=[];function Wk(t,e,i,r,n){for(let s=0;s<=r.length;s++){let o=s?r[s-1].to:e,a=s<r.length?r[s].from:i,l=s?256:n;for(let O=o,c=l,h=l;O<a;O++){let u=g0(t.charCodeAt(O));u==512?u=c:u==8&&h==4&&(u=16),we[O]=u==4?2:u,u&7&&(h=u),c=u}for(let O=o,c=l,h=l;O<a;O++){let u=we[O];if(u==128)O<a-1&&c==we[O+1]&&c&24?u=we[O]=c:we[O]=256;else if(u==64){let m=O+1;for(;m<a&&we[m]==64;)m++;let S=O&&c==8||m<i&&we[m]==8?h==1?1:8:256;for(let Q=O;Q<m;Q++)we[Q]=S;O=m-1}else u==8&&h==1&&(we[O]=1);c=u,u&7&&(h=u)}}}function Uk(t,e,i,r,n){let s=n==1?2:1;for(let o=0,a=0,l=0;o<=r.length;o++){let O=o?r[o-1].to:e,c=o<r.length?r[o].from:i;for(let h=O,u,m,S;h<c;h++)if(m=Ff[u=t.charCodeAt(h)])if(m<0){for(let Q=a-3;Q>=0;Q-=3)if(Ci[Q+1]==-m){let g=Ci[Q+2],d=g&2?n:g&4?g&1?s:n:0;d&&(we[h]=we[Ci[Q]]=d),a=Q;break}}else{if(Ci.length==189)break;Ci[a++]=h,Ci[a++]=u,Ci[a++]=l}else if((S=we[h])==2||S==1){let Q=S==n;l=Q?0:1;for(let g=a-3;g>=0;g-=3){let d=Ci[g+2];if(d&2)break;if(Q)Ci[g+2]|=2;else{if(d&4)break;Ci[g+2]|=4}}}}}function zk(t,e,i,r){for(let n=0,s=r;n<=i.length;n++){let o=n?i[n-1].to:t,a=n<i.length?i[n].from:e;for(let l=o;l<a;){let O=we[l];if(O==256){let c=l+1;for(;;)if(c==a){if(n==i.length)break;c=i[n++].to,a=n<i.length?i[n].from:e}else if(we[c]==256)c++;else break;let h=s==1,u=(c<e?we[c]:r)==1,m=h==u?h?1:2:r;for(let S=c,Q=n,g=Q?i[Q-1].to:t;S>l;)S==g&&(S=i[--Q].from,g=Q?i[Q-1].to:t),we[--S]=m;l=c}else s=O,l++}}}function Hf(t,e,i,r,n,s,o){let a=r%2?2:1;if(r%2==n%2)for(let l=e,O=0;l<i;){let c=!0,h=!1;if(O==s.length||l<s[O].from){let Q=we[l];Q!=a&&(c=!1,h=Q==16)}let u=!c&&a==1?[]:null,m=c?r:r+1,S=l;e:for(;;)if(O<s.length&&S==s[O].from){if(h)break e;let Q=s[O];if(!c)for(let g=Q.to,d=O+1;;){if(g==i)break e;if(d<s.length&&s[d].from==g)g=s[d++].to;else{if(we[g]==a)break e;break}}if(O++,u)u.push(Q);else{Q.from>l&&o.push(new ji(l,Q.from,m));let g=Q.direction==Un!=!(m%2);Kf(t,g?r+1:r,n,Q.inner,Q.from,Q.to,o),l=Q.to}S=Q.to}else{if(S==i||(c?we[S]!=a:we[S]==a))break;S++}u?Hf(t,l,S,r+1,n,u,o):l<S&&o.push(new ji(l,S,m)),l=S}else for(let l=i,O=s.length;l>e;){let c=!0,h=!1;if(!O||l>s[O-1].to){let Q=we[l-1];Q!=a&&(c=!1,h=Q==16)}let u=!c&&a==1?[]:null,m=c?r:r+1,S=l;e:for(;;)if(O&&S==s[O-1].to){if(h)break e;let Q=s[--O];if(!c)for(let g=Q.from,d=O;;){if(g==e)break e;if(d&&s[d-1].to==g)g=s[--d].from;else{if(we[g-1]==a)break e;break}}if(u)u.push(Q);else{Q.to<l&&o.push(new ji(Q.to,l,m));let g=Q.direction==Un!=!(m%2);Kf(t,g?r+1:r,n,Q.inner,Q.from,Q.to,o),l=Q.from}S=Q.from}else{if(S==e||(c?we[S-1]!=a:we[S-1]==a))break;S--}u?Hf(t,S,l,r+1,n,u,o):S<l&&o.push(new ji(S,l,m)),l=S}}function Kf(t,e,i,r,n,s,o){let a=e%2?2:1;Wk(t,n,s,r,a),Uk(t,n,s,r,a),zk(n,s,r,a),Hf(t,n,s,e,i,r,o)}function qk(t,e,i){if(!t)return[new ji(0,0,e==Gp?1:0)];if(e==Un&&!i.length&&!Zk.test(t))return S0(t.length);if(i.length)for(;t.length>we.length;)we[we.length]=256;let r=[],n=e==Un?0:1;return Kf(t,n,n,i,0,t.length,r),r}function S0(t){return[new ji(0,t,0)]}let $0="";function Vk(t,e,i,r,n){var s;let o=r.head-t.from,a=ji.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),l=e[a],O=l.side(n,i);if(o==O){let u=a+=n?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!n,i),O=l.side(n,i)}let c=Ke(t.text,o,l.forward(n,i));(c<l.from||c>l.to)&&(c=O),$0=t.text.slice(Math.min(o,c),Math.max(o,c));let h=a==(n?e.length-1:0)?null:e[a+(n?1:-1)];return h&&c==O&&h.level+(n?0:1)<l.level?A.cursor(h.side(!n,i)+t.from,h.forward(n,i)?1:-1,h.level):A.cursor(c+t.from,l.forward(n,i)?-1:1,l.level)}function Ek(t,e,i){for(let r=e;r<i;r++){let n=g0(t.charCodeAt(r));if(n==1)return Un;if(n==2||n==4)return Gp}return Un}const _0=K.define(),v0=K.define(),P0=K.define(),y0=K.define(),Jf=K.define(),w0=K.define(),X0=K.define(),Bp=K.define(),Ip=K.define(),b0=K.define({combine:t=>t.some(e=>e)}),x0=K.define({combine:t=>t.some(e=>e)}),k0=K.define();class Ss{constructor(e,i="nearest",r="nearest",n=5,s=5,o=!1){this.range=e,this.y=i,this.x=r,this.yMargin=n,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new Ss(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 Ss(A.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const vl=ae.define({map:(t,e)=>t.map(e)}),T0=ae.define();function Tt(t,e,i){let r=t.facet(y0);r.length?r[0](e):window.onerror&&window.onerror(String(e),i,void 0,void 0,e)||(i?console.error(i+":",e):console.error(e))}const or=K.define({combine:t=>t.length?t[0]:!0});let Ak=0;const as=K.define({combine(t){return t.filter((e,i)=>{for(let r=0;r<i;r++)if(t[r].plugin==e.plugin)return!1;return!0})}});class Re{constructor(e,i,r,n,s){this.id=e,this.create=i,this.domEventHandlers=r,this.domEventObservers=n,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(as.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(as.of({plugin:this,arg:e}))}static define(e,i){const{eventHandlers:r,eventObservers:n,provide:s,decorations:o}=i||{};return new Re(Ak++,e,r,n,a=>{let l=[];return o&&l.push(jc.of(O=>{let c=O.plugin(a);return c?o(c):ne.none})),s&&l.push(s(a)),l})}static fromClass(e,i){return Re.define((r,n)=>new e(r,n),i)}}class Eh{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 i=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(i)}catch(r){if(Tt(i.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(i){Tt(e.state,i,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var i;if(!((i=this.value)===null||i===void 0)&&i.destroy)try{this.value.destroy()}catch(r){Tt(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const R0=K.define(),Np=K.define(),jc=K.define(),C0=K.define(),Fp=K.define(),Ga=K.define(),Y0=K.define();function $Q(t,e){let i=t.state.facet(Y0);if(!i.length)return i;let r=i.map(s=>s instanceof Function?s(t):s),n=[];return ce.spans(r,e.from,e.to,{point(){},span(s,o,a,l){let O=s-e.from,c=o-e.from,h=n;for(let u=a.length-1;u>=0;u--,l--){let m=a[u].spec.bidiIsolate,S;if(m==null&&(m=Ek(e.text,O,c)),l>0&&h.length&&(S=h[h.length-1]).to==O&&S.direction==m)S.to=c,h=S.inner;else{let Q={from:O,to:c,direction:m,inner:[]};h.push(Q),h=Q.inner}}}}),n}const Z0=K.define();function Hp(t){let e=0,i=0,r=0,n=0;for(let s of t.state.facet(Z0)){let o=s(t);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(i=Math.max(i,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(n=Math.max(n,o.bottom)))}return{left:e,right:i,top:r,bottom:n}}const wo=K.define();class ni{constructor(e,i,r,n){this.fromA=e,this.toA=i,this.fromB=r,this.toB=n}join(e){return new ni(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 i=e.length,r=this;for(;i>0;i--){let n=e[i-1];if(!(n.fromA>r.toA)){if(n.toA<r.fromA)break;r=r.join(n),e.splice(i-1,1)}}return e.splice(i,0,r),e}static extendWithRanges(e,i){if(i.length==0)return e;let r=[];for(let n=0,s=0,o=0;;){let a=n<e.length?e[n].fromB:1e9,l=s<i.length?i[s]:1e9,O=Math.min(a,l);if(O==1e9)break;let c=O+o,h=O,u=c;for(;;)if(s<i.length&&i[s]<=h){let m=i[s+1];s+=2,h=Math.max(h,m);for(let S=n;S<e.length&&e[S].fromB<=h;S++)o=e[S].toA-e[S].toB;u=Math.max(u,m+o)}else if(n<e.length&&e[n].fromB<=h){let m=e[n++];h=Math.max(h,m.toB),u=Math.max(u,m.toA),o=m.toA-m.toB}else break;r.push(new ni(c,u,O,h))}return r}}class BO{constructor(e,i,r){this.view=e,this.state=i,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Be.empty(this.startState.doc.length);for(let s of r)this.changes=this.changes.compose(s.changes);let n=[];this.changes.iterChangedRanges((s,o,a,l)=>n.push(new ni(s,o,a,l))),this.changedRanges=n}static create(e,i,r){return new BO(e,i,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 jk=[];class Ae{constructor(e,i,r=0){this.dom=e,this.length=i,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return jk}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 i=this.domAttrs;i&&yk(this.dom,i)}}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,i=this.posAtStart){let r=i;for(let n of this.children){if(n==e)return r;r+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,i){return null}domPosFor(e,i){let r=Kr(this.dom),n=this.length?e>0:i>0;return new Si(this.parent.dom,r+(n?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 Dc)return e;return null}static get(e){return e.cmTile}}class Lc extends Ae{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 i=this.dom,r=null,n,s=(e==null?void 0:e.node)==i?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,n=r?r.nextSibling:i.firstChild,s&&n!=a.dom&&(s.written=!0),a.dom.parentNode==i)for(;n&&n!=a.dom;)n=_Q(n);else i.insertBefore(a.dom,n);r=a.dom}for(n=r?r.nextSibling:i.firstChild,s&&n&&(s.written=!0);n;)n=_Q(n);this.length=o}}function _Q(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class Dc extends Lc{constructor(e,i){super(i),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 i=Ae.get(e);if(i&&this.owns(i))return i;e=e.parentNode}}blockTiles(e){for(let i=[],r=this,n=0,s=0;;)if(n==r.children.length){if(!i.length)return;r=r.parent,r.breakAfter&&s++,n=i.pop()}else{let o=r.children[n++];if(o instanceof cr)i.push(n),r=o,n=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,i){let r,n=-1,s,o=-1;if(this.blockTiles((a,l)=>{let O=l+a.length;if(e>=l&&e<=O){if(a.isWidget()&&i>=-1&&i<=1){if(a.flags&32)return!0;a.flags&16&&(r=void 0)}(l<e||e==O&&(i<-1?a.length:a.covers(1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,n=e-l),(O>e||e==l&&(i>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&i<0||!s?{tile:r,offset:n}:{tile:s,offset:o}}}class cr extends Lc{constructor(e,i){super(e),this.wrapper=i}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,i){let r=new cr(i||document.createElement(e.tagName),e);return i||(r.flags|=4),r}}class Cs extends Lc{constructor(e,i){super(e),this.attrs=i}isLine(){return!0}static start(e,i,r){let n=new Cs(i||document.createElement("div"),e);return(!i||!r)&&(n.flags|=4),n}get domAttrs(){return this.attrs}resolveInline(e,i,r){let n=null,s=-1,o=null,a=-1;function l(c,h){for(let u=0,m=0;u<c.children.length&&m<=h;u++){let S=c.children[u],Q=m+S.length;Q>=h&&(S.isComposite()?l(S,h-m):(!o||o.isHidden&&(i>0||r&&Dk(o,S)))&&(Q>h||S.flags&32)?(o=S,a=h-m):(m<h||S.flags&16&&!S.isHidden)&&(n=S,s=h-m)),m=Q}}l(this,e);let O=(i<0?n:o)||n||o;return O?{tile:O,offset:O==n?s:a}:null}coordsIn(e,i){let r=this.resolveInline(e,i,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),i):Lk(this)}domIn(e,i){let r=this.resolveInline(e,i);if(r){let{tile:n,offset:s}=r;if(this.dom.contains(n.dom))return n.isText()?new Si(n.dom,Math.min(n.dom.nodeValue.length,s)):n.domPosFor(s,n.flags&16?1:n.flags&32?-1:i);let o=r.tile.parent,a=!1;for(let l of o.children){if(a)return new Si(l.dom,0);l==r.tile&&(a=!0)}}return new Si(this.dom,0)}}function Lk(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let i=Do(e);return i[i.length-1]||null}function Dk(t,e){let i=t.coordsIn(0,1),r=e.coordsIn(0,1);return i&&r&&r.top<i.bottom}class xt extends Lc{constructor(e,i){super(e),this.mark=i}get domAttrs(){return this.mark.attrs}static of(e,i){let r=new xt(i||document.createElement(e.tagName),e);return i||(r.flags|=4),r}}class vn extends Ae{constructor(e,i){super(e,i.length),this.text=i}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,i){let r=this.dom.nodeValue.length;e>r&&(e=r);let n=e,s=e,o=0;e==0&&i<0||e==r&&i>=0?J.chrome||J.gecko||(e?(n--,o=1):s<r&&(s++,o=-1)):i<0?n--:s<r&&s++;let a=$a(this.dom,n,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:i>=0)?0:a.length-1];return J.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,O=>O.width)||l),o?Sa(l,o<0):l||null}static of(e,i){let r=new vn(i||document.createTextNode(e),e);return i||(r.flags|=2),r}}class zn extends Ae{constructor(e,i,r,n){super(e,i,n),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,i){return this.coordsInWidget(e,i,!1)}coordsInWidget(e,i,r){let n=this.widget.coordsAt(this.dom,e,i);if(n)return n;if(r)return Sa(this.dom.getBoundingClientRect(),this.length?e==0:i<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top<o.bottom);l+=a?-1:1);return Sa(o,!a)}}get overrideDOMText(){if(!this.length)return $e.empty;let{root:e}=this;if(!e)return $e.empty;let i=this.posAtStart;return e.view.state.doc.slice(i,i+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,i,r,n,s){return s||(s=e.toDOM(i),e.editable||(s.contentEditable="false")),new zn(s,r,e,n)}}class IO extends Ae{constructor(e){let i=document.createElement("img");i.className="cm-widgetBuffer",i.setAttribute("aria-hidden","true"),super(i,0,e)}get isHidden(){return!0}get overrideDOMText(){return $e.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class Mk{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,i,r){let{tile:n,index:s,beforeBreak:o,parents:a}=this;for(;e||i>0;)if(n.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==n.children.length){if(!e&&!a.length)break;r&&r.leave(n),o=!!n.breakAfter,{tile:n,index:s}=a.pop(),s++}else{let l=n.children[s],O=l.breakAfter;(i>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(o=!!O,s++,e-=l.length):(a.push({tile:n,index:s}),n=l,s=0,r&&l.isComposite()&&r.enter(l))}else if(s==n.length)o=!!n.breakAfter,{tile:n,index:s}=a.pop(),s++;else if(e){let l=Math.min(e,n.length-s);r&&r.skip(n,s,s+l),e-=l,s+=l}else break;return this.tile=n,this.index=s,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class Gk{constructor(e,i,r,n){this.from=e,this.to=i,this.wrapper=r,this.rank=n}}class Bk{constructor(e,i,r){this.cache=e,this.root=i,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,i,r,n){var s;this.flushBuffer();let o=this.ensureMarks(i,r),a=o.lastChild;if(a&&a.isText()&&!(a.flags&8)&&a.length+e.length<512){this.cache.reused.set(a,2);let l=o.children[o.children.length-1]=new vn(a.dom,a.text+e);l.parent=o}else o.append(n||vn.of(e,(s=this.cache.find(vn))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,i){let r=this.curLine;r.dom!=i.line.dom&&(r.setDOM(this.cache.reused.has(i.line)?Ah(i.line.dom):i.line.dom),this.cache.reused.set(i.line,2));let n=r;for(let a=i.marks.length-1;a>=0;a--){let l=i.marks[a],O=n.lastChild;if(O instanceof xt&&O.mark.eq(l.mark))O.dom!=l.dom&&O.setDOM(Ah(l.dom)),n=O;else{if(this.cache.reused.get(l)){let h=Ae.get(l.dom);h&&h.setDOM(Ah(l.dom))}let c=xt.of(l.mark,l.dom);n.append(c),n=c}this.cache.reused.set(l,2)}let s=Ae.get(e.text);s&&this.cache.reused.set(s,2);let o=new vn(e.text,e.text.nodeValue);o.flags|=8,n.append(o)}addInlineWidget(e,i,r){let n=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);n||this.flushBuffer();let s=this.ensureMarks(i,r);!n&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,i,r){this.flushBuffer(),this.ensureMarks(i,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 i=this.afterWidget||this.lastBlock;i.length+=e,this.pos+=e}addLineStart(e,i){var r;e||(e=W0);let n=Cs.start(e,i||((r=this.cache.find(Cs))===null||r===void 0?void 0:r.dom),!!i);this.getBlockPos().append(this.lastBlock=this.curLine=n)}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,i){var r;let n=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(i>0&&(a=n.lastChild)&&a instanceof xt&&a.mark.eq(o))n=a,i--;else{let l=xt.of(o,(r=this.cache.find(xt,O=>O.mark.eq(o)))===null||r===void 0?void 0:r.dom);n.append(l),n=l,i=0}}return n}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!vQ(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(J.ios&&vQ(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(jh,0,32)||new zn(jh.toDOM(),0,jh,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 i=new Gk(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let i=this.root;for(let r of this.wrappers){let n=i.lastChild;if(r.from<this.pos&&n instanceof cr&&n.wrapper.eq(r.wrapper))i=n;else{let s=cr.of(r.wrapper,(e=this.cache.find(cr,o=>o.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);i.append(s),i=s}}return i}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let i=2|(e<0?16:32),r=this.cache.find(IO,void 0,1);return r&&(r.flags=i),r||new IO(i)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class Ik{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:n,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=n;let a=this.textOff=Math.min(e,n.length);return s?null:n.slice(0,a)}let i=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,i);return this.textOff=i,r}}const NO=[zn,Cs,vn,xt,IO,cr,Dc];for(let t=0;t<NO.length;t++)NO[t].bucket=t;class Nk{constructor(e){this.view=e,this.buckets=NO.map(()=>[]),this.index=NO.map(()=>0),this.reused=new Map}add(e){let i=e.constructor.bucket,r=this.buckets[i];r.length<6?r.push(e):r[this.index[i]=(this.index[i]+1)%6]=e}find(e,i,r=2){let n=e.bucket,s=this.buckets[n],o=this.index[n];for(let a=s.length-1;a>=0;a--){let l=(a+o)%s.length,O=s[l];if((!i||i(O))&&!this.reused.has(O))return s.splice(l,1),l<o&&this.index[n]--,this.reused.set(O,r),O}return null}findWidget(e,i,r){let n=this.buckets[0];if(n.length)for(let s=0,o=0;;s++){if(s==n.length){if(o)return null;o=1,s=0}let a=n[s];if(!this.reused.has(a)&&(o==0?a.widget.compare(e):a.widget.constructor==e.constructor&&e.updateDOM(a.dom,this.view,a.widget)))return n.splice(s,1),s<this.index[0]&&this.index[0]--,a.widget==e&&a.length==i&&(a.flags&497)==r?(this.reused.set(a,1),a):(this.reused.set(a,2),new zn(a.dom,i,e,a.flags&-498|r))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,i=2){if(!this.reused.has(e))return this.reused.set(e,i),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class Fk{constructor(e,i,r,n,s){this.view=e,this.decorations=n,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new Nk(e),this.text=new Ik(e.state.doc),this.builder=new Bk(this.cache,new Dc(e,e.contentDOM),ce.iter(r)),this.cache.reused.set(i,2),this.old=new Mk(i),this.reuseWalker={skip:(o,a,l)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,i){let r=i&&this.getCompositionContext(i.text);for(let n=0,s=0,o=0;;){let a=o<e.length?e[o++]:null,l=a?a.fromA:this.old.root.length;if(l>n){let O=l-n;this.preserve(O,!o,!a),n=l,s+=O}if(!a)break;i&&a.fromA<=i.range.fromA&&a.toA>=i.range.toA?(this.forward(a.fromA,i.range.fromA,i.range.fromA<i.range.toA?1:-1),this.emit(s,i.range.fromB),this.cache.clear(),this.builder.addComposition(i,r),this.text.skip(i.range.toB-i.range.fromB),this.forward(i.range.fromA,a.toA),this.emit(i.range.toB,a.toB)):(this.forward(a.fromA,a.toA),this.emit(s,a.toB)),s=a.toB,n=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,i,r){let n=Jk(this.old),s=this.openMarks;this.old.advance(e,r?1:-1,{skip:(o,a,l)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let O=l>0||a<o.length?zn.of(o.widget,this.view,l-a,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);O.flags&256?(O.flags&=-2,this.builder.addBlockWidget(O)):(this.builder.ensureLine(null),this.builder.addInlineWidget(O,n,s),s=n.length)}else if(o.isText())this.builder.ensureLine(null),!a&&l==o.length&&!this.cache.reused.has(o)?this.builder.addText(o.text,n,s,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(a,l),n,s)),s=n.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof IO)this.cache.add(o);else if(o instanceof xt)this.builder.ensureLine(null),this.builder.addMark(o,n,s),this.cache.reused.set(o,1),s=n.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof xt&&n.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?n.length&&(n.length=s=0):o instanceof xt&&(n.shift(),s=Math.min(s,n.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,i){let r=null,n=this.builder,s=0,o=ce.spans(this.decorations,e,i,{point:(a,l,O,c,h,u)=>{if(O instanceof Wn){if(this.disallowBlockEffectsFor[u]){if(O.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=c.length,h>c.length)n.continueWidget(l-a);else{let m=O.widget||(O.block?Ys.block:Ys.inline),S=Hk(O),Q=this.cache.findWidget(m,l-a,S)||zn.of(m,this.view,l-a,S);O.block?(O.startSide>0&&n.addLineStartIfNotCovered(r),n.addBlockWidget(Q)):(n.ensureLine(r),n.addInlineWidget(Q,c,h))}r=null}else r=Kk(r,O);l>a&&this.text.skip(l-a)},span:(a,l,O,c)=>{for(let h=a;h<l;){let u=this.text.next(Math.min(512,l-h));u==null?(n.addLineStartIfNotCovered(r),n.addBreak(),h++):(n.ensureLine(r),n.addText(u,O,h==a?c:O.length),h+=u.length),r=null}}});n.addLineStartIfNotCovered(r),this.openWidget=o>s,this.openMarks=o}forward(e,i,r=1){i-e<=10?this.old.advance(i-e,r,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(i-e-10,-1),this.old.advance(5,r,this.reuseWalker))}getCompositionContext(e){let i=[],r=null;for(let n=e.parentNode;;n=n.parentNode){let s=Ae.get(n);if(n==this.view.contentDOM)break;s instanceof xt?i.push(s):s!=null&&s.isLine()?r=s:s instanceof cr||(n.nodeName=="DIV"&&!r&&n!=this.view.contentDOM?r=new Cs(n,W0):r||i.push(xt.of(new Da({tagName:n.nodeName.toLowerCase(),attributes:wk(n)}),n)))}return{line:r,marks:i}}}function vQ(t,e){let i=r=>{for(let n of r.children)if((e?n.isText():n.length)||i(n))return!0;return!1};return i(t)}function Hk(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}const W0={class:"cm-line"};function Kk(t,e){let i=e.spec.attributes,r=e.spec.class;return!i&&!r||(t||(t={class:"cm-line"}),i&&Dp(i,t),r&&(t.class+=" "+r)),t}function Jk(t){let e=[];for(let i=t.parents.length;i>1;i--){let r=i==t.parents.length?t.tile:t.parents[i].tile;r instanceof xt&&e.push(r.mark)}return e}function Ah(t){let e=Ae.get(t);return e&&e.setDOM(t.cloneNode()),t}class Ys extends bi{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}}Ys.inline=new Ys("span");Ys.block=new Ys("div");const jh=new class extends bi{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class PQ{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ne.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 Dc(e,e.contentDOM),this.updateInner([new ni(0,0,0,e.state.doc.length)],null)}update(e){var i;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:c,toA:h})=>h<this.minWidthFrom||c>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 n=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((i=this.domChanged)===null||i===void 0)&&i.newSel?n=this.domChanged.newSel.head:!lT(e.changes,this.hasComposition)&&!e.selectionSet&&(n=e.state.selection.main.head));let s=n>-1?tT(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){let{from:c,to:h}=this.hasComposition;r=new ni(c,h,e.changes.mapPos(c,-1),e.changes.mapPos(h,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(J.ie||J.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=nT(o,this.decorations,e.changes);l.length&&(r=ni.extendWithRanges(r,l));let O=oT(a,this.blockWrappers,e.changes);return O.length&&(r=ni.extendWithRanges(r,O)),s&&!r.some(c=>c.fromA<=s.range.fromA&&c.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,i){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(i||e.length){let o=this.tile,a=new Fk(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);i&&Ae.get(i.text)&&a.cache.reused.set(Ae.get(i.text),2),this.tile=a.run(e,i),ed(o,a.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 s=J.chrome||J.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let n=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof Lh&&n.push(s.dom);r.updateGaps(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let i of e.transactions)for(let r of i.effects)r.is(T0)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,i=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,n=this.view.root.activeElement,s=n==r,o=!s&&!(this.view.state.facet(or)||r.tabIndex>-1)&&Lo(r,this.view.observer.selectionRange)&&!(n&&r.contains(n));if(!(s||i||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,O,c;if(l.empty?c=O=this.inlineDOMNearPos(l.anchor,l.assoc||1):(c=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),O=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),J.gecko&&l.empty&&!this.hasComposition&&eT(O)){let u=document.createTextNode("");this.view.observer.ignore(()=>O.node.insertBefore(u,O.node.childNodes[O.offset]||null)),O=c=new Si(u,0),a=!0}let h=this.view.observer.selectionRange;(a||!h.focusNode||(!Mo(O.node,O.offset,h.anchorNode,h.anchorOffset)||!Mo(c.node,c.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,l))&&(this.view.observer.ignore(()=>{J.android&&J.chrome&&r.contains(h.focusNode)&&aT(h.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let u=Qa(this.view.root);if(u)if(l.empty){if(J.gecko){let m=iT(O.node,O.offset);if(m&&m!=3){let S=(m==1?d0:p0)(O.node,O.offset);S&&(O=new Si(S.node,S.offset))}}u.collapse(O.node,O.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(O.node,O.offset);try{u.extend(c.node,c.offset)}catch{}}else{let m=document.createRange();l.anchor>l.head&&([O,c]=[c,O]),m.setEnd(c.node,c.offset),m.setStart(O.node,O.offset),u.removeAllRanges(),u.addRange(m)}o&&this.view.root.activeElement==r&&(r.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(O,c)),this.impreciseAnchor=O.precise?null:new Si(h.anchorNode,h.anchorOffset),this.impreciseHead=c.precise?null:new Si(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,i){return this.hasComposition&&i.empty&&Mo(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==i.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,i=e.state.selection.main,r=Qa(e.root),{anchorNode:n,anchorOffset:s}=e.observer.selectionRange;if(!r||!i.empty||!i.assoc||!r.modify)return;let o=this.lineAt(i.head,i.assoc);if(!o)return;let a=o.posAtStart;if(i.head==a||i.head==a+o.length)return;let l=this.coordsAt(i.head,-1),O=this.coordsAt(i.head,1);if(!l||!O||l.bottom>O.top)return;let c=this.domAtPos(i.head+i.assoc,i.assoc);r.collapse(c.node,c.offset),r.modify("move",i.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=i.from&&r.collapse(n,s)}posFromDOM(e,i){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let n=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[i];else{let o=mr(e)==0?0:i==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return n;for(;s&&!Ae.get(s);)s=s.nextSibling;if(!s)return n+r.length;for(let o=0,a=n;;o++){let l=r.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?n+i:n+(i?r.length:0):n}domAtPos(e,i){let{tile:r,offset:n}=this.tile.resolveBlock(e,i);return r.isWidget()?r.domPosFor(e,i):r.domIn(n,i)}inlineDOMNearPos(e,i){let r,n=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((O,c)=>{if(O.isWidget()){if(O.flags&32&&c>=e)return!0;O.flags&16&&(s=!0)}else{let h=c+O.length;if(c<=e&&(r=O,n=e-c,s=h<e),h>=e&&!o&&(o=O,a=e-c,l=c>e),c>e&&o)return!0}}),!r&&!o?this.domAtPos(e,i):(s&&o?r=null:l&&r&&(o=null),r&&i<0||!o?r.domIn(n,i):o.domIn(a,i))}coordsAt(e,i){let{tile:r,offset:n}=this.tile.resolveBlock(e,i);return r.isWidget()?r.widget instanceof Lh?null:r.coordsInWidget(n,i,!0):r.coordsIn(n,i)}lineAt(e,i){let{tile:r}=this.tile.resolveBlock(e,i);return r.isLine()?r:null}coordsForChar(e){let{tile:i,offset:r}=this.tile.resolveBlock(e,1);if(!i.isLine())return null;function n(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=n(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&o<s.length){let a=Ke(s.text,o);if(a==o)return null;let l=$a(s.dom,o,a).getClientRects();for(let O=0;O<l.length;O++){let c=l[O];if(O==l.length-1||c.top<c.bottom&&c.left<c.right)return c}}return null}return n(i,r)}measureVisibleLineHeights(e){let i=[],{from:r,to:n}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Xe.LTR,O=0,c=(h,u,m)=>{for(let S=0;S<h.children.length&&!(u>n);S++){let Q=h.children[S],g=u+Q.length,d=Q.dom.getBoundingClientRect(),{height:f}=d;if(m&&!S&&(O+=d.top-m.top),Q instanceof cr)g>r&&c(Q,u,d);else if(u>=r&&(O>0&&i.push(-O),i.push(f+O),O=0,o)){let p=Q.dom.lastChild,$=p?Do(p):[];if($.length){let _=$[$.length-1],P=l?_.right-d.left:d.right-_.left;P>a&&(a=P,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=g)}}m&&S==h.children.length-1&&(O+=m.bottom-d.bottom),u=g+Q.breakAfter}};return c(this.tile,0,null),i}textDirectionAt(e){let{tile:i}=this.tile.resolveBlock(e,1);return getComputedStyle(i.dom).direction=="rtl"?Xe.RTL:Xe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let O of o.children){if(!O.isText()||/[^ -~]/.test(O.text))return;let c=Do(O.dom);if(c.length!=1)return;a+=c[0].width,l=c[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let i=document.createElement("div"),r,n,s;return i.className="cm-line",i.style.width="99999px",i.style.position="absolute",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(i);let o=Do(i.firstChild)[0];r=i.getBoundingClientRect().height,n=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,i.remove()}),{lineHeight:r,charWidth:n,textHeight:s}}computeBlockGapDeco(){let e=[],i=this.view.viewState;for(let r=0,n=0;;n++){let s=n==i.viewports.length?null:i.viewports[n],o=s?s.from-1:this.view.state.doc.length;if(o>r){let a=(i.lineBlockAt(o).bottom-i.lineBlockAt(r).top)/this.view.scaleY;e.push(ne.replace({widget:new Lh(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return ne.set(e)}updateDeco(){let e=1,i=this.view.state.facet(jc).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,n=this.view.state.facet(Fp).map((s,o)=>{let a=typeof s=="function";return a&&(r=!0),a?s(this.view):s});for(n.length&&(this.dynamicDecorationMap[e++]=r,i.push(ce.join(n))),this.decorations=[this.editContextFormatting,...i,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(C0).map(s=>typeof s=="function"?s(this.view):s)}scrollIntoView(e){var i;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(k0))try{if(c(this.view,e.range,e))return!0}catch(h){Tt(this.view.state,h,"scroll handler")}let{range:r}=e,n=this.coordsAt(r.head,(i=r.assoc)!==null&&i!==void 0?i:r.empty?0:r.head>r.anchor?-1:1),s;if(!n)return;!r.empty&&(s=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(n={left:Math.min(n.left,s.left),top:Math.min(n.top,s.top),right:Math.max(n.right,s.right),bottom:Math.max(n.bottom,s.bottom)});let o=Hp(this.view),a={left:n.left-o.left,top:n.top-o.top,right:n.right+o.right,bottom:n.bottom+o.bottom},{offsetWidth:l,offsetHeight:O}=this.view.scrollDOM;if(xk(this.view.scrollDOM,a,r.head<r.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,O),-O),this.view.textDirection==Xe.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(r.head,1);c&&c.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let i=r=>r.isWidget()||r.children.some(i);return i(this.tile.resolveBlock(e,1).tile)}destroy(){ed(this.tile)}}function ed(t,e){let i=e==null?void 0:e.get(t);if(i!=1){i==null&&t.destroy();for(let r of t.children)ed(r,e)}}function eT(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function U0(t,e){let i=t.observer.selectionRange;if(!i.focusNode)return null;let r=d0(i.focusNode,i.focusOffset),n=p0(i.focusNode,i.focusOffset),s=r||n;if(n&&r&&n.node!=r.node){let a=Ae.get(n.node);if(!a||a.isText()&&a.text!=n.node.nodeValue)s=n;else if(t.docView.lastCompositionAfterCursor){let l=Ae.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(s=n)}}if(t.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function tT(t,e,i){let r=U0(t,i);if(!r)return null;let{node:n,from:s,to:o}=r,a=n.nodeValue;if(/[\n\r]/.test(a)||t.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new ni(l.mapPos(s),l.mapPos(o),s,o),text:n}}function iT(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}let rT=class{constructor(){this.changes=[]}compareRange(e,i){gs(e,i,this.changes)}comparePoint(e,i){gs(e,i,this.changes)}boundChange(e){gs(e,e,this.changes)}};function nT(t,e,i){let r=new rT;return ce.compare(t,e,i,r),r.changes}class sT{constructor(){this.changes=[]}compareRange(e,i){gs(e,i,this.changes)}comparePoint(){}boundChange(e){gs(e,e,this.changes)}}function oT(t,e,i){let r=new sT;return ce.compare(t,e,i,r),r.changes}function aT(t,e){for(let i=t;i&&i!=e;i=i.assignedSlot||i.parentNode)if(i.nodeType==1&&i.contentEditable=="false")return!0;return!1}function lT(t,e){let i=!1;return e&&t.iterChangedRanges((r,n)=>{r<e.to&&n>e.from&&(i=!0)}),i}class Lh extends bi{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 OT(t,e,i=1){let r=t.charCategorizer(e),n=t.doc.lineAt(e),s=e-n.from;if(n.length==0)return A.cursor(e);s==0?i=1:s==n.length&&(i=-1);let o=s,a=s;i<0?o=Ke(n.text,s,!1):a=Ke(n.text,s);let l=r(n.text.slice(o,a));for(;o>0;){let O=Ke(n.text,o,!1);if(r(n.text.slice(O,o))!=l)break;o=O}for(;a<n.length;){let O=Ke(n.text,a);if(r(n.text.slice(a,O))!=l)break;a=O}return A.range(o+n.from,a+n.from)}function cT(t,e,i,r,n){let s=Math.round((r-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&i.height>t.defaultLineHeight*1.5){let a=t.viewState.heightOracle.textHeight,l=Math.floor((n-i.top-(t.defaultLineHeight-a)*.5)/a);s+=l*t.viewState.heightOracle.lineLength}let o=t.state.sliceDoc(i.from,i.to);return i.from+jf(o,s,t.state.tabSize)}function td(t,e,i){let r=t.lineBlockAt(e);if(Array.isArray(r.type)){let n;for(let s of r.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!n||s.type==ot.Text&&(n.type!=s.type||(i<0?s.from<e:s.to>e)))&&(n=s)}}return n||r}return r}function hT(t,e,i,r){let n=td(t,e.head,e.assoc||-1),s=!r||n.type!=ot.Text||!(t.lineWrapping||n.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>n.from?e.head-1:e.head);if(s){let o=t.dom.getBoundingClientRect(),a=t.textDirectionAt(n.from),l=t.posAtCoords({x:i==(a==Xe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return A.cursor(l,i?-1:1)}return A.cursor(i?n.to:n.from,i?-1:1)}function yQ(t,e,i,r){let n=t.state.doc.lineAt(e.head),s=t.bidiSpans(n),o=t.textDirectionAt(n.from);for(let a=e,l=null;;){let O=Vk(n,s,o,a,i),c=$0;if(!O){if(n.number==(i?t.state.doc.lines:1))return a;c=`
|
|
56
|
+
`;this.styleTag.textContent=o;let a=i.head||i;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Hr={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:"'"},ma={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},$k=typeof navigator<"u"&&/Mac/.test(navigator.platform),_k=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var rt=0;rt<10;rt++)Hr[48+rt]=Hr[96+rt]=String(rt);for(var rt=1;rt<=24;rt++)Hr[rt+111]="F"+rt;for(var rt=65;rt<=90;rt++)Hr[rt]=String.fromCharCode(rt+32),ma[rt]=String.fromCharCode(rt);for(var qh in Hr)ma.hasOwnProperty(qh)||(ma[qh]=Hr[qh]);function vk(t){var e=$k&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||_k&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",i=!e&&t.key||(t.shiftKey?ma:Hr)[t.keyCode]||t.key||"Unidentified";return i=="Esc"&&(i="Escape"),i=="Del"&&(i="Delete"),i=="Left"&&(i="ArrowLeft"),i=="Up"&&(i="ArrowUp"),i=="Right"&&(i="ArrowRight"),i=="Down"&&(i="ArrowDown"),i}function me(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,i=arguments[1];if(i&&typeof i=="object"&&i.nodeType==null&&!Array.isArray(i)){for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r)){var n=i[r];typeof n=="string"?t.setAttribute(r,n):n!=null&&(t[r]=n)}e++}for(;e<arguments.length;e++)a0(t,arguments[e]);return t}function a0(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var i=0;i<e.length;i++)a0(t,e[i]);else throw new RangeError("Unsupported child node: "+e)}let gt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Mf=typeof document<"u"?document:{documentElement:{style:{}}};const Gf=/Edge\/(\d+)/.exec(gt.userAgent),l0=/MSIE \d/.test(gt.userAgent),Bf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(gt.userAgent),Ac=!!(l0||Bf||Gf),pQ=!Ac&&/gecko\/(\d+)/i.test(gt.userAgent),Vh=!Ac&&/Chrome\/(\d+)/.exec(gt.userAgent),Pk="webkitFontSmoothing"in Mf.documentElement.style,If=!Ac&&/Apple Computer/.test(gt.vendor),mQ=If&&(/Mobile\/\w+/.test(gt.userAgent)||gt.maxTouchPoints>2);var J={mac:mQ||/Mac/.test(gt.platform),windows:/Win/.test(gt.platform),linux:/Linux|X11/.test(gt.platform),ie:Ac,ie_version:l0?Mf.documentMode||6:Bf?+Bf[1]:Gf?+Gf[1]:0,gecko:pQ,gecko_version:pQ?+(/Firefox\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,chrome:!!Vh,chrome_version:Vh?+Vh[1]:0,ios:mQ,android:/Android\b/.test(gt.userAgent),webkit_version:Pk?+(/\bAppleWebKit\/(\d+)/.exec(gt.userAgent)||[0,0])[1]:0,safari:If,safari_version:If?+(/\bVersion\/(\d+(\.\d+)?)/.exec(gt.userAgent)||[0,0])[1]:0,tabSize:Mf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Dp(t,e){for(let i in t)i=="class"&&e.class?e.class+=" "+t.class:i=="style"&&e.style?e.style+=";"+t.style:e[i]=t[i];return e}const MO=Object.create(null);function Mp(t,e,i){if(t==e)return!0;t||(t=MO),e||(e=MO);let r=Object.keys(t),n=Object.keys(e);if(r.length-0!=n.length-0)return!1;for(let s of r)if(s!=i&&(n.indexOf(s)==-1||t[s]!==e[s]))return!1;return!0}function yk(t,e){for(let i=t.attributes.length-1;i>=0;i--){let r=t.attributes[i].name;e[r]==null&&t.removeAttribute(r)}for(let i in e){let r=e[i];i=="style"?t.style.cssText=r:t.getAttribute(i)!=r&&t.setAttribute(i,r)}}function gQ(t,e,i){let r=!1;if(e)for(let n in e)i&&n in i||(r=!0,n=="style"?t.style.cssText="":t.removeAttribute(n));if(i)for(let n in i)e&&e[n]==i[n]||(r=!0,n=="style"?t.style.cssText=i[n]:t.setAttribute(n,i[n]));return r}function wk(t){let e=Object.create(null);for(let i=0;i<t.attributes.length;i++){let r=t.attributes[i];e[r.name]=r.value}return e}class bi{eq(e){return!1}updateDOM(e,i,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,i,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ot=function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t}(ot||(ot={}));class re extends Nr{constructor(e,i,r,n){super(),this.startSide=e,this.endSide=i,this.widget=r,this.spec=n}get heightRelevant(){return!1}static mark(e){return new Da(e)}static widget(e){let i=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return i+=r&&!e.inlineOrder?i>0?3e8:-4e8:i>0?1e8:-1e8,new Wn(e,i,i,r,e.widget||null,!1)}static replace(e){let i=!!e.block,r,n;if(e.isBlockGap)r=-5e8,n=4e8;else{let{start:s,end:o}=O0(e,i);r=(s?i?-3e8:-1:5e8)-1,n=(o?i?2e8:1:-6e8)+1}return new Wn(e,r,n,i,e.widget||null,!0)}static line(e){return new Ma(e)}static set(e,i=!1){return ce.of(e,i)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}re.none=ce.empty;class Da extends re{constructor(e){let{start:i,end:r}=O0(e);super(i?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Dp(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||MO}eq(e){return this==e||e instanceof Da&&this.tagName==e.tagName&&Mp(this.attrs,e.attrs)}range(e,i=e){if(e>=i)throw new RangeError("Mark decorations may not be empty");return super.range(e,i)}}Da.prototype.point=!1;class Ma extends re{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Ma&&this.spec.class==e.spec.class&&Mp(this.spec.attributes,e.spec.attributes)}range(e,i=e){if(i!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,i)}}Ma.prototype.mapMode=nt.TrackBefore;Ma.prototype.point=!0;class Wn extends re{constructor(e,i,r,n,s,o){super(i,r,s,e),this.block=n,this.isReplace=o,this.mapMode=n?i<=0?nt.TrackBefore:nt.TrackAfter:nt.TrackDel}get type(){return this.startSide!=this.endSide?ot.WidgetRange:this.startSide<=0?ot.WidgetBefore:ot.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Wn&&Xk(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,i=e){if(this.isReplace&&(e>i||e==i&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&i!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,i)}}Wn.prototype.point=!0;function O0(t,e=!1){let{inclusiveStart:i,inclusiveEnd:r}=t;return i==null&&(i=t.inclusive),r==null&&(r=t.inclusive),{start:i??e,end:r??e}}function Xk(t,e){return t==e||!!(t&&e&&t.compare(e))}function gs(t,e,i,r=0){let n=i.length-1;n>=0&&i[n]+r>=t?i[n]=Math.max(i[n],e):i.push(t,e)}class ga extends Nr{constructor(e,i){super(),this.tagName=e,this.attributes=i}eq(e){return e==this||e instanceof ga&&this.tagName==e.tagName&&Mp(this.attributes,e.attributes)}static create(e){return new ga(e.tagName,e.attributes||MO)}static set(e,i=!1){return ce.of(e,i)}}ga.prototype.startSide=ga.prototype.endSide=-1;function Qa(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function Nf(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Lo(t,e){if(!e.anchorNode)return!1;try{return Nf(t,e.anchorNode)}catch{return!1}}function Do(t){return t.nodeType==3?$a(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function Mo(t,e,i,r){return i?QQ(t,e,i,r,-1)||QQ(t,e,i,r,1):!1}function Kr(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function GO(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function QQ(t,e,i,r,n){for(;;){if(t==i&&e==r)return!0;if(e==(n<0?0:mr(t))){if(t.nodeName=="DIV")return!1;let s=t.parentNode;if(!s||s.nodeType!=1)return!1;e=Kr(t)+(n<0?0:1),t=s}else if(t.nodeType==1){if(t=t.childNodes[e+(n<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=n<0?mr(t):0}else return!1}}function mr(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Sa(t,e){let i=e?t.left:t.right;return{left:i,right:i,top:t.top,bottom:t.bottom}}function bk(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function c0(t,e){let i=e.width/t.offsetWidth,r=e.height/t.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.width-t.offsetWidth)<1)&&(i=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-t.offsetHeight)<1)&&(r=1),{scaleX:i,scaleY:r}}function xk(t,e,i,r,n,s,o,a){let l=t.ownerDocument,O=l.defaultView||window;for(let c=t,h=!1;c&&!h;)if(c.nodeType==1){let u,m=c==l.body,S=1,Q=1;if(m)u=bk(O);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(h=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let f=c.getBoundingClientRect();({scaleX:S,scaleY:Q}=c0(c,f)),u={left:f.left,right:f.left+c.clientWidth*S,top:f.top,bottom:f.top+c.clientHeight*Q}}let g=0,d=0;if(n=="nearest")e.top<u.top?(d=e.top-(u.top+o),i>0&&e.bottom>u.bottom+d&&(d=e.bottom-u.bottom+o)):e.bottom>u.bottom&&(d=e.bottom-u.bottom+o,i<0&&e.top-d<u.top&&(d=e.top-(u.top+o)));else{let f=e.bottom-e.top,p=u.bottom-u.top;d=(n=="center"&&f<=p?e.top+f/2-p/2:n=="start"||n=="center"&&i<0?e.top-o:e.bottom-p+o)-u.top}if(r=="nearest"?e.left<u.left?(g=e.left-(u.left+s),i>0&&e.right>u.right+g&&(g=e.right-u.right+s)):e.right>u.right&&(g=e.right-u.right+s,i<0&&e.left<u.left+g&&(g=e.left-(u.left+s))):g=(r=="center"?e.left+(e.right-e.left)/2-(u.right-u.left)/2:r=="start"==a?e.left-s:e.right-(u.right-u.left)+s)-u.left,g||d)if(m)O.scrollBy(g,d);else{let f=0,p=0;if(d){let $=c.scrollTop;c.scrollTop+=d/Q,p=(c.scrollTop-$)*Q}if(g){let $=c.scrollLeft;c.scrollLeft+=g/S,f=(c.scrollLeft-$)*S}e={left:e.left-f,top:e.top-p,right:e.right-f,bottom:e.bottom-p},f&&Math.abs(f-g)<1&&(r="nearest"),p&&Math.abs(p-d)<1&&(n="nearest")}if(m)break;(e.top<u.top||e.bottom>u.bottom||e.left<u.left||e.right>u.right)&&(e={left:Math.max(e.left,u.left),right:Math.min(e.right,u.right),top:Math.max(e.top,u.top),bottom:Math.min(e.bottom,u.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function h0(t,e=!0){let i=t.ownerDocument,r=null,n=null;for(let s=t.parentNode;s&&!(s==i.body||(!e||r)&&n);)if(s.nodeType==1)!n&&s.scrollHeight>s.clientHeight&&(n=s),e&&!r&&s.scrollWidth>s.clientWidth&&(r=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:r,y:n}}class kk{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:i,focusNode:r}=e;this.set(i,Math.min(e.anchorOffset,i?mr(i):0),r,Math.min(e.focusOffset,r?mr(r):0))}set(e,i,r,n){this.anchorNode=e,this.anchorOffset=i,this.focusNode=r,this.focusOffset=n}}let hn=null;J.safari&&J.safari_version>=26&&(hn=!1);function u0(t){if(t.setActive)return t.setActive();if(hn)return t.focus(hn);let e=[];for(let i=t;i&&(e.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(t.focus(hn==null?{get preventScroll(){return hn={preventScroll:!0},!0}}:void 0),!hn){hn=!1;for(let i=0;i<e.length;){let r=e[i++],n=e[i++],s=e[i++];r.scrollTop!=n&&(r.scrollTop=n),r.scrollLeft!=s&&(r.scrollLeft=s)}}}let SQ;function $a(t,e,i=e){let r=SQ||(SQ=document.createRange());return r.setEnd(t,i),r.setStart(t,e),r}function Qs(t,e,i,r){let n={key:e,code:e,keyCode:i,which:i,cancelable:!0};r&&({altKey:n.altKey,ctrlKey:n.ctrlKey,shiftKey:n.shiftKey,metaKey:n.metaKey}=r);let s=new KeyboardEvent("keydown",n);s.synthetic=!0,t.dispatchEvent(s);let o=new KeyboardEvent("keyup",n);return o.synthetic=!0,t.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function Tk(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function Rk(t,e){let i=e.focusNode,r=e.focusOffset;if(!i||e.anchorNode!=i||e.anchorOffset!=r)return!1;for(r=Math.min(r,mr(i));;)if(r){if(i.nodeType!=1)return!1;let n=i.childNodes[r-1];n.contentEditable=="false"?r--:(i=n,r=mr(i))}else{if(i==t)return!0;r=Kr(i),i=i.parentNode}}function f0(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function d0(t,e){for(let i=t,r=e;;){if(i.nodeType==3&&r>0)return{node:i,offset:r};if(i.nodeType==1&&r>0){if(i.contentEditable=="false")return null;i=i.childNodes[r-1],r=mr(i)}else if(i.parentNode&&!GO(i))r=Kr(i),i=i.parentNode;else return null}}function p0(t,e){for(let i=t,r=e;;){if(i.nodeType==3&&r<i.nodeValue.length)return{node:i,offset:r};if(i.nodeType==1&&r<i.childNodes.length){if(i.contentEditable=="false")return null;i=i.childNodes[r],r=0}else if(i.parentNode&&!GO(i))r=Kr(i)+1,i=i.parentNode;else return null}}class Si{constructor(e,i,r=!0){this.node=e,this.offset=i,this.precise=r}static before(e,i){return new Si(e.parentNode,Kr(e),i)}static after(e,i){return new Si(e.parentNode,Kr(e)+1,i)}}var Xe=function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t}(Xe||(Xe={}));const Un=Xe.LTR,Gp=Xe.RTL;function m0(t){let e=[];for(let i=0;i<t.length;i++)e.push(1<<+t[i]);return e}const Ck=m0("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Yk=m0("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Ff=Object.create(null),Ci=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),i=t.charCodeAt(1);Ff[e]=i,Ff[i]=-e}function g0(t){return t<=247?Ck[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?Yk[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}const Zk=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class ji{get dir(){return this.level%2?Gp:Un}constructor(e,i,r){this.from=e,this.to=i,this.level=r}side(e,i){return this.dir==i==e?this.to:this.from}forward(e,i){return e==(this.dir==i)}static find(e,i,r,n){let s=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=i&&a.to>=i){if(a.level==r)return o;(s<0||(n!=0?n<0?a.from<i:a.to>i:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function Q0(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let r=t[i],n=e[i];if(r.from!=n.from||r.to!=n.to||r.direction!=n.direction||!Q0(r.inner,n.inner))return!1}return!0}const we=[];function Wk(t,e,i,r,n){for(let s=0;s<=r.length;s++){let o=s?r[s-1].to:e,a=s<r.length?r[s].from:i,l=s?256:n;for(let O=o,c=l,h=l;O<a;O++){let u=g0(t.charCodeAt(O));u==512?u=c:u==8&&h==4&&(u=16),we[O]=u==4?2:u,u&7&&(h=u),c=u}for(let O=o,c=l,h=l;O<a;O++){let u=we[O];if(u==128)O<a-1&&c==we[O+1]&&c&24?u=we[O]=c:we[O]=256;else if(u==64){let m=O+1;for(;m<a&&we[m]==64;)m++;let S=O&&c==8||m<i&&we[m]==8?h==1?1:8:256;for(let Q=O;Q<m;Q++)we[Q]=S;O=m-1}else u==8&&h==1&&(we[O]=1);c=u,u&7&&(h=u)}}}function Uk(t,e,i,r,n){let s=n==1?2:1;for(let o=0,a=0,l=0;o<=r.length;o++){let O=o?r[o-1].to:e,c=o<r.length?r[o].from:i;for(let h=O,u,m,S;h<c;h++)if(m=Ff[u=t.charCodeAt(h)])if(m<0){for(let Q=a-3;Q>=0;Q-=3)if(Ci[Q+1]==-m){let g=Ci[Q+2],d=g&2?n:g&4?g&1?s:n:0;d&&(we[h]=we[Ci[Q]]=d),a=Q;break}}else{if(Ci.length==189)break;Ci[a++]=h,Ci[a++]=u,Ci[a++]=l}else if((S=we[h])==2||S==1){let Q=S==n;l=Q?0:1;for(let g=a-3;g>=0;g-=3){let d=Ci[g+2];if(d&2)break;if(Q)Ci[g+2]|=2;else{if(d&4)break;Ci[g+2]|=4}}}}}function zk(t,e,i,r){for(let n=0,s=r;n<=i.length;n++){let o=n?i[n-1].to:t,a=n<i.length?i[n].from:e;for(let l=o;l<a;){let O=we[l];if(O==256){let c=l+1;for(;;)if(c==a){if(n==i.length)break;c=i[n++].to,a=n<i.length?i[n].from:e}else if(we[c]==256)c++;else break;let h=s==1,u=(c<e?we[c]:r)==1,m=h==u?h?1:2:r;for(let S=c,Q=n,g=Q?i[Q-1].to:t;S>l;)S==g&&(S=i[--Q].from,g=Q?i[Q-1].to:t),we[--S]=m;l=c}else s=O,l++}}}function Hf(t,e,i,r,n,s,o){let a=r%2?2:1;if(r%2==n%2)for(let l=e,O=0;l<i;){let c=!0,h=!1;if(O==s.length||l<s[O].from){let Q=we[l];Q!=a&&(c=!1,h=Q==16)}let u=!c&&a==1?[]:null,m=c?r:r+1,S=l;e:for(;;)if(O<s.length&&S==s[O].from){if(h)break e;let Q=s[O];if(!c)for(let g=Q.to,d=O+1;;){if(g==i)break e;if(d<s.length&&s[d].from==g)g=s[d++].to;else{if(we[g]==a)break e;break}}if(O++,u)u.push(Q);else{Q.from>l&&o.push(new ji(l,Q.from,m));let g=Q.direction==Un!=!(m%2);Kf(t,g?r+1:r,n,Q.inner,Q.from,Q.to,o),l=Q.to}S=Q.to}else{if(S==i||(c?we[S]!=a:we[S]==a))break;S++}u?Hf(t,l,S,r+1,n,u,o):l<S&&o.push(new ji(l,S,m)),l=S}else for(let l=i,O=s.length;l>e;){let c=!0,h=!1;if(!O||l>s[O-1].to){let Q=we[l-1];Q!=a&&(c=!1,h=Q==16)}let u=!c&&a==1?[]:null,m=c?r:r+1,S=l;e:for(;;)if(O&&S==s[O-1].to){if(h)break e;let Q=s[--O];if(!c)for(let g=Q.from,d=O;;){if(g==e)break e;if(d&&s[d-1].to==g)g=s[--d].from;else{if(we[g-1]==a)break e;break}}if(u)u.push(Q);else{Q.to<l&&o.push(new ji(Q.to,l,m));let g=Q.direction==Un!=!(m%2);Kf(t,g?r+1:r,n,Q.inner,Q.from,Q.to,o),l=Q.from}S=Q.from}else{if(S==e||(c?we[S-1]!=a:we[S-1]==a))break;S--}u?Hf(t,S,l,r+1,n,u,o):S<l&&o.push(new ji(S,l,m)),l=S}}function Kf(t,e,i,r,n,s,o){let a=e%2?2:1;Wk(t,n,s,r,a),Uk(t,n,s,r,a),zk(n,s,r,a),Hf(t,n,s,e,i,r,o)}function qk(t,e,i){if(!t)return[new ji(0,0,e==Gp?1:0)];if(e==Un&&!i.length&&!Zk.test(t))return S0(t.length);if(i.length)for(;t.length>we.length;)we[we.length]=256;let r=[],n=e==Un?0:1;return Kf(t,n,n,i,0,t.length,r),r}function S0(t){return[new ji(0,t,0)]}let $0="";function Vk(t,e,i,r,n){var s;let o=r.head-t.from,a=ji.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),l=e[a],O=l.side(n,i);if(o==O){let u=a+=n?1:-1;if(u<0||u>=e.length)return null;l=e[a=u],o=l.side(!n,i),O=l.side(n,i)}let c=Ke(t.text,o,l.forward(n,i));(c<l.from||c>l.to)&&(c=O),$0=t.text.slice(Math.min(o,c),Math.max(o,c));let h=a==(n?e.length-1:0)?null:e[a+(n?1:-1)];return h&&c==O&&h.level+(n?0:1)<l.level?A.cursor(h.side(!n,i)+t.from,h.forward(n,i)?1:-1,h.level):A.cursor(c+t.from,l.forward(n,i)?-1:1,l.level)}function Ek(t,e,i){for(let r=e;r<i;r++){let n=g0(t.charCodeAt(r));if(n==1)return Un;if(n==2||n==4)return Gp}return Un}const _0=K.define(),v0=K.define(),P0=K.define(),y0=K.define(),Jf=K.define(),w0=K.define(),X0=K.define(),Bp=K.define(),Ip=K.define(),b0=K.define({combine:t=>t.some(e=>e)}),x0=K.define({combine:t=>t.some(e=>e)}),k0=K.define();class Ss{constructor(e,i="nearest",r="nearest",n=5,s=5,o=!1){this.range=e,this.y=i,this.x=r,this.yMargin=n,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new Ss(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 Ss(A.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const vl=ae.define({map:(t,e)=>t.map(e)}),T0=ae.define();function Tt(t,e,i){let r=t.facet(y0);r.length?r[0](e):window.onerror&&window.onerror(String(e),i,void 0,void 0,e)||(i?console.error(i+":",e):console.error(e))}const or=K.define({combine:t=>t.length?t[0]:!0});let Ak=0;const as=K.define({combine(t){return t.filter((e,i)=>{for(let r=0;r<i;r++)if(t[r].plugin==e.plugin)return!1;return!0})}});class Re{constructor(e,i,r,n,s){this.id=e,this.create=i,this.domEventHandlers=r,this.domEventObservers=n,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(as.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(as.of({plugin:this,arg:e}))}static define(e,i){const{eventHandlers:r,eventObservers:n,provide:s,decorations:o}=i||{};return new Re(Ak++,e,r,n,a=>{let l=[];return o&&l.push(jc.of(O=>{let c=O.plugin(a);return c?o(c):re.none})),s&&l.push(s(a)),l})}static fromClass(e,i){return Re.define((r,n)=>new e(r,n),i)}}class Eh{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 i=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(i)}catch(r){if(Tt(i.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(i){Tt(e.state,i,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var i;if(!((i=this.value)===null||i===void 0)&&i.destroy)try{this.value.destroy()}catch(r){Tt(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const R0=K.define(),Np=K.define(),jc=K.define(),C0=K.define(),Fp=K.define(),Ga=K.define(),Y0=K.define();function $Q(t,e){let i=t.state.facet(Y0);if(!i.length)return i;let r=i.map(s=>s instanceof Function?s(t):s),n=[];return ce.spans(r,e.from,e.to,{point(){},span(s,o,a,l){let O=s-e.from,c=o-e.from,h=n;for(let u=a.length-1;u>=0;u--,l--){let m=a[u].spec.bidiIsolate,S;if(m==null&&(m=Ek(e.text,O,c)),l>0&&h.length&&(S=h[h.length-1]).to==O&&S.direction==m)S.to=c,h=S.inner;else{let Q={from:O,to:c,direction:m,inner:[]};h.push(Q),h=Q.inner}}}}),n}const Z0=K.define();function Hp(t){let e=0,i=0,r=0,n=0;for(let s of t.state.facet(Z0)){let o=s(t);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(i=Math.max(i,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(n=Math.max(n,o.bottom)))}return{left:e,right:i,top:r,bottom:n}}const wo=K.define();class ni{constructor(e,i,r,n){this.fromA=e,this.toA=i,this.fromB=r,this.toB=n}join(e){return new ni(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 i=e.length,r=this;for(;i>0;i--){let n=e[i-1];if(!(n.fromA>r.toA)){if(n.toA<r.fromA)break;r=r.join(n),e.splice(i-1,1)}}return e.splice(i,0,r),e}static extendWithRanges(e,i){if(i.length==0)return e;let r=[];for(let n=0,s=0,o=0;;){let a=n<e.length?e[n].fromB:1e9,l=s<i.length?i[s]:1e9,O=Math.min(a,l);if(O==1e9)break;let c=O+o,h=O,u=c;for(;;)if(s<i.length&&i[s]<=h){let m=i[s+1];s+=2,h=Math.max(h,m);for(let S=n;S<e.length&&e[S].fromB<=h;S++)o=e[S].toA-e[S].toB;u=Math.max(u,m+o)}else if(n<e.length&&e[n].fromB<=h){let m=e[n++];h=Math.max(h,m.toB),u=Math.max(u,m.toA),o=m.toA-m.toB}else break;r.push(new ni(c,u,O,h))}return r}}class BO{constructor(e,i,r){this.view=e,this.state=i,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Be.empty(this.startState.doc.length);for(let s of r)this.changes=this.changes.compose(s.changes);let n=[];this.changes.iterChangedRanges((s,o,a,l)=>n.push(new ni(s,o,a,l))),this.changedRanges=n}static create(e,i,r){return new BO(e,i,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 jk=[];class Ae{constructor(e,i,r=0){this.dom=e,this.length=i,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return jk}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 i=this.domAttrs;i&&yk(this.dom,i)}}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,i=this.posAtStart){let r=i;for(let n of this.children){if(n==e)return r;r+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,i){return null}domPosFor(e,i){let r=Kr(this.dom),n=this.length?e>0:i>0;return new Si(this.parent.dom,r+(n?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 Dc)return e;return null}static get(e){return e.cmTile}}class Lc extends Ae{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 i=this.dom,r=null,n,s=(e==null?void 0:e.node)==i?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,n=r?r.nextSibling:i.firstChild,s&&n!=a.dom&&(s.written=!0),a.dom.parentNode==i)for(;n&&n!=a.dom;)n=_Q(n);else i.insertBefore(a.dom,n);r=a.dom}for(n=r?r.nextSibling:i.firstChild,s&&n&&(s.written=!0);n;)n=_Q(n);this.length=o}}function _Q(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class Dc extends Lc{constructor(e,i){super(i),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 i=Ae.get(e);if(i&&this.owns(i))return i;e=e.parentNode}}blockTiles(e){for(let i=[],r=this,n=0,s=0;;)if(n==r.children.length){if(!i.length)return;r=r.parent,r.breakAfter&&s++,n=i.pop()}else{let o=r.children[n++];if(o instanceof cr)i.push(n),r=o,n=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,i){let r,n=-1,s,o=-1;if(this.blockTiles((a,l)=>{let O=l+a.length;if(e>=l&&e<=O){if(a.isWidget()&&i>=-1&&i<=1){if(a.flags&32)return!0;a.flags&16&&(r=void 0)}(l<e||e==O&&(i<-1?a.length:a.covers(1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,n=e-l),(O>e||e==l&&(i>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&i<0||!s?{tile:r,offset:n}:{tile:s,offset:o}}}class cr extends Lc{constructor(e,i){super(e),this.wrapper=i}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,i){let r=new cr(i||document.createElement(e.tagName),e);return i||(r.flags|=4),r}}class Cs extends Lc{constructor(e,i){super(e),this.attrs=i}isLine(){return!0}static start(e,i,r){let n=new Cs(i||document.createElement("div"),e);return(!i||!r)&&(n.flags|=4),n}get domAttrs(){return this.attrs}resolveInline(e,i,r){let n=null,s=-1,o=null,a=-1;function l(c,h){for(let u=0,m=0;u<c.children.length&&m<=h;u++){let S=c.children[u],Q=m+S.length;Q>=h&&(S.isComposite()?l(S,h-m):(!o||o.isHidden&&(i>0||r&&Dk(o,S)))&&(Q>h||S.flags&32)?(o=S,a=h-m):(m<h||S.flags&16&&!S.isHidden)&&(n=S,s=h-m)),m=Q}}l(this,e);let O=(i<0?n:o)||n||o;return O?{tile:O,offset:O==n?s:a}:null}coordsIn(e,i){let r=this.resolveInline(e,i,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),i):Lk(this)}domIn(e,i){let r=this.resolveInline(e,i);if(r){let{tile:n,offset:s}=r;if(this.dom.contains(n.dom))return n.isText()?new Si(n.dom,Math.min(n.dom.nodeValue.length,s)):n.domPosFor(s,n.flags&16?1:n.flags&32?-1:i);let o=r.tile.parent,a=!1;for(let l of o.children){if(a)return new Si(l.dom,0);l==r.tile&&(a=!0)}}return new Si(this.dom,0)}}function Lk(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let i=Do(e);return i[i.length-1]||null}function Dk(t,e){let i=t.coordsIn(0,1),r=e.coordsIn(0,1);return i&&r&&r.top<i.bottom}class xt extends Lc{constructor(e,i){super(e),this.mark=i}get domAttrs(){return this.mark.attrs}static of(e,i){let r=new xt(i||document.createElement(e.tagName),e);return i||(r.flags|=4),r}}class vn extends Ae{constructor(e,i){super(e,i.length),this.text=i}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,i){let r=this.dom.nodeValue.length;e>r&&(e=r);let n=e,s=e,o=0;e==0&&i<0||e==r&&i>=0?J.chrome||J.gecko||(e?(n--,o=1):s<r&&(s++,o=-1)):i<0?n--:s<r&&s++;let a=$a(this.dom,n,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:i>=0)?0:a.length-1];return J.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,O=>O.width)||l),o?Sa(l,o<0):l||null}static of(e,i){let r=new vn(i||document.createTextNode(e),e);return i||(r.flags|=2),r}}class zn extends Ae{constructor(e,i,r,n){super(e,i,n),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,i){return this.coordsInWidget(e,i,!1)}coordsInWidget(e,i,r){let n=this.widget.coordsAt(this.dom,e,i);if(n)return n;if(r)return Sa(this.dom.getBoundingClientRect(),this.length?e==0:i<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top<o.bottom);l+=a?-1:1);return Sa(o,!a)}}get overrideDOMText(){if(!this.length)return $e.empty;let{root:e}=this;if(!e)return $e.empty;let i=this.posAtStart;return e.view.state.doc.slice(i,i+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,i,r,n,s){return s||(s=e.toDOM(i),e.editable||(s.contentEditable="false")),new zn(s,r,e,n)}}class IO extends Ae{constructor(e){let i=document.createElement("img");i.className="cm-widgetBuffer",i.setAttribute("aria-hidden","true"),super(i,0,e)}get isHidden(){return!0}get overrideDOMText(){return $e.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class Mk{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,i,r){let{tile:n,index:s,beforeBreak:o,parents:a}=this;for(;e||i>0;)if(n.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==n.children.length){if(!e&&!a.length)break;r&&r.leave(n),o=!!n.breakAfter,{tile:n,index:s}=a.pop(),s++}else{let l=n.children[s],O=l.breakAfter;(i>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(o=!!O,s++,e-=l.length):(a.push({tile:n,index:s}),n=l,s=0,r&&l.isComposite()&&r.enter(l))}else if(s==n.length)o=!!n.breakAfter,{tile:n,index:s}=a.pop(),s++;else if(e){let l=Math.min(e,n.length-s);r&&r.skip(n,s,s+l),e-=l,s+=l}else break;return this.tile=n,this.index=s,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class Gk{constructor(e,i,r,n){this.from=e,this.to=i,this.wrapper=r,this.rank=n}}class Bk{constructor(e,i,r){this.cache=e,this.root=i,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,i,r,n){var s;this.flushBuffer();let o=this.ensureMarks(i,r),a=o.lastChild;if(a&&a.isText()&&!(a.flags&8)&&a.length+e.length<512){this.cache.reused.set(a,2);let l=o.children[o.children.length-1]=new vn(a.dom,a.text+e);l.parent=o}else o.append(n||vn.of(e,(s=this.cache.find(vn))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,i){let r=this.curLine;r.dom!=i.line.dom&&(r.setDOM(this.cache.reused.has(i.line)?Ah(i.line.dom):i.line.dom),this.cache.reused.set(i.line,2));let n=r;for(let a=i.marks.length-1;a>=0;a--){let l=i.marks[a],O=n.lastChild;if(O instanceof xt&&O.mark.eq(l.mark))O.dom!=l.dom&&O.setDOM(Ah(l.dom)),n=O;else{if(this.cache.reused.get(l)){let h=Ae.get(l.dom);h&&h.setDOM(Ah(l.dom))}let c=xt.of(l.mark,l.dom);n.append(c),n=c}this.cache.reused.set(l,2)}let s=Ae.get(e.text);s&&this.cache.reused.set(s,2);let o=new vn(e.text,e.text.nodeValue);o.flags|=8,n.append(o)}addInlineWidget(e,i,r){let n=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);n||this.flushBuffer();let s=this.ensureMarks(i,r);!n&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,i,r){this.flushBuffer(),this.ensureMarks(i,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 i=this.afterWidget||this.lastBlock;i.length+=e,this.pos+=e}addLineStart(e,i){var r;e||(e=W0);let n=Cs.start(e,i||((r=this.cache.find(Cs))===null||r===void 0?void 0:r.dom),!!i);this.getBlockPos().append(this.lastBlock=this.curLine=n)}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,i){var r;let n=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(i>0&&(a=n.lastChild)&&a instanceof xt&&a.mark.eq(o))n=a,i--;else{let l=xt.of(o,(r=this.cache.find(xt,O=>O.mark.eq(o)))===null||r===void 0?void 0:r.dom);n.append(l),n=l,i=0}}return n}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!vQ(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(J.ios&&vQ(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(jh,0,32)||new zn(jh.toDOM(),0,jh,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 i=new Gk(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let i=this.root;for(let r of this.wrappers){let n=i.lastChild;if(r.from<this.pos&&n instanceof cr&&n.wrapper.eq(r.wrapper))i=n;else{let s=cr.of(r.wrapper,(e=this.cache.find(cr,o=>o.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);i.append(s),i=s}}return i}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let i=2|(e<0?16:32),r=this.cache.find(IO,void 0,1);return r&&(r.flags=i),r||new IO(i)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class Ik{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:n,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=n;let a=this.textOff=Math.min(e,n.length);return s?null:n.slice(0,a)}let i=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,i);return this.textOff=i,r}}const NO=[zn,Cs,vn,xt,IO,cr,Dc];for(let t=0;t<NO.length;t++)NO[t].bucket=t;class Nk{constructor(e){this.view=e,this.buckets=NO.map(()=>[]),this.index=NO.map(()=>0),this.reused=new Map}add(e){let i=e.constructor.bucket,r=this.buckets[i];r.length<6?r.push(e):r[this.index[i]=(this.index[i]+1)%6]=e}find(e,i,r=2){let n=e.bucket,s=this.buckets[n],o=this.index[n];for(let a=s.length-1;a>=0;a--){let l=(a+o)%s.length,O=s[l];if((!i||i(O))&&!this.reused.has(O))return s.splice(l,1),l<o&&this.index[n]--,this.reused.set(O,r),O}return null}findWidget(e,i,r){let n=this.buckets[0];if(n.length)for(let s=0,o=0;;s++){if(s==n.length){if(o)return null;o=1,s=0}let a=n[s];if(!this.reused.has(a)&&(o==0?a.widget.compare(e):a.widget.constructor==e.constructor&&e.updateDOM(a.dom,this.view,a.widget)))return n.splice(s,1),s<this.index[0]&&this.index[0]--,a.widget==e&&a.length==i&&(a.flags&497)==r?(this.reused.set(a,1),a):(this.reused.set(a,2),new zn(a.dom,i,e,a.flags&-498|r))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,i=2){if(!this.reused.has(e))return this.reused.set(e,i),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}}class Fk{constructor(e,i,r,n,s){this.view=e,this.decorations=n,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new Nk(e),this.text=new Ik(e.state.doc),this.builder=new Bk(this.cache,new Dc(e,e.contentDOM),ce.iter(r)),this.cache.reused.set(i,2),this.old=new Mk(i),this.reuseWalker={skip:(o,a,l)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,i){let r=i&&this.getCompositionContext(i.text);for(let n=0,s=0,o=0;;){let a=o<e.length?e[o++]:null,l=a?a.fromA:this.old.root.length;if(l>n){let O=l-n;this.preserve(O,!o,!a),n=l,s+=O}if(!a)break;i&&a.fromA<=i.range.fromA&&a.toA>=i.range.toA?(this.forward(a.fromA,i.range.fromA,i.range.fromA<i.range.toA?1:-1),this.emit(s,i.range.fromB),this.cache.clear(),this.builder.addComposition(i,r),this.text.skip(i.range.toB-i.range.fromB),this.forward(i.range.fromA,a.toA),this.emit(i.range.toB,a.toB)):(this.forward(a.fromA,a.toA),this.emit(s,a.toB)),s=a.toB,n=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,i,r){let n=Jk(this.old),s=this.openMarks;this.old.advance(e,r?1:-1,{skip:(o,a,l)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let O=l>0||a<o.length?zn.of(o.widget,this.view,l-a,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);O.flags&256?(O.flags&=-2,this.builder.addBlockWidget(O)):(this.builder.ensureLine(null),this.builder.addInlineWidget(O,n,s),s=n.length)}else if(o.isText())this.builder.ensureLine(null),!a&&l==o.length&&!this.cache.reused.has(o)?this.builder.addText(o.text,n,s,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(a,l),n,s)),s=n.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof IO)this.cache.add(o);else if(o instanceof xt)this.builder.ensureLine(null),this.builder.addMark(o,n,s),this.cache.reused.set(o,1),s=n.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof xt&&n.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?n.length&&(n.length=s=0):o instanceof xt&&(n.shift(),s=Math.min(s,n.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,i){let r=null,n=this.builder,s=0,o=ce.spans(this.decorations,e,i,{point:(a,l,O,c,h,u)=>{if(O instanceof Wn){if(this.disallowBlockEffectsFor[u]){if(O.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=c.length,h>c.length)n.continueWidget(l-a);else{let m=O.widget||(O.block?Ys.block:Ys.inline),S=Hk(O),Q=this.cache.findWidget(m,l-a,S)||zn.of(m,this.view,l-a,S);O.block?(O.startSide>0&&n.addLineStartIfNotCovered(r),n.addBlockWidget(Q)):(n.ensureLine(r),n.addInlineWidget(Q,c,h))}r=null}else r=Kk(r,O);l>a&&this.text.skip(l-a)},span:(a,l,O,c)=>{for(let h=a;h<l;){let u=this.text.next(Math.min(512,l-h));u==null?(n.addLineStartIfNotCovered(r),n.addBreak(),h++):(n.ensureLine(r),n.addText(u,O,h==a?c:O.length),h+=u.length),r=null}}});n.addLineStartIfNotCovered(r),this.openWidget=o>s,this.openMarks=o}forward(e,i,r=1){i-e<=10?this.old.advance(i-e,r,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(i-e-10,-1),this.old.advance(5,r,this.reuseWalker))}getCompositionContext(e){let i=[],r=null;for(let n=e.parentNode;;n=n.parentNode){let s=Ae.get(n);if(n==this.view.contentDOM)break;s instanceof xt?i.push(s):s!=null&&s.isLine()?r=s:s instanceof cr||(n.nodeName=="DIV"&&!r&&n!=this.view.contentDOM?r=new Cs(n,W0):r||i.push(xt.of(new Da({tagName:n.nodeName.toLowerCase(),attributes:wk(n)}),n)))}return{line:r,marks:i}}}function vQ(t,e){let i=r=>{for(let n of r.children)if((e?n.isText():n.length)||i(n))return!0;return!1};return i(t)}function Hk(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}const W0={class:"cm-line"};function Kk(t,e){let i=e.spec.attributes,r=e.spec.class;return!i&&!r||(t||(t={class:"cm-line"}),i&&Dp(i,t),r&&(t.class+=" "+r)),t}function Jk(t){let e=[];for(let i=t.parents.length;i>1;i--){let r=i==t.parents.length?t.tile:t.parents[i].tile;r instanceof xt&&e.push(r.mark)}return e}function Ah(t){let e=Ae.get(t);return e&&e.setDOM(t.cloneNode()),t}class Ys extends bi{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}}Ys.inline=new Ys("span");Ys.block=new Ys("div");const jh=new class extends bi{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class PQ{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=re.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 Dc(e,e.contentDOM),this.updateInner([new ni(0,0,0,e.state.doc.length)],null)}update(e){var i;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:c,toA:h})=>h<this.minWidthFrom||c>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 n=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((i=this.domChanged)===null||i===void 0)&&i.newSel?n=this.domChanged.newSel.head:!lT(e.changes,this.hasComposition)&&!e.selectionSet&&(n=e.state.selection.main.head));let s=n>-1?tT(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){let{from:c,to:h}=this.hasComposition;r=new ni(c,h,e.changes.mapPos(c,-1),e.changes.mapPos(h,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(J.ie||J.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=nT(o,this.decorations,e.changes);l.length&&(r=ni.extendWithRanges(r,l));let O=oT(a,this.blockWrappers,e.changes);return O.length&&(r=ni.extendWithRanges(r,O)),s&&!r.some(c=>c.fromA<=s.range.fromA&&c.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,i){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(i||e.length){let o=this.tile,a=new Fk(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);i&&Ae.get(i.text)&&a.cache.reused.set(Ae.get(i.text),2),this.tile=a.run(e,i),ed(o,a.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 s=J.chrome||J.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let n=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof Lh&&n.push(s.dom);r.updateGaps(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let i of e.transactions)for(let r of i.effects)r.is(T0)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,i=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,n=this.view.root.activeElement,s=n==r,o=!s&&!(this.view.state.facet(or)||r.tabIndex>-1)&&Lo(r,this.view.observer.selectionRange)&&!(n&&r.contains(n));if(!(s||i||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,O,c;if(l.empty?c=O=this.inlineDOMNearPos(l.anchor,l.assoc||1):(c=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),O=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),J.gecko&&l.empty&&!this.hasComposition&&eT(O)){let u=document.createTextNode("");this.view.observer.ignore(()=>O.node.insertBefore(u,O.node.childNodes[O.offset]||null)),O=c=new Si(u,0),a=!0}let h=this.view.observer.selectionRange;(a||!h.focusNode||(!Mo(O.node,O.offset,h.anchorNode,h.anchorOffset)||!Mo(c.node,c.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,l))&&(this.view.observer.ignore(()=>{J.android&&J.chrome&&r.contains(h.focusNode)&&aT(h.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let u=Qa(this.view.root);if(u)if(l.empty){if(J.gecko){let m=iT(O.node,O.offset);if(m&&m!=3){let S=(m==1?d0:p0)(O.node,O.offset);S&&(O=new Si(S.node,S.offset))}}u.collapse(O.node,O.offset),l.bidiLevel!=null&&u.caretBidiLevel!==void 0&&(u.caretBidiLevel=l.bidiLevel)}else if(u.extend){u.collapse(O.node,O.offset);try{u.extend(c.node,c.offset)}catch{}}else{let m=document.createRange();l.anchor>l.head&&([O,c]=[c,O]),m.setEnd(c.node,c.offset),m.setStart(O.node,O.offset),u.removeAllRanges(),u.addRange(m)}o&&this.view.root.activeElement==r&&(r.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(O,c)),this.impreciseAnchor=O.precise?null:new Si(h.anchorNode,h.anchorOffset),this.impreciseHead=c.precise?null:new Si(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,i){return this.hasComposition&&i.empty&&Mo(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==i.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,i=e.state.selection.main,r=Qa(e.root),{anchorNode:n,anchorOffset:s}=e.observer.selectionRange;if(!r||!i.empty||!i.assoc||!r.modify)return;let o=this.lineAt(i.head,i.assoc);if(!o)return;let a=o.posAtStart;if(i.head==a||i.head==a+o.length)return;let l=this.coordsAt(i.head,-1),O=this.coordsAt(i.head,1);if(!l||!O||l.bottom>O.top)return;let c=this.domAtPos(i.head+i.assoc,i.assoc);r.collapse(c.node,c.offset),r.modify("move",i.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=i.from&&r.collapse(n,s)}posFromDOM(e,i){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let n=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[i];else{let o=mr(e)==0?0:i==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return n;for(;s&&!Ae.get(s);)s=s.nextSibling;if(!s)return n+r.length;for(let o=0,a=n;;o++){let l=r.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?n+i:n+(i?r.length:0):n}domAtPos(e,i){let{tile:r,offset:n}=this.tile.resolveBlock(e,i);return r.isWidget()?r.domPosFor(e,i):r.domIn(n,i)}inlineDOMNearPos(e,i){let r,n=-1,s=!1,o,a=-1,l=!1;return this.tile.blockTiles((O,c)=>{if(O.isWidget()){if(O.flags&32&&c>=e)return!0;O.flags&16&&(s=!0)}else{let h=c+O.length;if(c<=e&&(r=O,n=e-c,s=h<e),h>=e&&!o&&(o=O,a=e-c,l=c>e),c>e&&o)return!0}}),!r&&!o?this.domAtPos(e,i):(s&&o?r=null:l&&r&&(o=null),r&&i<0||!o?r.domIn(n,i):o.domIn(a,i))}coordsAt(e,i){let{tile:r,offset:n}=this.tile.resolveBlock(e,i);return r.isWidget()?r.widget instanceof Lh?null:r.coordsInWidget(n,i,!0):r.coordsIn(n,i)}lineAt(e,i){let{tile:r}=this.tile.resolveBlock(e,i);return r.isLine()?r:null}coordsForChar(e){let{tile:i,offset:r}=this.tile.resolveBlock(e,1);if(!i.isLine())return null;function n(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=n(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&o<s.length){let a=Ke(s.text,o);if(a==o)return null;let l=$a(s.dom,o,a).getClientRects();for(let O=0;O<l.length;O++){let c=l[O];if(O==l.length-1||c.top<c.bottom&&c.left<c.right)return c}}return null}return n(i,r)}measureVisibleLineHeights(e){let i=[],{from:r,to:n}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Xe.LTR,O=0,c=(h,u,m)=>{for(let S=0;S<h.children.length&&!(u>n);S++){let Q=h.children[S],g=u+Q.length,d=Q.dom.getBoundingClientRect(),{height:f}=d;if(m&&!S&&(O+=d.top-m.top),Q instanceof cr)g>r&&c(Q,u,d);else if(u>=r&&(O>0&&i.push(-O),i.push(f+O),O=0,o)){let p=Q.dom.lastChild,$=p?Do(p):[];if($.length){let _=$[$.length-1],P=l?_.right-d.left:d.right-_.left;P>a&&(a=P,this.minWidth=s,this.minWidthFrom=u,this.minWidthTo=g)}}m&&S==h.children.length-1&&(O+=m.bottom-d.bottom),u=g+Q.breakAfter}};return c(this.tile,0,null),i}textDirectionAt(e){let{tile:i}=this.tile.resolveBlock(e,1);return getComputedStyle(i.dom).direction=="rtl"?Xe.RTL:Xe.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let O of o.children){if(!O.isText()||/[^ -~]/.test(O.text))return;let c=Do(O.dom);if(c.length!=1)return;a+=c[0].width,l=c[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let i=document.createElement("div"),r,n,s;return i.className="cm-line",i.style.width="99999px",i.style.position="absolute",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(i);let o=Do(i.firstChild)[0];r=i.getBoundingClientRect().height,n=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,i.remove()}),{lineHeight:r,charWidth:n,textHeight:s}}computeBlockGapDeco(){let e=[],i=this.view.viewState;for(let r=0,n=0;;n++){let s=n==i.viewports.length?null:i.viewports[n],o=s?s.from-1:this.view.state.doc.length;if(o>r){let a=(i.lineBlockAt(o).bottom-i.lineBlockAt(r).top)/this.view.scaleY;e.push(re.replace({widget:new Lh(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return re.set(e)}updateDeco(){let e=1,i=this.view.state.facet(jc).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,n=this.view.state.facet(Fp).map((s,o)=>{let a=typeof s=="function";return a&&(r=!0),a?s(this.view):s});for(n.length&&(this.dynamicDecorationMap[e++]=r,i.push(ce.join(n))),this.decorations=[this.editContextFormatting,...i,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(C0).map(s=>typeof s=="function"?s(this.view):s)}scrollIntoView(e){var i;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(k0))try{if(c(this.view,e.range,e))return!0}catch(h){Tt(this.view.state,h,"scroll handler")}let{range:r}=e,n=this.coordsAt(r.head,(i=r.assoc)!==null&&i!==void 0?i:r.empty?0:r.head>r.anchor?-1:1),s;if(!n)return;!r.empty&&(s=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(n={left:Math.min(n.left,s.left),top:Math.min(n.top,s.top),right:Math.max(n.right,s.right),bottom:Math.max(n.bottom,s.bottom)});let o=Hp(this.view),a={left:n.left-o.left,top:n.top-o.top,right:n.right+o.right,bottom:n.bottom+o.bottom},{offsetWidth:l,offsetHeight:O}=this.view.scrollDOM;if(xk(this.view.scrollDOM,a,r.head<r.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,O),-O),this.view.textDirection==Xe.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(r.head,1);c&&c.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let i=r=>r.isWidget()||r.children.some(i);return i(this.tile.resolveBlock(e,1).tile)}destroy(){ed(this.tile)}}function ed(t,e){let i=e==null?void 0:e.get(t);if(i!=1){i==null&&t.destroy();for(let r of t.children)ed(r,e)}}function eT(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function U0(t,e){let i=t.observer.selectionRange;if(!i.focusNode)return null;let r=d0(i.focusNode,i.focusOffset),n=p0(i.focusNode,i.focusOffset),s=r||n;if(n&&r&&n.node!=r.node){let a=Ae.get(n.node);if(!a||a.isText()&&a.text!=n.node.nodeValue)s=n;else if(t.docView.lastCompositionAfterCursor){let l=Ae.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(s=n)}}if(t.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function tT(t,e,i){let r=U0(t,i);if(!r)return null;let{node:n,from:s,to:o}=r,a=n.nodeValue;if(/[\n\r]/.test(a)||t.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new ni(l.mapPos(s),l.mapPos(o),s,o),text:n}}function iT(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}let rT=class{constructor(){this.changes=[]}compareRange(e,i){gs(e,i,this.changes)}comparePoint(e,i){gs(e,i,this.changes)}boundChange(e){gs(e,e,this.changes)}};function nT(t,e,i){let r=new rT;return ce.compare(t,e,i,r),r.changes}class sT{constructor(){this.changes=[]}compareRange(e,i){gs(e,i,this.changes)}comparePoint(){}boundChange(e){gs(e,e,this.changes)}}function oT(t,e,i){let r=new sT;return ce.compare(t,e,i,r),r.changes}function aT(t,e){for(let i=t;i&&i!=e;i=i.assignedSlot||i.parentNode)if(i.nodeType==1&&i.contentEditable=="false")return!0;return!1}function lT(t,e){let i=!1;return e&&t.iterChangedRanges((r,n)=>{r<e.to&&n>e.from&&(i=!0)}),i}class Lh extends bi{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 OT(t,e,i=1){let r=t.charCategorizer(e),n=t.doc.lineAt(e),s=e-n.from;if(n.length==0)return A.cursor(e);s==0?i=1:s==n.length&&(i=-1);let o=s,a=s;i<0?o=Ke(n.text,s,!1):a=Ke(n.text,s);let l=r(n.text.slice(o,a));for(;o>0;){let O=Ke(n.text,o,!1);if(r(n.text.slice(O,o))!=l)break;o=O}for(;a<n.length;){let O=Ke(n.text,a);if(r(n.text.slice(a,O))!=l)break;a=O}return A.range(o+n.from,a+n.from)}function cT(t,e,i,r,n){let s=Math.round((r-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&i.height>t.defaultLineHeight*1.5){let a=t.viewState.heightOracle.textHeight,l=Math.floor((n-i.top-(t.defaultLineHeight-a)*.5)/a);s+=l*t.viewState.heightOracle.lineLength}let o=t.state.sliceDoc(i.from,i.to);return i.from+jf(o,s,t.state.tabSize)}function td(t,e,i){let r=t.lineBlockAt(e);if(Array.isArray(r.type)){let n;for(let s of r.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!n||s.type==ot.Text&&(n.type!=s.type||(i<0?s.from<e:s.to>e)))&&(n=s)}}return n||r}return r}function hT(t,e,i,r){let n=td(t,e.head,e.assoc||-1),s=!r||n.type!=ot.Text||!(t.lineWrapping||n.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>n.from?e.head-1:e.head);if(s){let o=t.dom.getBoundingClientRect(),a=t.textDirectionAt(n.from),l=t.posAtCoords({x:i==(a==Xe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return A.cursor(l,i?-1:1)}return A.cursor(i?n.to:n.from,i?-1:1)}function yQ(t,e,i,r){let n=t.state.doc.lineAt(e.head),s=t.bidiSpans(n),o=t.textDirectionAt(n.from);for(let a=e,l=null;;){let O=Vk(n,s,o,a,i),c=$0;if(!O){if(n.number==(i?t.state.doc.lines:1))return a;c=`
|
|
57
57
|
`,n=t.state.doc.line(n.number+(i?1:-1)),s=t.bidiSpans(n),O=t.visualLineSide(n,!i)}if(l){if(!l(c))return a}else{if(!r)return O;l=r(c)}a=O}}function uT(t,e,i){let r=t.state.charCategorizer(e),n=r(i);return s=>{let o=r(s);return n==Ye.Space&&(n=o),n==o}}function fT(t,e,i,r){let n=e.head,s=i?1:-1;if(n==(i?t.state.doc.length:0))return A.cursor(n,e.assoc);let o=e.goalColumn,a,l=t.contentDOM.getBoundingClientRect(),O=t.coordsAtPos(n,e.assoc||((e.empty?i:e.head==e.from)?1:-1)),c=t.documentTop;if(O)o==null&&(o=O.left-l.left),a=s<0?O.top:O.bottom;else{let S=t.viewState.lineBlockAt(n);o==null&&(o=Math.min(l.right-l.left,t.defaultCharacterWidth*(n-S.from))),a=(s<0?S.top:S.bottom)+c}let h=l.left+o,u=t.viewState.heightOracle.textHeight>>1,m=r??u;for(let S=0;;S+=u){let Q=a+(m+S)*s,g=id(t,{x:h,y:Q},!1,s);if(i?Q>l.bottom:Q<l.top)return A.cursor(g.pos,g.assoc);let d=t.coordsAtPos(g.pos,g.assoc),f=d?(d.top+d.bottom)/2:0;if(!d||(i?f>a:f<a))return A.cursor(g.pos,g.assoc,void 0,o)}}function Go(t,e,i){for(;;){let r=0;for(let n of t)n.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=r||i||(e-s<o-e?-1:1);e=l<0?s:o,r=l}});if(!r)return e}}function z0(t,e){let i=null;for(let r=0;r<e.ranges.length;r++){let n=e.ranges[r],s=null;if(n.empty){let o=Go(t,n.from,0);o!=n.from&&(s=A.cursor(o,-1))}else{let o=Go(t,n.from,-1),a=Go(t,n.to,1);(o!=n.from||a!=n.to)&&(s=A.range(n.from==n.anchor?o:a,n.from==n.head?o:a))}s&&(i||(i=e.ranges.slice()),i[r]=s)}return i?A.create(i,e.mainIndex):e}function Dh(t,e,i){let r=Go(t.state.facet(Ga).map(n=>n(t)),i.from,e.head>i.from?-1:1);return r==i.from?i:A.cursor(r,r<i.from?1:-1)}class Ai{constructor(e,i){this.pos=e,this.assoc=i}}function id(t,e,i,r){let n=t.contentDOM.getBoundingClientRect(),s=n.top+t.viewState.paddingTop,{x:o,y:a}=e,l=a-s,O;for(;;){if(l<0)return new Ai(0,1);if(l>t.viewState.docHeight)return new Ai(t.state.doc.length,-1);if(O=t.elementAtHeight(l),r==null)break;if(O.type==ot.Text){if(r<0?O.to<t.viewport.from:O.from>t.viewport.to)break;let u=t.docView.coordsAt(r<0?O.from:O.to,r>0?-1:1);if(u&&(r<0?u.top<=l+s:u.bottom>=l+s))break}let h=t.viewState.heightOracle.textHeight/2;l=r>0?O.bottom+h:O.top-h}if(t.viewport.from>=O.to||t.viewport.to<=O.from){if(i)return null;if(O.type==ot.Text){let h=cT(t,n,O,o,a);return new Ai(h,h==O.from?1:-1)}}if(O.type!=ot.Text)return l<(O.top+O.bottom)/2?new Ai(O.from,1):new Ai(O.to,-1);let c=t.docView.lineAt(O.from,2);return(!c||c.length!=O.length)&&(c=t.docView.lineAt(O.from,-2)),new dT(t,o,a,t.textDirectionAt(O.from)).scanTile(c,O.from)}class dT{constructor(e,i,r,n){this.view=e,this.x=i,this.y=r,this.baseDir=n,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,i){let{line:r,spans:n}=this.bidiSpansAt(e);return n[ji.find(n,e-r.from,-1,i)].level==this.baseDir}dirAt(e,i){let{line:r,spans:n}=this.bidiSpansAt(e);return n[ji.find(n,e-r.from,-1,i)].dir}bidiIn(e,i){let{spans:r,line:n}=this.bidiSpansAt(e);return r.length>1||r.length&&(r[0].level!=this.baseDir||r[0].to+n.from<i)}scan(e,i){let r=0,n=e.length-1,s=new Set,o=this.bidiIn(e[0],e[n]),a,l,O=-1,c=1e9,h;e:for(;r<n;){let m=n-r,S=r+n>>1;t:if(s.has(S)){let g=r+Math.floor(Math.random()*m);for(let d=0;d<m;d++){if(!s.has(g)){S=g;break t}g++,g==n&&(g=r)}break e}s.add(S);let Q=i(S);if(Q)for(let g=0;g<Q.length;g++){let d=Q[g],f=0;if(!(d.width==0&&Q.length>1)){if(d.bottom<this.y)(!a||a.bottom<d.bottom)&&(a=d),f=1;else if(d.top>this.y)(!l||l.top>d.top)&&(l=d),f=-1;else{let p=d.left>this.x?this.x-d.left:d.right<this.x?this.x-d.right:0,$=Math.abs(p);$<c&&(O=S,c=$,h=d),p&&(f=p<0==(this.baseDir==Xe.LTR)?-1:1)}f==-1&&(!o||this.baseDirAt(e[S],1))?n=S:f==1&&(!o||this.baseDirAt(e[S+1],-1))&&(r=S+1)}}}if(!h){let m=a&&(!l||this.y-a.bottom<l.top-this.y)?a:l;return this.y=(m.top+m.bottom)/2,this.scan(e,i)}let u=(o?this.dirAt(e[O],1):this.baseDir)==Xe.LTR;return{i:O,after:this.x>(h.left+h.right)/2==u}}scanText(e,i){let r=[];for(let s=0;s<e.length;s=Ke(e.text,s))r.push(i+s);r.push(i+e.length);let n=this.scan(r,s=>{let o=r[s]-i,a=r[s+1]-i;return $a(e.dom,o,a).getClientRects()});return n.after?new Ai(r[n.i+1],-1):new Ai(r[n.i],1)}scanTile(e,i){if(!e.length)return new Ai(i,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,i);if(a.isComposite())return this.scanTile(a,i)}let r=[i];for(let a=0,l=i;a<e.children.length;a++)r.push(l+=e.children[a].length);let n=this.scan(r,a=>{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:$a(l.dom,0,l.length)).getClientRects()}),s=e.children[n.i],o=r[n.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):n.after?new Ai(r[n.i+1],-1):new Ai(o,1)}}const Mn="";class pT{constructor(e,i){this.points=e,this.view=i,this.text="",this.lineSeparator=i.state.facet(fe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Mn}readRange(e,i){if(!e)return this;let r=e.parentNode;for(let n=e;;){this.findPointBefore(r,n);let s=this.text.length;this.readNode(n);let o=Ae.get(n),a=n.nextSibling;if(a==i){o!=null&&o.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Ae.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:GO(n))||GO(a)&&(n.nodeName!="BR"||o!=null&&o.isWidget())&&this.text.length>s)&&!gT(a,i)&&this.lineBreak(),n=a}return this.findPointBefore(r,i),this}readTextNode(e){let i=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,i.length));for(let r=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=i.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(a=n.exec(i))&&(s=a.index,o=a[0].length),this.append(i.slice(r,s<0?i.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);r=s+o}}readNode(e){let i=Ae.get(e),r=i&&i.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let n=r.iter();!n.next().done;)n.lineBreak?this.lineBreak():this.append(n.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,i){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==i&&(r.pos=this.text.length)}findPointInside(e,i){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(mT(e,r.node,r.offset)?i:0))}}function mT(t,e,i){for(;;){if(!e||i<mr(e))return!1;if(e==t)return!0;i=Kr(e)+1,e=e.parentNode}}function gT(t,e){let i;for(;!(t==e||!t);t=t.nextSibling){let r=Ae.get(t);if(!(r!=null&&r.isWidget()))return!1;r&&(i||(i=[])).push(r)}if(i)for(let r of i){let n=r.overrideDOMText;if(n!=null&&n.length)return!1}return!0}class wQ{constructor(e,i){this.node=e,this.offset=i,this.pos=-1}}class QT{constructor(e,i,r,n){this.typeOver=n,this.bounds=null,this.text="",this.domChanged=i>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&i>-1)this.newSel=null;else if(i>-1&&(this.bounds=q0(e.docView.tile,i,r,0))){let l=s||o?[]:$T(e),O=new pT(l,e);O.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=O.text,this.newSel=_T(l,this.bounds.from)}else{let l=e.observer.selectionRange,O=s&&s.node==l.focusNode&&s.offset==l.focusOffset||!Nf(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),c=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!Nf(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),h=e.viewport;if((J.ios||J.chrome)&&a.main.empty&&O!=c&&(h.from>0||h.to<e.state.doc.length)){let u=Math.min(O,c),m=Math.max(O,c),S=h.from-u,Q=h.to-m;(S==0||S==1||u==0)&&(Q==0||Q==-1||m==e.state.doc.length)&&(O=0,c=e.state.doc.length)}if(e.inputState.composing>-1&&a.ranges.length>1)this.newSel=a.replaceRange(A.range(c,O));else if(e.lineWrapping&&c==O&&!(a.main.empty&&a.main.head==O)&&e.inputState.lastTouchTime>Date.now()-100){let u=e.coordsAtPos(O,-1),m=0;u&&(m=e.inputState.lastTouchY<=u.bottom?-1:1),this.newSel=A.create([A.cursor(O,m)])}else this.newSel=A.single(c,O)}}}function q0(t,e,i,r){if(t.isComposite()){let n=-1,s=-1,o=-1,a=-1;for(let l=0,O=r,c=r;l<t.children.length;l++){let h=t.children[l],u=O+h.length;if(O<e&&u>i)return q0(h,e,i,O);if(u>=e&&n==-1&&(n=l,s=O),O>i&&h.dom.parentNode==t.dom){o=l,a=c;break}c=u,O=u+h.breakAfter}return{from:s,to:a<0?r+t.length:a,startDOM:(n?t.children[n-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:o<t.children.length&&o>=0?t.children[o].dom:null}}else return t.isText()?{from:r,to:r+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function V0(t,e){let i,{newSel:r}=e,{state:n}=t,s=n.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,O=s.from,c=null;(o===8||J.android&&e.text.length<l-a)&&(O=s.to,c="end");let h=n.doc.sliceString(a,l,Mn),u,m;!s.empty&&s.from>=a&&s.to<=l&&(e.typeOver||h!=e.text)&&h.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&h.slice(s.to-a)==e.text.slice(u=e.text.length-(h.length-(s.to-a)))?i={from:s.from,to:s.to,insert:$e.of(e.text.slice(s.from-a,u).split(Mn))}:(m=E0(h,e.text,O-a,c))&&(J.chrome&&o==13&&m.toB==m.from+2&&e.text.slice(m.from,m.toB)==Mn+Mn&&m.toB--,i={from:a+m.from,to:a+m.toA,insert:$e.of(e.text.slice(m.from,m.toB).split(Mn))})}else r&&(!t.hasFocus&&n.facet(or)||FO(r,s))&&(r=null);if(!i&&!r)return!1;if((J.mac||J.android)&&i&&i.from==i.to&&i.from==s.head-1&&/^\. ?$/.test(i.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(r&&i.insert.length==2&&(r=A.single(r.main.anchor-1,r.main.head-1)),i={from:i.from,to:i.to,insert:$e.of([i.insert.toString().replace("."," ")])}):n.doc.lineAt(s.from).to<s.to&&t.docView.lineHasWidget(s.to)&&t.inputState.insertingTextAt>Date.now()-50?i={from:s.from,to:s.to,insert:n.toText(t.inputState.insertingText)}:J.chrome&&i&&i.from==i.to&&i.from==s.head&&i.insert.toString()==`
|
|
58
|
-
`&&t.lineWrapping&&(r&&(r=A.single(r.main.anchor-1,r.main.head-1)),i={from:s.from,to:s.to,insert:$e.of([" "])}),i)return Kp(t,i,r,o);if(r&&!FO(r,s)){let a=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(a=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(r=z0(n.facet(Ga).map(O=>O(t)),r))),t.dispatch({selection:r,scrollIntoView:a,userEvent:l}),!0}else return!1}function Kp(t,e,i,r=-1){if(J.ios&&t.inputState.flushIOSKey(e))return!0;let n=t.state.selection.main;if(J.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&t.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Qs(t.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>n.head)&&Qs(t.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&Qs(t.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let o,a=()=>o||(o=ST(t,e,i));return t.state.facet(w0).some(l=>l(t,e.from,e.to,s,a))||t.dispatch(a()),!0}function ST(t,e,i){let r,n=t.state,s=n.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,O=l<0?s.from:s.to,c=Go(n.facet(Ga).map(h=>h(t)),O,l);e.from==c&&(o=c)}if(o>-1)r={changes:e,selection:A.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!i||i.main.empty&&i.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=s.from<e.from?n.sliceDoc(s.from,e.from):"",O=s.to>e.to?n.sliceDoc(e.to,s.to):"";r=n.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+O))}else{let l=n.changes(e),O=i&&i.main.to<=l.newLength?i.main:void 0;if(n.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let c=t.state.sliceDoc(e.from,e.to),h,u=i&&U0(t,i.main.head);if(u){let S=e.insert.length-(e.to-e.from);h={from:u.from,to:u.to-S}}else h=t.state.doc.lineAt(s.head);let m=s.to-e.to;r=n.changeByRange(S=>{if(S.from==s.from&&S.to==s.to)return{changes:l,range:O||S.map(l)};let Q=S.to-m,g=Q-c.length;if(t.state.sliceDoc(g,Q)!=c||Q>=h.from&&g<=h.to)return{range:S};let d=n.changes({from:g,to:Q,insert:e.insert}),f=S.to-s.to;return{changes:d,range:O?A.range(Math.max(0,O.anchor+f),Math.max(0,O.head+f)):S.map(d)}})}else r={changes:l,selection:O&&n.selection.replaceRange(O)}}let a="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,a+=".compose",t.inputState.compositionFirstChange&&(a+=".start",t.inputState.compositionFirstChange=!1)),n.update(r,{userEvent:a,scrollIntoView:!0})}function E0(t,e,i,r){let n=Math.min(t.length,e.length),s=0;for(;s<n&&t.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==n&&t.length==e.length)return null;let o=t.length,a=e.length;for(;o>0&&a>0&&t.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));i-=o+l-s}if(o<s&&t.length<e.length){let l=i<=s&&i>=o?s-i:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=i<=s&&i>=a?s-i:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function $T(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:i,anchorOffset:r,focusNode:n,focusOffset:s}=t.observer.selectionRange;return i&&(e.push(new wQ(i,r)),(n!=i||s!=r)&&e.push(new wQ(n,s))),e}function _T(t,e){if(t.length==0)return null;let i=t[0].pos,r=t.length==2?t[1].pos:i;return i>-1&&r>-1?A.single(i+e,r+e):null}function FO(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class vT{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,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.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,J.safari&&e.contentDOM.addEventListener("input",()=>null),J.gecko&&zT(e.contentDOM.ownerDocument)}handleEvent(e){!TT(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,i){let r=this.handlers[e];if(r){for(let n of r.observers)n(this.view,i);for(let n of r.handlers){if(i.defaultPrevented)break;if(n(this.view,i)){i.preventDefault();break}}}}ensureHandlers(e){let i=PT(e),r=this.handlers,n=this.view.contentDOM;for(let s in i)if(s!="scroll"){let o=!i[s].handlers.length,a=r[s];a&&o!=!a.handlers.length&&(n.removeEventListener(s,this.handleEvent),a=null),a||n.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!i[s]&&n.removeEventListener(s,this.handleEvent);this.handlers=i}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&&j0.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),J.android&&J.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let i;return J.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((i=A0.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||yT.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=i||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let i=this.pendingIOSKey;return!i||i.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Qs(this.view.contentDOM,i.key,i.keyCode,i instanceof KeyboardEvent?i:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:J.safari&&!J.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 XQ(t,e){return(i,r)=>{try{return e.call(t,r,i)}catch(n){Tt(i.state,n)}}}function PT(t){let e=Object.create(null);function i(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of t){let n=r.spec,s=n&&n.plugin.domEventHandlers,o=n&&n.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&i(a).handlers.push(XQ(r.value,l))}if(o)for(let a in o){let l=o[a];l&&i(a).observers.push(XQ(r.value,l))}}for(let r in wi)i(r).handlers.push(wi[r]);for(let r in Wt)i(r).observers.push(Wt[r]);return e}const A0=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],yT="dthko",j0=[16,17,18,20,91,92,224,225],Pl=6;function yl(t){return Math.max(0,t)*.7+8}function wT(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class XT{constructor(e,i,r,n){this.view=e,this.startEvent=i,this.style=r,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=i,this.scrollParents=h0(e.contentDOM),this.atoms=e.state.facet(Ga).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=i.shiftKey,this.multiple=e.state.facet(fe.allowMultipleSelections)&&bT(e,i),this.dragging=kT(e,i)&&M0(i)==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&&wT(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let i=0,r=0,n=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Hp(this.view);e.clientX-l.left<=n+Pl?i=-yl(n-e.clientX):e.clientX+l.right>=o-Pl&&(i=yl(e.clientX-o)),e.clientY-l.top<=s+Pl?r=-yl(s-e.clientY):e.clientY+l.bottom>=a-Pl&&(r=yl(e.clientY-a)),this.setScrollSpeed(i,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,i){this.scrollSpeed={x:e,y:i},e||i?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:i}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),i&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=i,i=0),(e||i)&&this.view.win.scrollBy(e,i),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:i}=this,r=z0(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(i.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(i=>i.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function bT(t,e){let i=t.state.facet(_0);return i.length?i[0](e):J.mac?e.metaKey:e.ctrlKey}function xT(t,e){let i=t.state.facet(v0);return i.length?i[0](e):J.mac?!e.altKey:!e.ctrlKey}function kT(t,e){let{main:i}=t.state.selection;if(i.empty)return!1;let r=Qa(t.root);if(!r||r.rangeCount==0)return!0;let n=r.getRangeAt(0).getClientRects();for(let s=0;s<n.length;s++){let o=n[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function TT(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let i=e.target,r;i!=t.contentDOM;i=i.parentNode)if(!i||i.nodeType==11||(r=Ae.get(i))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const wi=Object.create(null),Wt=Object.create(null),L0=J.ie&&J.ie_version<15||J.ios&&J.webkit_version<604;function RT(t){let e=t.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{t.focus(),i.remove(),D0(t,i.value)},50)}function Mc(t,e,i){for(let r of t.facet(e))i=r(i,t);return i}function D0(t,e){e=Mc(t.state,Bp,e);let{state:i}=t,r,n=1,s=i.toText(e),o=s.lines==i.selection.ranges.length;if(rd!=null&&i.selection.ranges.every(l=>l.empty)&&rd==s.toString()){let l=-1;r=i.changeByRange(O=>{let c=i.doc.lineAt(O.from);if(c.from==l)return{range:O};l=c.from;let h=i.toText((o?s.line(n++).text:e)+i.lineBreak);return{changes:{from:c.from,insert:h},range:A.cursor(O.from+h.length)}})}else o?r=i.changeByRange(l=>{let O=s.line(n++);return{changes:{from:l.from,to:l.to,insert:O.text},range:A.cursor(l.from+O.length)}}):r=i.replaceSelection(s);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Wt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Wt.wheel=Wt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};wi.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Wt.touchstart=(t,e)=>{let i=t.inputState,r=e.targetTouches[0];i.lastTouchTime=Date.now(),r&&(i.lastTouchX=r.clientX,i.lastTouchY=r.clientY),i.setSelectionOrigin("select.pointer")};Wt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};wi.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let r of t.state.facet(P0))if(i=r(t,e),i)break;if(!i&&e.button==0&&(i=YT(t,e)),i){let r=!t.hasFocus;t.inputState.startMouseSelection(new XT(t,e,i,r)),r&&t.observer.ignore(()=>{u0(t.contentDOM);let s=t.root.activeElement;s&&!s.contains(t.contentDOM)&&s.blur()});let n=t.inputState.mouseSelection;if(n)return n.start(e),n.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function bQ(t,e,i,r){if(r==1)return A.cursor(e,i);if(r==2)return OT(t.state,e,i);{let n=t.docView.lineAt(e,i),s=t.state.doc.lineAt(n?n.posAtEnd:e),o=n?n.posAtStart:s.from,a=n?n.posAtEnd:s.to;return a<t.state.doc.length&&a==s.to&&a++,A.range(o,a)}}const CT=J.ie&&J.ie_version<=11;let xQ=null,kQ=0,TQ=0;function M0(t){if(!CT)return t.detail;let e=xQ,i=TQ;return xQ=t,TQ=Date.now(),kQ=!e||i>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(kQ+1)%3:1}function YT(t,e){let i=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=M0(e),n=t.state.selection;return{update(s){s.docChanged&&(i.pos=s.changes.mapPos(i.pos),n=n.map(s.changes))},get(s,o,a){let l=t.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),O,c=bQ(t,l.pos,l.assoc,r);if(i.pos!=l.pos&&!o){let h=bQ(t,i.pos,i.assoc,r),u=Math.min(h.from,c.from),m=Math.max(h.to,c.to);c=u<c.from?A.range(u,m,c.assoc):A.range(m,u,c.assoc)}return o?n.replaceRange(n.main.extend(c.from,c.to,c.assoc)):a&&r==1&&n.ranges.length>1&&(O=ZT(n,l.pos))?O:a?n.addRange(c):A.create([c])}}}function ZT(t,e){for(let i=0;i<t.ranges.length;i++){let{from:r,to:n}=t.ranges[i];if(r<=e&&n>=e)return A.create(t.ranges.slice(0,i).concat(t.ranges.slice(i+1)),t.mainIndex==i?0:t.mainIndex-(t.mainIndex>i?1:0))}return null}wi.dragstart=(t,e)=>{let{selection:{main:i}}=t.state;if(e.target.draggable){let n=t.docView.tile.nearest(e.target);if(n&&n.isWidget()){let s=n.posAtStart,o=s+n.length;(s>=i.to||o<=i.from)&&(i=A.range(s,o))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=i,e.dataTransfer&&(e.dataTransfer.setData("Text",Mc(t.state,Ip,t.state.sliceDoc(i.from,i.to))),e.dataTransfer.effectAllowed="copyMove"),!1};wi.dragend=t=>(t.inputState.draggedContent=null,!1);function RQ(t,e,i,r){if(i=Mc(t.state,Bp,i),!i)return;let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=t.inputState,o=r&&s&&xT(t,e)?{from:s.from,to:s.to}:null,a={from:n,insert:i},l=t.state.changes(o?[o,a]:a);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(n,-1),head:l.mapPos(n,1)},userEvent:o?"move.drop":"input.drop"}),t.inputState.draggedContent=null}wi.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let i=e.dataTransfer.files;if(i&&i.length){let r=Array(i.length),n=0,s=()=>{++n==i.length&&RQ(t,e,r.filter(o=>o!=null).join(t.state.lineBreak),!1)};for(let o=0;o<i.length;o++){let a=new FileReader;a.onerror=s,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),s()},a.readAsText(i[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return RQ(t,e,r,!0),!0}return!1};wi.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let i=L0?null:e.clipboardData;return i?(D0(t,i.getData("text/plain")||i.getData("text/uri-list")),!0):(RT(t),!1)};function WT(t,e){let i=t.dom.parentNode;if(!i)return;let r=i.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(),t.focus()},50)}function UT(t){let e=[],i=[],r=!1;for(let n of t.selection.ranges)n.empty||(e.push(t.sliceDoc(n.from,n.to)),i.push(n));if(!e.length){let n=-1;for(let{from:s}of t.selection.ranges){let o=t.doc.lineAt(s);o.number>n&&(e.push(o.text),i.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),n=o.number}r=!0}return{text:Mc(t,Ip,e.join(t.lineBreak)),ranges:i,linewise:r}}let rd=null;wi.copy=wi.cut=(t,e)=>{if(!Lo(t.contentDOM,t.observer.selectionRange))return!1;let{text:i,ranges:r,linewise:n}=UT(t.state);if(!i&&!n)return!1;rd=n?i:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=L0?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",i),!0):(WT(t,i),!1)};const G0=Hi.define();function B0(t,e){let i=[];for(let r of t.facet(X0)){let n=r(t,e);n&&i.push(n)}return i.length?t.update({effects:i,annotations:G0.of(!0)}):null}function I0(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let i=B0(t.state,e);i?t.dispatch(i):t.update([])}},10)}Wt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),I0(t)};Wt.blur=t=>{t.observer.clearSelectionRange(),I0(t)};Wt.compositionstart=Wt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Wt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,J.chrome&&J.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Wt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};wi.beforeinput=(t,e)=>{var i,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let s=(i=e.dataTransfer)===null||i===void 0?void 0:i.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=t.posAtDOM(a.startContainer,a.startOffset),O=t.posAtDOM(a.endContainer,a.endOffset);return Kp(t,{from:l,to:O,insert:t.state.toText(s)},null),!0}}let n;if(J.chrome&&J.android&&(n=A0.find(s=>s.inputType==e.inputType))&&(t.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return J.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),J.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Wt.compositionend(t,e),20),!1};const CQ=new Set;function zT(t){CQ.has(t)||(CQ.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const YQ=["pre-wrap","normal","pre-line","break-spaces"];let Zs=!1;function ZQ(){Zs=!1}class qT{constructor(e){this.lineWrapping=e,this.doc=$e.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,i){let r=this.doc.lineAt(i).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((i-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 YQ.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let i=!1;for(let r=0;r<e.length;r++){let n=e[r];n<0?r++:this.heightSamples[Math.floor(n*10)]||(i=!0,this.heightSamples[Math.floor(n*10)]=!0)}return i}refresh(e,i,r,n,s,o){let a=YQ.indexOf(e)>-1,l=Math.abs(i-this.lineHeight)>.3||this.lineWrapping!=a||Math.abs(r-this.charWidth)>.1;if(this.lineWrapping=a,this.lineHeight=i,this.charWidth=r,this.textHeight=n,this.lineLength=s,l){this.heightSamples={};for(let O=0;O<o.length;O++){let c=o[O];c<0?O++:this.heightSamples[Math.floor(c*10)]=!0}}return l}}class VT{constructor(e,i){this.from=e,this.heights=i,this.index=0}get more(){return this.index<this.heights.length}}class Qi{constructor(e,i,r,n,s){this.from=e,this.length=i,this.top=r,this.height=n,this._content=s}get type(){return typeof this._content=="number"?ot.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 Wn?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let i=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Qi(this.from,this.length+e.length,this.top,this.height+e.height,i)}}var be=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}(be||(be={}));const aO=.001;class _t{constructor(e,i,r=2){this.length=e,this.height=i,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)>aO&&(Zs=!0),this.height=e)}replace(e,i,r){return _t.of(r)}decomposeLeft(e,i){i.push(this)}decomposeRight(e,i){i.push(this)}applyChanges(e,i,r,n){let s=this,o=r.doc;for(let a=n.length-1;a>=0;a--){let{fromA:l,toA:O,fromB:c,toB:h}=n[a],u=s.lineAt(l,be.ByPosNoHeight,r.setDoc(i),0,0),m=u.to>=O?u:s.lineAt(O,be.ByPosNoHeight,r,0,0);for(h+=m.to-O,O=m.to;a>0&&u.from<=n[a-1].toA;)l=n[a-1].fromA,c=n[a-1].fromB,a--,l<u.from&&(u=s.lineAt(l,be.ByPosNoHeight,r,0,0));c+=u.from-l,l=u.from;let S=Jp.build(r.setDoc(o),e,c,h);s=HO(s,s.replace(l,O,S))}return s.updateHeight(r,0)}static empty(){return new Dt(0,0,0)}static of(e){if(e.length==1)return e[0];let i=0,r=e.length,n=0,s=0;for(;;)if(i==r)if(n>s*2){let a=e[i-1];a.break?e.splice(--i,1,a.left,null,a.right):e.splice(--i,1,a.left,a.right),r+=1+a.break,n-=a.size}else if(s>n*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,s-=a.size}else break;else if(n<s){let a=e[i++];a&&(n+=a.size)}else{let a=e[--r];a&&(s+=a.size)}let o=0;return e[i-1]==null?(o=1,i--):e[i]==null&&(o=1,r++),new AT(_t.of(e.slice(0,i)),o,_t.of(e.slice(r)))}}function HO(t,e){return t==e?t:(t.constructor!=e.constructor&&(Zs=!0),e)}_t.prototype.size=1;const ET=ne.replace({});class N0 extends _t{constructor(e,i,r){super(e,i),this.deco=r,this.spaceAbove=0}mainBlock(e,i){return new Qi(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,i,r,n){return this.spaceAbove&&e<r+this.spaceAbove?new Qi(n,0,r,this.spaceAbove,ET):this.mainBlock(r,n)}lineAt(e,i,r,n,s){let o=this.mainBlock(n,s);return this.spaceAbove?this.blockAt(0,r,n,s).join(o):o}forEachLine(e,i,r,n,s,o){e<=s+this.length&&i>=s&&o(this.lineAt(0,be.ByPos,r,n,s))}setMeasuredHeight(e){let i=e.heights[e.index++];i<0?(this.spaceAbove=-i,i=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(i)}updateHeight(e,i=0,r=!1,n){return n&&n.from<=i&&n.more&&this.setMeasuredHeight(n),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Dt extends N0{constructor(e,i,r){super(e,i,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,i){return new Qi(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,i,r){let n=r[0];return r.length==1&&(n instanceof Dt||n instanceof it&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof it?n=new Dt(n.length,this.height,this.spaceAbove):n.height=this.height,this.outdated||(n.outdated=!1),n):_t.of(r)}updateHeight(e,i=0,r=!1,n){return n&&n.from<=i&&n.more?this.setMeasuredHeight(n):(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 it extends _t{constructor(e){super(e,0)}heightMetrics(e,i){let r=e.doc.lineAt(i).number,n=e.doc.lineAt(i+this.length).number,s=n-r+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:n,perLine:o,perChar:a}}blockAt(e,i,r,n){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(i,n);if(i.lineWrapping){let O=n+(e<i.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),c=i.doc.lineAt(O),h=a+c.length*l,u=Math.max(r,e-h/2);return new Qi(c.from,c.length,u,h,0)}else{let O=Math.max(0,Math.min(o-s,Math.floor((e-r)/a))),{from:c,length:h}=i.doc.line(s+O);return new Qi(c,h,r+a*O,a,0)}}lineAt(e,i,r,n,s){if(i==be.ByHeight)return this.blockAt(e,r,n,s);if(i==be.ByPosNoHeight){let{from:m,to:S}=r.doc.lineAt(e);return new Qi(m,S-m,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(r,s),O=r.doc.lineAt(e),c=a+O.length*l,h=O.number-o,u=n+a*h+l*(O.from-s-h);return new Qi(O.from,O.length,Math.max(n,Math.min(u,n+this.height-c)),c,0)}forEachLine(e,i,r,n,s,o){e=Math.max(e,s),i=Math.min(i,s+this.length);let{firstLine:a,perLine:l,perChar:O}=this.heightMetrics(r,s);for(let c=e,h=n;c<=i;){let u=r.doc.lineAt(c);if(c==e){let S=u.number-a;h+=l*S+O*(e-s-S)}let m=l+O*u.length;o(new Qi(u.from,u.length,h,m,0)),h+=m,c=u.to+1}}replace(e,i,r){let n=this.length-i;if(n>0){let s=r[r.length-1];s instanceof it?r[r.length-1]=new it(s.length+n):r.push(null,new it(n-1))}if(e>0){let s=r[0];s instanceof it?r[0]=new it(e+s.length):r.unshift(new it(e-1),null)}return _t.of(r)}decomposeLeft(e,i){i.push(new it(e-1),null)}decomposeRight(e,i){i.push(null,new it(this.length-e-1))}updateHeight(e,i=0,r=!1,n){let s=i+this.length;if(n&&n.from<=i+this.length&&n.more){let o=[],a=Math.max(i,n.from),l=-1;for(n.from>i&&o.push(new it(n.from-i-1).updateHeight(e,i));a<=s&&n.more;){let c=e.doc.lineAt(a).length;o.length&&o.push(null);let h=n.heights[n.index++],u=0;h<0&&(u=-h,h=n.heights[n.index++]),l==-1?l=h:Math.abs(h-l)>=aO&&(l=-2);let m=new Dt(c,h,u);m.outdated=!1,o.push(m),a+=c+1}a<=s&&o.push(null,new it(s-a).updateHeight(e,a));let O=_t.of(o);return(l<0||Math.abs(O.height-this.height)>=aO||Math.abs(l-this.heightMetrics(e,i).perLine)>=aO)&&(Zs=!0),HO(this,O)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(i,i+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class AT extends _t{constructor(e,i,r){super(e.length+i+r.length,e.height+r.height,i|(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,i,r,n){let s=r+this.left.height;return e<s?this.left.blockAt(e,i,r,n):this.right.blockAt(e,i,s,n+this.left.length+this.break)}lineAt(e,i,r,n,s){let o=n+this.left.height,a=s+this.left.length+this.break,l=i==be.ByHeight?e<o:e<a,O=l?this.left.lineAt(e,i,r,n,s):this.right.lineAt(e,i,r,o,a);if(this.break||(l?O.to<a:O.from>a))return O;let c=i==be.ByPosNoHeight?be.ByPosNoHeight:be.ByPos;return l?O.join(this.right.lineAt(a,c,r,o,a)):this.left.lineAt(a,c,r,n,s).join(O)}forEachLine(e,i,r,n,s,o){let a=n+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,i,r,n,s,o),i>=l&&this.right.forEachLine(e,i,r,a,l,o);else{let O=this.lineAt(l,be.ByPos,r,n,s);e<O.from&&this.left.forEachLine(e,O.from-1,r,n,s,o),O.to>=e&&O.from<=i&&o(O),i>O.to&&this.right.forEachLine(O.to+1,i,r,a,l,o)}}replace(e,i,r){let n=this.left.length+this.break;if(i<n)return this.balanced(this.left.replace(e,i,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-n,i-n,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of r)s.push(a);if(e>0&&WQ(s,o-1),i<this.length){let a=s.length;this.decomposeRight(i,s),WQ(s,a)}return _t.of(s)}decomposeLeft(e,i){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,i);i.push(this.left),this.break&&(r++,e>=r&&i.push(null)),e>r&&this.right.decomposeLeft(e-r,i)}decomposeRight(e,i){let r=this.left.length,n=r+this.break;if(e>=n)return this.right.decomposeRight(e-n,i);e<r&&this.left.decomposeRight(e,i),this.break&&e<n&&i.push(null),i.push(this.right)}balanced(e,i){return e.size>2*i.size||i.size>2*e.size?_t.of(this.break?[e,null,i]:[e,i]):(this.left=HO(this.left,e),this.right=HO(this.right,i),this.setHeight(e.height+i.height),this.outdated=e.outdated||i.outdated,this.size=e.size+i.size,this.length=e.length+this.break+i.length,this)}updateHeight(e,i=0,r=!1,n){let{left:s,right:o}=this,a=i+s.length+this.break,l=null;return n&&n.from<=i+s.length&&n.more?l=s=s.updateHeight(e,i,r,n):s.updateHeight(e,i,r),n&&n.from<=a+o.length&&n.more?l=o=o.updateHeight(e,a,r,n):o.updateHeight(e,a,r),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function WQ(t,e){let i,r;t[e]==null&&(i=t[e-1])instanceof it&&(r=t[e+1])instanceof it&&t.splice(e-1,3,new it(i.length+1+r.length))}const jT=5;class Jp{constructor(e,i){this.pos=e,this.oracle=i,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,i){if(this.lineStart>-1){let r=Math.min(i,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof Dt?n.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Dt(r-this.pos,-1,0)),this.writtenTo=r,i>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=i}point(e,i,r){if(e<i||r.heightRelevant){let n=r.widget?r.widget.estimatedHeight:0,s=r.widget?r.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let o=i-e;r.block?this.addBlock(new N0(o,n,r)):(o||s||n>=jT)&&this.addLineDeco(n,s,o)}else i>e&&this.span(e,i);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:i}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=i,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 Dt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,i){let r=new it(i-e);return this.oracle.doc.lineAt(e).to==i&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Dt)return e;let i=new Dt(0,-1,0);return this.nodes.push(i),i}addBlock(e){this.enterLine();let i=e.deco;i&&i.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,i&&i.endSide>0&&(this.covering=e)}addLineDeco(e,i,r){let n=this.ensureLine();n.length+=r,n.collapsed+=r,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=i,this.writtenTo=this.pos=this.pos+r}finish(e){let i=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(i instanceof Dt)&&!this.isCovered?this.nodes.push(new Dt(0,-1,0)):(this.writtenTo<this.pos||i==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let n of this.nodes)n instanceof Dt&&n.updateHeight(this.oracle,r),r+=n?n.length:1;return this.nodes}static build(e,i,r,n){let s=new Jp(r,e);return ce.spans(i,r,n,s,0),s.finish(r)}}function LT(t,e,i){let r=new DT;return ce.compare(t,e,i,r,0),r.changes}class DT{constructor(){this.changes=[]}compareRange(){}comparePoint(e,i,r,n){(e<i||r&&r.heightRelevant||n&&n.heightRelevant)&&gs(e,i,this.changes,5)}}function MT(t,e){let i=t.getBoundingClientRect(),r=t.ownerDocument,n=r.defaultView||window,s=Math.max(0,i.left),o=Math.min(n.innerWidth,i.right),a=Math.max(0,i.top),l=Math.min(n.innerHeight,i.bottom);for(let O=t.parentNode;O&&O!=r.body;)if(O.nodeType==1){let c=O,h=window.getComputedStyle(c);if((c.scrollHeight>c.clientHeight||c.scrollWidth>c.clientWidth)&&h.overflow!="visible"){let u=c.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(O==t.parentNode?n.innerHeight:l,u.bottom)}O=h.position=="absolute"||h.position=="fixed"?c.offsetParent:c.parentNode}else if(O.nodeType==11)O=O.host;else break;return{left:s-i.left,right:Math.max(s,o)-i.left,top:a-(i.top+e),bottom:Math.max(a,l)-(i.top+e)}}function GT(t){let e=t.getBoundingClientRect(),i=t.ownerDocument.defaultView||window;return e.left<i.innerWidth&&e.right>0&&e.top<i.innerHeight&&e.bottom>0}function BT(t,e){let i=t.getBoundingClientRect();return{left:0,right:i.right-i.left,top:e,bottom:i.bottom-(i.top+e)}}class Mh{constructor(e,i,r,n){this.from=e,this.to=i,this.size=r,this.displaySize=n}static same(e,i){if(e.length!=i.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],s=i[r];if(n.from!=s.from||n.to!=s.to||n.size!=s.size)return!1}return!0}draw(e,i){return ne.replace({widget:new IT(this.displaySize*(i?e.scaleY:e.scaleX),i)}).range(this.from,this.to)}}class IT extends bi{constructor(e,i){super(),this.size=e,this.vertical=i}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 UQ{constructor(e,i){this.view=e,this.state=i,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=zQ,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Xe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let r=i.facet(Np).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new qT(r),this.stateDeco=qQ(i),this.heightMap=_t.empty().applyChanges(this.stateDeco,$e.empty,this.heightOracle.setDoc(i.doc),[new ni(0,0,0,i.doc.length)]);for(let n=0;n<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());n++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ne.set(this.lineGaps.map(n=>n.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:i}=this.state.selection;for(let r=0;r<=1;r++){let n=r?i.head:i.anchor;if(!e.some(({from:s,to:o})=>n>=s&&n<=o)){let{from:s,to:o}=this.lineBlockAt(n);e.push(new wl(s,o))}}return this.viewports=e.sort((r,n)=>r.from-n.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?zQ:new em(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(Xo(e,this.scaler))})}update(e,i=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=qQ(this.state);let n=e.changedRanges,s=ni.extendWithRanges(n,LT(r,this.stateDeco,e?e.changes:Be.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);ZQ(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Zs)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(i&&(i.range.head<l.from||i.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,i));let O=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(O||!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),i&&(this.scrollTarget=i),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(x0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,i=e.contentDOM,r=window.getComputedStyle(i),n=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Xe.RTL:Xe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=i.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let O=0,c=0;if(a.width&&a.height){let{scaleX:_,scaleY:P}=c0(i,a);(_>.005&&Math.abs(this.scaleX-_)>.005||P>.005&&Math.abs(this.scaleY-P)>.005)&&(this.scaleX=_,this.scaleY=P,O|=16,o=l=!0)}let h=(parseInt(r.paddingTop)||0)*this.scaleY,u=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=u)&&(this.paddingTop=h,this.paddingBottom=u,O|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,O|=16);let m=h0(this.view.contentDOM,!1).y;m!=this.scrollParent&&(this.scrollParent=m,this.scrollAnchorHeight=-1,this.scrollOffset=0);let S=this.getScrollOffset();this.scrollOffset!=S&&(this.scrollAnchorHeight=-1,this.scrollOffset=S),this.scrolledToBottom=f0(this.scrollParent||e.win);let Q=(this.printing?BT:MT)(i,this.paddingTop),g=Q.top-this.pixelViewport.top,d=Q.bottom-this.pixelViewport.bottom;this.pixelViewport=Q;let f=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(f!=this.inView&&(this.inView=f,f&&(l=!0)),!this.inView&&!this.scrollTarget&&!GT(e.dom))return 0;let p=a.width;if((this.contentDOMWidth!=p||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,O|=16),l){let _=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(_)&&(o=!0),o||n.lineWrapping&&Math.abs(p-this.contentDOMWidth)>n.charWidth){let{lineHeight:P,charWidth:w,textHeight:v}=e.docView.measureTextSize();o=P>0&&n.refresh(s,P,w,v,Math.max(5,p/w),_),o&&(e.docView.minWidth=0,O|=16)}g>0&&d>0?c=Math.max(g,d):g<0&&d<0&&(c=Math.min(g,d)),ZQ();for(let P of this.viewports){let w=P.from==this.viewport.from?_:e.docView.measureVisibleLineHeights(P);this.heightMap=(o?_t.empty().applyChanges(this.stateDeco,$e.empty,this.heightOracle,[new ni(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,o,new VT(P.from,w))}Zs&&(O|=2)}let $=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return $&&(O&2&&(O|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),O|=this.updateForViewport()),(O&2||$)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),O|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),O}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,i){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new wl(n.lineAt(o-r*1e3,be.ByHeight,s,0,0).from,n.lineAt(a+(1-r)*1e3,be.ByHeight,s,0,0).to);if(i){let{head:O}=i.range;if(O<l.from||O>l.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=n.lineAt(O,be.ByPos,s,0,0),u;i.y=="center"?u=(h.top+h.bottom)/2-c/2:i.y=="start"||i.y=="nearest"&&O<l.from?u=h.top:u=h.bottom-c,l=new wl(n.lineAt(u-1e3/2,be.ByHeight,s,0,0).from,n.lineAt(u+c+1e3/2,be.ByHeight,s,0,0).to)}}return l}mapViewport(e,i){let r=i.mapPos(e.from,-1),n=i.mapPos(e.to,1);return new wl(this.heightMap.lineAt(r,be.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,be.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:i},r=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(e,be.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(i,be.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||n<=o-Math.max(10,Math.min(-r,250)))&&(i==this.state.doc.length||s>=a+Math.max(10,Math.min(r,250)))&&n>o-2*1e3&&s<a+2*1e3}mapLineGaps(e,i){if(!e.length||i.empty)return e;let r=[];for(let n of e)i.touchesRange(n.from,n.to)||r.push(new Mh(i.mapPos(n.from),i.mapPos(n.to),n.size,n.displaySize));return r}ensureLineGaps(e,i){let r=this.heightOracle.lineWrapping,n=r?1e4:2e3,s=n>>1,o=n<<1;if(this.defaultTextDirection!=Xe.LTR&&!r)return[];let a=[],l=(c,h,u,m)=>{if(h-c<s)return;let S=this.state.selection.main,Q=[S.from];S.empty||Q.push(S.to);for(let d of Q)if(d>c&&d<h){l(c,d-10,u,m),l(d+10,h,u,m);return}let g=FT(e,d=>d.from>=u.from&&d.to<=u.to&&Math.abs(d.from-c)<s&&Math.abs(d.to-h)<s&&!Q.some(f=>d.from<f&&d.to>f));if(!g){if(h<u.to&&i&&r&&i.visibleRanges.some(p=>p.from<=h&&p.to>=h)){let p=i.moveToLineBoundary(A.cursor(h),!1,!0).head;p>c&&(h=p)}let d=this.gapSize(u,c,h,m),f=r||d<2e6?d:2e6;g=new Mh(c,h,d,f)}a.push(g)},O=c=>{if(c.length<o||c.type!=ot.Text)return;let h=NT(c.from,c.to,this.stateDeco);if(h.total<o)return;let u=this.scrollTarget?this.scrollTarget.range.head:null,m,S;if(r){let Q=n/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,d;if(u!=null){let f=bl(h,u),p=((this.visibleBottom-this.visibleTop)/2+Q)/c.height;g=f-p,d=f+p}else g=(this.visibleTop-c.top-Q)/c.height,d=(this.visibleBottom-c.top+Q)/c.height;m=Xl(h,g),S=Xl(h,d)}else{let Q=h.total*this.heightOracle.charWidth,g=n*this.heightOracle.charWidth,d=0;if(Q>2e6)for(let P of e)P.from>=c.from&&P.from<c.to&&P.size!=P.displaySize&&P.from*this.heightOracle.charWidth+d<this.pixelViewport.left&&(d=P.size-P.displaySize);let f=this.pixelViewport.left+d,p=this.pixelViewport.right+d,$,_;if(u!=null){let P=bl(h,u),w=((p-f)/2+g)/Q;$=P-w,_=P+w}else $=(f-g)/Q,_=(p+g)/Q;m=Xl(h,$),S=Xl(h,_)}m>c.from&&l(c.from,m,c,h),S<c.to&&l(S,c.to,c,h)};for(let c of this.viewportLines)Array.isArray(c.type)?c.type.forEach(O):O(c);return a}gapSize(e,i,r,n){let s=bl(n,r)-bl(n,i);return this.heightOracle.lineWrapping?e.height*s:n.total*this.heightOracle.charWidth*s}updateLineGaps(e){Mh.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ne.set(e.map(i=>i.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let i=this.stateDeco;this.lineGaps.length&&(i=i.concat(this.lineGapDeco));let r=[];ce.spans(i,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let n=0;if(r.length!=this.visibleRanges.length)n=12;else for(let s=0;s<r.length&&!(n&8);s++){let o=this.visibleRanges[s],a=r[s];(o.from!=a.from||o.to!=a.to)&&(n|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(n|=8))}return this.visibleRanges=r,n}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(i=>i.from<=e&&i.to>=e)||Xo(this.heightMap.lineAt(e,be.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(i=>i.top<=e&&i.bottom>=e)||Xo(this.heightMap.lineAt(this.scaler.fromDOM(e),be.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 i=this.lineBlockAtHeight(e+8);return i.from>=this.viewport.from||this.viewportLines[0].top-e>200?i:this.viewportLines[0]}elementAtHeight(e){return Xo(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 wl{constructor(e,i){this.from=e,this.to=i}}function NT(t,e,i){let r=[],n=t,s=0;return ce.spans(i,t,e,{span(){},point(o,a){o>n&&(r.push({from:n,to:o}),s+=o-n),n=a}},20),n<e&&(r.push({from:n,to:e}),s+=e-n),{total:s,ranges:r}}function Xl({total:t,ranges:e},i){if(i<=0)return e[0].from;if(i>=1)return e[e.length-1].to;let r=Math.floor(t*i);for(let n=0;;n++){let{from:s,to:o}=e[n],a=o-s;if(r<=a)return s+r;r-=a}}function bl(t,e){let i=0;for(let{from:r,to:n}of t.ranges){if(e<=n){i+=e-r;break}i+=n-r}return i/t.total}function FT(t,e){for(let i of t)if(e(i))return i}const zQ={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function qQ(t){let e=t.facet(jc).filter(r=>typeof r!="function"),i=t.facet(Fp).filter(r=>typeof r!="function");return i.length&&e.push(ce.join(i)),e}class em{constructor(e,i,r){let n=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let O=i.lineAt(a,be.ByPos,e,0,0).top,c=i.lineAt(l,be.ByPos,e,0,0).bottom;return n+=c-O,{from:a,to:l,top:O,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(i.height-n);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let i=0,r=0,n=0;;i++){let s=i<this.viewports.length?this.viewports[i]:null;if(!s||e<s.top)return n+(e-r)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);r=s.bottom,n=s.domBottom}}fromDOM(e){for(let i=0,r=0,n=0;;i++){let s=i<this.viewports.length?this.viewports[i]:null;if(!s||e<s.domTop)return r+(e-n)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);r=s.bottom,n=s.domBottom}}eq(e){return e instanceof em?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((i,r)=>i.from==e.viewports[r].from&&i.to==e.viewports[r].to):!1}}function Xo(t,e){if(e.scale==1)return t;let i=e.toDOM(t.top),r=e.toDOM(t.bottom);return new Qi(t.from,t.length,i,r-i,Array.isArray(t._content)?t._content.map(n=>Xo(n,e)):t._content)}const xl=K.define({combine:t=>t.join(" ")}),nd=K.define({combine:t=>t.indexOf(!0)>-1}),sd=Fr.newName(),F0=Fr.newName(),H0=Fr.newName(),K0={"&light":"."+F0,"&dark":"."+H0};function od(t,e,i){return new Fr(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,n=>{if(n=="&")return t;if(!i||!i[n])throw new RangeError(`Unsupported selector: ${n}`);return i[n]}):t+" "+r}})}const HT=od("."+sd,{"&":{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":{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"},"&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"}},K0),KT={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Gh=J.ie&&J.ie_version<=11;class JT{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new kk,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(i=>{for(let r of i)this.queue.push(r);(J.ie&&J.ie_version<=11||J.ios&&e.composing)&&i.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&J.android&&e.constructor.EDIT_CONTEXT!==!1&&!(J.chrome&&J.chrome_version<126)&&(this.editContext=new tR(e),e.state.facet(or)&&(e.contentDOM.editContext=this.editContext.editContext)),Gh&&(this.onCharData=i=>{this.queue.push({target:i.target,type:"characterData",oldValue:i.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 i;((i=this.view.docView)===null||i===void 0?void 0:i.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(i=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),i.length>0&&i[i.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(i=>{i.length>0&&i[i.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((i,r)=>i!=e[r]))){this.gapIntersection.disconnect();for(let i of e)this.gapIntersection.observe(i);this.gaps=e}}onSelectionChange(e){let i=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,n=this.selectionRange;if(r.state.facet(or)?r.root.activeElement!=this.dom:!Lo(this.dom,n))return;let s=n.anchorNode&&r.docView.tile.nearest(n.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){i||(this.selectionChanged=!1);return}(J.ie&&J.ie_version<=11||J.android&&J.chrome)&&!r.state.selection.main.empty&&n.focusNode&&Mo(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,i=Qa(e.root);if(!i)return!1;let r=J.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&eR(this.view,i)||i;if(!r||this.selectionRange.eq(r))return!1;let n=Lo(this.dom,r);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Rk(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),n&&(this.selectionChanged=!0),!0)}setSelectionRange(e,i){this.selectionRange.set(e.node,e.offset,i.node,i.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,i=null;for(let r=this.dom;r;)if(r.nodeType==1)!i&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:i||(i=this.scrollTargets.slice(0,e)),i&&i.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!i&&(i=this.scrollTargets.slice(0,e)),i){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=i)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,KT),Gh&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Gh&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,i){var r;if(!this.delayedAndroidKey){let n=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Qs(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:i,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 i=-1,r=-1,n=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(n=!0),i==-1?{from:i,to:r}=o:(i=Math.min(o.from,i),r=Math.max(o.to,r)))}return{from:i,to:r,typeOver:n}}readChange(){let{from:e,to:i,typeOver:r}=this.processRecords(),n=this.selectionChanged&&Lo(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new QT(this.view,e,i,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let i=this.readChange();if(!i)return this.view.requestMeasure(),!1;let r=this.view.state,n=V0(this.view,i);return this.view.state==r&&(i.domChanged||i.newSel&&!FO(this.view.state.selection,i.newSel.main))&&this.view.update([]),n}readMutation(e){let i=this.view.docView.tile.nearest(e.target);if(!i||i.isWidget())return null;if(i.markDirty(e.type=="attributes"),e.type=="childList"){let r=VQ(i,e.previousSibling||e.target.previousSibling,-1),n=VQ(i,e.nextSibling||e.target.nextSibling,1);return{from:r?i.posAfter(r):i.posAtStart,to:n?i.posBefore(n):i.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:i.posAtStart,to:i.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(or)!=e.state.facet(or)&&(e.view.contentDOM.editContext=e.state.facet(or)?this.editContext.editContext:null))}destroy(){var e,i,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(i=this.gapIntersection)===null||i===void 0||i.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let n of this.scrollTargets)n.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 VQ(t,e,i){for(;e;){let r=Ae.get(e);if(r&&r.parent==t)return r;let n=e.parentNode;e=n!=t.dom?n:i>0?e.nextSibling:e.previousSibling}return null}function EQ(t,e){let i=e.startContainer,r=e.startOffset,n=e.endContainer,s=e.endOffset,o=t.docView.domAtPos(t.state.selection.main.anchor,1);return Mo(o.node,o.offset,n,s)&&([i,r,n,s]=[n,s,i,r]),{anchorNode:i,anchorOffset:r,focusNode:n,focusOffset:s}}function eR(t,e){if(e.getComposedRanges){let n=e.getComposedRanges(t.root)[0];if(n)return EQ(t,n)}let i=null;function r(n){n.preventDefault(),n.stopImmediatePropagation(),i=n.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",r,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",r,!0),i?EQ(t,i):null}class tR{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let i=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 n=e.state.selection.main,{anchor:s,head:o}=n,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let O=l-a>r.text.length;a==this.from&&s<this.from?a=s:l==this.to&&s>this.to&&(l=s);let c=E0(e.state.sliceDoc(a,l),r.text,(O?n.from:n.to)-a,O?"end":null);if(!c){let u=A.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));FO(u,n)||e.dispatch({selection:u,userEvent:"select"});return}let h={from:c.from+a,to:c.toA+a,insert:$e.of(r.text.slice(c.from,c.toB).split(`
|
|
59
|
-
`))};if((J.mac||J.android)&&h.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:l,insert:$e.of([r.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let u=this.to-this.from+(h.to-h.from+h.insert.length);Kp(e,h,A.single(this.toEditorPos(r.selectionStart,u),this.toEditorPos(r.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from<h.to&&!h.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(i.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(i.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let n=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,n.push(s)}i.updateCharacterBounds(r.rangeStart,n)},this.handlers.textformatupdate=r=>{let n=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),O=this.toEditorPos(s.rangeEnd);if(l<O){let c=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;n.push(ne.mark({attributes:{style:c}}).range(l,O))}}}e.dispatch({effects:T0.of(ne.set(n))})},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)i.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let n=Qa(r.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let i=0,r=!1,n=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,O)=>{if(r)return;let c=O.length-(o-s);if(n&&o>=n.to)if(n.from==s&&n.to==o&&n.insert.eq(O)){n=this.pendingContextChange=null,i+=c,this.to+=c;return}else n=null,this.revertPending(e.state);if(s+=i,o+=i,o<=this.from)this.from+=c,this.to+=c;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+O.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),O.toString()),this.to+=c}i+=c}),n&&!r&&this.revertPending(e.state),!r}update(e){let i=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.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||i)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:i}=e.selection.main;this.from=Math.max(0,i-1e4),this.to=Math.min(e.doc.length,i+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 i=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(i.from),this.toContextPos(i.from+i.insert.length),e.doc.sliceString(i.from,i.to))}setSelection(e){let{main:i}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,i.anchor))),n=this.toContextPos(i.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(r,n)}rangeIsValid(e){let{head:i}=e.selection.main;return!(this.from>0&&i-this.from<500||this.to<e.doc.length&&this.to-i<500||this.to-this.from>1e4*3)}toEditorPos(e,i=this.to-this.from){e=Math.min(e,i);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let i=this.composing;return i&&i.drifted?i.contextBase+(e-i.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class N{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 i;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&&(n=>n.forEach(s=>r(s,this)))||(n=>this.update(n)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Tk(e.parent)||document,this.viewState=new UQ(this,e.state||fe.create(e)),e.scrollTo&&e.scrollTo.is(vl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(as).map(n=>new Eh(n));for(let n of this.plugins)n.update(this);this.observer=new JT(this),this.inputState=new vT(this),this.inputState.ensureHandlers(this.plugins),this.docView=new PQ(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((i=document.fonts)===null||i===void 0)&&i.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let i=e.length==1&&e[0]instanceof Me?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(i,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let i=!1,r=!1,n,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(G0))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=B0(s,o),l||(a=1));let O=this.observer.delayedAndroidKey,c=null;if(O?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(c=null)):this.observer.clear(),s.facet(fe.phrases)!=this.state.facet(fe.phrases))return this.setState(s);n=BO.create(this,s,e),n.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(h&&(h=h.map(u.changes)),u.scrollIntoView){let{main:m}=u.state.selection;h=new Ss(m.empty?m:A.cursor(m.head,m.head>m.anchor?-1:1))}for(let m of u.effects)m.is(vl)&&(h=m.value.clip(this.state))}this.viewState.update(n,h),this.bidiCache=KO.update(this.bidiCache,n.changes),n.empty||(this.updatePlugins(n),this.inputState.update(n)),i=this.docView.update(n),this.state.facet(wo)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(n.startState.facet(xl)!=n.state.facet(xl)&&(this.viewState.mustMeasureContent=!0),(i||r||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!n.empty)for(let u of this.state.facet(Jf))try{u(n)}catch(m){Tt(this.state,m,"update listener")}(l||c)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),c&&!V0(this,c)&&O.force&&Qs(this.contentDOM,O.key,O.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 i=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new UQ(this,e),this.plugins=e.facet(as).map(r=>new Eh(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new PQ(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}i&&this.focus(),this.requestMeasure()}updatePlugins(e){let i=e.startState.facet(as),r=e.state.facet(as);if(i!=r){let n=[];for(let s of r){let o=i.indexOf(s);if(o<0)n.push(new Eh(s));else{let a=this.plugins[o];a.mustUpdate=e,n.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let n of this.plugins)n.mustUpdate=e;for(let n=0;n<this.plugins.length;n++)this.plugins[n].update(this);i!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let i=e.value;if(i&&i.docViewUpdate)try{i.docViewUpdate(this)}catch(r){Tt(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 i=null,r=this.viewState.scrollParent,n=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(n-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(f0(r||this.win))s=-1,o=this.viewState.heightMap.height;else{let m=this.viewState.scrollAnchorAt(n);s=m.from,o=m.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let O=[];l&4||([this.measureRequests,O]=[O,this.measureRequests]);let c=O.map(m=>{try{return m.read(this)}catch(S){return Tt(this.state,S),AQ}}),h=BO.create(this,this.state,[]),u=!1;h.flags|=l,i?i.flags|=l:i=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),u=this.docView.update(h),u&&this.docViewUpdate());for(let m=0;m<O.length;m++)if(c[m]!=AQ)try{let S=O[m];S.write&&S.write(c[m],this)}catch(S){Tt(this.state,S)}if(u&&this.docView.updateSelection(!0),!h.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let S=((s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o)/this.scaleY;if((S>1||S<-1)&&(r==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){n=n+S,r?r.scrollTop+=S:this.win.scrollBy(0,S),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty)for(let a of this.state.facet(Jf))a(i)}get themeClasses(){return sd+" "+(this.state.facet(nd)?H0:F0)+" "+this.state.facet(xl)}updateAttrs(){let e=jQ(this,R0,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),i={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(or)?"true":"false",class:"cm-content",style:`${J.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(i["aria-readonly"]="true"),jQ(this,Np,i);let r=this.observer.ignore(()=>{let n=gQ(this.contentDOM,this.contentAttrs,i),s=gQ(this.dom,this.editorAttrs,e);return n||s});return this.editorAttrs=e,this.contentAttrs=i,r}showAnnouncements(e){let i=!0;for(let r of e)for(let n of r.effects)if(n.is(N.announce)){i&&(this.announceDOM.textContent=""),i=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=n.value}}mountStyles(){this.styleModules=this.state.facet(wo);let e=this.state.facet(N.cspNonce);Fr.mount(this.root,this.styleModules.concat(HT).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 i=0;i<this.measureRequests.length;i++)if(this.measureRequests[i].key===e.key){this.measureRequests[i]=e;return}}this.measureRequests.push(e)}}plugin(e){let i=this.pluginMap.get(e);return(i===void 0||i&&i.plugin!=e)&&this.pluginMap.set(e,i=this.plugins.find(r=>r.plugin==e)||null),i&&i.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,i,r){return Dh(this,e,yQ(this,e,i,r))}moveByGroup(e,i){return Dh(this,e,yQ(this,e,i,r=>uT(this,e.head,r)))}visualLineSide(e,i){let r=this.bidiSpans(e),n=this.textDirectionAt(e.from),s=r[i?r.length-1:0];return A.cursor(s.side(i,n)+e.from,s.forward(!i,n)?1:-1)}moveToLineBoundary(e,i,r=!0){return hT(this,e,i,r)}moveVertically(e,i,r){return Dh(this,e,fT(this,e,i,r))}domAtPos(e,i=1){return this.docView.domAtPos(e,i)}posAtDOM(e,i=0){return this.docView.posFromDOM(e,i)}posAtCoords(e,i=!0){this.readMeasured();let r=id(this,e,i);return r&&r.pos}posAndSideAtCoords(e,i=!0){return this.readMeasured(),id(this,e,i)}coordsAtPos(e,i=1){this.readMeasured();let r=this.docView.coordsAt(e,i);if(!r||r.left==r.right)return r;let n=this.state.doc.lineAt(e),s=this.bidiSpans(n),o=s[ji.find(s,e-n.from,-1,i)];return Sa(r,o.dir==Xe.LTR==i>0)}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(b0)||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>iR)return S0(e.length);let i=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==i&&(s.fresh||Q0(s.isolates,r=$Q(this,e))))return s.order;r||(r=$Q(this,e));let n=qk(e.text,i,r);return this.bidiCache.push(new KO(e.from,e.to,i,r,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||J.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{u0(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,i={}){return vl.of(new Ss(typeof e=="number"?A.cursor(e):e,i.y,i.x,i.yMargin,i.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:i}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return vl.of(new Ss(A.cursor(r.from),"start","start",r.top-e,i,!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 Re.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Re.define(()=>({}),{eventObservers:e})}static theme(e,i){let r=Fr.newName(),n=[xl.of(r),wo.of(od(`.${r}`,e))];return i&&i.dark&&n.push(nd.of(!0)),n}static baseTheme(e){return _r.lowest(wo.of(od("."+sd,e,K0)))}static findFromDOM(e){var i;let r=e.querySelector(".cm-content"),n=r&&Ae.get(r)||Ae.get(e);return((i=n==null?void 0:n.root)===null||i===void 0?void 0:i.view)||null}}N.styleModule=wo;N.inputHandler=w0;N.clipboardInputFilter=Bp;N.clipboardOutputFilter=Ip;N.scrollHandler=k0;N.focusChangeEffect=X0;N.perLineTextDirection=b0;N.exceptionSink=y0;N.updateListener=Jf;N.editable=or;N.mouseSelectionStyle=P0;N.dragMovesSelection=v0;N.clickAddsSelectionRange=_0;N.decorations=jc;N.blockWrappers=C0;N.outerDecorations=Fp;N.atomicRanges=Ga;N.bidiIsolatedRanges=Y0;N.scrollMargins=Z0;N.darkTheme=nd;N.cspNonce=K.define({combine:t=>t.length?t[0]:""});N.contentAttributes=Np;N.editorAttributes=R0;N.lineWrapping=N.contentAttributes.of({class:"cm-lineWrapping"});N.announce=ae.define();const iR=4096,AQ={};class KO{constructor(e,i,r,n,s,o){this.from=e,this.to=i,this.dir=r,this.isolates=n,this.fresh=s,this.order=o}static update(e,i){if(i.empty&&!e.some(s=>s.fresh))return e;let r=[],n=e.length?e[e.length-1].dir:Xe.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==n&&!i.touchesRange(o.from,o.to)&&r.push(new KO(i.mapPos(o.from,1),i.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function jQ(t,e,i){for(let r=t.state.facet(e),n=r.length-1;n>=0;n--){let s=r[n],o=typeof s=="function"?s(t):s;o&&Dp(o,i)}return i}const rR=J.mac?"mac":J.windows?"win":J.linux?"linux":"key";function nR(t,e){const i=t.split(/-(?!$)/);let r=i[i.length-1];r=="Space"&&(r=" ");let n,s,o,a;for(let l=0;l<i.length-1;++l){const O=i[l];if(/^(cmd|meta|m)$/i.test(O))a=!0;else if(/^a(lt)?$/i.test(O))n=!0;else if(/^(c|ctrl|control)$/i.test(O))s=!0;else if(/^s(hift)?$/i.test(O))o=!0;else if(/^mod$/i.test(O))e=="mac"?a=!0:s=!0;else throw new Error("Unrecognized modifier name: "+O)}return n&&(r="Alt-"+r),s&&(r="Ctrl-"+r),a&&(r="Meta-"+r),o&&(r="Shift-"+r),r}function kl(t,e,i){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),i!==!1&&e.shiftKey&&(t="Shift-"+t),t}const sR=_r.default(N.domEventHandlers({keydown(t,e){return eP(J0(e.state),t,e,"editor")}})),Bs=K.define({enables:sR}),LQ=new WeakMap;function J0(t){let e=t.facet(Bs),i=LQ.get(e);return i||LQ.set(e,i=lR(e.reduce((r,n)=>r.concat(n),[]))),i}function oR(t,e,i){return eP(J0(t.state),e,t,i)}let Zr=null;const aR=4e3;function lR(t,e=rR){let i=Object.create(null),r=Object.create(null),n=(o,a)=>{let l=r[o];if(l==null)r[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,O,c)=>{var h,u;let m=i[o]||(i[o]=Object.create(null)),S=a.split(/ (?!$)/).map(d=>nR(d,e));for(let d=1;d<S.length;d++){let f=S.slice(0,d).join(" ");n(f,!0),m[f]||(m[f]={preventDefault:!0,stopPropagation:!1,run:[p=>{let $=Zr={view:p,prefix:f,scope:o};return setTimeout(()=>{Zr==$&&(Zr=null)},aR),!0}]})}let Q=S.join(" ");n(Q,!1);let g=m[Q]||(m[Q]={preventDefault:!1,stopPropagation:!1,run:((u=(h=m._any)===null||h===void 0?void 0:h.run)===null||u===void 0?void 0:u.slice())||[]});l&&g.run.push(l),O&&(g.preventDefault=!0),c&&(g.stopPropagation=!0)};for(let o of t){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let O of a){let c=i[O]||(i[O]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=o;for(let u in c)c[u].run.push(m=>h(m,ad))}let l=o[e]||o.key;if(l)for(let O of a)s(O,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(O,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return i}let ad=null;function eP(t,e,i,r){ad=e;let n=vk(e),s=Xt(n,0),o=Ei(s)==n.length&&n!=" ",a="",l=!1,O=!1,c=!1;Zr&&Zr.view==i&&Zr.scope==r&&(a=Zr.prefix+" ",j0.indexOf(e.keyCode)<0&&(O=!0,Zr=null));let h=new Set,u=g=>{if(g){for(let d of g.run)if(!h.has(d)&&(h.add(d),d(i)))return g.stopPropagation&&(c=!0),!0;g.preventDefault&&(g.stopPropagation&&(c=!0),O=!0)}return!1},m=t[r],S,Q;return m&&(u(m[a+kl(n,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(J.windows&&e.ctrlKey&&e.altKey)&&!(J.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(S=Hr[e.keyCode])&&S!=n?(u(m[a+kl(S,e,!0)])||e.shiftKey&&(Q=ma[e.keyCode])!=n&&Q!=S&&u(m[a+kl(Q,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(m[a+kl(n,e,!0)])&&(l=!0),!l&&u(m._any)&&(l=!0)),O&&(l=!0),l&&c&&e.stopPropagation(),ad=null,l}class xn{constructor(e,i,r,n,s){this.className=e,this.left=i,this.top=r,this.width=n,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,i){return i.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,i,r){if(r.empty){let n=e.coordsAtPos(r.head,r.assoc||1);if(!n)return[];let s=tP(e);return[new xn(i,n.left-s.left,n.top-s.top,null,n.bottom-n.top)]}else return OR(e,i,r)}}function tP(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Xe.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function DQ(t,e,i,r){let n=t.coordsAtPos(e,i*2);if(!n)return r;let s=t.dom.getBoundingClientRect(),o=(n.top+n.bottom)/2,a=t.posAtCoords({x:s.left+1,y:o}),l=t.posAtCoords({x:s.right-1,y:o});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function OR(t,e,i){if(i.to<=t.viewport.from||i.from>=t.viewport.to)return[];let r=Math.max(i.from,t.viewport.from),n=Math.min(i.to,t.viewport.to),s=t.textDirection==Xe.LTR,o=t.contentDOM,a=o.getBoundingClientRect(),l=tP(t),O=o.querySelector(".cm-line"),c=O&&window.getComputedStyle(O),h=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),u=a.right-(c?parseInt(c.paddingRight):0),m=td(t,r,1),S=td(t,n,-1),Q=m.type==ot.Text?m:null,g=S.type==ot.Text?S:null;if(Q&&(t.lineWrapping||m.widgetLineBreaks)&&(Q=DQ(t,r,1,Q)),g&&(t.lineWrapping||S.widgetLineBreaks)&&(g=DQ(t,n,-1,g)),Q&&g&&Q.from==g.from&&Q.to==g.to)return f(p(i.from,i.to,Q));{let _=Q?p(i.from,null,Q):$(m,!1),P=g?p(null,i.to,g):$(S,!0),w=[];return(Q||m).to<(g||S).from-(Q&&g?1:0)||m.widgetLineBreaks>1&&_.bottom+t.defaultLineHeight/2<P.top?w.push(d(h,_.bottom,u,P.top)):_.bottom<P.top&&t.elementAtHeight((_.bottom+P.top)/2).type==ot.Text&&(_.bottom=P.top=(_.bottom+P.top)/2),f(_).concat(w).concat(f(P))}function d(_,P,w,v){return new xn(e,_-l.left,P-l.top,Math.max(0,w-_),v-P)}function f({top:_,bottom:P,horizontal:w}){let v=[];for(let b=0;b<w.length;b+=2)v.push(d(w[b],_,w[b+1],P));return v}function p(_,P,w){let v=1e9,b=-1e9,T=[];function Y(z,V,L,G,q){let X=t.coordsAtPos(z,z==w.to?-2:2),x=t.coordsAtPos(L,L==w.from?2:-2);!X||!x||(v=Math.min(X.top,x.top,v),b=Math.max(X.bottom,x.bottom,b),q==Xe.LTR?T.push(s&&V?h:X.left,s&&G?u:x.right):T.push(!s&&G?h:x.left,!s&&V?u:X.right))}let Z=_??w.from,R=P??w.to;for(let z of t.visibleRanges)if(z.to>Z&&z.from<R)for(let V=Math.max(z.from,Z),L=Math.min(z.to,R);;){let G=t.state.doc.lineAt(V);for(let q of t.bidiSpans(G)){let X=q.from+G.from,x=q.to+G.from;if(X>=L)break;x>V&&Y(Math.max(X,V),_==null&&X<=Z,Math.min(x,L),P==null&&x>=R,q.dir)}if(V=G.to+1,V>=L)break}return T.length==0&&Y(Z,_==null,R,P==null,t.textDirection),{top:v,bottom:b,horizontal:T}}function $(_,P){let w=a.top+(P?_.top:_.bottom);return{top:w,bottom:w,horizontal:[]}}}function cR(t,e){return t.constructor==e.constructor&&t.eq(e)}class hR{constructor(e,i){this.view=e,this.layer=i,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"),i.above&&this.dom.classList.add("cm-layer-above"),i.class&&this.dom.classList.add(i.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),i.mount&&i.mount(this.dom,e)}update(e){e.startState.facet(lO)!=e.state.facet(lO)&&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 i=0,r=e.facet(lO);for(;i<r.length&&r[i]!=this.layer;)i++;this.dom.style.zIndex=String((this.layer.above?150:-1)-i)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:i}=this.view;(e!=this.scaleX||i!=this.scaleY)&&(this.scaleX=e,this.scaleY=i,this.dom.style.transform=`scale(${1/e}, ${1/i})`)}draw(e){if(e.length!=this.drawn.length||e.some((i,r)=>!cR(i,this.drawn[r]))){let i=this.dom.firstChild,r=0;for(let n of e)n.update&&i&&n.constructor&&this.drawn[r].constructor&&n.update(i,this.drawn[r])?(i=i.nextSibling,r++):this.dom.insertBefore(n.draw(),i);for(;i;){let n=i.nextSibling;i.remove(),i=n}this.drawn=e,J.safari&&J.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const lO=K.define();function iP(t){return[Re.define(e=>new hR(e,t)),lO.of(t)]}const Ws=K.define({combine(t){return Xi(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,i)=>Math.min(e,i),drawRangeCursor:(e,i)=>e||i})}});function uR(t={}){return[Ws.of(t),fR,dR,pR,x0.of(!0)]}function rP(t){return t.startState.facet(Ws)!=t.state.facet(Ws)}const fR=iP({above:!0,markers(t){let{state:e}=t,i=e.facet(Ws),r=[];for(let n of e.selection.ranges){let s=n==e.selection.main;if(n.empty||i.drawRangeCursor&&!(s&&J.ios&&i.iosSelectionHandles)){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=n.empty?n:A.cursor(n.head,n.assoc);for(let l of xn.forRange(t,o,a))r.push(l)}}return r},update(t,e){t.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let i=rP(t);return i&&MQ(t.state,e),t.docChanged||t.selectionSet||i},mount(t,e){MQ(e.state,t)},class:"cm-cursorLayer"});function MQ(t,e){e.style.animationDuration=t.facet(Ws).cursorBlinkRate+"ms"}const dR=iP({above:!1,markers(t){let e=[],{main:i,ranges:r}=t.state.selection;for(let n of r)if(!n.empty)for(let s of xn.forRange(t,"cm-selectionBackground",n))e.push(s);if(J.ios&&!i.empty&&t.state.facet(Ws).iosSelectionHandles){for(let n of xn.forRange(t,"cm-selectionHandle cm-selectionHandle-start",A.cursor(i.from,1)))e.push(n);for(let n of xn.forRange(t,"cm-selectionHandle cm-selectionHandle-end",A.cursor(i.to,1)))e.push(n)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||rP(t)},class:"cm-selectionLayer"}),pR=_r.highest(N.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),nP=ae.define({map(t,e){return t==null?null:e.mapPos(t)}}),bo=et.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((i,r)=>r.is(nP)?r.value:i,t)}}),mR=Re.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let i=t.state.field(bo);i==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"),(t.startState.field(bo)!=i||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(bo),i=e!=null&&t.coordsAtPos(e);if(!i)return null;let r=t.scrollDOM.getBoundingClientRect();return{left:i.left-r.left+t.scrollDOM.scrollLeft*t.scaleX,top:i.top-r.top+t.scrollDOM.scrollTop*t.scaleY,height:i.bottom-i.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:i}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/i+"px",this.cursor.style.height=t.height/i+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(bo)!=t&&this.view.dispatch({effects:nP.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function gR(){return[bo,mR]}function GQ(t,e,i,r,n){e.lastIndex=0;for(let s=t.iterRange(i,r),o=i,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)n(o+a.index,a)}function QR(t,e){let i=t.visibleRanges;if(i.length==1&&i[0].from==t.viewport.from&&i[0].to==t.viewport.to)return i;let r=[];for(let{from:n,to:s}of i)n=Math.max(t.state.doc.lineAt(n).from,n-e),s=Math.min(t.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=n?r[r.length-1].to=s:r.push({from:n,to:s});return r}class SR{constructor(e){const{regexp:i,decoration:r,decorate:n,boundary:s,maxLength:o=1e3}=e;if(!i.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=i,n)this.addMatch=(a,l,O,c)=>n(c,O,O+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,O,c)=>{let h=r(a,l,O);h&&c(O,O+a[0].length,h)};else if(r)this.addMatch=(a,l,O,c)=>c(O,O+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let i=new Fi,r=i.add.bind(i);for(let{from:n,to:s}of QR(e,this.maxLength))GQ(e.state.doc,this.regexp,n,s,(o,a)=>this.addMatch(a,e,o,r));return i.finish()}updateDeco(e,i){let r=1e9,n=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),n=Math.max(l,n))}),e.viewportMoved||n-r>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,i.map(e.changes),r,n):i}updateRange(e,i,r,n){for(let s of e.visibleRanges){let o=Math.max(s.from,r),a=Math.min(s.to,n);if(a>=o){let l=e.state.doc.lineAt(o),O=l.to<a?e.state.doc.lineAt(a):l,c=Math.max(s.from,l.from),h=Math.min(s.to,O.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){c=o;break}for(;a<O.to;a++)if(this.boundary.test(O.text[a-O.from])){h=a;break}}let u=[],m,S=(Q,g,d)=>u.push(d.range(Q,g));if(l==O)for(this.regexp.lastIndex=c-l.from;(m=this.regexp.exec(l.text))&&m.index<h-l.from;)this.addMatch(m,e,m.index+l.from,S);else GQ(e.state.doc,this.regexp,c,h,(Q,g)=>this.addMatch(g,e,Q,S));i=i.update({filterFrom:c,filterTo:h,filter:(Q,g)=>Q<c||g>h,add:u})}}return i}}const ld=/x/.unicode!=null?"gu":"g",$R=new RegExp(`[\0-\b
|
|
60
|
-
--\u2028\u2029\uFEFF-]`,ld),_R={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 Bh=null;function vR(){var t;if(Bh==null&&typeof document<"u"&&document.body){let e=document.body.style;Bh=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return Bh||!1}const OO=K.define({combine(t){let e=Xi(t,{render:null,specialChars:$R,addSpecialChars:null});return(e.replaceTabs=!vR())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,ld)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,ld)),e}});function PR(t={}){return[OO.of(t),yR()]}let BQ=null;function yR(){return BQ||(BQ=Re.fromClass(class{constructor(t){this.view=t,this.decorations=ne.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(OO)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new SR({regexp:t.specialChars,decoration:(e,i,r)=>{let{doc:n}=i.state,s=Xt(e[0],0);if(s==9){let o=n.lineAt(r),a=i.state.tabSize,l=yi(o.text,a,r-o.from);return ne.replace({widget:new xR((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ne.replace({widget:new bR(t,s)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(OO);t.startState.facet(OO)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const wR="•";function XR(t){return t>=32?wR:t==10?"":String.fromCharCode(9216+t)}class bR extends bi{constructor(e,i){super(),this.options=e,this.code=i}eq(e){return e.code==this.code}toDOM(e){let i=XR(this.code),r=e.state.phrase("Control character")+" "+(_R[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,i);if(n)return n;let s=document.createElement("span");return s.textContent=i,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class xR extends bi{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 kR(){return RR}const TR=ne.line({class:"cm-activeLine"}),RR=Re.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,i=[];for(let r of t.state.selection.ranges){let n=t.lineBlockAt(r.head);n.from>e&&(i.push(TR.range(n.from)),e=n.from)}return ne.set(i)}},{decorations:t=>t.decorations});class CR extends bi{constructor(e){super(),this.content=e}toDOM(e){let i=document.createElement("span");return i.className="cm-placeholder",i.style.pointerEvents="none",i.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),i.setAttribute("aria-hidden","true"),i}coordsAt(e){let i=e.firstChild?Do(e.firstChild):[];if(!i.length)return null;let r=window.getComputedStyle(e.parentNode),n=Sa(i[0],r.direction!="rtl"),s=parseInt(r.lineHeight);return n.bottom-n.top>s*1.5?{left:n.left,right:n.right,top:n.top,bottom:n.top+s}:n}ignoreEvent(){return!1}}function YR(t){let e=Re.fromClass(class{constructor(i){this.view=i,this.placeholder=t?ne.set([ne.widget({widget:new CR(t),side:1}).range(0)]):ne.none}get decorations(){return this.view.state.doc.length?ne.none:this.placeholder}},{decorations:i=>i.decorations});return typeof t=="string"?[e,N.contentAttributes.of({"aria-placeholder":t})]:e}const Od=2e3;function ZR(t,e,i){let r=Math.min(e.line,i.line),n=Math.max(e.line,i.line),s=[];if(e.off>Od||i.off>Od||e.col<0||i.col<0){let o=Math.min(e.off,i.off),a=Math.max(e.off,i.off);for(let l=r;l<=n;l++){let O=t.doc.line(l);O.length<=a&&s.push(A.range(O.from+o,O.to+a))}}else{let o=Math.min(e.col,i.col),a=Math.max(e.col,i.col);for(let l=r;l<=n;l++){let O=t.doc.line(l),c=jf(O.text,o,t.tabSize,!0);if(c<0)s.push(A.cursor(O.to));else{let h=jf(O.text,a,t.tabSize);s.push(A.range(O.from+c,O.from+h))}}}return s}function WR(t,e){let i=t.coordsAtPos(t.viewport.from);return i?Math.round(Math.abs((i.left-e)/t.defaultCharacterWidth)):-1}function IQ(t,e){let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(i),n=i-r.from,s=n>Od?-1:n==r.length?WR(t,e.clientX):yi(r.text,t.state.tabSize,i-r.from);return{line:r.number,col:s,off:n}}function UR(t,e){let i=IQ(t,e),r=t.state.selection;return i?{update(n){if(n.docChanged){let s=n.changes.mapPos(n.startState.doc.line(i.line).from),o=n.state.doc.lineAt(s);i={line:o.number,col:i.col,off:Math.min(i.off,o.length)},r=r.map(n.changes)}},get(n,s,o){let a=IQ(t,n);if(!a)return r;let l=ZR(t.state,i,a);return l.length?o?A.create(l.concat(r.ranges)):A.create(l):r}}:null}function zR(t){let e=i=>i.altKey&&i.button==0;return N.mouseSelectionStyle.of((i,r)=>e(r)?UR(i,r):null)}const qR={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},VR={style:"cursor: crosshair"};function ER(t={}){let[e,i]=qR[t.key||"Alt"],r=Re.fromClass(class{constructor(n){this.view=n,this.isDown=!1}set(n){this.isDown!=n&&(this.isDown=n,this.view.update([]))}},{eventObservers:{keydown(n){this.set(n.keyCode==e||i(n))},keyup(n){(n.keyCode==e||!i(n))&&this.set(!1)},mousemove(n){this.set(i(n))}}});return[r,N.contentAttributes.of(n=>{var s;return!((s=n.plugin(r))===null||s===void 0)&&s.isDown?VR:null})]}const Tl="-10000px";class sP{constructor(e,i,r,n){this.facet=i,this.createTooltipView=r,this.removeTooltipView=n,this.input=e.state.facet(i),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=r(o,s))}update(e,i){var r;let n=e.state.facet(this.facet),s=n.filter(l=>l);if(n===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=i?[]:null;for(let l=0;l<s.length;l++){let O=s[l],c=-1;if(O){for(let h=0;h<this.tooltips.length;h++){let u=this.tooltips[h];u&&u.create==O.create&&(c=h)}if(c<0)o[l]=this.createTooltipView(O,l?o[l-1]:null),a&&(a[l]=!!O.above);else{let h=o[l]=this.tooltipViews[c];a&&(a[l]=i[c]),h.update&&h.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return i&&(a.forEach((l,O)=>i[O]=l),i.length=a.length),this.input=n,this.tooltips=s,this.tooltipViews=o,!0}}function AR(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const Ih=K.define({combine:t=>{var e,i,r;return{position:J.ios?"absolute":((e=t.find(n=>n.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((i=t.find(n=>n.parent))===null||i===void 0?void 0:i.parent)||null,tooltipSpace:((r=t.find(n=>n.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||AR}}}),NQ=new WeakMap,tm=Re.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(Ih);this.position=e.position,this.parent=e.parent,this.classes=t.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 sP(t,im,(i,r)=>this.createTooltip(i,r),i=>{this.resizeObserver&&this.resizeObserver.unobserve(i.dom),i.dom.remove()}),this.above=this.manager.tooltips.map(i=>!!i.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(i=>{Date.now()>this.lastTransaction-50&&i.length>0&&i[i.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.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 t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let i=e||t.geometryChanged,r=t.state.facet(Ih);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let n of this.manager.tooltipViews)n.dom.style.position=this.position;i=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let n of this.manager.tooltipViews)this.container.appendChild(n.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(t,e){let i=t.create(this.view),r=e?e.dom:null;if(i.dom.classList.add("cm-tooltip"),t.arrow&&!i.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let n=document.createElement("div");n.className="cm-tooltip-arrow",i.dom.appendChild(n)}return i.dom.style.position=this.position,i.dom.style.top=Tl,i.dom.style.left="0px",this.container.insertBefore(i.dom,r),i.mount&&i.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(i.dom),i}destroy(){var t,e,i;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(i=this.intersectionObserver)===null||i===void 0||i.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,i=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(J.safari){let o=s.getBoundingClientRect();i=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else i=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(i||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(t=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),n=Hp(this.view);return{visible:{left:r.left+n.left,top:r.top+n.top,right:r.right-n.right,bottom:r.bottom-n.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(Ih).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:i}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:i,space:r,scaleX:n,scaleY:s}=t,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],O=this.manager.tooltipViews[a],{dom:c}=O,h=t.pos[a],u=t.size[a];if(!h||l.clip!==!1&&(h.bottom<=Math.max(i.top,r.top)||h.top>=Math.min(i.bottom,r.bottom)||h.right<Math.max(i.left,r.left)-.1||h.left>Math.min(i.right,r.right)+.1)){c.style.top=Tl;continue}let m=l.arrow?O.dom.querySelector(".cm-tooltip-arrow"):null,S=m?7:0,Q=u.right-u.left,g=(e=NQ.get(O))!==null&&e!==void 0?e:u.bottom-u.top,d=O.offset||LR,f=this.view.textDirection==Xe.LTR,p=u.width>r.right-r.left?f?r.left:r.right-u.width:f?Math.max(r.left,Math.min(h.left-(m?14:0)+d.x,r.right-Q)):Math.min(Math.max(r.left,h.left-Q+(m?14:0)-d.x),r.right-Q),$=this.above[a];!l.strictSide&&($?h.top-g-S-d.y<r.top:h.bottom+g+S+d.y>r.bottom)&&$==r.bottom-h.bottom>h.top-r.top&&($=this.above[a]=!$);let _=($?h.top-r.top:r.bottom-h.bottom)-S;if(_<g&&O.resize!==!1){if(_<this.view.defaultLineHeight){c.style.top=Tl;continue}NQ.set(O,g),c.style.height=(g=_)/s+"px"}else c.style.height&&(c.style.height="");let P=$?h.top-g-S-d.y:h.bottom+S+d.y,w=p+Q;if(O.overlap!==!0)for(let v of o)v.left<w&&v.right>p&&v.top<P+g&&v.bottom>P&&(P=$?v.top-g-2-S:v.bottom+S+2);if(this.position=="absolute"?(c.style.top=(P-t.parent.top)/s+"px",FQ(c,(p-t.parent.left)/n)):(c.style.top=P/s+"px",FQ(c,p/n)),m){let v=h.left+(f?d.x:-d.x)-(p+14-7);m.style.left=v/n+"px"}O.overlap!==!0&&o.push({left:p,top:P,right:w,bottom:P+g}),c.classList.toggle("cm-tooltip-above",$),c.classList.toggle("cm-tooltip-below",!$),O.positioned&&O.positioned(t.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 t of this.manager.tooltipViews)t.dom.style.top=Tl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function FQ(t,e){let i=parseInt(t.style.left,10);(isNaN(i)||Math.abs(e-i)>1)&&(t.style.left=e+"px")}const jR=N.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:`${7*2}px`,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"}}}),LR={x:0,y:0},im=K.define({enables:[tm,jR]}),JO=K.define({combine:t=>t.reduce((e,i)=>e.concat(i),[])});class Gc{static create(e){return new Gc(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new sP(e,JO,(i,r)=>this.createHostedView(i,r),i=>i.dom.remove())}createHostedView(e,i){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,i?i.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let i of this.manager.tooltipViews)i.mount&&i.mount(e);this.mounted=!0}positioned(e){for(let i of this.manager.tooltipViews)i.positioned&&i.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let i of this.manager.tooltipViews)(e=i.destroy)===null||e===void 0||e.call(i)}passProp(e){let i;for(let r of this.manager.tooltipViews){let n=r[e];if(n!==void 0){if(i===void 0)i=n;else if(i!==n)return}}return i}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 DR=im.compute([JO],t=>{let e=t.facet(JO);return e.length===0?null:{pos:Math.min(...e.map(i=>i.pos)),end:Math.max(...e.map(i=>{var r;return(r=i.end)!==null&&r!==void 0?r:i.pos})),create:Gc.create,above:e[0].above,arrow:e.some(i=>i.arrow)}});class MR{constructor(e,i,r,n,s){this.view=e,this.source=i,this.field=r,this.setHover=n,this.hoverTime=s,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(){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:i}=this,r=e.docView.tile.nearest(i.target);if(!r)return;let n,s=1;if(r.isWidget())n=r.posAtStart;else{if(n=e.posAtCoords(i),n==null)return;let a=e.coordsAtPos(n);if(!a||i.y<a.top||i.y>a.bottom||i.x<a.left-e.defaultCharacterWidth||i.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(n)).find(c=>c.from<=n&&c.to>=n),O=l&&l.dir==Xe.RTL?-1:1;s=i.x<a.left?-O:O}let o=this.source(e,n,s);if(o!=null&&o.then){let a=this.pending={pos:n};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>Tt(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(tm),i=e?e.manager.tooltips.findIndex(r=>r.create==Gc.create):-1;return i>-1?e.manager.tooltipViews[i]:null}mousemove(e){var i,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:n,tooltip:s}=this;if(n.length&&s&&!GR(s.dom,e)||this.pending){let{pos:o}=n[0]||this.pending,a=(r=(i=n[0])===null||i===void 0?void 0:i.end)!==null&&r!==void 0?r:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!BR(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:i}=this;if(i.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let i=r=>{e.removeEventListener("mouseleave",i),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",i)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Rl=4;function GR(t,e){let{left:i,right:r,top:n,bottom:s}=t.getBoundingClientRect(),o;if(o=t.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();n=Math.min(a.top,n),s=Math.max(a.bottom,s)}return e.clientX>=i-Rl&&e.clientX<=r+Rl&&e.clientY>=n-Rl&&e.clientY<=s+Rl}function BR(t,e,i,r,n,s){let o=t.scrollDOM.getBoundingClientRect(),a=t.documentTop+t.documentPadding.top+t.contentHeight;if(o.left>r||o.right<r||o.top>n||Math.min(o.bottom,a)<n)return!1;let l=t.posAtCoords({x:r,y:n},!1);return l>=e&&l<=i}function IR(t,e={}){let i=ae.define(),r=et.define({create(){return[]},update(n,s){if(n.length&&(e.hideOnChange&&(s.docChanged||s.selection)?n=[]:e.hideOn&&(n=n.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of n){let l=s.changes.mapPos(a.pos,-1,nt.TrackDel);if(l!=null){let O=Object.assign(Object.create(null),a);O.pos=l,O.end!=null&&(O.end=s.changes.mapPos(O.end)),o.push(O)}}n=o}for(let o of s.effects)o.is(i)&&(n=o.value),o.is(NR)&&(n=[]);return n},provide:n=>JO.from(n)});return{active:r,extension:[r,Re.define(n=>new MR(n,t,r,i,e.hoverTime||300)),DR]}}function oP(t,e){let i=t.plugin(tm);if(!i)return null;let r=i.manager.tooltips.indexOf(e);return r<0?null:i.manager.tooltipViews[r]}const NR=ae.define(),HQ=K.define({combine(t){let e,i;for(let r of t)e=e||r.topContainer,i=i||r.bottomContainer;return{topContainer:e,bottomContainer:i}}});function rm(t,e){let i=t.plugin(aP),r=i?i.specs.indexOf(e):-1;return r>-1?i.panels[r]:null}const aP=Re.fromClass(class{constructor(t){this.input=t.state.facet(_a),this.specs=this.input.filter(i=>i),this.panels=this.specs.map(i=>i(t));let e=t.state.facet(HQ);this.top=new Cl(t,!0,e.topContainer),this.bottom=new Cl(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(i=>i.top)),this.bottom.sync(this.panels.filter(i=>!i.top));for(let i of this.panels)i.dom.classList.add("cm-panel"),i.mount&&i.mount()}update(t){let e=t.state.facet(HQ);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Cl(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Cl(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=t.state.facet(_a);if(i!=this.input){let r=i.filter(l=>l),n=[],s=[],o=[],a=[];for(let l of r){let O=this.specs.indexOf(l),c;O<0?(c=l(t.view),a.push(c)):(c=this.panels[O],c.update&&c.update(t)),n.push(c),(c.top?s:o).push(c)}this.specs=r,this.panels=n,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>N.scrollMargins.of(e=>{let i=e.plugin(t);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class Cl{constructor(e,i,r){this.view=e,this.top=i,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let i of this.panels)i.destroy&&e.indexOf(i)<0&&i.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",this.dom.style[this.top?"top":"bottom"]="0";let i=this.container||this.view.dom;i.insertBefore(this.dom,this.top?i.firstChild:null)}let e=this.dom.firstChild;for(let i of this.panels)if(i.dom.parentNode==this.dom){for(;e!=i.dom;)e=KQ(e);e=e.nextSibling}else this.dom.insertBefore(i.dom,e);for(;e;)e=KQ(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 KQ(t){let e=t.nextSibling;return t.remove(),e}const _a=K.define({enables:aP});function FR(t,e){let i,r=new Promise(o=>i=o),n=o=>HR(o,e,i);t.state.field(Nh,!1)?t.dispatch({effects:lP.of(n)}):t.dispatch({effects:ae.appendConfig.of(Nh.init(()=>[n]))});let s=OP.of(n);return{close:s,result:r.then(o=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(Nh).indexOf(n)>-1&&t.dispatch({effects:s})}),o))}}const Nh=et.define({create(){return[]},update(t,e){for(let i of e.effects)i.is(lP)?t=[i.value].concat(t):i.is(OP)&&(t=t.filter(r=>r!=i.value));return t},provide:t=>_a.computeN([t],e=>e.field(t))}),lP=ae.define(),OP=ae.define();function HR(t,e,i){let r=e.content?e.content(t,()=>o(null)):null;if(!r){if(r=me("form"),e.input){let a=me("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),r.appendChild(me("label",(e.label||"")+": ",a))}else r.appendChild(document.createTextNode(e.label||""));r.appendChild(document.createTextNode(" ")),r.appendChild(me("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let n=r.nodeName=="FORM"?[r]:r.querySelectorAll("form");for(let a=0;a<n.length;a++){let l=n[a];l.addEventListener("keydown",O=>{O.keyCode==27?(O.preventDefault(),o(null)):O.keyCode==13&&(O.preventDefault(),o(l))}),l.addEventListener("submit",O=>{O.preventDefault(),o(l)})}let s=me("div",r,me("button",{onclick:()=>o(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(s.className=e.class),s.classList.add("cm-dialog");function o(a){s.contains(s.ownerDocument.activeElement)&&t.focus(),i(a)}return{dom:s,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=r.querySelector(e.focus):a=r.querySelector("input")||r.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}class gr extends Nr{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}gr.prototype.elementClass="";gr.prototype.toDOM=void 0;gr.prototype.mapMode=nt.TrackBefore;gr.prototype.startSide=gr.prototype.endSide=-1;gr.prototype.point=!0;const cO=K.define(),KR=K.define(),JR={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ce.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Bo=K.define();function e5(t){return[cP(),Bo.of({...JR,...t})]}const JQ=K.define({combine:t=>t.some(e=>e)});function cP(t){return[t5]}const t5=Re.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.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=t.state.facet(Bo).map(e=>new tS(t,e)),this.fixed=!t.state.facet(JQ);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),t.scrollDOM.insertBefore(this.dom,t.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(t){if(this.updateGutters(t)){let e=this.prevViewport,i=t.view.viewport,r=Math.min(e.to,i.to)-Math.max(e.from,i.from);this.syncGutters(r<(i.to-i.from)*.8)}if(t.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(JQ)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let i=ce.iter(this.view.state.facet(cO),this.view.viewport.from),r=[],n=this.gutters.map(s=>new i5(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==ot.Text&&o){cd(i,r,a.from);for(let l of n)l.line(this.view,a,r);o=!1}else if(a.widget)for(let l of n)l.widget(this.view,a)}else if(s.type==ot.Text){cd(i,r,s.from);for(let o of n)o.line(this.view,s,r)}else if(s.widget)for(let o of n)o.widget(this.view,s);for(let s of n)s.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Bo),i=t.state.facet(Bo),r=t.docChanged||t.heightChanged||t.viewportChanged||!ce.eq(t.startState.facet(cO),t.state.facet(cO),t.view.viewport.from,t.view.viewport.to);if(e==i)for(let n of this.gutters)n.update(t)&&(r=!0);else{r=!0;let n=[];for(let s of i){let o=e.indexOf(s);o<0?n.push(new tS(this.view,s)):(this.gutters[o].update(t),n.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),n.indexOf(s)<0&&s.destroy();for(let s of n)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=n}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>N.scrollMargins.of(e=>{let i=e.plugin(t);if(!i||i.gutters.length==0||!i.fixed)return null;let r=i.dom.offsetWidth*e.scaleX,n=i.domAfter?i.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Xe.LTR?{left:r,right:n}:{right:r,left:n}})});function eS(t){return Array.isArray(t)?t:[t]}function cd(t,e,i){for(;t.value&&t.from<=i;)t.from==i&&e.push(t.value),t.next()}class i5{constructor(e,i,r){this.gutter=e,this.height=r,this.i=0,this.cursor=ce.iter(e.markers,i.from)}addElement(e,i,r){let{gutter:n}=this,s=(i.top-this.height)/e.scaleY,o=i.height/e.scaleY;if(this.i==n.elements.length){let a=new hP(e,o,s,r);n.elements.push(a),n.dom.appendChild(a.dom)}else n.elements[this.i].update(e,o,s,r);this.height=i.bottom,this.i++}line(e,i,r){let n=[];cd(this.cursor,n,i.from),r.length&&(n=n.concat(r));let s=this.gutter.config.lineMarker(e,i,n);s&&n.unshift(s);let o=this.gutter;n.length==0&&!o.config.renderEmptyElements||this.addElement(e,i,n)}widget(e,i){let r=this.gutter.config.widgetMarker(e,i.widget,i),n=r?[r]:null;for(let s of e.state.facet(KR)){let o=s(e,i.widget,i);o&&(n||(n=[])).push(o)}n&&this.addElement(e,i,n)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let i=e.elements.pop();e.dom.removeChild(i.dom),i.destroy()}}}class tS{constructor(e,i){this.view=e,this.config=i,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 i.domEventHandlers)this.dom.addEventListener(r,n=>{let s=n.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=n.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);i.domEventHandlers[r](e,a,n)&&n.preventDefault()});this.markers=eS(i.markers(e)),i.initialSpacer&&(this.spacer=new hP(e,0,0,[i.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let i=this.markers;if(this.markers=eS(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let n=this.config.updateSpacer(this.spacer.markers[0],e);n!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[n])}let r=e.view.viewport;return!ce.eq(this.markers,i,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class hP{constructor(e,i,r,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,i,r,n)}update(e,i,r,n){this.height!=i&&(this.height=i,this.dom.style.height=i+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),r5(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,i){let r="cm-gutterElement",n=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<i.length?i[s++]:null,O=!1;if(l){let c=l.elementClass;c&&(r+=" "+c);for(let h=o;h<this.markers.length;h++)if(this.markers[h].compare(l)){a=h,O=!0;break}}else a=this.markers.length;for(;o<a;){let c=this.markers[o++];if(c.toDOM){c.destroy(n);let h=n.nextSibling;n.remove(),n=h}}if(!l)break;l.toDOM&&(O?n=n.nextSibling:this.dom.insertBefore(l.toDOM(e),n)),O&&o++}this.dom.className=r,this.markers=i}destroy(){this.setMarkers(null,[])}}function r5(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!t[i].compare(e[i]))return!1;return!0}const n5=K.define(),s5=K.define(),ls=K.define({combine(t){return Xi(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,i){let r=Object.assign({},e);for(let n in i){let s=r[n],o=i[n];r[n]=s?(a,l,O)=>s(a,l,O)||o(a,l,O):o}return r}})}});class Fh extends gr{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Hh(t,e){return t.state.facet(ls).formatNumber(e,t.state)}const o5=Bo.compute([ls],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(n5)},lineMarker(e,i,r){return r.some(n=>n.toDOM)?null:new Fh(Hh(e,e.state.doc.lineAt(i.from).number))},widgetMarker:(e,i,r)=>{for(let n of e.state.facet(s5)){let s=n(e,i,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(ls)!=e.state.facet(ls),initialSpacer(e){return new Fh(Hh(e,iS(e.state.doc.lines)))},updateSpacer(e,i){let r=Hh(i.view,iS(i.view.state.doc.lines));return r==e.number?e:new Fh(r)},domEventHandlers:t.facet(ls).domEventHandlers,side:"before"}));function a5(t={}){return[ls.of(t),cP(),o5]}function iS(t){let e=9;for(;e<t;)e=e*10+9;return e}const l5=new class extends gr{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},O5=cO.compute(["selection"],t=>{let e=[],i=-1;for(let r of t.selection.ranges){let n=t.doc.lineAt(r.head).from;n>i&&(i=n,e.push(l5.range(n)))}return ce.of(e)});function c5(){return O5}const uP=1024;let h5=0;class si{constructor(e,i){this.from=e,this.to=i}}class le{constructor(e={}){this.id=h5++,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=Ne.match(e)),i=>{let r=e(i);return r===void 0?null:[this,r]}}}le.closedBy=new le({deserialize:t=>t.split(" ")});le.openedBy=new le({deserialize:t=>t.split(" ")});le.group=new le({deserialize:t=>t.split(" ")});le.isolate=new le({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});le.contextHash=new le({perNode:!0});le.lookAhead=new le({perNode:!0});le.mounted=new le({perNode:!0});class $s{constructor(e,i,r,n=!1){this.tree=e,this.overlay=i,this.parser=r,this.bracketed=n}static get(e){return e&&e.props&&e.props[le.mounted.id]}}const u5=Object.create(null);class Ne{constructor(e,i,r,n=0){this.name=e,this.props=i,this.id=r,this.flags=n}static define(e){let i=e.props&&e.props.length?Object.create(null):u5,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new Ne(e.name||"",i,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(n)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");i[s[0].id]=s[1]}}return n}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 i=this.prop(le.group);return i?i.indexOf(e)>-1:!1}return this.id==e}static match(e){let i=Object.create(null);for(let r in e)for(let n of r.split(" "))i[n]=e[r];return r=>{for(let n=r.prop(le.group),s=-1;s<(n?n.length:0);s++){let o=i[s<0?r.name:n[s]];if(o)return o}}}}Ne.none=new Ne("",Object.create(null),0,8);class Ba{constructor(e){this.types=e;for(let i=0;i<e.length;i++)if(e[i].id!=i)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let i=[];for(let r of this.types){let n=null;for(let s of e){let o=s(r);if(o){n||(n=Object.assign({},r.props));let a=o[1],l=o[0];l.combine&&l.id in n&&(a=l.combine(n[l.id],a)),n[l.id]=a}}i.push(n?new Ne(r.name,n,r.id,r.flags):r)}return new Ba(i)}}const Yl=new WeakMap,rS=new WeakMap;var Se;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(Se||(Se={}));class _e{constructor(e,i,r,n,s){if(this.type=e,this.children=i,this.positions=r,this.length=n,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=$s.get(this);if(e&&!e.overlay)return e.tree.toString();let i="";for(let r of this.children){let n=r.toString();n&&(i&&(i+=","),i+=n)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(i.length?"("+i+")":""):i}cursor(e=0){return new ec(this.topNode,e)}cursorAt(e,i=0,r=0){let n=Yl.get(this)||this.topNode,s=new ec(n);return s.moveTo(e,i),Yl.set(this,s._tree),s}get topNode(){return new ft(this,0,0,null)}resolve(e,i=0){let r=va(Yl.get(this)||this.topNode,e,i,!1);return Yl.set(this,r),r}resolveInner(e,i=0){let r=va(rS.get(this)||this.topNode,e,i,!0);return rS.set(this,r),r}resolveStack(e,i=0){return p5(this,e,i)}iterate(e){let{enter:i,leave:r,from:n=0,to:s=this.length}=e,o=e.mode||0,a=(o&Se.IncludeAnonymous)>0;for(let l=this.cursor(o|Se.IncludeAnonymous);;){let O=!1;if(l.from<=s&&l.to>=n&&(!a&&l.type.isAnonymous||i(l)!==!1)){if(l.firstChild())continue;O=!0}for(;O&&r&&(a||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;O=!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 i in this.props)e.push([+i,this.props[i]]);return e}balance(e={}){return this.children.length<=8?this:om(Ne.none,this.children,this.positions,0,this.children.length,0,this.length,(i,r,n)=>new _e(this.type,i,r,n,this.propValues),e.makeTree||((i,r,n)=>new _e(Ne.none,i,r,n)))}static build(e){return m5(e)}}_e.empty=new _e(Ne.none,[],[],0);class nm{constructor(e,i){this.buffer=e,this.index=i}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 nm(this.buffer,this.index)}}class Jr{constructor(e,i,r){this.buffer=e,this.length=i,this.set=r}get type(){return Ne.none}toString(){let e=[];for(let i=0;i<this.buffer.length;)e.push(this.childString(i)),i=this.buffer[i+3];return e.join(",")}childString(e){let i=this.buffer[e],r=this.buffer[e+3],n=this.set.types[i],s=n.name;if(/\W/.test(s)&&!n.isError&&(s=JSON.stringify(s)),e+=4,r==e)return s;let o=[];for(;e<r;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,i,r,n,s){let{buffer:o}=this,a=-1;for(let l=e;l!=i&&!(fP(s,n,o[l+1],o[l+2])&&(a=l,r>0));l=o[l+3]);return a}slice(e,i,r){let n=this.buffer,s=new Uint16Array(i-e),o=0;for(let a=e,l=0;a<i;){s[l++]=n[a++],s[l++]=n[a++]-r;let O=s[l++]=n[a++]-r;s[l++]=n[a++]-e,o=Math.max(o,O)}return new Jr(s,o,this.set)}}function fP(t,e,i,r){switch(t){case-2:return i<e;case-1:return r>=e&&i<e;case 0:return i<e&&r>e;case 1:return i<=e&&r>e;case 2:return r>e;case 4:return!0}}function va(t,e,i,r){for(var n;t.from==t.to||(i<1?t.from>=e:t.from>e)||(i>-1?t.to<=e:t.to<e);){let o=!r&&t instanceof ft&&t.index<0?null:t.parent;if(!o)return t;t=o}let s=r?0:Se.IgnoreOverlays;if(r)for(let o=t,a=o.parent;a;o=a,a=o.parent)o instanceof ft&&o.index<0&&((n=a.enter(e,i,s))===null||n===void 0?void 0:n.from)!=o.from&&(t=a);for(;;){let o=t.enter(e,i,s);if(!o)return t;t=o}}class dP{cursor(e=0){return new ec(this,e)}getChild(e,i=null,r=null){let n=nS(this,e,i,r);return n.length?n[0]:null}getChildren(e,i=null,r=null){return nS(this,e,i,r)}resolve(e,i=0){return va(this,e,i,!1)}resolveInner(e,i=0){return va(this,e,i,!0)}matchContext(e){return hd(this.parent,e)}enterUnfinishedNodesBefore(e){let i=this.childBefore(e),r=this;for(;i;){let n=i.lastChild;if(!n||n.to!=i.to)break;n.type.isError&&n.from==n.to?(r=i,i=n.prevSibling):i=n}return r}get node(){return this}get next(){return this.parent}}class ft extends dP{constructor(e,i,r,n){super(),this._tree=e,this.from=i,this.index=r,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,i,r,n,s=0){for(let o=this;;){for(let{children:a,positions:l}=o._tree,O=i>0?a.length:-1;e!=O;e+=i){let c=a[e],h=l[e]+o.from,u;if(!(!(s&Se.EnterBracketed&&c instanceof _e&&(u=$s.get(c))&&!u.overlay&&u.bracketed&&r>=h&&r<=h+c.length)&&!fP(n,r,h,h+c.length))){if(c instanceof Jr){if(s&Se.ExcludeBuffers)continue;let m=c.findChild(0,c.buffer.length,i,r-h,n);if(m>-1)return new Li(new f5(o,c,e,h),null,m)}else if(s&Se.IncludeAnonymous||!c.type.isAnonymous||sm(c)){let m;if(!(s&Se.IgnoreMounts)&&(m=$s.get(c))&&!m.overlay)return new ft(m.tree,h,e,o);let S=new ft(c,h,e,o);return s&Se.IncludeAnonymous||!S.type.isAnonymous?S:S.nextChild(i<0?c.children.length-1:0,i,r,n,s)}}}if(s&Se.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+i:e=i<0?-1:o._parent._tree.children.length,o=o._parent,!o))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,i,r=0){let n;if(!(r&Se.IgnoreOverlays)&&(n=$s.get(this._tree))&&n.overlay){let s=e-this.from,o=r&Se.EnterBracketed&&n.bracketed;for(let{from:a,to:l}of n.overlay)if((i>0||o?a<=s:a<s)&&(i<0||o?l>=s:l>s))return new ft(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,i,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 nS(t,e,i,r){let n=t.cursor(),s=[];if(!n.firstChild())return s;if(i!=null){for(let o=!1;!o;)if(o=n.type.is(i),!n.nextSibling())return s}for(;;){if(r!=null&&n.type.is(r))return s;if(n.type.is(e)&&s.push(n.node),!n.nextSibling())return r==null?s:[]}}function hd(t,e,i=e.length-1){for(let r=t;i>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[i]&&e[i]!=r.name)return!1;i--}}return!0}class f5{constructor(e,i,r,n){this.parent=e,this.buffer=i,this.index=r,this.start=n}}class Li extends dP{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,i,r){super(),this.context=e,this._parent=i,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,i,r){let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],e,i-this.context.start,r);return s<0?null:new Li(this.context,this,s)}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,i,r=0){if(r&Se.ExcludeBuffers)return null;let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],i>0?1:-1,e-this.context.start,i);return s<0?null:new Li(this.context,this,s)}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,i=e.buffer[this.index+3];return i<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Li(this.context,this._parent,i):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,i=this._parent?this._parent.index+4:0;return this.index==i?this.externalSibling(-1):new Li(this.context,this._parent,e.findChild(i,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],i=[],{buffer:r}=this.context,n=this.index+4,s=r.buffer[this.index+3];if(s>n){let o=r.buffer[this.index+1];e.push(r.slice(n,s,o)),i.push(0)}return new _e(this.type,e,i,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function pP(t){if(!t.length)return null;let e=0,i=t[0];for(let s=1;s<t.length;s++){let o=t[s];(o.from>i.from||o.to<i.to)&&(i=o,e=s)}let r=i instanceof ft&&i.index<0?null:i.parent,n=t.slice();return r?n[e]=r:n.splice(e,1),new d5(n,i)}class d5{constructor(e,i){this.heads=e,this.node=i}get next(){return pP(this.heads)}}function p5(t,e,i){let r=t.resolveInner(e,i),n=null;for(let s=r instanceof ft?r:r.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(n||(n=[r])).push(o.resolve(e,i)),s=o}else{let o=$s.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new ft(o.tree,o.overlay[0].from+s.from,-1,s);(n||(n=[r])).push(va(a,e,i,!1))}}return n?pP(n):r}class ec{get name(){return this.type.name}constructor(e,i=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=i&~Se.EnterBracketed,e instanceof ft)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,i){this.index=e;let{start:r,buffer:n}=this.buffer;return this.type=i||n.set.types[n.buffer[e]],this.from=r+n.buffer[e+1],this.to=r+n.buffer[e+2],!0}yield(e){return e?e instanceof ft?(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,i,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,i,r,this.mode));let{buffer:n}=this.buffer,s=n.findChild(this.index+4,n.buffer[this.index+3],e,i-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}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,i,r=this.mode){return this.buffer?r&Se.ExcludeBuffers?!1:this.enterChild(1,e,i):this.yield(this._tree.enter(e,i,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Se.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Se.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:i}=this.buffer,r=this.stack.length-1;if(e<0){let n=r<0?0:this.stack[r]+4;if(this.index!=n)return this.yieldBuf(i.findChild(n,this.index,-1,0,4))}else{let n=i.buffer[this.index+3];if(n<(r<0?i.buffer.length:i.buffer[this.stack[r]+3]))return this.yieldBuf(n)}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 i,r,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(n.buffer.buffer[s+3]<this.index)return!1;({index:i,parent:r}=n)}else({index:i,_parent:r}=this._tree);for(;r;{index:i,_parent:r}=r)if(i>-1)for(let s=i+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let a=r._tree.children[s];if(this.mode&Se.IncludeAnonymous||a instanceof Jr||!a.type.isAnonymous||sm(a))return!1}return!0}move(e,i){if(i&&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,i=0){for(;(this.from==this.to||(i<1?this.from>=e:this.from>e)||(i>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,i););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,i=null,r=0;if(e&&e.context==this.buffer)e:for(let n=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==n){if(n==this.index)return o;i=o,r=s+1;break e}n=this.stack[--s]}for(let n=r;n<this.stack.length;n++)i=new Li(this.buffer,i,this.stack[n]);return this.bufferNode=new Li(this.buffer,i,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,i){for(let r=0;;){let n=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(n=!0)}for(;;){if(n&&i&&i(this),n=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,n=!0}}}matchContext(e){if(!this.buffer)return hd(this.node.parent,e);let{buffer:i}=this.buffer,{types:r}=i.set;for(let n=e.length-1,s=this.stack.length-1;n>=0;s--){if(s<0)return hd(this._tree,e,n);let o=r[i.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[n]&&e[n]!=o.name)return!1;n--}}return!0}}function sm(t){return t.children.some(e=>e instanceof Jr||!e.type.isAnonymous||sm(e))}function m5(t){var e;let{buffer:i,nodeSet:r,maxBufferLength:n=uP,reused:s=[],minRepeatType:o=r.types.length}=t,a=Array.isArray(i)?new nm(i,i.length):i,l=r.types,O=0,c=0;function h(_,P,w,v,b,T){let{id:Y,start:Z,end:R,size:z}=a,V=c,L=O;if(z<0)if(a.next(),z==-1){let C=s[Y];w.push(C),v.push(Z-_);return}else if(z==-3){O=Y;return}else if(z==-4){c=Y;return}else throw new RangeError(`Unrecognized record size: ${z}`);let G=l[Y],q,X,x=Z-_;if(R-Z<=n&&(X=g(a.pos-P,b))){let C=new Uint16Array(X.size-X.skip),W=a.pos-X.size,E=C.length;for(;a.pos>W;)E=d(X.start,C,E);q=new Jr(C,R-X.start,r),x=X.start-_}else{let C=a.pos-z;a.next();let W=[],E=[],D=Y>=o?Y:-1,te=0,re=R;for(;a.pos>C;)D>=0&&a.id==D&&a.size>=0?(a.end<=re-n&&(S(W,E,Z,te,a.end,re,D,V,L),te=W.length,re=a.end),a.next()):T>2500?u(Z,C,W,E):h(Z,C,W,E,D,T+1);if(D>=0&&te>0&&te<W.length&&S(W,E,Z,te,Z,re,D,V,L),W.reverse(),E.reverse(),D>-1&&te>0){let U=m(G,L);q=om(G,W,E,0,W.length,0,R-Z,U,U)}else q=Q(G,W,E,R-Z,V-R,L)}w.push(q),v.push(x)}function u(_,P,w,v){let b=[],T=0,Y=-1;for(;a.pos>P;){let{id:Z,start:R,end:z,size:V}=a;if(V>4)a.next();else{if(Y>-1&&R<Y)break;Y<0&&(Y=z-n),b.push(Z,R,z),T++,a.next()}}if(T){let Z=new Uint16Array(T*4),R=b[b.length-2];for(let z=b.length-3,V=0;z>=0;z-=3)Z[V++]=b[z],Z[V++]=b[z+1]-R,Z[V++]=b[z+2]-R,Z[V++]=V;w.push(new Jr(Z,b[2]-R,r)),v.push(R-_)}}function m(_,P){return(w,v,b)=>{let T=0,Y=w.length-1,Z,R;if(Y>=0&&(Z=w[Y])instanceof _e){if(!Y&&Z.type==_&&Z.length==b)return Z;(R=Z.prop(le.lookAhead))&&(T=v[Y]+Z.length+R)}return Q(_,w,v,b,T,P)}}function S(_,P,w,v,b,T,Y,Z,R){let z=[],V=[];for(;_.length>v;)z.push(_.pop()),V.push(P.pop()+w-b);_.push(Q(r.types[Y],z,V,T-b,Z-T,R)),P.push(b-w)}function Q(_,P,w,v,b,T,Y){if(T){let Z=[le.contextHash,T];Y=Y?[Z].concat(Y):[Z]}if(b>25){let Z=[le.lookAhead,b];Y=Y?[Z].concat(Y):[Z]}return new _e(_,P,w,v,Y)}function g(_,P){let w=a.fork(),v=0,b=0,T=0,Y=w.end-n,Z={size:0,start:0,skip:0};e:for(let R=w.pos-_;w.pos>R;){let z=w.size;if(w.id==P&&z>=0){Z.size=v,Z.start=b,Z.skip=T,T+=4,v+=4,w.next();continue}let V=w.pos-z;if(z<0||V<R||w.start<Y)break;let L=w.id>=o?4:0,G=w.start;for(w.next();w.pos>V;){if(w.size<0)if(w.size==-3||w.size==-4)L+=4;else break e;else w.id>=o&&(L+=4);w.next()}b=G,v+=z,T+=L}return(P<0||v==_)&&(Z.size=v,Z.start=b,Z.skip=T),Z.size>4?Z:void 0}function d(_,P,w){let{id:v,start:b,end:T,size:Y}=a;if(a.next(),Y>=0&&v<o){let Z=w;if(Y>4){let R=a.pos-(Y-4);for(;a.pos>R;)w=d(_,P,w)}P[--w]=Z,P[--w]=T-_,P[--w]=b-_,P[--w]=v}else Y==-3?O=v:Y==-4&&(c=v);return w}let f=[],p=[];for(;a.pos>0;)h(t.start||0,t.bufferStart||0,f,p,-1,0);let $=(e=t.length)!==null&&e!==void 0?e:f.length?p[0]+f[0].length:0;return new _e(l[t.topID],f.reverse(),p.reverse(),$)}const sS=new WeakMap;function hO(t,e){if(!t.isAnonymous||e instanceof Jr||e.type!=t)return 1;let i=sS.get(e);if(i==null){i=1;for(let r of e.children){if(r.type!=t||!(r instanceof _e)){i=1;break}i+=hO(t,r)}sS.set(e,i)}return i}function om(t,e,i,r,n,s,o,a,l){let O=0;for(let S=r;S<n;S++)O+=hO(t,e[S]);let c=Math.ceil(O*1.5/8),h=[],u=[];function m(S,Q,g,d,f){for(let p=g;p<d;){let $=p,_=Q[p],P=hO(t,S[p]);for(p++;p<d;p++){let w=hO(t,S[p]);if(P+w>=c)break;P+=w}if(p==$+1){if(P>c){let w=S[$];m(w.children,w.positions,0,w.children.length,Q[$]+f);continue}h.push(S[$])}else{let w=Q[p-1]+S[p-1].length-_;h.push(om(t,S,Q,$,p,_,w,null,l))}u.push(_+f-s)}}return m(e,i,r,n,0),(a||l)(h,u,o)}class Bc{constructor(){this.map=new WeakMap}setBuffer(e,i,r){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(i,r)}getBuffer(e,i){let r=this.map.get(e);return r&&r.get(i)}set(e,i){e instanceof Li?this.setBuffer(e.context.buffer,e.index,i):e instanceof ft&&this.map.set(e.tree,i)}get(e){return e instanceof Li?this.getBuffer(e.context.buffer,e.index):e instanceof ft?this.map.get(e.tree):void 0}cursorSet(e,i){e.buffer?this.setBuffer(e.buffer.buffer,e.index,i):this.map.set(e.tree,i)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class vi{constructor(e,i,r,n,s=!1,o=!1){this.from=e,this.to=i,this.tree=r,this.offset=n,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,i=[],r=!1){let n=[new vi(0,e.length,e,0,!1,r)];for(let s of i)s.to>e.length&&n.push(s);return n}static applyChanges(e,i,r=128){if(!i.length)return e;let n=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,O=0;;a++){let c=a<i.length?i[a]:null,h=c?c.fromA:1e9;if(h-l>=r)for(;o&&o.from<h;){let u=o;if(l>=u.from||h<=u.to||O){let m=Math.max(u.from,l)-O,S=Math.min(u.to,h)-O;u=m>=S?null:new vi(m,S,u.tree,u.offset+O,a>0,!!c)}if(u&&n.push(u),o.to>h)break;o=s<e.length?e[s++]:null}if(!c)break;l=c.toA,O=c.toA-c.toB}return n}}class am{startParse(e,i,r){return typeof e=="string"&&(e=new g5(e)),r=r?r.length?r.map(n=>new si(n.from,n.to)):[new si(0,0)]:[new si(0,e.length)],this.createParse(e,i||[],r)}parse(e,i,r){let n=this.startParse(e,i,r);for(;;){let s=n.advance();if(s)return s}}}class g5{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,i){return this.string.slice(e,i)}}function mP(t){return(e,i,r,n)=>new S5(e,t,i,r,n)}class oS{constructor(e,i,r,n,s,o){this.parser=e,this.parse=i,this.overlay=r,this.bracketed=n,this.target=s,this.from=o}}function aS(t){if(!t.length||t.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}class Q5{constructor(e,i,r,n,s,o,a,l){this.parser=e,this.predicate=i,this.mounts=r,this.index=n,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}}const ud=new le({perNode:!0});class S5{constructor(e,i,r,n,s){this.nest=i,this.input=r,this.fragments=n,this.ranges=s,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 n of this.inner)n.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let r=this.baseTree;return this.stoppedAt!=null&&(r=new _e(r.type,r.children,r.positions,r.length,r.propValues.concat([[ud,this.stoppedAt]]))),r}let e=this.inner[this.innerDone],i=e.parse.advance();if(i){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[le.mounted.id]=new $s(i,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 i=this.innerDone;i<this.inner.length;i++)this.inner[i].from<e&&(e=Math.min(e,this.inner[i].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let i=this.innerDone;i<this.inner.length;i++)this.inner[i].parse.stopAt(e)}startInner(){let e=new v5(this.fragments),i=null,r=null,n=new ec(new ft(this.baseTree,this.ranges[0].from,0,null),Se.IncludeAnonymous|Se.IgnoreMounts);e:for(let s,o;;){let a=!0,l;if(this.stoppedAt!=null&&n.from>=this.stoppedAt)a=!1;else if(e.hasNode(n)){if(i){let O=i.mounts.find(c=>c.frag.from<=n.from&&c.frag.to>=n.to&&c.mount.overlay);if(O)for(let c of O.mount.overlay){let h=c.from+O.pos,u=c.to+O.pos;h>=n.from&&u<=n.to&&!i.ranges.some(m=>m.from<u&&m.to>h)&&i.ranges.push({from:h,to:u})}}a=!1}else if(r&&(o=$5(r.ranges,n.from,n.to)))a=o!=2;else if(!n.type.isAnonymous&&(s=this.nest(n,this.input))&&(n.from<n.to||!s.overlay)){n.tree||(_5(n),i&&i.depth++,r&&r.depth++);let O=e.findMounts(n.from,s.parser);if(typeof s.overlay=="function")i=new Q5(s.parser,s.overlay,O,this.inner.length,n.from,!!s.bracketed,n.tree,i);else{let c=cS(this.ranges,s.overlay||(n.from<n.to?[new si(n.from,n.to)]:[]));c.length&&aS(c),(c.length||!s.overlay)&&this.inner.push(new oS(s.parser,c.length?s.parser.startParse(this.input,hS(O,c),c):s.parser.startParse(""),s.overlay?s.overlay.map(h=>new si(h.from-n.from,h.to-n.from)):null,!!s.bracketed,n.tree,c.length?c[0].from:n.from)),s.overlay?c.length&&(r={ranges:c,depth:0,prev:r}):a=!1}}else if(i&&(l=i.predicate(n))&&(l===!0&&(l=new si(n.from,n.to)),l.from<l.to)){let O=i.ranges.length-1;O>=0&&i.ranges[O].to==l.from?i.ranges[O]={from:i.ranges[O].from,to:l.to}:i.ranges.push(l)}if(a&&n.firstChild())i&&i.depth++,r&&r.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(i&&!--i.depth){let O=cS(this.ranges,i.ranges);O.length&&(aS(O),this.inner.splice(i.index,0,new oS(i.parser,i.parser.startParse(this.input,hS(i.mounts,O),O),i.ranges.map(c=>new si(c.from-i.start,c.to-i.start)),i.bracketed,i.target,O[0].from))),i=i.prev}r&&!--r.depth&&(r=r.prev)}}}}function $5(t,e,i){for(let r of t){if(r.from>=i)break;if(r.to>e)return r.from<=e&&r.to>=i?2:1}return 0}function lS(t,e,i,r,n,s){if(e<i){let o=t.buffer[e+1];r.push(t.slice(e,i,o)),n.push(o-s)}}function _5(t){let{node:e}=t,i=[],r=e.context.buffer;do i.push(t.index),t.parent();while(!t.tree);let n=t.tree,s=n.children.indexOf(r),o=n.children[s],a=o.buffer,l=[s];function O(c,h,u,m,S,Q){let g=i[Q],d=[],f=[];lS(o,c,g,d,f,m);let p=a[g+1],$=a[g+2];l.push(d.length);let _=Q?O(g+4,a[g+3],o.set.types[a[g]],p,$-p,Q-1):e.toTree();return d.push(_),f.push(p-m),lS(o,a[g+3],h,d,f,m),new _e(u,d,f,S)}n.children[s]=O(0,a.length,Ne.none,0,o.length,i.length-1);for(let c of l){let h=t.tree.children[c],u=t.tree.positions[c];t.yield(new ft(h,u+t.from,c,t._tree))}}class OS{constructor(e,i){this.offset=i,this.done=!1,this.cursor=e.cursor(Se.IncludeAnonymous|Se.IgnoreMounts)}moveTo(e){let{cursor:i}=this,r=e-this.offset;for(;!this.done&&i.from<r;)i.to>=e&&i.enter(r,1,Se.IgnoreOverlays|Se.ExcludeBuffers)||i.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let i=this.cursor.tree;;){if(i==e.tree)return!0;if(i.children.length&&i.positions[0]==0&&i.children[0]instanceof _e)i=i.children[0];else break}return!1}}let v5=class{constructor(e){var i;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=(i=r.tree.prop(ud))!==null&&i!==void 0?i:r.to,this.inner=new OS(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 i=this.curFrag=this.fragments[this.fragI];this.curTo=(e=i.tree.prop(ud))!==null&&e!==void 0?e:i.to,this.inner=new OS(i.tree,-i.offset)}}findMounts(e,i){var r;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(r=s.tree)===null||r===void 0?void 0:r.prop(le.mounted);if(o&&o.parser==i)for(let a=this.fragI;a<this.fragments.length;a++){let l=this.fragments[a];if(l.from>=s.to)break;l.tree==this.curFrag.tree&&n.push({frag:l,pos:s.from-l.offset,mount:o})}}}return n}};function cS(t,e){let i=null,r=e;for(let n=1,s=0;n<t.length;n++){let o=t[n-1].to,a=t[n].from;for(;s<r.length;s++){let l=r[s];if(l.from>=a)break;l.to<=o||(i||(r=i=e.slice()),l.from<o?(i[s]=new si(l.from,o),l.to>a&&i.splice(s+1,0,new si(a,l.to))):l.to>a?i[s--]=new si(a,l.to):i.splice(s--,1))}}return r}function P5(t,e,i,r){let n=0,s=0,o=!1,a=!1,l=-1e9,O=[];for(;;){let c=n==t.length?1e9:o?t[n].to:t[n].from,h=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,i),m=Math.min(c,h,r);u<m&&O.push(new si(u,m))}if(l=Math.min(c,h),l==1e9)break;c==l&&(o?(o=!1,n++):o=!0),h==l&&(a?(a=!1,s++):a=!0)}return O}function hS(t,e){let i=[];for(let{pos:r,mount:n,frag:s}of t){let o=r+(n.overlay?n.overlay[0].from:0),a=o+n.tree.length,l=Math.max(s.from,o),O=Math.min(s.to,a);if(n.overlay){let c=n.overlay.map(u=>new si(u.from+r,u.to+r)),h=P5(e,c,l,O);for(let u=0,m=l;;u++){let S=u==h.length,Q=S?O:h[u].from;if(Q>m&&i.push(new vi(m,Q,n.tree,-o,s.from>=m||s.openStart,s.to<=Q||s.openEnd)),S)break;m=h[u].to}}else i.push(new vi(l,O,n.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return i}let y5=0,zi=class fd{constructor(e,i,r,n){this.name=e,this.set=i,this.base=r,this.modified=n,this.id=y5++}toString(){let{name:e}=this;for(let i of this.modified)i.name&&(e=`${i.name}(${e})`);return e}static define(e,i){let r=typeof e=="string"?e:"?";if(e instanceof fd&&(i=e),i!=null&&i.base)throw new Error("Can not derive from a modified tag");let n=new fd(r,[],null,[]);if(n.set.push(n),i)for(let s of i.set)n.set.push(s);return n}static defineModifier(e){let i=new tc(e);return r=>r.modified.indexOf(i)>-1?r:tc.get(r.base||r,r.modified.concat(i).sort((n,s)=>n.id-s.id))}},w5=0;class tc{constructor(e){this.name=e,this.instances=[],this.id=w5++}static get(e,i){if(!i.length)return e;let r=i[0].instances.find(a=>a.base==e&&X5(i,a.modified));if(r)return r;let n=[],s=new zi(e.name,n,e,i);for(let a of i)a.instances.push(s);let o=b5(i);for(let a of e.set)if(!a.modified.length)for(let l of o)n.push(tc.get(a,l));return s}}function X5(t,e){return t.length==e.length&&t.every((i,r)=>i==e[r])}function b5(t){let e=[[]];for(let i=0;i<t.length;i++)for(let r=0,n=e.length;r<n;r++)e.push(e[r].concat(t[i]));return e.sort((i,r)=>r.length-i.length)}function qt(t){let e=Object.create(null);for(let i in t){let r=t[i];Array.isArray(r)||(r=[r]);for(let n of i.split(" "))if(n){let s=[],o=2,a=n;for(let h=0;;){if(a=="..."&&h>0&&h+3==n.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+n);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),h+=u[0].length,h==n.length)break;let m=n[h++];if(h==n.length&&m=="!"){o=0;break}if(m!="/")throw new RangeError("Invalid path: "+n);a=n.slice(h)}let l=s.length-1,O=s[l];if(!O)throw new RangeError("Invalid path: "+n);let c=new Pa(r,o,l>0?s.slice(0,l):null);e[O]=c.sort(e[O])}}return gP.add(e)}const gP=new le({combine(t,e){let i,r,n;for(;t||e;){if(!t||e&&t.depth>=e.depth?(n=e,e=e.next):(n=t,t=t.next),i&&i.mode==n.mode&&!n.context&&!i.context)continue;let s=new Pa(n.tags,n.mode,n.context);i?i.next=s:r=s,i=s}return r}});class Pa{constructor(e,i,r,n){this.tags=e,this.mode=i,this.context=r,this.next=n}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}}Pa.empty=new Pa([],2,null);function QP(t,e){let i=Object.create(null);for(let s of t)if(!Array.isArray(s.tag))i[s.tag.id]=s.class;else for(let o of s.tag)i[o.id]=s.class;let{scope:r,all:n=null}=e||{};return{style:s=>{let o=n;for(let a of s)for(let l of a.set){let O=i[l.id];if(O){o=o?o+" "+O:O;break}}return o},scope:r}}function x5(t,e){let i=null;for(let r of t){let n=r.style(e);n&&(i=i?i+" "+n:n)}return i}function dd(t,e,i,r=0,n=t.length){let s=new k5(r,Array.isArray(e)?e:[e],i);s.highlightRange(t.cursor(),r,n,"",s.highlighters),s.flush(n)}class k5{constructor(e,i,r){this.at=e,this.highlighters=i,this.span=r,this.class=""}startSpan(e,i){i!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=i)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,i,r,n,s){let{type:o,from:a,to:l}=e;if(a>=r||l<=i)return;o.isTop&&(s=this.highlighters.filter(m=>!m.scope||m.scope(o)));let O=n,c=T5(e)||Pa.empty,h=x5(s,c.tags);if(h&&(O&&(O+=" "),O+=h,c.mode==1&&(n+=(n?" ":"")+h)),this.startSpan(Math.max(i,a),O),c.opaque)return;let u=e.tree&&e.tree.prop(le.mounted);if(u&&u.overlay){let m=e.node.enter(u.overlay[0].from+a,1),S=this.highlighters.filter(g=>!g.scope||g.scope(u.tree.type)),Q=e.firstChild();for(let g=0,d=a;;g++){let f=g<u.overlay.length?u.overlay[g]:null,p=f?f.from+a:l,$=Math.max(i,d),_=Math.min(r,p);if($<_&&Q)for(;e.from<_&&(this.highlightRange(e,$,_,n,s),this.startSpan(Math.min(_,e.to),O),!(e.to>=p||!e.nextSibling())););if(!f||p>r)break;d=f.to+a,d>i&&(this.highlightRange(m.cursor(),Math.max(i,f.from+a),Math.min(r,d),"",S),this.startSpan(Math.min(r,d),O))}Q&&e.parent()}else if(e.firstChild()){u&&(n="");do if(!(e.to<=i)){if(e.from>=r)break;this.highlightRange(e,i,r,n,s),this.startSpan(Math.min(r,e.to),O)}while(e.nextSibling());e.parent()}}}function T5(t){let e=t.type.prop(gP);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const F=zi.define,Zl=F(),Tr=F(),uS=F(Tr),fS=F(Tr),Rr=F(),Wl=F(Rr),Kh=F(Rr),Wi=F(),an=F(Wi),Yi=F(),Zi=F(),pd=F(),po=F(pd),Ul=F(),y={comment:Zl,lineComment:F(Zl),blockComment:F(Zl),docComment:F(Zl),name:Tr,variableName:F(Tr),typeName:uS,tagName:F(uS),propertyName:fS,attributeName:F(fS),className:F(Tr),labelName:F(Tr),namespace:F(Tr),macroName:F(Tr),literal:Rr,string:Wl,docString:F(Wl),character:F(Wl),attributeValue:F(Wl),number:Kh,integer:F(Kh),float:F(Kh),bool:F(Rr),regexp:F(Rr),escape:F(Rr),color:F(Rr),url:F(Rr),keyword:Yi,self:F(Yi),null:F(Yi),atom:F(Yi),unit:F(Yi),modifier:F(Yi),operatorKeyword:F(Yi),controlKeyword:F(Yi),definitionKeyword:F(Yi),moduleKeyword:F(Yi),operator:Zi,derefOperator:F(Zi),arithmeticOperator:F(Zi),logicOperator:F(Zi),bitwiseOperator:F(Zi),compareOperator:F(Zi),updateOperator:F(Zi),definitionOperator:F(Zi),typeOperator:F(Zi),controlOperator:F(Zi),punctuation:pd,separator:F(pd),bracket:po,angleBracket:F(po),squareBracket:F(po),paren:F(po),brace:F(po),content:Wi,heading:an,heading1:F(an),heading2:F(an),heading3:F(an),heading4:F(an),heading5:F(an),heading6:F(an),contentSeparator:F(Wi),list:F(Wi),quote:F(Wi),emphasis:F(Wi),strong:F(Wi),link:F(Wi),monospace:F(Wi),strikethrough:F(Wi),inserted:F(),deleted:F(),changed:F(),invalid:F(),meta:Ul,documentMeta:F(Ul),annotation:F(Ul),processingInstruction:F(Ul),definition:zi.defineModifier("definition"),constant:zi.defineModifier("constant"),function:zi.defineModifier("function"),standard:zi.defineModifier("standard"),local:zi.defineModifier("local"),special:zi.defineModifier("special")};for(let t in y){let e=y[t];e instanceof zi&&(e.name=t)}QP([{tag:y.link,class:"tok-link"},{tag:y.heading,class:"tok-heading"},{tag:y.emphasis,class:"tok-emphasis"},{tag:y.strong,class:"tok-strong"},{tag:y.keyword,class:"tok-keyword"},{tag:y.atom,class:"tok-atom"},{tag:y.bool,class:"tok-bool"},{tag:y.url,class:"tok-url"},{tag:y.labelName,class:"tok-labelName"},{tag:y.inserted,class:"tok-inserted"},{tag:y.deleted,class:"tok-deleted"},{tag:y.literal,class:"tok-literal"},{tag:y.string,class:"tok-string"},{tag:y.number,class:"tok-number"},{tag:[y.regexp,y.escape,y.special(y.string)],class:"tok-string2"},{tag:y.variableName,class:"tok-variableName"},{tag:y.local(y.variableName),class:"tok-variableName tok-local"},{tag:y.definition(y.variableName),class:"tok-variableName tok-definition"},{tag:y.special(y.variableName),class:"tok-variableName2"},{tag:y.definition(y.propertyName),class:"tok-propertyName tok-definition"},{tag:y.typeName,class:"tok-typeName"},{tag:y.namespace,class:"tok-namespace"},{tag:y.className,class:"tok-className"},{tag:y.macroName,class:"tok-macroName"},{tag:y.propertyName,class:"tok-propertyName"},{tag:y.operator,class:"tok-operator"},{tag:y.comment,class:"tok-comment"},{tag:y.meta,class:"tok-meta"},{tag:y.invalid,class:"tok-invalid"},{tag:y.punctuation,class:"tok-punctuation"}]);var Jh;const Pn=new le;function lm(t){return K.define({combine:t?e=>e.concat(t):void 0})}const Om=new le;class oi{constructor(e,i,r=[],n=""){this.data=e,this.name=n,fe.prototype.hasOwnProperty("tree")||Object.defineProperty(fe.prototype,"tree",{get(){return ve(this)}}),this.parser=i,this.extension=[Qr.of(this),fe.languageData.of((s,o,a)=>{let l=dS(s,o,a),O=l.type.prop(Pn);if(!O)return[];let c=s.facet(O),h=l.type.prop(Om);if(h){let u=l.resolve(o-l.from,a);for(let m of h)if(m.test(u,s)){let S=s.facet(m.facet);return m.type=="replace"?S:S.concat(c)}}return c})].concat(r)}isActiveAt(e,i,r=-1){return dS(e,i,r).type.prop(Pn)==this.data}findRegions(e){let i=e.facet(Qr);if((i==null?void 0:i.data)==this.data)return[{from:0,to:e.doc.length}];if(!i||!i.allowsNesting)return[];let r=[],n=(s,o)=>{if(s.prop(Pn)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(le.mounted);if(a){if(a.tree.prop(Pn)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+o,to:l.to+o});else r.push({from:o,to:o+s.length});return}else if(a.overlay){let l=r.length;if(n(a.tree,a.overlay[0].from+o),r.length>l)return}}for(let l=0;l<s.children.length;l++){let O=s.children[l];O instanceof _e&&n(O,s.positions[l]+o)}};return n(ve(e),0),r}get allowsNesting(){return!0}}oi.setState=ae.define();function dS(t,e,i){let r=t.facet(Qr),n=ve(t).topNode;if(!r||r.allowsNesting)for(let s=n;s;s=s.enter(e,i,Se.ExcludeBuffers|Se.EnterBracketed))s.type.isTop&&(n=s);return n}class Ut extends oi{constructor(e,i,r){super(e,i,[],r),this.parser=i}static define(e){let i=lm(e.languageData);return new Ut(i,e.parser.configure({props:[Pn.add(r=>r.isTop?i:void 0)]}),e.name)}configure(e,i){return new Ut(this.data,this.parser.configure(e),i||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function ve(t){let e=t.field(oi.state,!1);return e?e.tree:_e.empty}class R5{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,i){let r=this.cursorPos-this.string.length;return e<r||i>=this.cursorPos?this.doc.sliceString(e,i):this.string.slice(e-r,i-r)}}let mo=null;class ya{constructor(e,i,r=[],n,s,o,a,l){this.parser=e,this.state=i,this.fragments=r,this.tree=n,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,i,r){return new ya(e,i,[],_e.empty,0,r,[],null)}startParse(){return this.parser.startParse(new R5(this.state.doc),this.fragments)}work(e,i){return i!=null&&i>=this.state.doc.length&&(i=void 0),this.tree!=_e.empty&&this.isDone(i??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let n=Date.now()+e;e=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),i!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>i)&&i<this.state.doc.length&&this.parse.stopAt(i);;){let n=this.parse.advance();if(n)if(this.fragments=this.withoutTempSkipped(vi.addTree(n,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=n,this.parse=null,this.treeLen<(i??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,i;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(i=this.parse.advance()););}),this.treeLen=e,this.tree=i,this.fragments=this.withoutTempSkipped(vi.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let i=mo;mo=this;try{return e()}finally{mo=i}}withoutTempSkipped(e){for(let i;i=this.tempSkipped.pop();)e=pS(e,i.from,i.to);return e}changes(e,i){let{fragments:r,tree:n,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((O,c,h,u)=>l.push({fromA:O,toA:c,fromB:h,toB:u})),r=vi.applyChanges(r,l),n=_e.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let O of this.skipped){let c=e.mapPos(O.from,1),h=e.mapPos(O.to,-1);c<h&&a.push({from:c,to:h})}}}return new ya(this.parser,i,r,n,s,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let i=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:n,to:s}=this.skipped[r];n<e.to&&s>e.from&&(this.fragments=pS(this.fragments,n,s),this.skipped.splice(r--,1))}return this.skipped.length>=i?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,i){this.skipped.push({from:e,to:i})}static getSkippingParser(e){return new class extends am{createParse(i,r,n){let s=n[0].from,o=n[n.length-1].to;return{parsedPos:s,advance(){let l=mo;if(l){for(let O of n)l.tempSkipped.push(O);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new _e(Ne.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let i=this.fragments;return this.treeLen>=e&&i.length&&i[0].from==0&&i[0].to>=e}static get(){return mo}}function pS(t,e,i){return vi.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}class Us{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let i=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),i.viewport.to);return i.work(20,r)||i.takeTree(),new Us(i)}static init(e){let i=Math.min(3e3,e.doc.length),r=ya.create(e.facet(Qr).parser,e,{from:0,to:i});return r.work(20,i)||r.takeTree(),new Us(r)}}oi.state=et.define({create:Us.init,update(t,e){for(let i of e.effects)if(i.is(oi.setState))return i.value;return e.startState.facet(Qr)!=e.state.facet(Qr)?Us.init(e.state):t.apply(e)}});let SP=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(SP=t=>{let e=-1,i=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(i):cancelIdleCallback(e)});const eu=typeof navigator<"u"&&(!((Jh=navigator.scheduling)===null||Jh===void 0)&&Jh.isInputPending)?()=>navigator.scheduling.isInputPending():null,C5=Re.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 i=this.view.state.field(oi.state).context;(i.updateViewport(e.view.viewport)||this.view.viewport.to>i.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(i)}scheduleWork(){if(this.working)return;let{state:e}=this.view,i=e.field(oi.state);(i.tree!=i.context.tree||!i.context.isDone(e.doc.length))&&(this.working=SP(this.work))}work(e){this.working=null;let i=Date.now();if(this.chunkEnd<i&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=i+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:n}}=this.view,s=r.field(oi.state);if(s.tree==s.context.tree&&s.context.isDone(n+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!eu?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<n&&r.doc.length>n+1e3,l=s.context.work(()=>eu&&eu()||Date.now()>o,n+(a?0:1e5));this.chunkBudget-=Date.now()-i,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:oi.setState.of(new Us(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(i=>Tt(this.view.state,i)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Qr=K.define({combine(t){return t.length?t[0]:null},enables:t=>[oi.state,C5,N.contentAttributes.compute([t],e=>{let i=e.facet(t);return i&&i.name?{"data-language":i.name}:{}})]});class Ft{constructor(e,i=[]){this.language=e,this.support=i,this.extension=[e,i]}}class ic{constructor(e,i,r,n,s,o=void 0){this.name=e,this.alias=i,this.extensions=r,this.filename=n,this.loadFunc=s,this.support=o,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:i,support:r}=e;if(!i){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");i=()=>Promise.resolve(r)}return new ic(e.name,(e.alias||[]).concat(e.name).map(n=>n.toLowerCase()),e.extensions||[],e.filename,i,r)}static matchFilename(e,i){for(let n of e)if(n.filename&&n.filename.test(i))return n;let r=/\.([^.]+)$/.exec(i);if(r){for(let n of e)if(n.extensions.indexOf(r[1])>-1)return n}return null}static matchLanguageName(e,i,r=!0){i=i.toLowerCase();for(let n of e)if(n.alias.some(s=>s==i))return n;if(r)for(let n of e)for(let s of n.alias){let o=i.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(i[o-1])&&!/\w/.test(i[o+s.length])))return n}return null}}const Y5=K.define(),Is=K.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(i=>i!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function rc(t){let e=t.facet(Is);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function wa(t,e){let i="",r=t.tabSize,n=t.facet(Is)[0];if(n==" "){for(;e>=r;)i+=" ",e-=r;n=" "}for(let s=0;s<e;s++)i+=n;return i}function cm(t,e){t instanceof fe&&(t=new Ic(t));for(let r of t.state.facet(Y5)){let n=r(t,e);if(n!==void 0)return n}let i=ve(t.state);return i.length>=e?Z5(t,i,e):null}class Ic{constructor(e,i={}){this.state=e,this.options=i,this.unit=rc(e)}lineAt(e,i=1){let r=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:s}=this.options;return n!=null&&n>=r.from&&n<=r.to?s&&n==e?{text:"",from:e}:(i<0?n<e:n<=e)?{text:r.text.slice(n-r.from),from:n}:{text:r.text.slice(0,n-r.from),from:r.from}:r}textAfterPos(e,i=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:n}=this.lineAt(e,i);return r.slice(e-n,Math.min(r.length,e+100-n))}column(e,i=1){let{text:r,from:n}=this.lineAt(e,i),s=this.countColumn(r,e-n),o=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return o>-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,i=e.length){return yi(e,this.state.tabSize,i)}lineIndent(e,i=1){let{text:r,from:n}=this.lineAt(e,i),s=this.options.overrideIndentation;if(s){let o=s(n);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Jt=new le;function Z5(t,e,i){let r=e.resolveStack(i),n=e.resolveInner(i,-1).resolve(i,0).enterUnfinishedNodesBefore(i);if(n!=r.node){let s=[];for(let o=n;o&&!(o.from<r.node.from||o.to>r.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return $P(r,t,i)}function $P(t,e,i){for(let r=t;r;r=r.next){let n=U5(r.node);if(n)return n(hm.create(e,i,r))}return 0}function W5(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function U5(t){let e=t.type.prop(Jt);if(e)return e;let i=t.firstChild,r;if(i&&(r=i.type.prop(le.closedBy))){let n=t.lastChild,s=n&&r.indexOf(n.name)>-1;return o=>_P(o,!0,1,void 0,s&&!W5(o)?n.from:void 0)}return t.parent==null?z5:null}function z5(){return 0}class hm extends Ic{constructor(e,i,r){super(e.state,e.options),this.base=e,this.pos=i,this.context=r}get node(){return this.context.node}static create(e,i,r){return new hm(e,i,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let i=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(i.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(q5(r,e))break;i=this.state.doc.lineAt(r.from)}return this.lineIndent(i.from)}continue(){return $P(this.context.next,this.base,this.pos)}}function q5(t,e){for(let i=e;i;i=i.parent)if(t==i)return!0;return!1}function V5(t){let e=t.node,i=e.childAfter(e.from),r=e.lastChild;if(!i)return null;let n=t.options.simulateBreak,s=t.state.doc.lineAt(i.from),o=n==null||n<=s.from?s.to:Math.min(s.to,n);for(let a=i.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let O=/^ */.exec(s.text.slice(i.to-s.from))[0].length;return{from:i.from,to:i.to+O}}a=l.to}}function hr({closing:t,align:e=!0,units:i=1}){return r=>_P(r,e,i,t)}function _P(t,e,i,r,n){let s=t.textAfter,o=s.match(/^\s*/)[0].length,a=r&&s.slice(o,o+r.length)==r||n==t.pos+o,l=e?V5(t):null;return l?a?t.column(l.from):t.column(l.to):t.baseIndent+(a?0:t.unit*i)}const Nc=t=>t.baseIndent;function at({except:t,units:e=1}={}){return i=>{let r=t&&t.test(i.textAfter);return i.baseIndent+(r?0:e*i.unit)}}const E5=200;function A5(){return fe.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let i=t.newDoc,{head:r}=t.newSelection.main,n=i.lineAt(r);if(r>n.from+E5)return t;let s=i.sliceString(n.from,r);if(!e.some(O=>O.test(s)))return t;let{state:o}=t,a=-1,l=[];for(let{head:O}of o.selection.ranges){let c=o.doc.lineAt(O);if(c.from==a)continue;a=c.from;let h=cm(o,c.from);if(h==null)continue;let u=/^\s*/.exec(c.text)[0],m=wa(o,h);u!=m&&l.push({from:c.from,to:c.from+u.length,insert:m})}return l.length?[t,{changes:l,sequential:!0}]:t})}const vP=K.define(),Vt=new le;function vr(t){let e=t.firstChild,i=t.lastChild;return e&&e.to<i.from?{from:e.to,to:i.type.isError?t.to:i.from}:null}function j5(t,e,i){let r=ve(t);if(r.length<i)return null;let n=r.resolveStack(i,1),s=null;for(let o=n;o;o=o.next){let a=o.node;if(a.to<=i||a.from>i)continue;if(s&&a.from<e)break;let l=a.type.prop(Vt);if(l&&(a.to<r.length-50||r.length==t.doc.length||!L5(a))){let O=l(a,t);O&&O.from<=i&&O.from>=e&&O.to>i&&(s=O)}}return s}function L5(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function nc(t,e,i){for(let r of t.facet(vP)){let n=r(t,e,i);if(n)return n}return j5(t,e,i)}function PP(t,e){let i=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return i>=r?void 0:{from:i,to:r}}const Ia=ae.define({map:PP}),Ns=ae.define({map:PP});function yP(t){let e=[];for(let{head:i}of t.state.selection.ranges)e.some(r=>r.from<=i&&r.to>=i)||e.push(t.lineBlockAt(i));return e}const en=et.define({create(){return ne.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((i,r)=>t=mS(t,i,r)),t=t.map(e.changes);for(let i of e.effects)if(i.is(Ia)&&!M5(t,i.value.from,i.value.to)){let{preparePlaceholder:r}=e.state.facet(bP),n=r?ne.replace({widget:new K5(r(e.state,i.value))}):gS;t=t.update({add:[n.range(i.value.from,i.value.to)]})}else i.is(Ns)&&(t=t.update({filter:(r,n)=>i.value.from!=r||i.value.to!=n,filterFrom:i.value.from,filterTo:i.value.to}));return e.selection&&(t=mS(t,e.selection.main.head)),t},provide:t=>N.decorations.from(t),toJSON(t,e){let i=[];return t.between(0,e.doc.length,(r,n)=>{i.push(r,n)}),i},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let i=0;i<t.length;){let r=t[i++],n=t[i++];if(typeof r!="number"||typeof n!="number")throw new RangeError("Invalid JSON for fold state");e.push(gS.range(r,n))}return ne.set(e,!0)}});function mS(t,e,i=e){let r=!1;return t.between(e,i,(n,s)=>{n<i&&s>e&&(r=!0)}),r?t.update({filterFrom:e,filterTo:i,filter:(n,s)=>n>=i||s<=e}):t}function D5(t){return t.field(en,!1)||ce.empty}function sc(t,e,i){var r;let n=null;return(r=t.field(en,!1))===null||r===void 0||r.between(e,i,(s,o)=>{(!n||n.from>s)&&(n={from:s,to:o})}),n}function M5(t,e,i){let r=!1;return t.between(e,e,(n,s)=>{n==e&&s==i&&(r=!0)}),r}function wP(t,e){return t.field(en,!1)?e:e.concat(ae.appendConfig.of(xP()))}const G5=t=>{for(let e of yP(t)){let i=nc(t.state,e.from,e.to);if(i)return t.dispatch({effects:wP(t.state,[Ia.of(i),XP(t,i)])}),!0}return!1},B5=t=>{if(!t.state.field(en,!1))return!1;let e=[];for(let i of yP(t)){let r=sc(t.state,i.from,i.to);r&&e.push(Ns.of(r),XP(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function XP(t,e,i=!0){let r=t.state.doc.lineAt(e.from).number,n=t.state.doc.lineAt(e.to).number;return N.announce.of(`${t.state.phrase(i?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${n}.`)}const I5=t=>{let{state:e}=t,i=[];for(let r=0;r<e.doc.length;){let n=t.lineBlockAt(r),s=nc(e,n.from,n.to);s&&i.push(Ia.of(s)),r=(s?t.lineBlockAt(s.to):n).to+1}return i.length&&t.dispatch({effects:wP(t.state,i)}),!!i.length},N5=t=>{let e=t.state.field(en,!1);if(!e||!e.size)return!1;let i=[];return e.between(0,t.state.doc.length,(r,n)=>{i.push(Ns.of({from:r,to:n}))}),t.dispatch({effects:i}),!0},F5=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:G5},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:B5},{key:"Ctrl-Alt-[",run:I5},{key:"Ctrl-Alt-]",run:N5}],H5={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},bP=K.define({combine(t){return Xi(t,H5)}});function xP(t){return[en,tC]}function kP(t,e){let{state:i}=t,r=i.facet(bP),n=o=>{let a=t.lineBlockAt(t.posAtDOM(o.target)),l=sc(t.state,a.from,a.to);l&&t.dispatch({effects:Ns.of(l)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,n,e);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",i.phrase("folded code")),s.title=i.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=n,s}const gS=ne.replace({widget:new class extends bi{toDOM(t){return kP(t,null)}}});class K5 extends bi{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return kP(e,this.value)}}const J5={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class tu extends gr{constructor(e,i){super(),this.config=e,this.open=i}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let i=document.createElement("span");return i.textContent=this.open?this.config.openText:this.config.closedText,i.title=e.state.phrase(this.open?"Fold line":"Unfold line"),i}}function eC(t={}){let e={...J5,...t},i=new tu(e,!0),r=new tu(e,!1),n=Re.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(Qr)!=o.state.facet(Qr)||o.startState.field(en,!1)!=o.state.field(en,!1)||ve(o.startState)!=ve(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new Fi;for(let l of o.viewportLineBlocks){let O=sc(o.state,l.from,l.to)?r:nc(o.state,l.from,l.to)?i:null;O&&a.add(l.from,l.from,O)}return a.finish()}}),{domEventHandlers:s}=e;return[n,e5({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(n))===null||a===void 0?void 0:a.markers)||ce.empty},initialSpacer(){return new tu(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let O=sc(o.state,a.from,a.to);if(O)return o.dispatch({effects:Ns.of(O)}),!0;let c=nc(o.state,a.from,a.to);return c?(o.dispatch({effects:Ia.of(c)}),!0):!1}}}),xP()]}const tC=N.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 Fs{constructor(e,i){this.specs=e;let r;function n(a){let l=Fr.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const s=typeof i.all=="string"?i.all:i.all?n(i.all):void 0,o=i.scope;this.scope=o instanceof oi?a=>a.prop(Pn)==o.data:o?a=>a==o:void 0,this.style=QP(e.map(a=>({tag:a.tag,class:a.class||n(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new Fr(r):null,this.themeType=i.themeType}static define(e,i){return new Fs(e,i||{})}}const md=K.define(),TP=K.define({combine(t){return t.length?[t[0]]:null}});function uO(t){let e=t.facet(md);return e.length?e:t.facet(TP)}function um(t,e){let i=[nC],r;return t instanceof Fs&&(t.module&&i.push(N.styleModule.of(t.module)),r=t.themeType),e!=null&&e.fallback?i.push(TP.of(t)):r?i.push(md.computeN([N.darkTheme],n=>n.facet(N.darkTheme)==(r=="dark")?[t]:[])):i.push(md.of(t)),i}function iC(t,e,i){let r=uO(t),n=null;if(r){for(let s of r)if(!s.scope||i){let o=s.style(e);o&&(n=n?n+" "+o:o)}}return n}class rC{constructor(e){this.markCache=Object.create(null),this.tree=ve(e.state),this.decorations=this.buildDeco(e,uO(e.state)),this.decoratedTo=e.viewport.to}update(e){let i=ve(e.state),r=uO(e.state),n=r!=uO(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);i.length<s.to&&!n&&i.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(i!=this.tree||e.viewportChanged||n)&&(this.tree=i,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,i){if(!i||!this.tree.length)return ne.none;let r=new Fi;for(let{from:n,to:s}of e.visibleRanges)dd(this.tree,i,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=ne.mark({class:l})))},n,s);return r.finish()}}const nC=_r.high(Re.fromClass(rC,{decorations:t=>t.decorations})),sC=Fs.define([{tag:y.meta,color:"#404740"},{tag:y.link,textDecoration:"underline"},{tag:y.heading,textDecoration:"underline",fontWeight:"bold"},{tag:y.emphasis,fontStyle:"italic"},{tag:y.strong,fontWeight:"bold"},{tag:y.strikethrough,textDecoration:"line-through"},{tag:y.keyword,color:"#708"},{tag:[y.atom,y.bool,y.url,y.contentSeparator,y.labelName],color:"#219"},{tag:[y.literal,y.inserted],color:"#164"},{tag:[y.string,y.deleted],color:"#a11"},{tag:[y.regexp,y.escape,y.special(y.string)],color:"#e40"},{tag:y.definition(y.variableName),color:"#00f"},{tag:y.local(y.variableName),color:"#30a"},{tag:[y.typeName,y.namespace],color:"#085"},{tag:y.className,color:"#167"},{tag:[y.special(y.variableName),y.macroName],color:"#256"},{tag:y.definition(y.propertyName),color:"#00c"},{tag:y.comment,color:"#940"},{tag:y.invalid,color:"#f00"}]),oC=N.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),RP=1e4,CP="()[]{}",YP=K.define({combine(t){return Xi(t,{afterCursor:!0,brackets:CP,maxScanDistance:RP,renderMatch:OC})}}),aC=ne.mark({class:"cm-matchingBracket"}),lC=ne.mark({class:"cm-nonmatchingBracket"});function OC(t){let e=[],i=t.matched?aC:lC;return e.push(i.range(t.start.from,t.start.to)),t.end&&e.push(i.range(t.end.from,t.end.to)),e}function QS(t){let e=[],i=t.facet(YP);for(let r of t.selection.ranges){if(!r.empty)continue;let n=Di(t,r.head,-1,i)||r.head>0&&Di(t,r.head-1,1,i)||i.afterCursor&&(Di(t,r.head,1,i)||r.head<t.doc.length&&Di(t,r.head+1,-1,i));n&&(e=e.concat(i.renderMatch(n,t)))}return ne.set(e,!0)}const cC=Re.fromClass(class{constructor(t){this.paused=!1,this.decorations=QS(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=QS(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),hC=[cC,oC];function uC(t={}){return[YP.of(t),hC]}const ZP=new le;function gd(t,e,i){let r=t.prop(e<0?le.openedBy:le.closedBy);if(r)return r;if(t.name.length==1){let n=i.indexOf(t.name);if(n>-1&&n%2==(e<0?1:0))return[i[n+e]]}return null}function Qd(t){let e=t.type.prop(ZP);return e?e(t.node):t}function Di(t,e,i,r={}){let n=r.maxScanDistance||RP,s=r.brackets||CP,o=ve(t),a=o.resolveInner(e,i);for(let l=a;l;l=l.parent){let O=gd(l.type,i,s);if(O&&l.from<l.to){let c=Qd(l);if(c&&(i>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return fC(t,e,i,l,c,O,s)}}return dC(t,e,i,o,a.type,n,s)}function fC(t,e,i,r,n,s,o){let a=r.parent,l={from:n.from,to:n.to},O=0,c=a==null?void 0:a.cursor();if(c&&(i<0?c.childBefore(r.from):c.childAfter(r.to)))do if(i<0?c.to<=r.from:c.from>=r.to){if(O==0&&s.indexOf(c.type.name)>-1&&c.from<c.to){let h=Qd(c);return{start:l,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(gd(c.type,i,o))O++;else if(gd(c.type,-i,o)){if(O==0){let h=Qd(c);return{start:l,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}O--}}while(i<0?c.prevSibling():c.nextSibling());return{start:l,matched:!1}}function dC(t,e,i,r,n,s,o){let a=i<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=i>0)return null;let O={from:i<0?e-1:e,to:i>0?e+1:e},c=t.doc.iterRange(e,i>0?t.doc.length:0),h=0;for(let u=0;!c.next().done&&u<=s;){let m=c.value;i<0&&(u+=m.length);let S=e+u*i;for(let Q=i>0?0:m.length-1,g=i>0?m.length:-1;Q!=g;Q+=i){let d=o.indexOf(m[Q]);if(!(d<0||r.resolveInner(S+Q,1).type!=n))if(d%2==0==i>0)h++;else{if(h==1)return{start:O,end:{from:S+Q,to:S+Q+1},matched:d>>1==l>>1};h--}}i>0&&(u+=m.length)}return c.done?{start:O,matched:!1}:null}const pC=Object.create(null),SS=[Ne.none],$S=[],_S=Object.create(null),mC=Object.create(null);for(let[t,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"]])mC[t]=gC(pC,e);function iu(t,e){$S.indexOf(t)>-1||($S.push(t),console.warn(e))}function gC(t,e){let i=[];for(let a of e.split(" ")){let l=[];for(let O of a.split(".")){let c=t[O]||y[O];c?typeof c=="function"?l.length?l=l.map(c):iu(O,`Modifier ${O} used at start of tag`):l.length?iu(O,`Tag ${O} used as modifier`):l=Array.isArray(c)?c:[c]:iu(O,`Unknown highlighting tag ${O}`)}for(let O of l)i.push(O)}if(!i.length)return 0;let r=e.replace(/ /g,"_"),n=r+" "+i.map(a=>a.id),s=_S[n];if(s)return s.id;let o=_S[n]=Ne.define({id:SS.length,name:r,props:[qt({[r]:i})]});return SS.push(o),o.id}Xe.RTL,Xe.LTR;const QC=t=>{let{state:e}=t,i=e.doc.lineAt(e.selection.main.from),r=dm(t.state,i.from);return r.line?SC(t):r.block?_C(t):!1};function fm(t,e){return({state:i,dispatch:r})=>{if(i.readOnly)return!1;let n=t(e,i);return n?(r(i.update(n)),!0):!1}}const SC=fm(yC,0),$C=fm(WP,0),_C=fm((t,e)=>WP(t,e,PC(e)),0);function dm(t,e){let i=t.languageDataAt("commentTokens",e,1);return i.length?i[0]:{}}const go=50;function vC(t,{open:e,close:i},r,n){let s=t.sliceDoc(r-go,r),o=t.sliceDoc(n,n+go),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,O=s.length-a;if(s.slice(O-e.length,O)==e&&o.slice(l,l+i.length)==i)return{open:{pos:r-a,margin:a&&1},close:{pos:n+l,margin:l&&1}};let c,h;n-r<=2*go?c=h=t.sliceDoc(r,n):(c=t.sliceDoc(r,r+go),h=t.sliceDoc(n-go,n));let u=/^\s*/.exec(c)[0].length,m=/\s*$/.exec(h)[0].length,S=h.length-m-i.length;return c.slice(u,u+e.length)==e&&h.slice(S,S+i.length)==i?{open:{pos:r+u+e.length,margin:/\s/.test(c.charAt(u+e.length))?1:0},close:{pos:n-m-i.length,margin:/\s/.test(h.charAt(S-1))?1:0}}:null}function PC(t){let e=[];for(let i of t.selection.ranges){let r=t.doc.lineAt(i.from),n=i.to<=r.to?r:t.doc.lineAt(i.to);n.from>r.from&&n.from==i.to&&(n=i.to==r.to+1?r:t.doc.lineAt(i.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=n.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:n.to})}return e}function WP(t,e,i=e.selection.ranges){let r=i.map(s=>dm(e,s.from).block);if(!r.every(s=>s))return null;let n=i.map((s,o)=>vC(e,r[o],s.from,s.to));if(t!=2&&!n.every(s=>s))return{changes:e.changes(i.map((s,o)=>n[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(t!=1&&n.some(s=>s)){let s=[];for(let o=0,a;o<n.length;o++)if(a=n[o]){let l=r[o],{open:O,close:c}=a;s.push({from:O.pos-l.open.length,to:O.pos+O.margin},{from:c.pos-c.margin,to:c.pos+l.close.length})}return{changes:s}}return null}function yC(t,e,i=e.selection.ranges){let r=[],n=-1;e:for(let{from:s,to:o}of i){let a=r.length,l=1e9,O;for(let c=s;c<=o;){let h=e.doc.lineAt(c);if(O==null&&(O=dm(e,h.from).line,!O))continue e;if(h.from>n&&(s==o||o>h.from)){n=h.from;let u=/^\s*/.exec(h.text)[0].length,m=u==h.length,S=h.text.slice(u,u+O.length)==O?u:-1;u<h.text.length&&u<l&&(l=u),r.push({line:h,comment:S,token:O,indent:u,empty:m,single:!1})}c=h.to+1}if(l<1e9)for(let c=a;c<r.length;c++)r[c].indent<r[c].line.text.length&&(r[c].indent=l);r.length==a+1&&(r[a].single=!0)}if(t!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:O,empty:c,single:h}of r)(h||!c)&&s.push({from:a.from+O,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(t!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let O=o.from+a,c=O+l.length;o.text[c-o.from]==" "&&c++,s.push({from:O,to:c})}return{changes:s}}return null}const Sd=Hi.define(),wC=Hi.define(),XC=K.define(),UP=K.define({combine(t){return Xi(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,i)=>i},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,i)=>(r,n)=>e(r,n)||i(r,n)})}}),zP=et.define({create(){return Mi.empty},update(t,e){let i=e.state.facet(UP),r=e.annotation(Sd);if(r){let l=Rt.fromTransaction(e,r.selection),O=r.side,c=O==0?t.undone:t.done;return l?c=oc(c,c.length,i.minDepth,l):c=EP(c,e.startState.selection),new Mi(O==0?r.rest:c,O==0?c:r.rest)}let n=e.annotation(wC);if((n=="full"||n=="before")&&(t=t.isolate()),e.annotation(Me.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let s=Rt.fromTransaction(e),o=e.annotation(Me.time),a=e.annotation(Me.userEvent);return s?t=t.addChanges(s,o,a,i,e):e.selection&&(t=t.addSelection(e.startState.selection,o,a,i.newGroupDelay)),(n=="full"||n=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Mi(t.done.map(Rt.fromJSON),t.undone.map(Rt.fromJSON))}});function bC(t={}){return[zP,UP.of(t),N.domEventHandlers({beforeinput(e,i){let r=e.inputType=="historyUndo"?qP:e.inputType=="historyRedo"?$d:null;return r?(e.preventDefault(),r(i)):!1}})]}function Fc(t,e){return function({state:i,dispatch:r}){if(!e&&i.readOnly)return!1;let n=i.field(zP,!1);if(!n)return!1;let s=n.pop(t,i,e);return s?(r(s),!0):!1}}const qP=Fc(0,!1),$d=Fc(1,!1),xC=Fc(0,!0),kC=Fc(1,!0);class Rt{constructor(e,i,r,n,s){this.changes=e,this.effects=i,this.mapped=r,this.startSelection=n,this.selectionsAfter=s}setSelAfter(e){return new Rt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,i,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(i=this.mapped)===null||i===void 0?void 0:i.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(n=>n.toJSON())}}static fromJSON(e){return new Rt(e.changes&&Be.fromJSON(e.changes),[],e.mapped&&Ii.fromJSON(e.mapped),e.startSelection&&A.fromJSON(e.startSelection),e.selectionsAfter.map(A.fromJSON))}static fromTransaction(e,i){let r=ai;for(let n of e.startState.facet(XC)){let s=n(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new Rt(e.changes.invert(e.startState.doc),r,void 0,i||e.startState.selection,ai)}static selection(e){return new Rt(void 0,ai,void 0,void 0,e)}}function oc(t,e,i,r){let n=e+1>i+20?e-i-1:0,s=t.slice(n,e);return s.push(r),s}function TC(t,e){let i=[],r=!1;return t.iterChangedRanges((n,s)=>i.push(n,s)),e.iterChangedRanges((n,s,o,a)=>{for(let l=0;l<i.length;){let O=i[l++],c=i[l++];a>=O&&o<=c&&(r=!0)}}),r}function RC(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((i,r)=>i.empty!=e.ranges[r].empty).length===0}function VP(t,e){return t.length?e.length?t.concat(e):t:e}const ai=[],CC=200;function EP(t,e){if(t.length){let i=t[t.length-1],r=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-CC));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),oc(t,t.length-1,1e9,i.setSelAfter(r)))}else return[Rt.selection([e])]}function YC(t){let e=t[t.length-1],i=t.slice();return i[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),i}function ru(t,e){if(!t.length)return t;let i=t.length,r=ai;for(;i;){let n=ZC(t[i-1],e,r);if(n.changes&&!n.changes.empty||n.effects.length){let s=t.slice(0,i);return s[i-1]=n,s}else e=n.mapped,i--,r=n.selectionsAfter}return r.length?[Rt.selection(r)]:ai}function ZC(t,e,i){let r=VP(t.selectionsAfter.length?t.selectionsAfter.map(a=>a.map(e)):ai,i);if(!t.changes)return Rt.selection(r);let n=t.changes.map(e),s=e.mapDesc(t.changes,!0),o=t.mapped?t.mapped.composeDesc(s):s;return new Rt(n,ae.mapEffects(t.effects,e),o,t.startSelection.map(s),r)}const WC=/^(input\.type|delete)($|\.)/;class Mi{constructor(e,i,r=0,n=void 0){this.done=e,this.undone=i,this.prevTime=r,this.prevUserEvent=n}isolate(){return this.prevTime?new Mi(this.done,this.undone):this}addChanges(e,i,r,n,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||WC.test(r))&&(!a.selectionsAfter.length&&i-this.prevTime<n.newGroupDelay&&n.joinToEvent(s,TC(a.changes,e.changes))||r=="input.type.compose")?o=oc(o,o.length-1,n.minDepth,new Rt(e.changes.compose(a.changes),VP(ae.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,ai)):o=oc(o,o.length,n.minDepth,e),new Mi(o,ai,i,r)}addSelection(e,i,r,n){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:ai;return s.length>0&&i-this.prevTime<n&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&RC(s[s.length-1],e)?this:new Mi(EP(this.done,e),this.undone,i,r)}addMapping(e){return new Mi(ru(this.done,e),ru(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,i,r){let n=e==0?this.done:this.undone;if(n.length==0)return null;let s=n[n.length-1],o=s.selectionsAfter[0]||(s.startSelection?s.startSelection.map(s.changes.invertedDesc,1):i.selection);if(r&&s.selectionsAfter.length)return i.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Sd.of({side:e,rest:YC(n),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=n.length==1?ai:n.slice(0,n.length-1);return s.mapped&&(a=ru(a,s.mapped)),i.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Sd.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Mi.empty=new Mi(ai,ai);const UC=[{key:"Mod-z",run:qP,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:$d,preventDefault:!0},{linux:"Ctrl-Shift-z",run:$d,preventDefault:!0},{key:"Mod-u",run:xC,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:kC,preventDefault:!0}];function Hs(t,e){return A.create(t.ranges.map(e),t.mainIndex)}function xi(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function ki({state:t,dispatch:e},i){let r=Hs(t.selection,i);return r.eq(t.selection,!0)?!1:(e(xi(t,r)),!0)}function Hc(t,e){return A.cursor(e?t.to:t.from)}function AP(t,e){return ki(t,i=>i.empty?t.moveByChar(i,e):Hc(i,e))}function pt(t){return t.textDirectionAt(t.state.selection.main.head)==Xe.LTR}const jP=t=>AP(t,!pt(t)),LP=t=>AP(t,pt(t));function DP(t,e){return ki(t,i=>i.empty?t.moveByGroup(i,e):Hc(i,e))}const zC=t=>DP(t,!pt(t)),qC=t=>DP(t,pt(t));function VC(t,e,i){if(e.type.prop(i))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Kc(t,e,i){let r=ve(t).resolveInner(e.head),n=i?le.closedBy:le.openedBy;for(let l=e.head;;){let O=i?r.childAfter(l):r.childBefore(l);if(!O)break;VC(t,O,n)?r=O:l=i?O.to:O.from}let s=r.type.prop(n),o,a;return s&&(o=i?Di(t,r.from,1):Di(t,r.to,-1))&&o.matched?a=i?o.end.to:o.end.from:a=i?r.to:r.from,A.cursor(a,i?-1:1)}const EC=t=>ki(t,e=>Kc(t.state,e,!pt(t))),AC=t=>ki(t,e=>Kc(t.state,e,pt(t)));function MP(t,e){return ki(t,i=>{if(!i.empty)return Hc(i,e);let r=t.moveVertically(i,e);return r.head!=i.head?r:t.moveToLineBoundary(i,e)})}const GP=t=>MP(t,!1),BP=t=>MP(t,!0);function IP(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,i=0,r=0,n;if(e){for(let s of t.state.facet(N.scrollMargins)){let o=s(t);o!=null&&o.top&&(i=Math.max(o==null?void 0:o.top,i)),o!=null&&o.bottom&&(r=Math.max(o==null?void 0:o.bottom,r))}n=t.scrollDOM.clientHeight-i-r}else n=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:r,selfScroll:e,height:Math.max(t.defaultLineHeight,n-5)}}function NP(t,e){let i=IP(t),{state:r}=t,n=Hs(r.selection,o=>o.empty?t.moveVertically(o,e,i.height):Hc(o,e));if(n.eq(r.selection))return!1;let s;if(i.selfScroll){let o=t.coordsAtPos(r.selection.main.head),a=t.scrollDOM.getBoundingClientRect(),l=a.top+i.marginTop,O=a.bottom-i.marginBottom;o&&o.top>l&&o.bottom<O&&(s=N.scrollIntoView(n.main.head,{y:"start",yMargin:o.top-l}))}return t.dispatch(xi(r,n),{effects:s}),!0}const vS=t=>NP(t,!1),_d=t=>NP(t,!0);function on(t,e,i){let r=t.lineBlockAt(e.head),n=t.moveToLineBoundary(e,i);if(n.head==e.head&&n.head!=(i?r.to:r.from)&&(n=t.moveToLineBoundary(e,i,!1)),!i&&n.head==r.from&&r.length){let s=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(n=A.cursor(r.from+s))}return n}const jC=t=>ki(t,e=>on(t,e,!0)),LC=t=>ki(t,e=>on(t,e,!1)),DC=t=>ki(t,e=>on(t,e,!pt(t))),MC=t=>ki(t,e=>on(t,e,pt(t))),GC=t=>ki(t,e=>A.cursor(t.lineBlockAt(e.head).from,1)),BC=t=>ki(t,e=>A.cursor(t.lineBlockAt(e.head).to,-1));function IC(t,e,i){let r=!1,n=Hs(t.selection,s=>{let o=Di(t,s.head,-1)||Di(t,s.head,1)||s.head>0&&Di(t,s.head-1,1)||s.head<t.doc.length&&Di(t,s.head+1,-1);if(!o||!o.end)return s;r=!0;let a=o.start.from==s.head?o.end.to:o.end.from;return A.cursor(a)});return r?(e(xi(t,n)),!0):!1}const NC=({state:t,dispatch:e})=>IC(t,e);function ui(t,e){let i=Hs(t.state.selection,r=>{let n=e(r);return A.range(r.anchor,n.head,n.goalColumn,n.bidiLevel||void 0,n.assoc)});return i.eq(t.state.selection)?!1:(t.dispatch(xi(t.state,i)),!0)}function FP(t,e){return ui(t,i=>t.moveByChar(i,e))}const HP=t=>FP(t,!pt(t)),KP=t=>FP(t,pt(t));function JP(t,e){return ui(t,i=>t.moveByGroup(i,e))}const FC=t=>JP(t,!pt(t)),HC=t=>JP(t,pt(t)),KC=t=>ui(t,e=>Kc(t.state,e,!pt(t))),JC=t=>ui(t,e=>Kc(t.state,e,pt(t)));function ey(t,e){return ui(t,i=>t.moveVertically(i,e))}const ty=t=>ey(t,!1),iy=t=>ey(t,!0);function ry(t,e){return ui(t,i=>t.moveVertically(i,e,IP(t).height))}const PS=t=>ry(t,!1),yS=t=>ry(t,!0),e2=t=>ui(t,e=>on(t,e,!0)),t2=t=>ui(t,e=>on(t,e,!1)),i2=t=>ui(t,e=>on(t,e,!pt(t))),r2=t=>ui(t,e=>on(t,e,pt(t))),n2=t=>ui(t,e=>A.cursor(t.lineBlockAt(e.head).from)),s2=t=>ui(t,e=>A.cursor(t.lineBlockAt(e.head).to)),wS=({state:t,dispatch:e})=>(e(xi(t,{anchor:0})),!0),XS=({state:t,dispatch:e})=>(e(xi(t,{anchor:t.doc.length})),!0),bS=({state:t,dispatch:e})=>(e(xi(t,{anchor:t.selection.main.anchor,head:0})),!0),xS=({state:t,dispatch:e})=>(e(xi(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),o2=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),a2=({state:t,dispatch:e})=>{let i=Jc(t).map(({from:r,to:n})=>A.range(r,Math.min(n+1,t.doc.length)));return e(t.update({selection:A.create(i),userEvent:"select"})),!0},l2=({state:t,dispatch:e})=>{let i=Hs(t.selection,r=>{let n=ve(t),s=n.resolveStack(r.from,1);if(r.empty){let o=n.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return A.range(a.to,a.from)}return r});return i.eq(t.selection)?!1:(e(xi(t,i)),!0)};function ny(t,e){let{state:i}=t,r=i.selection,n=i.selection.ranges.slice();for(let s of i.selection.ranges){let o=i.doc.lineAt(s.head);if(e?o.to<t.state.doc.length:o.from>0)for(let a=s;;){let l=t.moveVertically(a,e);if(l.head<o.from||l.head>o.to){n.some(O=>O.head==l.head)||n.push(l);break}else{if(l.head==a.head)break;a=l}}}return n.length==r.ranges.length?!1:(t.dispatch(xi(i,A.create(n,n.length-1))),!0)}const O2=t=>ny(t,!1),c2=t=>ny(t,!0),h2=({state:t,dispatch:e})=>{let i=t.selection,r=null;return i.ranges.length>1?r=A.create([i.main]):i.main.empty||(r=A.create([A.cursor(i.main.head)])),r?(e(xi(t,r)),!0):!1};function Na(t,e){if(t.state.readOnly)return!1;let i="delete.selection",{state:r}=t,n=r.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);l<o?(i="delete.backward",l=zl(t,l,!1)):l>o&&(i="delete.forward",l=zl(t,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=zl(t,o,!1),a=zl(t,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:A.cursor(o,o<s.head?-1:1)}});return n.changes.empty?!1:(t.dispatch(r.update(n,{scrollIntoView:!0,userEvent:i,effects:i=="delete.selection"?N.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function zl(t,e,i){if(t instanceof N)for(let r of t.state.facet(N.atomicRanges).map(n=>n(t)))r.between(e,e,(n,s)=>{n<e&&s>e&&(e=i?s:n)});return e}const sy=(t,e,i)=>Na(t,r=>{let n=r.from,{state:s}=t,o=s.doc.lineAt(n),a,l;if(i&&!e&&n>o.from&&n<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,n-o.from))){if(a[a.length-1]==" ")return n-1;let O=yi(a,s.tabSize),c=O%rc(s)||rc(s);for(let h=0;h<c&&a[a.length-1-h]==" ";h++)n--;l=n}else l=Ke(o.text,n-o.from,e,e)+o.from,l==n&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,n-o.from))&&(l=Ke(o.text,l-o.from,!1,!1)+o.from);return l}),vd=t=>sy(t,!1,!0),oy=t=>sy(t,!0,!1),ay=(t,e)=>Na(t,i=>{let r=i.head,{state:n}=t,s=n.doc.lineAt(r),o=n.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==i.head&&s.number!=(e?n.doc.lines:1)&&(r+=e?1:-1);break}let l=Ke(s.text,r-s.from,e)+s.from,O=s.text.slice(Math.min(r,l)-s.from,Math.max(r,l)-s.from),c=o(O);if(a!=null&&c!=a)break;(O!=" "||r!=i.head)&&(a=c),r=l}return r}),ly=t=>ay(t,!1),u2=t=>ay(t,!0),f2=t=>Na(t,e=>{let i=t.lineBlockAt(e.head).to;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}),d2=t=>Na(t,e=>{let i=t.moveToLineBoundary(e,!1).head;return e.head>i?i:Math.max(0,e.head-1)}),p2=t=>Na(t,e=>{let i=t.moveToLineBoundary(e,!0).head;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}),m2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:$e.of(["",""])},range:A.cursor(r.from)}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0},g2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let n=r.from,s=t.doc.lineAt(n),o=n==s.from?n-1:Ke(s.text,n-s.from,!1)+s.from,a=n==s.to?n+1:Ke(s.text,n-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:t.doc.slice(n,a).append(t.doc.slice(o,n))},range:A.cursor(a)}});return i.changes.empty?!1:(e(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Jc(t){let e=[],i=-1;for(let r of t.selection.ranges){let n=t.doc.lineAt(r.from),s=t.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=t.doc.lineAt(r.to-1)),i>=n.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:n.from,to:s.to,ranges:[r]});i=s.number+1}return e}function Oy(t,e,i){if(t.readOnly)return!1;let r=[],n=[];for(let s of Jc(t)){if(i?s.to==t.doc.length:s.from==0)continue;let o=t.doc.lineAt(i?s.to+1:s.from-1),a=o.length+1;if(i){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+t.lineBreak});for(let l of s.ranges)n.push(A.range(Math.min(t.doc.length,l.anchor+a),Math.min(t.doc.length,l.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:t.lineBreak+o.text});for(let l of s.ranges)n.push(A.range(l.anchor-a,l.head-a))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:A.create(n,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const Q2=({state:t,dispatch:e})=>Oy(t,e,!1),S2=({state:t,dispatch:e})=>Oy(t,e,!0);function cy(t,e,i){if(t.readOnly)return!1;let r=[];for(let s of Jc(t))i?r.push({from:s.from,insert:t.doc.slice(s.from,s.to)+t.lineBreak}):r.push({from:s.to,insert:t.lineBreak+t.doc.slice(s.from,s.to)});let n=t.changes(r);return e(t.update({changes:n,selection:t.selection.map(n,i?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const $2=({state:t,dispatch:e})=>cy(t,e,!1),_2=({state:t,dispatch:e})=>cy(t,e,!0),v2=t=>{if(t.state.readOnly)return!1;let{state:e}=t,i=e.changes(Jc(e).map(({from:n,to:s})=>(n>0?n--:s<e.doc.length&&s++,{from:n,to:s}))),r=Hs(e.selection,n=>{let s;if(t.lineWrapping){let o=t.lineBlockAt(n.head),a=t.coordsAtPos(n.head,n.assoc||1);a&&(s=o.bottom+t.documentTop-a.bottom+t.defaultLineHeight/2)}return t.moveVertically(n,!0,s)}).map(i);return t.dispatch({changes:i,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function P2(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let i=ve(t).resolveInner(e),r=i.childBefore(e),n=i.childAfter(e),s;return r&&n&&r.to<=e&&n.from>=e&&(s=r.type.prop(le.closedBy))&&s.indexOf(n.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(n.from).from&&!/\S/.test(t.sliceDoc(r.to,n.from))?{from:r.to,to:n.from}:null}const kS=hy(!1),y2=hy(!0);function hy(t){return({state:e,dispatch:i})=>{if(e.readOnly)return!1;let r=e.changeByRange(n=>{let{from:s,to:o}=n,a=e.doc.lineAt(s),l=!t&&s==o&&P2(e,s);t&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let O=new Ic(e,{simulateBreak:s,simulateDoubleBreak:!!l}),c=cm(O,s);for(c==null&&(c=yi(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:s,to:o}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let h=["",wa(e,c)];return l&&h.push(wa(e,O.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:$e.of(h)},range:A.cursor(s+1+h[1].length)}});return i(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function pm(t,e){let i=-1;return t.changeByRange(r=>{let n=[];for(let o=r.from;o<=r.to;){let a=t.doc.lineAt(o);a.number>i&&(r.empty||r.to>a.from)&&(e(a,n,r),i=a.number),o=a.to+1}let s=t.changes(n);return{changes:n,range:A.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const w2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=Object.create(null),r=new Ic(t,{overrideIndentation:s=>{let o=i[s];return o??-1}}),n=pm(t,(s,o,a)=>{let l=cm(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let O=/^\s*/.exec(s.text)[0],c=wa(t,l);(O!=c||a.from<s.from+O.length)&&(i[s.from]=l,o.push({from:s.from,to:s.from+O.length,insert:c}))});return n.changes.empty||e(t.update(n,{userEvent:"indent"})),!0},uy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(pm(t,(i,r)=>{r.push({from:i.from,insert:t.facet(Is)})}),{userEvent:"input.indent"})),!0),fy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(pm(t,(i,r)=>{let n=/^\s*/.exec(i.text)[0];if(!n)return;let s=yi(n,t.tabSize),o=0,a=wa(t,Math.max(0,s-rc(t)));for(;o<n.length&&o<a.length&&n.charCodeAt(o)==a.charCodeAt(o);)o++;r.push({from:i.from+o,to:i.from+n.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),X2=t=>(t.setTabFocusMode(),!0),b2=[{key:"Ctrl-b",run:jP,shift:HP,preventDefault:!0},{key:"Ctrl-f",run:LP,shift:KP},{key:"Ctrl-p",run:GP,shift:ty},{key:"Ctrl-n",run:BP,shift:iy},{key:"Ctrl-a",run:GC,shift:n2},{key:"Ctrl-e",run:BC,shift:s2},{key:"Ctrl-d",run:oy},{key:"Ctrl-h",run:vd},{key:"Ctrl-k",run:f2},{key:"Ctrl-Alt-h",run:ly},{key:"Ctrl-o",run:m2},{key:"Ctrl-t",run:g2},{key:"Ctrl-v",run:_d}],x2=[{key:"ArrowLeft",run:jP,shift:HP,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:zC,shift:FC,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:DC,shift:i2,preventDefault:!0},{key:"ArrowRight",run:LP,shift:KP,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:qC,shift:HC,preventDefault:!0},{mac:"Cmd-ArrowRight",run:MC,shift:r2,preventDefault:!0},{key:"ArrowUp",run:GP,shift:ty,preventDefault:!0},{mac:"Cmd-ArrowUp",run:wS,shift:bS},{mac:"Ctrl-ArrowUp",run:vS,shift:PS},{key:"ArrowDown",run:BP,shift:iy,preventDefault:!0},{mac:"Cmd-ArrowDown",run:XS,shift:xS},{mac:"Ctrl-ArrowDown",run:_d,shift:yS},{key:"PageUp",run:vS,shift:PS},{key:"PageDown",run:_d,shift:yS},{key:"Home",run:LC,shift:t2,preventDefault:!0},{key:"Mod-Home",run:wS,shift:bS},{key:"End",run:jC,shift:e2,preventDefault:!0},{key:"Mod-End",run:XS,shift:xS},{key:"Enter",run:kS,shift:kS},{key:"Mod-a",run:o2},{key:"Backspace",run:vd,shift:vd,preventDefault:!0},{key:"Delete",run:oy,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ly,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:u2,preventDefault:!0},{mac:"Mod-Backspace",run:d2,preventDefault:!0},{mac:"Mod-Delete",run:p2,preventDefault:!0}].concat(b2.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),k2=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:EC,shift:KC},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:AC,shift:JC},{key:"Alt-ArrowUp",run:Q2},{key:"Shift-Alt-ArrowUp",run:$2},{key:"Alt-ArrowDown",run:S2},{key:"Shift-Alt-ArrowDown",run:_2},{key:"Mod-Alt-ArrowUp",run:O2},{key:"Mod-Alt-ArrowDown",run:c2},{key:"Escape",run:h2},{key:"Mod-Enter",run:y2},{key:"Alt-l",mac:"Ctrl-l",run:a2},{key:"Mod-i",run:l2,preventDefault:!0},{key:"Mod-[",run:fy},{key:"Mod-]",run:uy},{key:"Mod-Alt-\\",run:w2},{key:"Shift-Mod-k",run:v2},{key:"Shift-Mod-\\",run:NC},{key:"Mod-/",run:QC},{key:"Alt-A",run:$C},{key:"Ctrl-m",mac:"Shift-Alt-m",run:X2}].concat(x2),T2={key:"Tab",run:uy,shift:fy},TS=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class zs{constructor(e,i,r=0,n=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,n),this.bufferStart=r,this.normalize=s?a=>s(TS(a)):TS,this.query=this.normalize(i)}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 Xt(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 i=Vp(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Ei(e);let n=this.normalize(i);if(n.length)for(let s=0,o=r;;s++){let a=n.charCodeAt(s),l=this.match(a,o,this.bufferPos+this.bufferStart);if(s==n.length-1){if(l)return this.value=l,this;break}o==r&&s<i.length&&i.charCodeAt(s)==a&&o++}}}match(e,i,r){let n=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?n={from:this.matches[s+1],to:r}:(this.matches[s]++,a=!0)),a||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?n={from:i,to:r}:this.matches.push(1,i)),n&&this.test&&!this.test(n.from,n.to,this.buffer,this.bufferStart)&&(n=null),n}}typeof Symbol<"u"&&(zs.prototype[Symbol.iterator]=function(){return this});const dy={from:-1,to:-1,match:/.*/.exec("")},mm="gm"+(/x/.unicode==null?"":"u");class py{constructor(e,i,r,n=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=dy,/\\[sWDnr]|\n|\r|\[\^/.test(i))return new my(e,i,r,n,s);this.re=new RegExp(i,mm+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.iter=e.iter();let o=e.lineAt(n);this.curLineStart=o.from,this.matchPos=ac(e,n),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 i=this.matchPos<=this.to&&this.re.exec(this.curLine);if(i){let r=this.curLineStart+i.index,n=r+i[0].length;if(this.matchPos=ac(this.text,n+(r==n?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<n||r>this.value.to)&&(!this.test||this.test(r,n,i)))return this.value={from:r,to:n,match:i},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 nu=new WeakMap;class _s{constructor(e,i){this.from=e,this.text=i}get to(){return this.from+this.text.length}static get(e,i,r){let n=nu.get(e);if(!n||n.from>=r||n.to<=i){let a=new _s(i,e.sliceString(i,r));return nu.set(e,a),a}if(n.from==i&&n.to==r)return n;let{text:s,from:o}=n;return o>i&&(s=e.sliceString(i,o)+s,o=i),n.to<r&&(s+=e.sliceString(n.to,r)),nu.set(e,new _s(o,s)),new _s(i,s.slice(i-o,r-o))}}class my{constructor(e,i,r,n,s){this.text=e,this.to=s,this.done=!1,this.value=dy,this.matchPos=ac(e,n),this.re=new RegExp(i,mm+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.flat=_s.get(e,n,this.chunkEnd(n+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,i=this.re.exec(this.flat.text);if(i&&!i[0]&&i.index==e&&(this.re.lastIndex=e+1,i=this.re.exec(this.flat.text)),i){let r=this.flat.from+i.index,n=r+i[0].length;if((this.flat.to>=this.to||i.index+i[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,n,i)))return this.value={from:r,to:n,match:i},this.matchPos=ac(this.text,n+(r==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=_s.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(py.prototype[Symbol.iterator]=my.prototype[Symbol.iterator]=function(){return this});function R2(t){try{return new RegExp(t,mm),!0}catch{return!1}}function ac(t,e){if(e>=t.length)return e;let i=t.lineAt(e),r;for(;e<i.to&&(r=i.text.charCodeAt(e-i.from))>=56320&&r<57344;)e++;return e}const C2=t=>{let{state:e}=t,i=String(e.doc.lineAt(t.state.selection.main.head).number),{close:r,result:n}=FR(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:i},focus:!0,submitLabel:e.phrase("go")});return n.then(s=>{let o=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!o){t.dispatch({effects:r});return}let a=e.doc.lineAt(e.selection.main.head),[,l,O,c,h]=o,u=c?+c.slice(1):0,m=O?+O:a.number;if(O&&h){let g=m/100;l&&(g=g*(l=="-"?-1:1)+a.number/e.doc.lines),m=Math.round(e.doc.lines*g)}else O&&l&&(m=m*(l=="-"?-1:1)+a.number);let S=e.doc.line(Math.max(1,Math.min(e.doc.lines,m))),Q=A.cursor(S.from+Math.max(0,Math.min(u,S.length)));t.dispatch({effects:[r,N.scrollIntoView(Q.from,{y:"center"})],selection:Q})}),!0},Y2={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Z2=K.define({combine(t){return Xi(t,Y2,{highlightWordAroundCursor:(e,i)=>e||i,minSelectionLength:Math.min,maxMatches:Math.min})}});function W2(t){return[E2,V2]}const U2=ne.mark({class:"cm-selectionMatch"}),z2=ne.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function RS(t,e,i,r){return(i==0||t(e.sliceDoc(i-1,i))!=Ye.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=Ye.Word)}function q2(t,e,i,r){return t(e.sliceDoc(i,i+1))==Ye.Word&&t(e.sliceDoc(r-1,r))==Ye.Word}const V2=Re.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(Z2),{state:i}=t,r=i.selection;if(r.ranges.length>1)return ne.none;let n=r.main,s,o=null;if(n.empty){if(!e.highlightWordAroundCursor)return ne.none;let l=i.wordAt(n.head);if(!l)return ne.none;o=i.charCategorizer(n.head),s=i.sliceDoc(l.from,l.to)}else{let l=n.to-n.from;if(l<e.minSelectionLength||l>200)return ne.none;if(e.wholeWords){if(s=i.sliceDoc(n.from,n.to),o=i.charCategorizer(n.head),!(RS(o,i,n.from,n.to)&&q2(o,i,n.from,n.to)))return ne.none}else if(s=i.sliceDoc(n.from,n.to),!s)return ne.none}let a=[];for(let l of t.visibleRanges){let O=new zs(i.doc,s,l.from,l.to);for(;!O.next().done;){let{from:c,to:h}=O.value;if((!o||RS(o,i,c,h))&&(n.empty&&c<=n.from&&h>=n.to?a.push(z2.range(c,h)):(c>=n.to||h<=n.from)&&a.push(U2.range(c,h)),a.length>e.maxMatches))return ne.none}}return ne.set(a)}},{decorations:t=>t.decorations}),E2=N.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),A2=({state:t,dispatch:e})=>{let{selection:i}=t,r=A.create(i.ranges.map(n=>t.wordAt(n.head)||A.cursor(n.head)),i.mainIndex);return r.eq(i)?!1:(e(t.update({selection:r})),!0)};function j2(t,e){let{main:i,ranges:r}=t.selection,n=t.wordAt(i.head),s=n&&n.from==i.from&&n.to==i.to;for(let o=!1,a=new zs(t.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new zs(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(l=>l.from==a.value.from))continue;if(s){let l=t.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const L2=({state:t,dispatch:e})=>{let{ranges:i}=t.selection;if(i.some(s=>s.from===s.to))return A2({state:t,dispatch:e});let r=t.sliceDoc(i[0].from,i[0].to);if(t.selection.ranges.some(s=>t.sliceDoc(s.from,s.to)!=r))return!1;let n=j2(t,r);return n?(e(t.update({selection:t.selection.addRange(A.range(n.from,n.to),!1),effects:N.scrollIntoView(n.to)})),!0):!1},Ks=K.define({combine(t){return Xi(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new rY(e),scrollToMatch:e=>N.scrollIntoView(e)})}});class gy{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||R2(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,(i,r)=>r=="n"?`
|
|
61
|
-
`: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 N2(this):new G2(this)}getCursor(e,i=0,r){let n=e.doc?e:fe.create({doc:e});return r==null&&(r=n.doc.length),this.regexp?Bn(this,n,i,r):Gn(this,n,i,r)}}class Qy{constructor(e){this.spec=e}}function D2(t,e,i){return(r,n,s,o)=>{if(i&&!i(r,n,s,o))return!1;let a=r>=o&&n<=o+s.length?s.slice(r-o,n-o):e.doc.sliceString(r,n);return t(a,e,r,n)}}function Gn(t,e,i,r){let n;return t.wholeWord&&(n=M2(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(n=D2(t.test,e,n)),new zs(e.doc,t.unquoted,i,r,t.caseSensitive?void 0:s=>s.toLowerCase(),n)}function M2(t,e){return(i,r,n,s)=>((s>i||s+n.length<r)&&(s=Math.max(0,i-2),n=t.sliceString(s,Math.min(t.length,r+2))),(e(lc(n,i-s))!=Ye.Word||e(Oc(n,i-s))!=Ye.Word)&&(e(Oc(n,r-s))!=Ye.Word||e(lc(n,r-s))!=Ye.Word))}class G2 extends Qy{constructor(e){super(e)}nextMatch(e,i,r){let n=Gn(this.spec,e,r,e.doc.length).nextOverlapping();if(n.done){let s=Math.min(e.doc.length,i+this.spec.unquoted.length);n=Gn(this.spec,e,0,s).nextOverlapping()}return n.done||n.value.from==i&&n.value.to==r?null:n.value}prevMatchInRange(e,i,r){for(let n=r;;){let s=Math.max(i,n-1e4-this.spec.unquoted.length),o=Gn(this.spec,e,s,n),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==i)return null;n-=1e4}}prevMatch(e,i,r){let n=this.prevMatchInRange(e,0,i);return n||(n=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),n&&(n.from!=i||n.to!=r)?n:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,i){let r=Gn(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=i)return null;n.push(r.value)}return n}highlight(e,i,r,n){let s=Gn(this.spec,e,Math.max(0,i-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}function B2(t,e,i){return(r,n,s)=>(!i||i(r,n,s))&&t(s[0],e,r,n)}function Bn(t,e,i,r){let n;return t.wholeWord&&(n=I2(e.charCategorizer(e.selection.main.head))),t.test&&(n=B2(t.test,e,n)),new py(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:n},i,r)}function lc(t,e){return t.slice(Ke(t,e,!1),e)}function Oc(t,e){return t.slice(e,Ke(t,e))}function I2(t){return(e,i,r)=>!r[0].length||(t(lc(r.input,r.index))!=Ye.Word||t(Oc(r.input,r.index))!=Ye.Word)&&(t(Oc(r.input,r.index+r[0].length))!=Ye.Word||t(lc(r.input,r.index+r[0].length))!=Ye.Word)}class N2 extends Qy{nextMatch(e,i,r){let n=Bn(this.spec,e,r,e.doc.length).next();return n.done&&(n=Bn(this.spec,e,0,i).next()),n.done?null:n.value}prevMatchInRange(e,i,r){for(let n=1;;n++){let s=Math.max(i,r-n*1e4),o=Bn(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==i||a.from>s+10))return a;if(s==i)return null}}prevMatch(e,i,r){return this.prevMatchInRange(e,0,i)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(i,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let n=r.length;n>0;n--){let s=+r.slice(0,n);if(s>0&&s<e.match.length)return e.match[s]+r.slice(n)}return i})}matchAll(e,i){let r=Bn(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=i)return null;n.push(r.value)}return n}highlight(e,i,r,n){let s=Bn(this.spec,e,Math.max(0,i-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}const Xa=ae.define(),gm=ae.define(),Gr=et.define({create(t){return new su(Pd(t).create(),null)},update(t,e){for(let i of e.effects)i.is(Xa)?t=new su(i.value.create(),t.panel):i.is(gm)&&(t=new su(t.query,i.value?Qm:null));return t},provide:t=>_a.from(t,e=>e.panel)});class su{constructor(e,i){this.query=e,this.panel=i}}const F2=ne.mark({class:"cm-searchMatch"}),H2=ne.mark({class:"cm-searchMatch cm-searchMatch-selected"}),K2=Re.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Gr))}update(t){let e=t.state.field(Gr);(e!=t.startState.field(Gr)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return ne.none;let{view:i}=this,r=new Fi;for(let n=0,s=i.visibleRanges,o=s.length;n<o;n++){let{from:a,to:l}=s[n];for(;n<o-1&&l>s[n+1].from-2*250;)l=s[++n].to;t.highlight(i.state,a,l,(O,c)=>{let h=i.state.selection.ranges.some(u=>u.from==O&&u.to==c);r.add(O,c,h?H2:F2)})}return r.finish()}},{decorations:t=>t.decorations});function Fa(t){return e=>{let i=e.state.field(Gr,!1);return i&&i.query.spec.valid?t(e,i):_y(e)}}const cc=Fa((t,{query:e})=>{let{to:i}=t.state.selection.main,r=e.nextMatch(t.state,i,i);if(!r)return!1;let n=A.single(r.from,r.to),s=t.state.facet(Ks);return t.dispatch({selection:n,effects:[Sm(t,r),s.scrollToMatch(n.main,t)],userEvent:"select.search"}),$y(t),!0}),hc=Fa((t,{query:e})=>{let{state:i}=t,{from:r}=i.selection.main,n=e.prevMatch(i,r,r);if(!n)return!1;let s=A.single(n.from,n.to),o=t.state.facet(Ks);return t.dispatch({selection:s,effects:[Sm(t,n),o.scrollToMatch(s.main,t)],userEvent:"select.search"}),$y(t),!0}),J2=Fa((t,{query:e})=>{let i=e.matchAll(t.state,1e3);return!i||!i.length?!1:(t.dispatch({selection:A.create(i.map(r=>A.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),eY=({state:t,dispatch:e})=>{let i=t.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:r,to:n}=i.main,s=[],o=0;for(let a=new zs(t.doc,t.sliceDoc(r,n));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(A.range(a.value.from,a.value.to))}return e(t.update({selection:A.create(s,o),userEvent:"select.search.matches"})),!0},CS=Fa((t,{query:e})=>{let{state:i}=t,{from:r,to:n}=i.selection.main;if(i.readOnly)return!1;let s=e.nextMatch(i,r,r);if(!s)return!1;let o=s,a=[],l,O,c=[];o.from==r&&o.to==n&&(O=i.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:O}),o=e.nextMatch(i,o.from,o.to),c.push(N.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(r).number)+".")));let h=t.state.changes(a);return o&&(l=A.single(o.from,o.to).map(h),c.push(Sm(t,o)),c.push(i.facet(Ks).scrollToMatch(l.main,t))),t.dispatch({changes:h,selection:l,effects:c,userEvent:"input.replace"}),!0}),tY=Fa((t,{query:e})=>{if(t.state.readOnly)return!1;let i=e.matchAll(t.state,1e9).map(n=>{let{from:s,to:o}=n;return{from:s,to:o,insert:e.getReplacement(n)}});if(!i.length)return!1;let r=t.state.phrase("replaced $ matches",i.length)+".";return t.dispatch({changes:i,effects:N.announce.of(r),userEvent:"input.replace.all"}),!0});function Qm(t){return t.state.facet(Ks).createPanel(t)}function Pd(t,e){var i,r,n,s,o;let a=t.selection.main,l=a.empty||a.to>a.from+100?"":t.sliceDoc(a.from,a.to);if(e&&!l)return e;let O=t.facet(Ks);return new gy({search:((i=e==null?void 0:e.literal)!==null&&i!==void 0?i:O.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e==null?void 0:e.caseSensitive)!==null&&r!==void 0?r:O.caseSensitive,literal:(n=e==null?void 0:e.literal)!==null&&n!==void 0?n:O.literal,regexp:(s=e==null?void 0:e.regexp)!==null&&s!==void 0?s:O.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:O.wholeWord})}function Sy(t){let e=rm(t,Qm);return e&&e.dom.querySelector("[main-field]")}function $y(t){let e=Sy(t);e&&e==t.root.activeElement&&e.select()}const _y=t=>{let e=t.state.field(Gr,!1);if(e&&e.panel){let i=Sy(t);if(i&&i!=t.root.activeElement){let r=Pd(t.state,e.query.spec);r.valid&&t.dispatch({effects:Xa.of(r)}),i.focus(),i.select()}}else t.dispatch({effects:[gm.of(!0),e?Xa.of(Pd(t.state,e.query.spec)):ae.appendConfig.of(sY)]});return!0},vy=t=>{let e=t.state.field(Gr,!1);if(!e||!e.panel)return!1;let i=rm(t,Qm);return i&&i.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:gm.of(!1)}),!0},iY=[{key:"Mod-f",run:_y,scope:"editor search-panel"},{key:"F3",run:cc,shift:hc,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:cc,shift:hc,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:vy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:eY},{key:"Mod-Alt-g",run:C2},{key:"Mod-d",run:L2,preventDefault:!0}];class rY{constructor(e){this.view=e;let i=this.query=e.state.field(Gr).query.spec;this.commit=this.commit.bind(this),this.searchField=me("input",{value:i.search,placeholder:Et(e,"Find"),"aria-label":Et(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=me("input",{value:i.replace,placeholder:Et(e,"Replace"),"aria-label":Et(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=me("input",{type:"checkbox",name:"case",form:"",checked:i.caseSensitive,onchange:this.commit}),this.reField=me("input",{type:"checkbox",name:"re",form:"",checked:i.regexp,onchange:this.commit}),this.wordField=me("input",{type:"checkbox",name:"word",form:"",checked:i.wholeWord,onchange:this.commit});function r(n,s,o){return me("button",{class:"cm-button",name:n,onclick:s,type:"button"},o)}this.dom=me("div",{onkeydown:n=>this.keydown(n),class:"cm-search"},[this.searchField,r("next",()=>cc(e),[Et(e,"next")]),r("prev",()=>hc(e),[Et(e,"previous")]),r("select",()=>J2(e),[Et(e,"all")]),me("label",null,[this.caseField,Et(e,"match case")]),me("label",null,[this.reField,Et(e,"regexp")]),me("label",null,[this.wordField,Et(e,"by word")]),...e.state.readOnly?[]:[me("br"),this.replaceField,r("replace",()=>CS(e),[Et(e,"replace")]),r("replaceAll",()=>tY(e),[Et(e,"replace all")])],me("button",{name:"close",onclick:()=>vy(e),"aria-label":Et(e,"close"),type:"button"},["×"])])}commit(){let e=new gy({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:Xa.of(e)}))}keydown(e){oR(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?hc:cc)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),CS(this.view))}update(e){for(let i of e.transactions)for(let r of i.effects)r.is(Xa)&&!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(Ks).top}}function Et(t,e){return t.state.phrase(e)}const ql=30,Vl=/[\s\.,:;?!]/;function Sm(t,{from:e,to:i}){let r=t.state.doc.lineAt(e),n=t.state.doc.lineAt(i).to,s=Math.max(r.from,e-ql),o=Math.min(n,i+ql),a=t.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<ql;l++)if(!Vl.test(a[l+1])&&Vl.test(a[l])){a=a.slice(l);break}}if(o!=n){for(let l=a.length-1;l>a.length-ql;l--)if(!Vl.test(a[l-1])&&Vl.test(a[l])){a=a.slice(0,l);break}}return N.announce.of(`${t.state.phrase("current match")}. ${a} ${t.state.phrase("on line")} ${r.number}.`)}const nY=N.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"}}),sY=[Gr,_r.low(K2),nY];class $m{constructor(e,i,r,n){this.state=e,this.pos=i,this.explicit=r,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let i=ve(this.state).resolveInner(this.pos,-1);for(;i&&e.indexOf(i.name)<0;)i=i.parent;return i?{from:i.from,to:this.pos,text:this.state.sliceDoc(i.from,this.pos),type:i.type}:null}matchBefore(e){let i=this.state.doc.lineAt(this.pos),r=Math.max(i.from,this.pos-250),n=i.text.slice(r-i.from,this.pos-i.from),s=n.search(Py(e,!1));return s<0?null:{from:r+s,to:this.pos,text:n.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,i,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(i),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function YS(t){let e=Object.keys(t).join(""),i=/\w/.test(e);return i&&(e=e.replace(/\w/g,"")),`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function oY(t){let e=Object.create(null),i=Object.create(null);for(let{label:n}of t){e[n[0]]=!0;for(let s=1;s<n.length;s++)i[n[s]]=!0}let r=YS(e)+YS(i)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function Ha(t){let e=t.map(n=>typeof n=="string"?{label:n}:n),[i,r]=e.every(n=>/^\w+$/.test(n.label))?[/\w*$/,/\w+$/]:oY(e);return n=>{let s=n.matchBefore(r);return s||n.explicit?{from:s?s.from:n.pos,options:e,validFor:i}:null}}function eh(t,e){return i=>{for(let r=ve(i.state).resolveInner(i.pos,-1);r;r=r.parent){if(t.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(i)}}class ZS{constructor(e,i,r,n){this.completion=e,this.source=i,this.match=r,this.score=n}}function kn(t){return t.selection.main.from}function Py(t,e){var i;let{source:r}=t,n=e&&r[0]!="^",s=r[r.length-1]!="$";return!n&&!s?t:new RegExp(`${n?"^":""}(?:${r})${s?"$":""}`,(i=t.flags)!==null&&i!==void 0?i:t.ignoreCase?"i":"")}const _m=Hi.define();function aY(t,e,i,r){let{main:n}=t.selection,s=i-n.from,o=r-n.from;return{...t.changeByRange(a=>{if(a!=n&&i!=r&&t.sliceDoc(a.from+s,a.from+o)!=t.sliceDoc(i,r))return{range:a};let l=t.toText(e);return{changes:{from:a.from+s,to:r==n.from?a.to:a.from+o,insert:l},range:A.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const WS=new WeakMap;function lY(t){if(!Array.isArray(t))return t;let e=WS.get(t);return e||WS.set(t,e=Ha(t)),e}const uc=ae.define(),ba=ae.define();class OY{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let i=0;i<e.length;){let r=Xt(e,i),n=Ei(r);this.chars.push(r);let s=e.slice(i,i+n),o=s.toUpperCase();this.folded.push(Xt(o==s?s.toLowerCase():o,0)),i+=n}this.astral=e.length!=this.chars.length}ret(e,i){return this.score=e,this.matched=i,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:i,folded:r,any:n,precise:s,byWord:o}=this;if(i.length==1){let f=Xt(e,0),p=Ei(f),$=p==e.length?0:-100;if(f!=i[0])if(f==r[0])$+=-200;else return null;return this.ret($,[0,p])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=i.length,O=0;if(a<0){for(let f=0,p=Math.min(e.length,200);f<p&&O<l;){let $=Xt(e,f);($==i[O]||$==r[O])&&(n[O++]=f),f+=Ei($)}if(O<l)return null}let c=0,h=0,u=!1,m=0,S=-1,Q=-1,g=/[a-z]/.test(e),d=!0;for(let f=0,p=Math.min(e.length,200),$=0;f<p&&h<l;){let _=Xt(e,f);a<0&&(c<l&&_==i[c]&&(s[c++]=f),m<l&&(_==i[m]||_==r[m]?(m==0&&(S=f),Q=f+1,m++):m=0));let P,w=_<255?_>=48&&_<=57||_>=97&&_<=122?2:_>=65&&_<=90?1:0:(P=Vp(_))!=P.toLowerCase()?1:P!=P.toUpperCase()?2:0;(!f||w==1&&g||$==0&&w!=0)&&(i[h]==_||r[h]==_&&(u=!0)?o[h++]=f:o.length&&(d=!1)),$=w,f+=Ei(_)}return h==l&&o[0]==0&&d?this.result(-100+(u?-200:0),o,e):m==l&&S==0?this.ret(-200-e.length+(Q==e.length?0:-100),[0,Q]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):m==l?this.ret(-900-e.length,[S,Q]):h==l?this.result(-100+(u?-200:0)+-700+(d?0:-1100),o,e):i.length==2?null:this.result((n[0]?-700:0)+-200+-1100,n,e)}result(e,i,r){let n=[],s=0;for(let o of i){let a=o+(this.astral?Ei(Xt(r,o)):1);s&&n[s-1]==o?n[s-1]=a:(n[s++]=o,n[s++]=a)}return this.ret(e-r.length,n)}}class cY{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 i=e.slice(0,this.pattern.length),r=i==this.pattern?0:i.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,i.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const He=K.define({combine(t){return Xi(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:hY,filterStrict:!1,compareCompletions:(e,i)=>(e.sortText||e.label).localeCompare(i.sortText||i.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,i)=>e&&i,closeOnBlur:(e,i)=>e&&i,icons:(e,i)=>e&&i,tooltipClass:(e,i)=>r=>US(e(r),i(r)),optionClass:(e,i)=>r=>US(e(r),i(r)),addToOptions:(e,i)=>e.concat(i),filterStrict:(e,i)=>e||i})}});function US(t,e){return t?e?t+" "+e:t:e}function hY(t,e,i,r,n,s){let o=t.textDirection==Xe.RTL,a=o,l=!1,O="top",c,h,u=e.left-n.left,m=n.right-e.right,S=r.right-r.left,Q=r.bottom-r.top;if(a&&u<Math.min(S,m)?a=!1:!a&&m<Math.min(S,u)&&(a=!0),S<=(a?u:m))c=Math.max(n.top,Math.min(i.top,n.bottom-Q))-e.top,h=Math.min(400,a?u:m);else{l=!0,h=Math.min(400,(o?e.right:n.right-e.left)-30);let f=n.bottom-e.bottom;f>=Q||f>e.top?c=i.bottom-e.top:(O="bottom",c=e.bottom-i.top)}let g=(e.bottom-e.top)/s.offsetHeight,d=(e.right-e.left)/s.offsetWidth;return{style:`${O}: ${c/g}px; max-width: ${h/d}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}const vm=ae.define();function uY(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(i){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),i.type&&r.classList.add(...i.type.split(/\s+/g).map(n=>"cm-completionIcon-"+n)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(i,r,n,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=i.displayLabel||i.label,l=0;for(let O=0;O<s.length;){let c=s[O++],h=s[O++];c>l&&o.appendChild(document.createTextNode(a.slice(l,c)));let u=o.appendChild(document.createElement("span"));u.appendChild(document.createTextNode(a.slice(c,h))),u.className="cm-completionMatchedText",l=h}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(i){if(!i.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=i.detail,r},position:80}),e.sort((i,r)=>i.position-r.position).map(i=>i.render)}function ou(t,e,i){if(t<=i)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let n=Math.floor(e/i);return{from:n*i,to:(n+1)*i}}let r=Math.floor((t-e)/i);return{from:t-(r+1)*i,to:t-r*i}}class fY{constructor(e,i,r){this.view=e,this.stateField=i,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 n=e.state.field(i),{options:s,selected:o}=n.open,a=e.state.facet(He);this.optionContent=uY(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=ou(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:O}=e.state.field(i).open;for(let c=l.target,h;c&&c!=this.dom;c=c.parentNode)if(c.nodeName=="LI"&&(h=/-(\d+)$/.exec(c.id))&&+h[1]<O.length){this.applyCompletion(e,O[+h[1]]),l.preventDefault();return}if(l.target==this.list){let c=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;c!=null&&(e.dispatch({effects:vm.of(c)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let O=e.state.field(this.stateField,!1);O&&O.tooltip&&e.state.facet(He).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:ba.of(null)})}),this.showOptions(s,n.id)}mount(){this.updateSel()}showOptions(e,i){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,i,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var i;let r=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=n){let{options:s,selected:o,disabled:a}=r.open;(!n.open||n.open.options!=s)&&(this.range=ou(s.length,o,e.state.facet(He).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),a!=((i=n.open)===null||i===void 0?void 0:i.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let i=this.tooltipClass(e);if(i!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of i.split(" "))r&&this.dom.classList.add(r);this.currentClass=i}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),i=e.open;(i.selected>-1&&i.selected<this.range.from||i.selected>=this.range.to)&&(this.range=ou(i.options.length,i.selected,this.view.state.facet(He).maxRenderedOptions),this.showOptions(i.options,e.id));let r=this.updateSelectedOption(i.selected);if(r){this.destroyInfo();let{completion:n}=i.options[i.selected],{info:s}=n;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(n);if(!o)return;"then"in o?o.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,n)}).catch(a=>Tt(this.view.state,a,"completion info")):(this.addInfoPane(o,n),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,i){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:n,destroy:s}=e;r.appendChild(n),this.infoDestroy=s||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let i=null;for(let r=this.list.firstChild,n=this.range.from;r;r=r.nextSibling,n++)r.nodeName!="LI"||!r.id?n--:n==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),i=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return i&&pY(this.list,i),i}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let i=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return n.top>Math.min(s.bottom,i.bottom)-10||n.bottom<Math.max(s.top,i.top)+10?null:this.view.state.facet(He).positionInfo(this.view,i,n,r,s,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,i,r){const n=document.createElement("ul");n.id=i,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions")),n.addEventListener("mousedown",o=>{o.target==n&&o.preventDefault()});let s=null;for(let o=r.from;o<r.to;o++){let{completion:a,match:l}=e[o],{section:O}=a;if(O){let u=typeof O=="string"?O:O.name;if(u!=s&&(o>r.from||r.from==0))if(s=u,typeof O!="string"&&O.header)n.appendChild(O.header(O));else{let m=n.appendChild(document.createElement("completion-section"));m.textContent=u}}const c=n.appendChild(document.createElement("li"));c.id=i+"-"+o,c.setAttribute("role","option");let h=this.optionClass(a);h&&(c.className=h);for(let u of this.optionContent){let m=u(a,this.view.state,this.view,l);m&&c.appendChild(m)}}return r.from&&n.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&n.classList.add("cm-completionListIncompleteBottom"),n}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function dY(t,e){return i=>new fY(i,t,e)}function pY(t,e){let i=t.getBoundingClientRect(),r=e.getBoundingClientRect(),n=i.height/t.offsetHeight;r.top<i.top?t.scrollTop-=(i.top-r.top)/n:r.bottom>i.bottom&&(t.scrollTop+=(r.bottom-i.bottom)/n)}function zS(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function mY(t,e){let i=[],r=null,n=null,s=c=>{i.push(c);let{section:h}=c.completion;if(h){r||(r=[]);let u=typeof h=="string"?h:h.name;r.some(m=>m.name==u)||r.push(typeof h=="string"?{name:u}:h)}},o=e.facet(He);for(let c of t)if(c.hasResult()){let h=c.result.getMatch;if(c.result.filter===!1)for(let u of c.result.options)s(new ZS(u,c.source,h?h(u):[],1e9-i.length));else{let u=e.sliceDoc(c.from,c.to),m,S=o.filterStrict?new cY(u):new OY(u);for(let Q of c.result.options)if(m=S.match(Q.label)){let g=Q.displayLabel?h?h(Q,m.matched):[]:m.matched,d=m.score+(Q.boost||0);if(s(new ZS(Q,c.source,g,d)),typeof Q.section=="object"&&Q.section.rank==="dynamic"){let{name:f}=Q.section;n||(n=Object.create(null)),n[f]=Math.max(d,n[f]||-1e9)}}}}if(r){let c=Object.create(null),h=0,u=(m,S)=>(m.rank==="dynamic"&&S.rank==="dynamic"?n[S.name]-n[m.name]:0)||(typeof m.rank=="number"?m.rank:1e9)-(typeof S.rank=="number"?S.rank:1e9)||(m.name<S.name?-1:1);for(let m of r.sort(u))h-=1e5,c[m.name]=h;for(let m of i){let{section:S}=m.completion;S&&(m.score+=c[typeof S=="string"?S:S.name])}}let a=[],l=null,O=o.compareCompletions;for(let c of i.sort((h,u)=>u.score-h.score||O(h.completion,u.completion))){let h=c.completion;!l||l.label!=h.label||l.detail!=h.detail||l.type!=null&&h.type!=null&&l.type!=h.type||l.apply!=h.apply||l.boost!=h.boost?a.push(c):zS(c.completion)>zS(l)&&(a[a.length-1]=c),l=c.completion}return a}class Os{constructor(e,i,r,n,s,o){this.options=e,this.attrs=i,this.tooltip=r,this.timestamp=n,this.selected=s,this.disabled=o}setSelected(e,i){return e==this.selected||e>=this.options.length?this:new Os(this.options,qS(i,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,i,r,n,s,o){if(n&&!o&&e.some(O=>O.isPending))return n.setDisabled();let a=mY(e,i);if(!a.length)return n&&e.some(O=>O.isPending)?n.setDisabled():null;let l=i.facet(He).selectOnOpen?0:-1;if(n&&n.selected!=l&&n.selected!=-1){let O=n.options[n.selected].completion;for(let c=0;c<a.length;c++)if(a[c].completion==O){l=c;break}}return new Os(a,qS(r,l),{pos:e.reduce((O,c)=>c.hasResult()?Math.min(O,c.from):O,1e8),create:vY,above:s.aboveCursor},n?n.timestamp:Date.now(),l,!1)}map(e){return new Os(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new Os(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class fc{constructor(e,i,r){this.active=e,this.id=i,this.open=r}static start(){return new fc($Y,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:i}=e,r=i.facet(He),s=(r.override||i.languageDataAt("autocomplete",kn(i)).map(lY)).map(l=>(this.active.find(c=>c.source==l)||new li(l,this.active.some(c=>c.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((l,O)=>l==this.active[O])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(Pm));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!gY(s,this.active)||a?o=Os.build(s,i,this.id,o,r,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new li(l.source,0):l));for(let l of e.effects)l.is(vm)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new fc(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?QY:SY}}function gY(t,e){if(t==e)return!0;for(let i=0,r=0;;){for(;i<t.length&&!t[i].hasResult();)i++;for(;r<e.length&&!e[r].hasResult();)r++;let n=i==t.length,s=r==e.length;if(n||s)return n==s;if(t[i++].result!=e[r++].result)return!1}}const QY={"aria-autocomplete":"list"},SY={};function qS(t,e){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(i["aria-activedescendant"]=t+"-"+e),i}const $Y=[];function yy(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(_m);if(r&&e.activateOnCompletion(r))return 12}let i=t.isUserEvent("input.type");return i&&e.activateOnTyping?5:i?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class li{constructor(e,i,r=!1){this.source=e,this.state=i,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,i){let r=yy(e,i),n=this;(r&8||r&16&&this.touches(e))&&(n=new li(n.source,0)),r&4&&n.state==0&&(n=new li(this.source,1)),n=n.updateFor(e,r);for(let s of e.effects)if(s.is(uc))n=new li(n.source,1,s.value);else if(s.is(ba))n=new li(n.source,0);else if(s.is(Pm))for(let o of s.value)o.source==n.source&&(n=o);return n}updateFor(e,i){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(kn(e.state))}}class vs extends li{constructor(e,i,r,n,s,o){super(e,3,i),this.limit=r,this.result=n,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,i){var r;if(!(i&3))return this.map(e.changes);let n=this.result;n.map&&!e.changes.empty&&(n=n.map(n,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=kn(e.state);if(a>o||!n||i&2&&(kn(e.startState)==this.from||a<this.limit))return new li(this.source,i&4?1:0);let l=e.changes.mapPos(this.limit);return _Y(n.validFor,e.state,s,o)?new vs(this.source,this.explicit,l,n,s,o):n.update&&(n=n.update(n,s,o,new $m(e.state,a,!1)))?new vs(this.source,this.explicit,l,n,n.from,(r=n.to)!==null&&r!==void 0?r:kn(e.state)):new li(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new vs(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new li(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function _Y(t,e,i,r){if(!t)return!1;let n=e.sliceDoc(i,r);return typeof t=="function"?t(n,i,r,e):Py(t,!0).test(n)}const Pm=ae.define({map(t,e){return t.map(i=>i.map(e))}}),bt=et.define({create(){return fc.start()},update(t,e){return t.update(e)},provide:t=>[im.from(t,e=>e.tooltip),N.contentAttributes.from(t,e=>e.attrs)]});function ym(t,e){const i=e.completion.apply||e.completion.label;let r=t.state.field(bt).active.find(n=>n.source==e.source);return r instanceof vs?(typeof i=="string"?t.dispatch({...aY(t.state,i,r.from,r.to),annotations:_m.of(e.completion)}):i(t,e.completion,r.from,r.to),!0):!1}const vY=dY(bt,ym);function El(t,e="option"){return i=>{let r=i.state.field(bt,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<i.state.facet(He).interactionDelay)return!1;let n=1,s;e=="page"&&(s=oP(i,r.open.tooltip))&&(n=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=r.open.options,a=r.open.selected>-1?r.open.selected+n*(t?1:-1):t?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),i.dispatch({effects:vm.of(a)}),!0}}const PY=t=>{let e=t.state.field(bt,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(He).interactionDelay?!1:ym(t,e.open.options[e.open.selected])},au=t=>t.state.field(bt,!1)?(t.dispatch({effects:uc.of(!0)}),!0):!1,yY=t=>{let e=t.state.field(bt,!1);return!e||!e.active.some(i=>i.state!=0)?!1:(t.dispatch({effects:ba.of(null)}),!0)};class wY{constructor(e,i){this.active=e,this.context=i,this.time=Date.now(),this.updates=[],this.done=void 0}}const XY=50,bY=1e3,xY=Re.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(bt).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(bt),i=t.state.facet(He);if(!t.selectionSet&&!t.docChanged&&t.startState.field(bt)==e)return;let r=t.transactions.some(s=>{let o=yy(s,i);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(r||o.context.abortOnDocChange&&t.docChanged||o.updates.length+t.transactions.length>XY&&Date.now()-o.time>bY){for(let a of o.context.abortListeners)try{a()}catch(l){Tt(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(s=>s.effects.some(o=>o.is(uc)))&&(this.pendingStart=!0);let n=this.pendingStart?50:i.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),n):-1,this.composing!=0)for(let s of t.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(bt);for(let i of e.active)i.isPending&&!this.running.some(r=>r.active.source==i.source)&&this.startQuery(i);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(He).updateSyncTime))}startQuery(t){let{state:e}=this.view,i=kn(e),r=new $m(e,i,t.explicit,this.view),n=new wY(t,r);this.running.push(n),Promise.resolve(t.source(r)).then(s=>{n.context.aborted||(n.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:ba.of(null)}),Tt(this.view.state,s)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(He).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],i=this.view.state.facet(He),r=this.view.state.field(bt);for(let n=0;n<this.running.length;n++){let s=this.running[n];if(s.done===void 0)continue;if(this.running.splice(n--,1),s.done){let a=kn(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),O=new vs(s.active.source,s.active.explicit,l,s.done,s.done.from,(t=s.done.to)!==null&&t!==void 0?t:a);for(let c of s.updates)O=O.update(c,i);if(O.hasResult()){e.push(O);continue}}let o=r.active.find(a=>a.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new li(s.active.source,0);for(let l of s.updates)a=a.update(l,i);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:Pm.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(bt,!1);if(e&&e.tooltip&&this.view.state.facet(He).closeOnBlur){let i=e.open&&oP(this.view,e.open.tooltip);(!i||!i.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:ba.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:uc.of(!1)}),20),this.composing=0}}}),kY=typeof navigator=="object"&&/Win/.test(navigator.platform),TY=_r.highest(N.domEventHandlers({keydown(t,e){let i=e.state.field(bt,!1);if(!i||!i.open||i.open.disabled||i.open.selected<0||t.key.length>1||t.ctrlKey&&!(kY&&t.altKey)||t.metaKey)return!1;let r=i.open.options[i.open.selected],n=i.active.find(o=>o.source==r.source),s=r.completion.commitCharacters||n.result.commitCharacters;return s&&s.indexOf(t.key)>-1&&ym(e,r),!1}})),wy=N.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"},".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 RY{constructor(e,i,r,n){this.field=e,this.line=i,this.from=r,this.to=n}}class wm{constructor(e,i,r){this.field=e,this.from=i,this.to=r}map(e){let i=e.mapPos(this.from,-1,nt.TrackDel),r=e.mapPos(this.to,1,nt.TrackDel);return i==null||r==null?null:new wm(this.field,i,r)}}class Xm{constructor(e,i){this.lines=e,this.fieldPositions=i}instantiate(e,i){let r=[],n=[i],s=e.doc.lineAt(i),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(r.length){let O=o,c=/^\t*/.exec(l)[0].length;for(let h=0;h<c;h++)O+=e.facet(Is);n.push(i+O.length-c),l=O+l.slice(c)}r.push(l),i+=l.length+1}let a=this.fieldPositions.map(l=>new wm(l.field,n[l.line]+l.from,n[l.line]+l.to));return{text:r,ranges:a}}static parse(e){let i=[],r=[],n=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",O=-1,c=l.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h<i.length;h++)(a!=null?i[h].seq==a:c&&i[h].name==c)&&(O=h);if(O<0){let h=0;for(;h<i.length&&(a==null||i[h].seq!=null&&i[h].seq<a);)h++;i.splice(h,0,{seq:a,name:c}),O=h;for(let u of n)u.field>=O&&u.field++}for(let h of n)if(h.line==r.length&&h.from>s.index){let u=s[2]?3+(s[1]||"").length:2;h.from-=u,h.to-=u}n.push(new RY(O,r.length,s.index,s.index+c.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,O)=>{for(let c of n)c.line==r.length&&c.from>O&&(c.from--,c.to--);return l}),r.push(o)}return new Xm(r,n)}}let CY=ne.widget({widget:new class extends bi{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),YY=ne.mark({class:"cm-snippetField"});class Js{constructor(e,i){this.ranges=e,this.active=i,this.deco=ne.set(e.map(r=>(r.from==r.to?CY:YY).range(r.from,r.to)),!0)}map(e){let i=[];for(let r of this.ranges){let n=r.map(e);if(!n)return null;i.push(n)}return new Js(i,this.active)}selectionInsideField(e){return e.ranges.every(i=>this.ranges.some(r=>r.field==this.active&&r.from<=i.from&&r.to>=i.to))}}const Ka=ae.define({map(t,e){return t&&t.map(e)}}),ZY=ae.define(),xa=et.define({create(){return null},update(t,e){for(let i of e.effects){if(i.is(Ka))return i.value;if(i.is(ZY)&&t)return new Js(t.ranges,i.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>N.decorations.from(t,e=>e?e.deco:ne.none)});function bm(t,e){return A.create(t.filter(i=>i.field==e).map(i=>A.range(i.from,i.to)))}function WY(t){let e=Xm.parse(t);return(i,r,n,s)=>{let{text:o,ranges:a}=e.instantiate(i.state,n),{main:l}=i.state.selection,O={changes:{from:n,to:s==l.from?l.to:s,insert:$e.of(o)},scrollIntoView:!0,annotations:r?[_m.of(r),Me.userEvent.of("input.complete")]:void 0};if(a.length&&(O.selection=bm(a,0)),a.some(c=>c.field>0)){let c=new Js(a,0),h=O.effects=[Ka.of(c)];i.state.field(xa,!1)===void 0&&h.push(ae.appendConfig.of([xa,EY,AY,wy]))}i.dispatch(i.state.update(O))}}function Xy(t){return({state:e,dispatch:i})=>{let r=e.field(xa,!1);if(!r||t<0&&r.active==0)return!1;let n=r.active+t,s=t>0&&!r.ranges.some(o=>o.field==n+t);return i(e.update({selection:bm(r.ranges,n),effects:Ka.of(s?null:new Js(r.ranges,n)),scrollIntoView:!0})),!0}}const UY=({state:t,dispatch:e})=>t.field(xa,!1)?(e(t.update({effects:Ka.of(null)})),!0):!1,zY=Xy(1),qY=Xy(-1),VY=[{key:"Tab",run:zY,shift:qY},{key:"Escape",run:UY}],VS=K.define({combine(t){return t.length?t[0]:VY}}),EY=_r.highest(Bs.compute([VS],t=>t.facet(VS)));function he(t,e){return{...e,apply:WY(t)}}const AY=N.domEventHandlers({mousedown(t,e){let i=e.state.field(xa,!1),r;if(!i||(r=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let n=i.ranges.find(s=>s.from<=r&&s.to>=r);return!n||n.field==i.active?!1:(e.dispatch({selection:bm(i.ranges,n.field),effects:Ka.of(i.ranges.some(s=>s.field>n.field)?new Js(i.ranges,n.field):null),scrollIntoView:!0}),!0)}}),ka={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},yn=ae.define({map(t,e){let i=e.mapPos(t,-1,nt.TrackAfter);return i??void 0}}),xm=new class extends Nr{};xm.startSide=1;xm.endSide=-1;const by=et.define({create(){return ce.empty},update(t,e){if(t=t.map(e.changes),e.selection){let i=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:r=>r>=i.from&&r<=i.to})}for(let i of e.effects)i.is(yn)&&(t=t.update({add:[xm.range(i.value,i.value+1)]}));return t}});function jY(){return[DY,by]}const lu="()[]{}<>«»»«[]{}";function xy(t){for(let e=0;e<lu.length;e+=2)if(lu.charCodeAt(e)==t)return lu.charAt(e+1);return Vp(t<128?t:t+1)}function ky(t,e){return t.languageDataAt("closeBrackets",e)[0]||ka}const LY=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),DY=N.inputHandler.of((t,e,i,r)=>{if((LY?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let n=t.state.selection.main;if(r.length>2||r.length==2&&Ei(Xt(r,0))==1||e!=n.from||i!=n.to)return!1;let s=BY(t.state,r);return s?(t.dispatch(s),!0):!1}),MY=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=ky(t,t.selection.main.head).brackets||ka.brackets,n=null,s=t.changeByRange(o=>{if(o.empty){let a=IY(t.doc,o.head);for(let l of r)if(l==a&&th(t.doc,o.head)==xy(Xt(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:A.cursor(o.head-l.length)}}return{range:n=o}});return n||e(t.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!n},GY=[{key:"Backspace",run:MY}];function BY(t,e){let i=ky(t,t.selection.main.head),r=i.brackets||ka.brackets;for(let n of r){let s=xy(Xt(n,0));if(e==n)return s==n?HY(t,n,r.indexOf(n+n+n)>-1,i):NY(t,n,s,i.before||ka.before);if(e==s&&Ty(t,t.selection.main.from))return FY(t,n,s)}return null}function Ty(t,e){let i=!1;return t.field(by).between(0,t.doc.length,r=>{r==e&&(i=!0)}),i}function th(t,e){let i=t.sliceString(e,e+2);return i.slice(0,Ei(Xt(i,0)))}function IY(t,e){let i=t.sliceString(e-2,e);return Ei(Xt(i,0))==i.length?i:i.slice(1)}function NY(t,e,i,r){let n=null,s=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:i,from:o.to}],effects:yn.of(o.to+e.length),range:A.range(o.anchor+e.length,o.head+e.length)};let a=th(t.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+i,from:o.head},effects:yn.of(o.head+e.length),range:A.cursor(o.head+e.length)}:{range:n=o}});return n?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function FY(t,e,i){let r=null,n=t.changeByRange(s=>s.empty&&th(t.doc,s.head)==i?{changes:{from:s.head,to:s.head+i.length,insert:i},range:A.cursor(s.head+i.length)}:r={range:s});return r?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function HY(t,e,i,r){let n=r.stringPrefixes||ka.stringPrefixes,s=null,o=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:yn.of(a.to+e.length),range:A.range(a.anchor+e.length,a.head+e.length)};let l=a.head,O=th(t.doc,l),c;if(O==e){if(ES(t,l))return{changes:{insert:e+e,from:l},effects:yn.of(l+e.length),range:A.cursor(l+e.length)};if(Ty(t,l)){let u=i&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:A.cursor(l+u.length)}}}else{if(i&&t.sliceDoc(l-2*e.length,l)==e+e&&(c=AS(t,l-2*e.length,n))>-1&&ES(t,c))return{changes:{insert:e+e+e+e,from:l},effects:yn.of(l+e.length),range:A.cursor(l+e.length)};if(t.charCategorizer(l)(O)!=Ye.Word&&AS(t,l,n)>-1&&!KY(t,l,e,n))return{changes:{insert:e+e,from:l},effects:yn.of(l+e.length),range:A.cursor(l+e.length)}}return{range:s=a}});return s?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function ES(t,e){let i=ve(t).resolveInner(e+1);return i.parent&&i.from==e}function KY(t,e,i,r){let n=ve(t).resolveInner(e,-1),s=r.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=t.sliceDoc(n.from,Math.min(n.to,n.from+i.length+s)),l=a.indexOf(i);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let c=n.firstChild;for(;c&&c.from==n.from&&c.to-c.from>i.length+l;){if(t.sliceDoc(c.to-i.length,c.to)==i)return!1;c=c.firstChild}return!0}let O=n.to==e&&n.parent;if(!O)break;n=O}return!1}function AS(t,e,i){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=Ye.Word)return e;for(let n of i){let s=e-n.length;if(t.sliceDoc(s,e)==n&&r(t.sliceDoc(s-1,s))!=Ye.Word)return s}return-1}function JY(t={}){return[TY,bt,He.of(t),xY,eZ,wy]}const Ry=[{key:"Ctrl-Space",run:au},{mac:"Alt-`",run:au},{mac:"Alt-i",run:au},{key:"Escape",run:yY},{key:"ArrowDown",run:El(!0)},{key:"ArrowUp",run:El(!1)},{key:"PageDown",run:El(!0,"page")},{key:"PageUp",run:El(!1,"page")},{key:"Enter",run:PY}],eZ=_r.highest(Bs.computeN([He],t=>t.facet(He).defaultKeymap?[Ry]:[]));class jS{constructor(e,i,r){this.from=e,this.to=i,this.diagnostic=r}}class pn{constructor(e,i,r){this.diagnostics=e,this.panel=i,this.selected=r}static init(e,i,r){let n=r.facet(Ta).markerFilter;n&&(e=n(e,r));let s=e.slice().sort((m,S)=>m.from-S.from||m.to-S.to),o=new Fi,a=[],l=0,O=r.doc.iter(),c=0,h=r.doc.length;for(let m=0;;){let S=m==s.length?null:s[m];if(!S&&!a.length)break;let Q,g;if(a.length)Q=l,g=a.reduce((p,$)=>Math.min(p,$.to),S&&S.from>Q?S.from:1e8);else{if(Q=S.from,Q>h)break;g=S.to,a.push(S),m++}for(;m<s.length;){let p=s[m];if(p.from==Q&&(p.to>p.from||p.to==Q))a.push(p),m++,g=Math.min(p.to,g);else{g=Math.min(p.from,g);break}}g=Math.min(g,h);let d=!1;if(a.some(p=>p.from==Q&&(p.to==g||g==h))&&(d=Q==g,!d&&g-Q<10)){let p=Q-(c+O.value.length);p>0&&(O.next(p),c=Q);for(let $=Q;;){if($>=g){d=!0;break}if(!O.lineBreak&&c+O.value.length>$)break;$=c+O.value.length,c+=O.value.length,O.next()}}let f=dZ(a);if(d)o.add(Q,Q,ne.widget({widget:new cZ(f),diagnostics:a.slice()}));else{let p=a.reduce(($,_)=>_.markClass?$+" "+_.markClass:$,"");o.add(Q,g,ne.mark({class:"cm-lintRange cm-lintRange-"+f+p,diagnostics:a.slice(),inclusiveEnd:a.some($=>$.to>g)}))}if(l=g,l==h)break;for(let p=0;p<a.length;p++)a[p].to<=l&&a.splice(p--,1)}let u=o.finish();return new pn(u,i,tn(u))}}function tn(t,e=null,i=0){let r=null;return t.between(i,1e9,(n,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new jS(n,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new jS(r.from,s,r.diagnostic)}}),r}function tZ(t,e){let i=e.pos,r=e.end||i,n=t.state.facet(Ta).hideOn(t,i,r);if(n!=null)return n;let s=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(o=>o.is(km))||t.changes.touchesRange(s.from,Math.max(s.to,r)))}function iZ(t,e){return t.field(Qt,!1)?e:e.concat(ae.appendConfig.of(pZ))}const km=ae.define(),Tm=ae.define(),Cy=ae.define(),Qt=et.define({create(){return new pn(ne.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let i=t.diagnostics.map(e.changes),r=null,n=t.panel;if(t.selected){let s=e.changes.mapPos(t.selected.from,1);r=tn(i,t.selected.diagnostic,s)||tn(i,null,s)}!i.size&&n&&e.state.facet(Ta).autoPanel&&(n=null),t=new pn(i,n,r)}for(let i of e.effects)if(i.is(km)){let r=e.state.facet(Ta).autoPanel?i.value.length?Ra.open:null:t.panel;t=pn.init(i.value,r,e.state)}else i.is(Tm)?t=new pn(t.diagnostics,i.value?Ra.open:null,t.selected):i.is(Cy)&&(t=new pn(t.diagnostics,t.panel,i.value));return t},provide:t=>[_a.from(t,e=>e.panel),N.decorations.from(t,e=>e.diagnostics)]});function rZ(t){let e=t.field(Qt,!1);return e?e.diagnostics.size:0}const nZ=ne.mark({class:"cm-lintRange cm-lintRange-active"});function sZ(t,e,i){let{diagnostics:r}=t.state.field(Qt),n,s=-1,o=-1;r.between(e-(i<0?1:0),e+(i>0?1:0),(l,O,{spec:c})=>{if(e>=l&&e<=O&&(l==O||(e>l||i>0)&&(e<O||i<0)))return n=c.diagnostics,s=l,o=O,!1});let a=t.state.facet(Ta).tooltipFilter;return n&&a&&(n=a(n,t.state)),n?{pos:s,end:o,above:t.state.doc.lineAt(s).to<o,create(){return{dom:oZ(t,n)}}}:null}function oZ(t,e){return me("ul",{class:"cm-tooltip-lint"},e.map(i=>Zy(t,i,!1)))}const aZ=t=>{let e=t.state.field(Qt,!1);(!e||!e.panel)&&t.dispatch({effects:iZ(t.state,[Tm.of(!0)])});let i=rm(t,Ra.open);return i&&i.dom.querySelector(".cm-panel-lint ul").focus(),!0},LS=t=>{let e=t.state.field(Qt,!1);return!e||!e.panel?!1:(t.dispatch({effects:Tm.of(!1)}),!0)},lZ=t=>{let e=t.state.field(Qt,!1);if(!e)return!1;let i=t.state.selection.main,r=tn(e.diagnostics,null,i.to+1);return!r&&(r=tn(e.diagnostics,null,0),!r||r.from==i.from&&r.to==i.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},OZ=[{key:"Mod-Shift-m",run:aZ,preventDefault:!0},{key:"F8",run:lZ}],Ta=K.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Xi(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:DS,tooltipFilter:DS,needsRefresh:(e,i)=>e?i?r=>e(r)||i(r):e:i,hideOn:(e,i)=>e?i?(r,n,s)=>e(r,n,s)||i(r,n,s):e:i,autoPanel:(e,i)=>e||i})}}});function DS(t,e){return t?e?(i,r)=>e(t(i,r),r):t:e}function Yy(t){let e=[];if(t)e:for(let{name:i}of t){for(let r=0;r<i.length;r++){let n=i[r];if(/[a-zA-Z]/.test(n)&&!e.some(s=>s.toLowerCase()==n.toLowerCase())){e.push(n);continue e}}e.push("")}return e}function Zy(t,e,i){var r;let n=i?Yy(e.actions):[];return me("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},me("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,o)=>{let a=!1,l=m=>{if(m.preventDefault(),a)return;a=!0;let S=tn(t.state.field(Qt).diagnostics,e);S&&s.apply(t,S.from,S.to)},{name:O}=s,c=n[o]?O.indexOf(n[o]):-1,h=c<0?O:[O.slice(0,c),me("u",O.slice(c,c+1)),O.slice(c+1)],u=s.markClass?" "+s.markClass:"";return me("button",{type:"button",class:"cm-diagnosticAction"+u,onclick:l,onmousedown:l,"aria-label":` Action: ${O}${c<0?"":` (access key "${n[o]})"`}.`},h)}),e.source&&me("div",{class:"cm-diagnosticSource"},e.source))}class cZ extends bi{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return me("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class MS{constructor(e,i){this.diagnostic=i,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Zy(e,i,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Ra{constructor(e){this.view=e,this.items=[];let i=n=>{if(!(n.ctrlKey||n.altKey||n.metaKey)){if(n.keyCode==27)LS(this.view),this.view.focus();else if(n.keyCode==38||n.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(n.keyCode==40||n.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(n.keyCode==36)this.moveSelection(0);else if(n.keyCode==35)this.moveSelection(this.items.length-1);else if(n.keyCode==13)this.view.focus();else if(n.keyCode>=65&&n.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=Yy(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==n.keyCode){let l=tn(this.view.state.field(Qt).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;n.preventDefault()}},r=n=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(n.target)&&this.moveSelection(s)};this.list=me("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:i,onclick:r}),this.dom=me("div",{class:"cm-panel-lint"},this.list,me("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>LS(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Qt).selected;if(!e)return-1;for(let i=0;i<this.items.length;i++)if(this.items[i].diagnostic==e.diagnostic)return i;return-1}update(){let{diagnostics:e,selected:i}=this.view.state.field(Qt),r=0,n=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:O})=>{for(let c of O.diagnostics){if(o.has(c))continue;o.add(c);let h=-1,u;for(let m=r;m<this.items.length;m++)if(this.items[m].diagnostic==c){h=m;break}h<0?(u=new MS(this.view,c),this.items.splice(r,0,u),n=!0):(u=this.items[h],h>r&&(this.items.splice(r,h-r),n=!0)),i&&u.diagnostic==i.diagnostic?u.dom.hasAttribute("aria-selected")||(u.dom.setAttribute("aria-selected","true"),s=u):u.dom.hasAttribute("aria-selected")&&u.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)n=!0,this.items.pop();this.items.length==0&&(this.items.push(new MS(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),n=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let O=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/O:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/O)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function i(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)i();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)i()}moveSelection(e){if(this.selectedIndex<0)return;let i=this.view.state.field(Qt),r=tn(i.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Cy.of(r)})}static open(e){return new Ra(e)}}function hZ(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function Al(t){return hZ(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const uZ=N.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:Al("#d11")},".cm-lintRange-warning":{backgroundImage:Al("orange")},".cm-lintRange-info":{backgroundImage:Al("#999")},".cm-lintRange-hint":{backgroundImage:Al("#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 fZ(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function dZ(t){let e="hint",i=1;for(let r of t){let n=fZ(r.severity);n>i&&(i=n,e=r.severity)}return e}const pZ=[Qt,N.decorations.compute([Qt],t=>{let{selected:e,panel:i}=t.field(Qt);return!e||!i||e.from==e.to?ne.none:ne.set([nZ.range(e.from,e.to)])}),IR(sZ,{hideOn:tZ}),uZ];function mZ(t,e){let i=t.field(Qt,!1);if(i&&i.diagnostics.size){let r=[],n=[],s=-1;for(let o=ce.iter([i.diagnostics]);;o.next()){for(let a=0;a<r.length;a++)(!o.value||o.value.spec.diagnostics.indexOf(r[a])<0)&&(e(r[a],n[a],s),r.splice(a,1),n.splice(a--,1));if(!o.value)break;for(let a of o.value.spec.diagnostics)r.indexOf(a)<0&&(r.push(a),n.push(o.from));s=o.to}}}var GS=function(e){e===void 0&&(e={});var{crosshairCursor:i=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(GY)),e.defaultKeymap!==!1&&(r=r.concat(k2)),e.searchKeymap!==!1&&(r=r.concat(iY)),e.historyKeymap!==!1&&(r=r.concat(UC)),e.foldKeymap!==!1&&(r=r.concat(F5)),e.completionKeymap!==!1&&(r=r.concat(Ry)),e.lintKeymap!==!1&&(r=r.concat(OZ));var n=[];return e.lineNumbers!==!1&&n.push(a5()),e.highlightActiveLineGutter!==!1&&n.push(c5()),e.highlightSpecialChars!==!1&&n.push(PR()),e.history!==!1&&n.push(bC()),e.foldGutter!==!1&&n.push(eC()),e.drawSelection!==!1&&n.push(uR()),e.dropCursor!==!1&&n.push(gR()),e.allowMultipleSelections!==!1&&n.push(fe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&n.push(A5()),e.syntaxHighlighting!==!1&&n.push(um(sC,{fallback:!0})),e.bracketMatching!==!1&&n.push(uC()),e.closeBrackets!==!1&&n.push(jY()),e.autocompletion!==!1&&n.push(JY()),e.rectangularSelection!==!1&&n.push(zR()),i!==!1&&n.push(ER()),e.highlightActiveLine!==!1&&n.push(kR()),e.highlightSelectionMatches!==!1&&n.push(W2()),e.tabSize&&typeof e.tabSize=="number"&&n.push(Is.of(" ".repeat(e.tabSize))),n.concat([Bs.of(r.flat())]).filter(Boolean)};const gZ="#e5c07b",BS="#e06c75",QZ="#56b6c2",SZ="#ffffff",fO="#abb2bf",yd="#7d8799",$Z="#61afef",_Z="#98c379",IS="#d19a66",vZ="#c678dd",PZ="#21252b",NS="#2c313a",FS="#282c34",Ou="#353a42",yZ="#3E4451",HS="#528bff",wZ=N.theme({"&":{color:fO,backgroundColor:FS},".cm-content":{caretColor:HS},".cm-cursor, .cm-dropCursor":{borderLeftColor:HS},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:yZ},".cm-panels":{backgroundColor:PZ,color:fO},".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:FS,color:yd,border:"none"},".cm-activeLineGutter":{backgroundColor:NS},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ou},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ou,borderBottomColor:Ou},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:NS,color:fO}}},{dark:!0}),XZ=Fs.define([{tag:y.keyword,color:vZ},{tag:[y.name,y.deleted,y.character,y.propertyName,y.macroName],color:BS},{tag:[y.function(y.variableName),y.labelName],color:$Z},{tag:[y.color,y.constant(y.name),y.standard(y.name)],color:IS},{tag:[y.definition(y.name),y.separator],color:fO},{tag:[y.typeName,y.className,y.number,y.changed,y.annotation,y.modifier,y.self,y.namespace],color:gZ},{tag:[y.operator,y.operatorKeyword,y.url,y.escape,y.regexp,y.link,y.special(y.string)],color:QZ},{tag:[y.meta,y.comment],color:yd},{tag:y.strong,fontWeight:"bold"},{tag:y.emphasis,fontStyle:"italic"},{tag:y.strikethrough,textDecoration:"line-through"},{tag:y.link,color:yd,textDecoration:"underline"},{tag:y.heading,fontWeight:"bold",color:BS},{tag:[y.atom,y.bool,y.special(y.variableName)],color:IS},{tag:[y.processingInstruction,y.string,y.inserted],color:_Z},{tag:y.invalid,color:SZ}]),bZ=[wZ,um(XZ)];var xZ=N.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),kZ=function(e){e===void 0&&(e={});var{indentWithTab:i=!0,editable:r=!0,readOnly:n=!1,theme:s="light",placeholder:o="",basicSetup:a=!0}=e,l=[];switch(i&&l.unshift(Bs.of([T2])),a&&(typeof a=="boolean"?l.unshift(GS()):l.unshift(GS(a))),o&&l.unshift(YR(o)),s){case"light":l.push(xZ);break;case"dark":l.push(bZ);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(N.editable.of(!1)),n&&l.push(fe.readOnly.of(!0)),[...l]},TZ=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class RZ{constructor(e,i){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=i,this.timeoutMS=i,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(i=>{try{i()}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 KS{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 cu=null,CZ=()=>typeof window>"u"?new KS:(cu||(cu=new KS),cu),JS=Hi.define(),YZ=200,ZZ=[];function WZ(t){var{value:e,selection:i,onChange:r,onStatistics:n,onCreateEditor:s,onUpdate:o,extensions:a=ZZ,autoFocus:l,theme:O="light",height:c=null,minHeight:h=null,maxHeight:u=null,width:m=null,minWidth:S=null,maxWidth:Q=null,placeholder:g="",editable:d=!0,readOnly:f=!1,indentWithTab:p=!0,basicSetup:$=!0,root:_,initialState:P}=t,[w,v]=ge.useState(),[b,T]=ge.useState(),[Y,Z]=ge.useState(),R=ge.useState(()=>({current:null}))[0],z=ge.useState(()=>({current:null}))[0],V=N.theme({"&":{height:c,minHeight:h,maxHeight:u,width:m,minWidth:S,maxWidth:Q},"& .cm-scroller":{height:"100% !important"}}),L=N.updateListener.of(X=>{if(X.docChanged&&typeof r=="function"&&!X.transactions.some(W=>W.annotation(JS))){R.current?R.current.reset():(R.current=new RZ(()=>{if(z.current){var W=z.current;z.current=null,W()}R.current=null},YZ),CZ().add(R.current));var x=X.state.doc,C=x.toString();r(C,X)}n&&n(TZ(X))}),G=kZ({theme:O,editable:d,readOnly:f,placeholder:g,indentWithTab:p,basicSetup:$}),q=[L,V,...G];return o&&typeof o=="function"&&q.push(N.updateListener.of(o)),q=q.concat(a),ge.useLayoutEffect(()=>{if(w&&!Y){var X={doc:e,selection:i,extensions:q},x=P?fe.fromJSON(P.json,X,P.fields):fe.create(X);if(Z(x),!b){var C=new N({state:x,parent:w,root:_});T(C),s&&s(C,x)}}return()=>{b&&(Z(void 0),T(void 0))}},[w,Y]),ge.useEffect(()=>{t.container&&v(t.container)},[t.container]),ge.useEffect(()=>()=>{b&&(b.destroy(),T(void 0)),R.current&&(R.current.cancel(),R.current=null)},[b]),ge.useEffect(()=>{l&&b&&b.focus()},[l,b]),ge.useEffect(()=>{b&&b.dispatch({effects:ae.reconfigure.of(q)})},[O,a,c,h,u,m,S,Q,g,d,f,p,$,r,o]),ge.useEffect(()=>{if(e!==void 0){var X=b?b.state.doc.toString():"";if(b&&e!==X){var x=R.current&&!R.current.isDone,C=()=>{b&&e!==b.state.doc.toString()&&b.dispatch({changes:{from:0,to:b.state.doc.toString().length,insert:e||""},annotations:[JS.of(!0)]})};x?z.current=C:C()}}},[e,b]),{state:Y,setState:Z,view:b,setView:T,container:w,setContainer:v}}var UZ=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Wy=ge.forwardRef((t,e)=>{var{className:i,value:r="",selection:n,extensions:s=[],onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:O,autoFocus:c,theme:h="light",height:u,minHeight:m,maxHeight:S,width:Q,minWidth:g,maxWidth:d,basicSetup:f,placeholder:p,indentWithTab:$,editable:_,readOnly:P,root:w,initialState:v}=t,b=Jx(t,UZ),T=ge.useRef(null),{state:Y,view:Z,container:R,setContainer:z}=WZ({root:w,value:r,autoFocus:c,theme:h,height:u,minHeight:m,maxHeight:S,width:Q,minWidth:g,maxWidth:d,basicSetup:f,placeholder:p,indentWithTab:$,editable:_,readOnly:P,selection:n,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:O,extensions:s,initialState:v});ge.useImperativeHandle(e,()=>({editor:T.current,state:Y,view:Z}),[T,R,Y,Z]);var V=ge.useCallback(G=>{T.current=G,z(G)},[z]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var L=typeof h=="string"?"cm-theme-"+h:"cm-theme";return oe.jsx("div",kf({ref:V,className:""+L+(i?" "+i:"")},b))});Wy.displayName="CodeMirror";var e$={};class dc{constructor(e,i,r,n,s,o,a,l,O,c=0,h){this.p=e,this.stack=i,this.state=r,this.reducePos=n,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=O,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,i)=>i%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,i,r=0){let n=e.parser.context;return new dc(e,[],i,r,r,0,[],0,n?new t$(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,i){this.stack.push(this.state,i,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var i;let r=e>>19,n=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=s.dynamicPrecedence(n);if(a&&(this.score+=a),r==0){this.pushState(s.getGoto(this.state,n,!0),this.reducePos),n<s.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(n,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),O=l?this.stack[l-2]:this.p.ranges[0].from,c=this.reducePos-O;c>=2e3&&!(!((i=this.p.parser.nodeSet.types[n])===null||i===void 0)&&i.isAnonymous)&&(O==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=O,this.p.lastBigReductionSize=c));let h=l?this.stack[l-1]:0,u=this.bufferBase+this.buffer.length-h;if(n<s.minRepeatTerm||e&131072){let m=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,O,m,u+4,!0)}if(e&262144)this.state=this.stack[l];else{let m=this.stack[l-3];this.state=s.getGoto(m,n,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(n,O)}storeNode(e,i,r,n=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(i==r)return;if(o.buffer[a-2]>=i){o.buffer[a-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,i,r,n);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4)}this.buffer[o]=e,this.buffer[o+1]=i,this.buffer[o+2]=r,this.buffer[o+3]=n}}shift(e,i,r,n){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(i,r),i<=this.p.parser.maxNode&&this.buffer.push(i,r,n,4);else{let s=e,{parser:o}=this.p;this.pos=n;let a=o.stateFlag(s,1);!a&&(n>r||i<=o.maxNode)&&(this.reducePos=n),this.pushState(s,a?r:Math.min(r,this.reducePos)),this.shiftContext(i,r),i<=o.maxNode&&this.buffer.push(i,r,n,4)}}apply(e,i,r,n){e&65536?this.reduce(e):this.shift(e,i,r,n)}useNode(e,i){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(i,n),this.buffer.push(r,n,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,i=e.buffer.length;for(;i>0&&e.buffer[i-2]>e.reducePos;)i-=4;let r=e.buffer.slice(i),n=e.bufferBase+i;for(;e&&n==e.bufferBase;)e=e.parent;return new dc(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,i){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,i,4),this.storeNode(0,this.pos,i,r?8:4),this.pos=this.reducePos=i,this.score-=190}canShift(e){for(let i=new zZ(this);;){let r=this.p.parser.stateSlot(i.state,4)||this.p.parser.hasAction(i.state,e);if(r==0)return!1;if(!(r&65536))return!0;i.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let i=this.p.parser.nextStates(this.state);if(i.length>8||this.stack.length>=120){let n=[];for(let s=0,o;s<i.length;s+=2)(o=i[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&n.push(i[s],o);if(this.stack.length<120)for(let s=0;n.length<8&&s<i.length;s+=2){let o=i[s+1];n.some((a,l)=>l&1&&a==o)||n.push(i[s],o)}i=n}let r=[];for(let n=0;n<i.length&&r.length<4;n+=2){let s=i[n+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(i[n],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,i=e.stateSlot(this.state,5);if(!(i&65536))return!1;if(!e.validAction(this.state,i)){let r=i>>19,n=i&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],n,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;i=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(i),!0}findForcedReduction(){let{parser:e}=this.p,i=[],r=(n,s)=>{if(!i.includes(n))return i.push(n),e.allActions(n,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,O=this.stack.length-a*3;if(O>=0&&e.getGoto(this.stack[O],l,!1)>=0)return a<<19|65536|l}}else{let a=r(o,s+1);if(a!=null)return a}})};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 i=0;i<this.stack.length;i+=3)if(this.stack[i]!=e.stack[i])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,i){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(i)))}reduceContext(e,i){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(i)))}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 i=new t$(this.curContext.tracker,e);i.hash!=this.curContext.hash&&this.emitContext(),this.curContext=i}}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 t${constructor(e,i){this.tracker=e,this.context=i,this.hash=e.strict?e.hash(i):0}}class zZ{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let i=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 n=this.start.p.parser.getGoto(this.stack[this.base-3],i,!0);this.state=n}}class pc{constructor(e,i,r){this.stack=e,this.pos=i,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,i=e.bufferBase+e.buffer.length){return new pc(e,i,i-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 pc(this.stack,this.pos,this.index)}}function xo(t,e=Uint16Array){if(typeof t!="string")return t;let i=null;for(let r=0,n=0;r<t.length;){let s=0;for(;;){let o=t.charCodeAt(r++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}i?i[n++]=s:i=new e(s)}return i}class dO{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const i$=new dO;class qZ{constructor(e,i){this.input=e,this.ranges=i,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=i$,this.rangeIndex=0,this.pos=this.chunkPos=i[0].from,this.range=i[0],this.end=i[i.length-1].to,this.readNext()}resolveOffset(e,i){let r=this.range,n=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!n)return null;let o=this.ranges[--n];s-=r.from-o.to,r=o}for(;i<0?s>r.to:s>=r.to;){if(n==this.ranges.length-1)return null;let o=this.ranges[++n];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let i of this.ranges)if(i.to>e)return Math.max(e,i.from);return this.end}peek(e){let i=this.chunkOff+e,r,n;if(i>=0&&i<this.chunk.length)r=this.pos+e,n=this.chunk.charCodeAt(i);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)n=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),n=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),n}acceptToken(e,i=0){let r=i?this.resolveOffset(i,-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,i){this.token.value=e,this.token.end=i}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:i}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=i,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),i=this.pos+e.length;this.chunk=i>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,i){if(i?(this.token=i,i.start=e,i.lookAhead=e+1,i.value=i.extended=-1):this.token=i$,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,i){if(e>=this.chunkPos&&i<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,i-this.chunkPos);if(e>=this.chunk2Pos&&i<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,i-this.chunk2Pos);if(e>=this.range.from&&i<=this.range.to)return this.input.read(e,i);let r="";for(let n of this.ranges){if(n.from>=i)break;n.to>e&&(r+=this.input.read(Math.max(n.from,e),Math.min(n.to,i)))}return r}}class Ps{constructor(e,i){this.data=e,this.id=i}token(e,i){let{parser:r}=i.p;Uy(this.data,e,i,this.id,r.data,r.tokenPrecTable)}}Ps.prototype.contextual=Ps.prototype.fallback=Ps.prototype.extend=!1;class qs{constructor(e,i,r){this.precTable=i,this.elseToken=r,this.data=typeof e=="string"?xo(e):e}token(e,i){let r=e.pos,n=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(Uy(this.data,e,i,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||n++,o==null)break;e.reset(o,e.token)}n&&(e.reset(r,e.token),e.acceptToken(this.elseToken,n))}}qs.prototype.contextual=Ps.prototype.fallback=Ps.prototype.extend=!1;class ye{constructor(e,i={}){this.token=e,this.contextual=!!i.contextual,this.fallback=!!i.fallback,this.extend=!!i.extend}}function Uy(t,e,i,r,n,s){let o=0,a=1<<r,{dialect:l}=i.p.parser;e:for(;a&t[o];){let O=t[o+1];for(let m=o+3;m<O;m+=2)if((t[m+1]&a)>0){let S=t[m];if(l.allows(S)&&(e.token.value==-1||e.token.value==S||VZ(S,e.token.value,n,s))){e.acceptToken(S);break}}let c=e.next,h=0,u=t[o+2];if(e.next<0&&u>h&&t[O+u*3-3]==65535){o=t[O+u*3-1];continue e}for(;h<u;){let m=h+u>>1,S=O+m+(m<<1),Q=t[S],g=t[S+1]||65536;if(c<Q)u=m;else if(c>=g)h=m+1;else{o=t[S+2],e.advance();continue e}}break}}function r$(t,e,i){for(let r=e,n;(n=t[r])!=65535;r++)if(n==i)return r-e;return-1}function VZ(t,e,i,r){let n=r$(i,r,e);return n<0||r$(i,r,t)<n}const At=typeof process<"u"&&e$&&/\bparse\b/.test(e$.LOG);let hu=null;function n$(t,e,i){let r=t.cursor(Se.IncludeAnonymous);for(r.moveTo(e);;)if(!(i<0?r.childBefore(e):r.childAfter(e)))for(;;){if((i<0?r.to<e:r.from>e)&&!r.type.isError)return i<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(i<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return i<0?0:t.length}}let EZ=class{constructor(e,i){this.fragments=e,this.nodeSet=i,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?n$(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?n$(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 i=this.trees.length-1;if(i<0)return this.nextFragment(),null;let r=this.trees[i],n=this.index[i];if(n==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[n],o=this.start[i]+r.positions[n];if(o>e)return this.nextStart=o,null;if(s instanceof _e){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(le.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[i]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[i]++,this.nextStart=o+s.length}}};class AZ{constructor(e,i){this.stream=i,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new dO)}getActions(e){let i=0,r=null,{parser:n}=e.p,{tokenizers:s}=n,o=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let O=0;O<s.length;O++){if(!(1<<O&o))continue;let c=s[O],h=this.tokens[O];if(!(r&&!c.fallback)&&((c.contextual||h.start!=e.pos||h.mask!=o||h.context!=a)&&(this.updateCachedToken(h,c,e),h.mask=o,h.context=a),h.lookAhead>h.end+25&&(l=Math.max(h.lookAhead,l)),h.value!=0)){let u=i;if(h.extended>-1&&(i=this.addActions(e,h.extended,h.end,i)),i=this.addActions(e,h.value,h.end,i),!c.extend&&(r=h,i>u))break}}for(;this.actions.length>i;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new dO,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,i=this.addActions(e,r.value,r.end,i)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let i=new dO,{pos:r,p:n}=e;return i.start=r,i.end=Math.min(r+1,n.stream.end),i.value=r==n.stream.end?n.parser.eofTerm:0,i}updateCachedToken(e,i,r){let n=this.stream.clipPos(r.pos);if(i.token(this.stream.reset(n,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let a=s.specializers[o](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,i,r,n){for(let s=0;s<n;s+=3)if(this.actions[s]==e)return n;return this.actions[n++]=e,this.actions[n++]=i,this.actions[n++]=r,n}addActions(e,i,r,n){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let O=o.stateSlot(s,l?2:1);;O+=3){if(a[O]==65535)if(a[O+1]==1)O=sr(a,O+2);else{n==0&&a[O+1]==2&&(n=this.putAction(sr(a,O+2),i,r,n));break}a[O]==i&&(n=this.putAction(sr(a,O+1),i,r,n))}return n}}class jZ{constructor(e,i,r,n){this.parser=e,this.input=i,this.ranges=n,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 qZ(i,n),this.tokens=new AZ(e,this.stream),this.topTerm=e.top[1];let{from:s}=n[0];this.stacks=[dc.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new EZ(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,i=this.minStackPos,r=this.stacks=[],n,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>i)r.push(a);else{if(this.advanceStack(a,r,e))continue;{n||(n=[],s=[]),n.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!r.length){let o=n&&DZ(n);if(o)return At&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw At&&n&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&n){let o=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,s,r);if(o)return At&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,l)=>l.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>i)&&this.recovering--}else if(r.length>1){e:for(let o=0;o<r.length-1;o++){let a=r[o];for(let l=o+1;l<r.length;l++){let O=r[l];if(a.sameState(O)||a.buffer.length>500&&O.buffer.length>500)if((a.score-O.score||a.buffer.length-O.buffer.length)>0)r.splice(l--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o<r.length;o++)r[o].pos<this.minStackPos&&(this.minStackPos=r[o].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,i,r){let n=e.pos,{parser:s}=this,o=At?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let O=e.curContext&&e.curContext.tracker.strict,c=O?e.curContext.hash:0;for(let h=this.fragments.nodeAt(n);h;){let u=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(u>-1&&h.length&&(!O||(h.prop(le.contextHash)||0)==c))return e.useNode(h,u),At&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof _e)||h.children.length==0||h.positions[0]>0)break;let m=h.children[0];if(m instanceof _e&&h.positions[0]==0)h=m;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),At&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let O=0;O<l.length;){let c=l[O++],h=l[O++],u=l[O++],m=O==l.length||!r,S=m?e:e.split(),Q=this.tokens.mainToken;if(S.apply(c,h,Q?Q.start:S.pos,u),At&&console.log(o+this.stackID(S)+` (via ${c&65536?`reduce of ${s.getName(c&65535)}`:"shift"} for ${s.getName(h)} @ ${n}${S==e?"":", split"})`),m)return!0;S.pos>n?i.push(S):r.push(S)}return!1}advanceFully(e,i){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return s$(e,i),!0}}runRecovery(e,i,r){let n=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=i[o<<1],O=i[(o<<1)+1],c=At?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),At&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let h=a.split(),u=c;for(let m=0;m<10&&h.forceReduce()&&(At&&console.log(u+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,r));m++)At&&(u=this.stackID(h)+" -> ");for(let m of a.recoverByInsert(l))At&&console.log(c+this.stackID(m)+" (via recover-insert)"),this.advanceFully(m,r);this.stream.end>a.pos?(O==a.pos&&(O++,l=0),a.recoverByDelete(l,O),At&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),s$(a,r)):(!n||n.score<h.score)&&(n=h)}return n}stackToTree(e){return e.close(),_e.build({buffer:pc.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 i=(hu||(hu=new WeakMap)).get(e);return i||hu.set(e,i=String.fromCodePoint(this.nextStackID++)),i+e}}function s$(t,e){for(let i=0;i<e.length;i++){let r=e[i];if(r.pos==t.pos&&r.sameState(t)){e[i].score<t.score&&(e[i]=t);return}}e.push(t)}class LZ{constructor(e,i,r){this.source=e,this.flags=i,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}const uu=t=>t;class Ja{constructor(e){this.start=e.start,this.shift=e.shift||uu,this.reduce=e.reduce||uu,this.reuse=e.reuse||uu,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class zt extends am{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let i=e.nodeNames.split(" ");this.minRepeatTerm=i.length;for(let a=0;a<e.repeatNodeCount;a++)i.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),n=[];for(let a=0;a<i.length;a++)n.push([]);function s(a,l,O){n[a].push([l,l.deserialize(String(O))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=le[l]);for(let O=1;O<a.length;){let c=a[O++];if(c>=0)s(c,l,a[O++]);else{let h=a[O+-c];for(let u=-c;u>0;u--)s(a[O++],l,h);O++}}}this.nodeSet=new Ba(i.map((a,l)=>Ne.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:n[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=uP;let o=xo(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(o$),this.states=xo(e.states,Uint32Array),this.data=xo(e.stateData),this.goto=xo(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Ps(o,a):a),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,i,r){let n=new jZ(this,e,i,r);for(let s of this.wrappers)n=s(n,e,i,r);return n}getGoto(e,i,r=!1){let n=this.goto;if(i>=n[0])return-1;for(let s=n[i+1];;){let o=n[s++],a=o&1,l=n[s++];if(a&&r)return l;for(let O=s+(o>>1);s<O;s++)if(n[s]==e)return l;if(a)return-1}}hasAction(e,i){let r=this.data;for(let n=0;n<2;n++)for(let s=this.stateSlot(e,n?2:1),o;;s+=3){if((o=r[s])==65535)if(r[s+1]==1)o=r[s=sr(r,s+2)];else{if(r[s+1]==2)return sr(r,s+2);break}if(o==i||o==0)return sr(r,s+1)}return 0}stateSlot(e,i){return this.states[e*6+i]}stateFlag(e,i){return(this.stateSlot(e,0)&i)>0}validAction(e,i){return!!this.allActions(e,r=>r==i?!0:null)}allActions(e,i){let r=this.stateSlot(e,4),n=r?i(r):void 0;for(let s=this.stateSlot(e,1);n==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=sr(this.data,s+2);else break;n=i(sr(this.data,s+1))}return n}nextStates(e){let i=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=sr(this.data,r+2);else break;if(!(this.data[r+2]&1)){let n=this.data[r+1];i.some((s,o)=>o&1&&s==n)||i.push(this.data[r],n)}}return i}configure(e){let i=Object.assign(Object.create(zt.prototype),this);if(e.props&&(i.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}`);i.top=r}return e.tokenizers&&(i.tokenizers=this.tokenizers.map(r=>{let n=e.tokenizers.find(s=>s.from==r);return n?n.to:r})),e.specializers&&(i.specializers=this.specializers.slice(),i.specializerSpecs=this.specializerSpecs.map((r,n)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return i.specializers[n]=o$(o),o})),e.contextTracker&&(i.context=e.contextTracker),e.dialect&&(i.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(i.strict=e.strict),e.wrap&&(i.wrappers=i.wrappers.concat(e.wrap)),e.bufferLength!=null&&(i.bufferLength=e.bufferLength),i}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 i=this.dynamicPrecedences;return i==null?0:i[e]||0}parseDialect(e){let i=Object.keys(this.dialects),r=i.map(()=>!1);if(e)for(let s of e.split(" ")){let o=i.indexOf(s);o>=0&&(r[o]=!0)}let n=null;for(let s=0;s<i.length;s++)if(!r[s])for(let o=this.dialects[i[s]],a;(a=this.data[o++])!=65535;)(n||(n=new Uint8Array(this.maxTerm+1)))[a]=1;return new LZ(e,r,n)}static deserialize(e){return new zt(e)}}function sr(t,e){return t[e]|t[e+1]<<16}function DZ(t){let e=null;for(let i of t){let r=i.p.stoppedAt;(i.pos==i.p.stream.end||r!=null&&i.pos>r)&&i.p.parser.stateFlag(i.state,2)&&(!e||e.score<i.score)&&(e=i)}return e}function o$(t){if(t.external){let e=t.extend?1:0;return(i,r)=>t.external(i,r)<<1|e}return t.get}const MZ=316,GZ=317,a$=1,BZ=2,IZ=3,NZ=4,FZ=318,HZ=320,KZ=321,JZ=5,eW=6,tW=0,wd=[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],zy=125,iW=59,Xd=47,rW=42,nW=43,sW=45,oW=60,aW=44,lW=63,OW=46,cW=91,hW=new Ja({start:!1,shift(t,e){return e==JZ||e==eW||e==HZ?t:e==KZ},strict:!1}),uW=new ye((t,e)=>{let{next:i}=t;(i==zy||i==-1||e.context)&&t.acceptToken(FZ)},{contextual:!0,fallback:!0}),fW=new ye((t,e)=>{let{next:i}=t,r;wd.indexOf(i)>-1||i==Xd&&((r=t.peek(1))==Xd||r==rW)||i!=zy&&i!=iW&&i!=-1&&!e.context&&t.acceptToken(MZ)},{contextual:!0}),dW=new ye((t,e)=>{t.next==cW&&!e.context&&t.acceptToken(GZ)},{contextual:!0}),pW=new ye((t,e)=>{let{next:i}=t;if(i==nW||i==sW){if(t.advance(),i==t.next){t.advance();let r=!e.context&&e.canShift(a$);t.acceptToken(r?a$:BZ)}}else i==lW&&t.peek(1)==OW&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(IZ))},{contextual:!0});function fu(t,e){return t>=65&&t<=90||t>=97&&t<=122||t==95||t>=192||!e&&t>=48&&t<=57}const mW=new ye((t,e)=>{if(t.next!=oW||!e.dialectEnabled(tW)||(t.advance(),t.next==Xd))return;let i=0;for(;wd.indexOf(t.next)>-1;)t.advance(),i++;if(fu(t.next,!0)){for(t.advance(),i++;fu(t.next,!1);)t.advance(),i++;for(;wd.indexOf(t.next)>-1;)t.advance(),i++;if(t.next==aW)return;for(let r=0;;r++){if(r==7){if(!fu(t.next,!0))return;break}if(t.next!="extends".charCodeAt(r))break;t.advance(),i++}}t.acceptToken(NZ,-i)}),gW=qt({"get set async static":y.modifier,"for while do if else switch try catch finally return throw break continue default case defer":y.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":y.operatorKeyword,"let var const using function class extends":y.definitionKeyword,"import export from":y.moduleKeyword,"with debugger new":y.keyword,TemplateString:y.special(y.string),super:y.atom,BooleanLiteral:y.bool,this:y.self,null:y.null,Star:y.modifier,VariableName:y.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":y.function(y.variableName),VariableDefinition:y.definition(y.variableName),Label:y.labelName,PropertyName:y.propertyName,PrivatePropertyName:y.special(y.propertyName),"CallExpression/MemberExpression/PropertyName":y.function(y.propertyName),"FunctionDeclaration/VariableDefinition":y.function(y.definition(y.variableName)),"ClassDeclaration/VariableDefinition":y.definition(y.className),"NewExpression/VariableName":y.className,PropertyDefinition:y.definition(y.propertyName),PrivatePropertyDefinition:y.definition(y.special(y.propertyName)),UpdateOp:y.updateOperator,"LineComment Hashbang":y.lineComment,BlockComment:y.blockComment,Number:y.number,String:y.string,Escape:y.escape,ArithOp:y.arithmeticOperator,LogicOp:y.logicOperator,BitOp:y.bitwiseOperator,CompareOp:y.compareOperator,RegExp:y.regexp,Equals:y.definitionOperator,Arrow:y.function(y.punctuation),": Spread":y.punctuation,"( )":y.paren,"[ ]":y.squareBracket,"{ }":y.brace,"InterpolationStart InterpolationEnd":y.special(y.brace),".":y.derefOperator,", ;":y.separator,"@":y.meta,TypeName:y.typeName,TypeDefinition:y.definition(y.typeName),"type enum interface implements namespace module declare":y.definitionKeyword,"abstract global Privacy readonly override":y.modifier,"is keyof unique infer asserts":y.operatorKeyword,JSXAttributeValue:y.attributeValue,JSXText:y.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":y.angleBracket,"JSXIdentifier JSXNameSpacedName":y.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":y.attributeName,"JSXBuiltin/JSXIdentifier":y.standard(y.tagName)}),QW={__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},SW={__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},$W={__proto__:null,"<":193},_W=zt.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&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%hOTX'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%WOPP~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:hW,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:[gW],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:[fW,dW,pW,mW,2,3,4,5,6,7,8,9,10,11,12,13,14,uW,new qs("$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 qs("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:t=>QW[t]||-1},{term:343,get:t=>SW[t]||-1},{term:95,get:t=>$W[t]||-1}],tokenPrec:15201}),qy=[he("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),he("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),he("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),he("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),he("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),he(`try {
|
|
58
|
+
`&&t.lineWrapping&&(r&&(r=A.single(r.main.anchor-1,r.main.head-1)),i={from:s.from,to:s.to,insert:$e.of([" "])}),i)return Kp(t,i,r,o);if(r&&!FO(r,s)){let a=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(a=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(r=z0(n.facet(Ga).map(O=>O(t)),r))),t.dispatch({selection:r,scrollIntoView:a,userEvent:l}),!0}else return!1}function Kp(t,e,i,r=-1){if(J.ios&&t.inputState.flushIOSKey(e))return!0;let n=t.state.selection.main;if(J.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&t.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Qs(t.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>n.head)&&Qs(t.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&Qs(t.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let o,a=()=>o||(o=ST(t,e,i));return t.state.facet(w0).some(l=>l(t,e.from,e.to,s,a))||t.dispatch(a()),!0}function ST(t,e,i){let r,n=t.state,s=n.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,O=l<0?s.from:s.to,c=Go(n.facet(Ga).map(h=>h(t)),O,l);e.from==c&&(o=c)}if(o>-1)r={changes:e,selection:A.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!i||i.main.empty&&i.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=s.from<e.from?n.sliceDoc(s.from,e.from):"",O=s.to>e.to?n.sliceDoc(e.to,s.to):"";r=n.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+O))}else{let l=n.changes(e),O=i&&i.main.to<=l.newLength?i.main:void 0;if(n.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let c=t.state.sliceDoc(e.from,e.to),h,u=i&&U0(t,i.main.head);if(u){let S=e.insert.length-(e.to-e.from);h={from:u.from,to:u.to-S}}else h=t.state.doc.lineAt(s.head);let m=s.to-e.to;r=n.changeByRange(S=>{if(S.from==s.from&&S.to==s.to)return{changes:l,range:O||S.map(l)};let Q=S.to-m,g=Q-c.length;if(t.state.sliceDoc(g,Q)!=c||Q>=h.from&&g<=h.to)return{range:S};let d=n.changes({from:g,to:Q,insert:e.insert}),f=S.to-s.to;return{changes:d,range:O?A.range(Math.max(0,O.anchor+f),Math.max(0,O.head+f)):S.map(d)}})}else r={changes:l,selection:O&&n.selection.replaceRange(O)}}let a="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,a+=".compose",t.inputState.compositionFirstChange&&(a+=".start",t.inputState.compositionFirstChange=!1)),n.update(r,{userEvent:a,scrollIntoView:!0})}function E0(t,e,i,r){let n=Math.min(t.length,e.length),s=0;for(;s<n&&t.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==n&&t.length==e.length)return null;let o=t.length,a=e.length;for(;o>0&&a>0&&t.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));i-=o+l-s}if(o<s&&t.length<e.length){let l=i<=s&&i>=o?s-i:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=i<=s&&i>=a?s-i:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function $T(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:i,anchorOffset:r,focusNode:n,focusOffset:s}=t.observer.selectionRange;return i&&(e.push(new wQ(i,r)),(n!=i||s!=r)&&e.push(new wQ(n,s))),e}function _T(t,e){if(t.length==0)return null;let i=t[0].pos,r=t.length==2?t[1].pos:i;return i>-1&&r>-1?A.single(i+e,r+e):null}function FO(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class vT{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,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.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,J.safari&&e.contentDOM.addEventListener("input",()=>null),J.gecko&&zT(e.contentDOM.ownerDocument)}handleEvent(e){!TT(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,i){let r=this.handlers[e];if(r){for(let n of r.observers)n(this.view,i);for(let n of r.handlers){if(i.defaultPrevented)break;if(n(this.view,i)){i.preventDefault();break}}}}ensureHandlers(e){let i=PT(e),r=this.handlers,n=this.view.contentDOM;for(let s in i)if(s!="scroll"){let o=!i[s].handlers.length,a=r[s];a&&o!=!a.handlers.length&&(n.removeEventListener(s,this.handleEvent),a=null),a||n.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!i[s]&&n.removeEventListener(s,this.handleEvent);this.handlers=i}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&&j0.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),J.android&&J.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let i;return J.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((i=A0.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||yT.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=i||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let i=this.pendingIOSKey;return!i||i.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Qs(this.view.contentDOM,i.key,i.keyCode,i instanceof KeyboardEvent?i:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:J.safari&&!J.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 XQ(t,e){return(i,r)=>{try{return e.call(t,r,i)}catch(n){Tt(i.state,n)}}}function PT(t){let e=Object.create(null);function i(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of t){let n=r.spec,s=n&&n.plugin.domEventHandlers,o=n&&n.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&i(a).handlers.push(XQ(r.value,l))}if(o)for(let a in o){let l=o[a];l&&i(a).observers.push(XQ(r.value,l))}}for(let r in wi)i(r).handlers.push(wi[r]);for(let r in Wt)i(r).observers.push(Wt[r]);return e}const A0=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],yT="dthko",j0=[16,17,18,20,91,92,224,225],Pl=6;function yl(t){return Math.max(0,t)*.7+8}function wT(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class XT{constructor(e,i,r,n){this.view=e,this.startEvent=i,this.style=r,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=i,this.scrollParents=h0(e.contentDOM),this.atoms=e.state.facet(Ga).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=i.shiftKey,this.multiple=e.state.facet(fe.allowMultipleSelections)&&bT(e,i),this.dragging=kT(e,i)&&M0(i)==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&&wT(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let i=0,r=0,n=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Hp(this.view);e.clientX-l.left<=n+Pl?i=-yl(n-e.clientX):e.clientX+l.right>=o-Pl&&(i=yl(e.clientX-o)),e.clientY-l.top<=s+Pl?r=-yl(s-e.clientY):e.clientY+l.bottom>=a-Pl&&(r=yl(e.clientY-a)),this.setScrollSpeed(i,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,i){this.scrollSpeed={x:e,y:i},e||i?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:i}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),i&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=i,i=0),(e||i)&&this.view.win.scrollBy(e,i),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:i}=this,r=z0(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(i.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(i=>i.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function bT(t,e){let i=t.state.facet(_0);return i.length?i[0](e):J.mac?e.metaKey:e.ctrlKey}function xT(t,e){let i=t.state.facet(v0);return i.length?i[0](e):J.mac?!e.altKey:!e.ctrlKey}function kT(t,e){let{main:i}=t.state.selection;if(i.empty)return!1;let r=Qa(t.root);if(!r||r.rangeCount==0)return!0;let n=r.getRangeAt(0).getClientRects();for(let s=0;s<n.length;s++){let o=n[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function TT(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let i=e.target,r;i!=t.contentDOM;i=i.parentNode)if(!i||i.nodeType==11||(r=Ae.get(i))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const wi=Object.create(null),Wt=Object.create(null),L0=J.ie&&J.ie_version<15||J.ios&&J.webkit_version<604;function RT(t){let e=t.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{t.focus(),i.remove(),D0(t,i.value)},50)}function Mc(t,e,i){for(let r of t.facet(e))i=r(i,t);return i}function D0(t,e){e=Mc(t.state,Bp,e);let{state:i}=t,r,n=1,s=i.toText(e),o=s.lines==i.selection.ranges.length;if(rd!=null&&i.selection.ranges.every(l=>l.empty)&&rd==s.toString()){let l=-1;r=i.changeByRange(O=>{let c=i.doc.lineAt(O.from);if(c.from==l)return{range:O};l=c.from;let h=i.toText((o?s.line(n++).text:e)+i.lineBreak);return{changes:{from:c.from,insert:h},range:A.cursor(O.from+h.length)}})}else o?r=i.changeByRange(l=>{let O=s.line(n++);return{changes:{from:l.from,to:l.to,insert:O.text},range:A.cursor(l.from+O.length)}}):r=i.replaceSelection(s);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Wt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Wt.wheel=Wt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};wi.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Wt.touchstart=(t,e)=>{let i=t.inputState,r=e.targetTouches[0];i.lastTouchTime=Date.now(),r&&(i.lastTouchX=r.clientX,i.lastTouchY=r.clientY),i.setSelectionOrigin("select.pointer")};Wt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};wi.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let r of t.state.facet(P0))if(i=r(t,e),i)break;if(!i&&e.button==0&&(i=YT(t,e)),i){let r=!t.hasFocus;t.inputState.startMouseSelection(new XT(t,e,i,r)),r&&t.observer.ignore(()=>{u0(t.contentDOM);let s=t.root.activeElement;s&&!s.contains(t.contentDOM)&&s.blur()});let n=t.inputState.mouseSelection;if(n)return n.start(e),n.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function bQ(t,e,i,r){if(r==1)return A.cursor(e,i);if(r==2)return OT(t.state,e,i);{let n=t.docView.lineAt(e,i),s=t.state.doc.lineAt(n?n.posAtEnd:e),o=n?n.posAtStart:s.from,a=n?n.posAtEnd:s.to;return a<t.state.doc.length&&a==s.to&&a++,A.range(o,a)}}const CT=J.ie&&J.ie_version<=11;let xQ=null,kQ=0,TQ=0;function M0(t){if(!CT)return t.detail;let e=xQ,i=TQ;return xQ=t,TQ=Date.now(),kQ=!e||i>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(kQ+1)%3:1}function YT(t,e){let i=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=M0(e),n=t.state.selection;return{update(s){s.docChanged&&(i.pos=s.changes.mapPos(i.pos),n=n.map(s.changes))},get(s,o,a){let l=t.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),O,c=bQ(t,l.pos,l.assoc,r);if(i.pos!=l.pos&&!o){let h=bQ(t,i.pos,i.assoc,r),u=Math.min(h.from,c.from),m=Math.max(h.to,c.to);c=u<c.from?A.range(u,m,c.assoc):A.range(m,u,c.assoc)}return o?n.replaceRange(n.main.extend(c.from,c.to,c.assoc)):a&&r==1&&n.ranges.length>1&&(O=ZT(n,l.pos))?O:a?n.addRange(c):A.create([c])}}}function ZT(t,e){for(let i=0;i<t.ranges.length;i++){let{from:r,to:n}=t.ranges[i];if(r<=e&&n>=e)return A.create(t.ranges.slice(0,i).concat(t.ranges.slice(i+1)),t.mainIndex==i?0:t.mainIndex-(t.mainIndex>i?1:0))}return null}wi.dragstart=(t,e)=>{let{selection:{main:i}}=t.state;if(e.target.draggable){let n=t.docView.tile.nearest(e.target);if(n&&n.isWidget()){let s=n.posAtStart,o=s+n.length;(s>=i.to||o<=i.from)&&(i=A.range(s,o))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=i,e.dataTransfer&&(e.dataTransfer.setData("Text",Mc(t.state,Ip,t.state.sliceDoc(i.from,i.to))),e.dataTransfer.effectAllowed="copyMove"),!1};wi.dragend=t=>(t.inputState.draggedContent=null,!1);function RQ(t,e,i,r){if(i=Mc(t.state,Bp,i),!i)return;let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=t.inputState,o=r&&s&&xT(t,e)?{from:s.from,to:s.to}:null,a={from:n,insert:i},l=t.state.changes(o?[o,a]:a);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(n,-1),head:l.mapPos(n,1)},userEvent:o?"move.drop":"input.drop"}),t.inputState.draggedContent=null}wi.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let i=e.dataTransfer.files;if(i&&i.length){let r=Array(i.length),n=0,s=()=>{++n==i.length&&RQ(t,e,r.filter(o=>o!=null).join(t.state.lineBreak),!1)};for(let o=0;o<i.length;o++){let a=new FileReader;a.onerror=s,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),s()},a.readAsText(i[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return RQ(t,e,r,!0),!0}return!1};wi.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let i=L0?null:e.clipboardData;return i?(D0(t,i.getData("text/plain")||i.getData("text/uri-list")),!0):(RT(t),!1)};function WT(t,e){let i=t.dom.parentNode;if(!i)return;let r=i.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(),t.focus()},50)}function UT(t){let e=[],i=[],r=!1;for(let n of t.selection.ranges)n.empty||(e.push(t.sliceDoc(n.from,n.to)),i.push(n));if(!e.length){let n=-1;for(let{from:s}of t.selection.ranges){let o=t.doc.lineAt(s);o.number>n&&(e.push(o.text),i.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),n=o.number}r=!0}return{text:Mc(t,Ip,e.join(t.lineBreak)),ranges:i,linewise:r}}let rd=null;wi.copy=wi.cut=(t,e)=>{if(!Lo(t.contentDOM,t.observer.selectionRange))return!1;let{text:i,ranges:r,linewise:n}=UT(t.state);if(!i&&!n)return!1;rd=n?i:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=L0?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",i),!0):(WT(t,i),!1)};const G0=Hi.define();function B0(t,e){let i=[];for(let r of t.facet(X0)){let n=r(t,e);n&&i.push(n)}return i.length?t.update({effects:i,annotations:G0.of(!0)}):null}function I0(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let i=B0(t.state,e);i?t.dispatch(i):t.update([])}},10)}Wt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),I0(t)};Wt.blur=t=>{t.observer.clearSelectionRange(),I0(t)};Wt.compositionstart=Wt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Wt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,J.chrome&&J.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Wt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};wi.beforeinput=(t,e)=>{var i,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let s=(i=e.dataTransfer)===null||i===void 0?void 0:i.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=t.posAtDOM(a.startContainer,a.startOffset),O=t.posAtDOM(a.endContainer,a.endOffset);return Kp(t,{from:l,to:O,insert:t.state.toText(s)},null),!0}}let n;if(J.chrome&&J.android&&(n=A0.find(s=>s.inputType==e.inputType))&&(t.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return J.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),J.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Wt.compositionend(t,e),20),!1};const CQ=new Set;function zT(t){CQ.has(t)||(CQ.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const YQ=["pre-wrap","normal","pre-line","break-spaces"];let Zs=!1;function ZQ(){Zs=!1}class qT{constructor(e){this.lineWrapping=e,this.doc=$e.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,i){let r=this.doc.lineAt(i).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((i-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 YQ.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let i=!1;for(let r=0;r<e.length;r++){let n=e[r];n<0?r++:this.heightSamples[Math.floor(n*10)]||(i=!0,this.heightSamples[Math.floor(n*10)]=!0)}return i}refresh(e,i,r,n,s,o){let a=YQ.indexOf(e)>-1,l=Math.abs(i-this.lineHeight)>.3||this.lineWrapping!=a||Math.abs(r-this.charWidth)>.1;if(this.lineWrapping=a,this.lineHeight=i,this.charWidth=r,this.textHeight=n,this.lineLength=s,l){this.heightSamples={};for(let O=0;O<o.length;O++){let c=o[O];c<0?O++:this.heightSamples[Math.floor(c*10)]=!0}}return l}}class VT{constructor(e,i){this.from=e,this.heights=i,this.index=0}get more(){return this.index<this.heights.length}}class Qi{constructor(e,i,r,n,s){this.from=e,this.length=i,this.top=r,this.height=n,this._content=s}get type(){return typeof this._content=="number"?ot.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 Wn?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let i=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Qi(this.from,this.length+e.length,this.top,this.height+e.height,i)}}var be=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}(be||(be={}));const aO=.001;class _t{constructor(e,i,r=2){this.length=e,this.height=i,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)>aO&&(Zs=!0),this.height=e)}replace(e,i,r){return _t.of(r)}decomposeLeft(e,i){i.push(this)}decomposeRight(e,i){i.push(this)}applyChanges(e,i,r,n){let s=this,o=r.doc;for(let a=n.length-1;a>=0;a--){let{fromA:l,toA:O,fromB:c,toB:h}=n[a],u=s.lineAt(l,be.ByPosNoHeight,r.setDoc(i),0,0),m=u.to>=O?u:s.lineAt(O,be.ByPosNoHeight,r,0,0);for(h+=m.to-O,O=m.to;a>0&&u.from<=n[a-1].toA;)l=n[a-1].fromA,c=n[a-1].fromB,a--,l<u.from&&(u=s.lineAt(l,be.ByPosNoHeight,r,0,0));c+=u.from-l,l=u.from;let S=Jp.build(r.setDoc(o),e,c,h);s=HO(s,s.replace(l,O,S))}return s.updateHeight(r,0)}static empty(){return new Dt(0,0,0)}static of(e){if(e.length==1)return e[0];let i=0,r=e.length,n=0,s=0;for(;;)if(i==r)if(n>s*2){let a=e[i-1];a.break?e.splice(--i,1,a.left,null,a.right):e.splice(--i,1,a.left,a.right),r+=1+a.break,n-=a.size}else if(s>n*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,s-=a.size}else break;else if(n<s){let a=e[i++];a&&(n+=a.size)}else{let a=e[--r];a&&(s+=a.size)}let o=0;return e[i-1]==null?(o=1,i--):e[i]==null&&(o=1,r++),new AT(_t.of(e.slice(0,i)),o,_t.of(e.slice(r)))}}function HO(t,e){return t==e?t:(t.constructor!=e.constructor&&(Zs=!0),e)}_t.prototype.size=1;const ET=re.replace({});class N0 extends _t{constructor(e,i,r){super(e,i),this.deco=r,this.spaceAbove=0}mainBlock(e,i){return new Qi(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,i,r,n){return this.spaceAbove&&e<r+this.spaceAbove?new Qi(n,0,r,this.spaceAbove,ET):this.mainBlock(r,n)}lineAt(e,i,r,n,s){let o=this.mainBlock(n,s);return this.spaceAbove?this.blockAt(0,r,n,s).join(o):o}forEachLine(e,i,r,n,s,o){e<=s+this.length&&i>=s&&o(this.lineAt(0,be.ByPos,r,n,s))}setMeasuredHeight(e){let i=e.heights[e.index++];i<0?(this.spaceAbove=-i,i=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(i)}updateHeight(e,i=0,r=!1,n){return n&&n.from<=i&&n.more&&this.setMeasuredHeight(n),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Dt extends N0{constructor(e,i,r){super(e,i,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,i){return new Qi(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,i,r){let n=r[0];return r.length==1&&(n instanceof Dt||n instanceof it&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof it?n=new Dt(n.length,this.height,this.spaceAbove):n.height=this.height,this.outdated||(n.outdated=!1),n):_t.of(r)}updateHeight(e,i=0,r=!1,n){return n&&n.from<=i&&n.more?this.setMeasuredHeight(n):(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 it extends _t{constructor(e){super(e,0)}heightMetrics(e,i){let r=e.doc.lineAt(i).number,n=e.doc.lineAt(i+this.length).number,s=n-r+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:n,perLine:o,perChar:a}}blockAt(e,i,r,n){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(i,n);if(i.lineWrapping){let O=n+(e<i.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),c=i.doc.lineAt(O),h=a+c.length*l,u=Math.max(r,e-h/2);return new Qi(c.from,c.length,u,h,0)}else{let O=Math.max(0,Math.min(o-s,Math.floor((e-r)/a))),{from:c,length:h}=i.doc.line(s+O);return new Qi(c,h,r+a*O,a,0)}}lineAt(e,i,r,n,s){if(i==be.ByHeight)return this.blockAt(e,r,n,s);if(i==be.ByPosNoHeight){let{from:m,to:S}=r.doc.lineAt(e);return new Qi(m,S-m,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(r,s),O=r.doc.lineAt(e),c=a+O.length*l,h=O.number-o,u=n+a*h+l*(O.from-s-h);return new Qi(O.from,O.length,Math.max(n,Math.min(u,n+this.height-c)),c,0)}forEachLine(e,i,r,n,s,o){e=Math.max(e,s),i=Math.min(i,s+this.length);let{firstLine:a,perLine:l,perChar:O}=this.heightMetrics(r,s);for(let c=e,h=n;c<=i;){let u=r.doc.lineAt(c);if(c==e){let S=u.number-a;h+=l*S+O*(e-s-S)}let m=l+O*u.length;o(new Qi(u.from,u.length,h,m,0)),h+=m,c=u.to+1}}replace(e,i,r){let n=this.length-i;if(n>0){let s=r[r.length-1];s instanceof it?r[r.length-1]=new it(s.length+n):r.push(null,new it(n-1))}if(e>0){let s=r[0];s instanceof it?r[0]=new it(e+s.length):r.unshift(new it(e-1),null)}return _t.of(r)}decomposeLeft(e,i){i.push(new it(e-1),null)}decomposeRight(e,i){i.push(null,new it(this.length-e-1))}updateHeight(e,i=0,r=!1,n){let s=i+this.length;if(n&&n.from<=i+this.length&&n.more){let o=[],a=Math.max(i,n.from),l=-1;for(n.from>i&&o.push(new it(n.from-i-1).updateHeight(e,i));a<=s&&n.more;){let c=e.doc.lineAt(a).length;o.length&&o.push(null);let h=n.heights[n.index++],u=0;h<0&&(u=-h,h=n.heights[n.index++]),l==-1?l=h:Math.abs(h-l)>=aO&&(l=-2);let m=new Dt(c,h,u);m.outdated=!1,o.push(m),a+=c+1}a<=s&&o.push(null,new it(s-a).updateHeight(e,a));let O=_t.of(o);return(l<0||Math.abs(O.height-this.height)>=aO||Math.abs(l-this.heightMetrics(e,i).perLine)>=aO)&&(Zs=!0),HO(this,O)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(i,i+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class AT extends _t{constructor(e,i,r){super(e.length+i+r.length,e.height+r.height,i|(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,i,r,n){let s=r+this.left.height;return e<s?this.left.blockAt(e,i,r,n):this.right.blockAt(e,i,s,n+this.left.length+this.break)}lineAt(e,i,r,n,s){let o=n+this.left.height,a=s+this.left.length+this.break,l=i==be.ByHeight?e<o:e<a,O=l?this.left.lineAt(e,i,r,n,s):this.right.lineAt(e,i,r,o,a);if(this.break||(l?O.to<a:O.from>a))return O;let c=i==be.ByPosNoHeight?be.ByPosNoHeight:be.ByPos;return l?O.join(this.right.lineAt(a,c,r,o,a)):this.left.lineAt(a,c,r,n,s).join(O)}forEachLine(e,i,r,n,s,o){let a=n+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,i,r,n,s,o),i>=l&&this.right.forEachLine(e,i,r,a,l,o);else{let O=this.lineAt(l,be.ByPos,r,n,s);e<O.from&&this.left.forEachLine(e,O.from-1,r,n,s,o),O.to>=e&&O.from<=i&&o(O),i>O.to&&this.right.forEachLine(O.to+1,i,r,a,l,o)}}replace(e,i,r){let n=this.left.length+this.break;if(i<n)return this.balanced(this.left.replace(e,i,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-n,i-n,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of r)s.push(a);if(e>0&&WQ(s,o-1),i<this.length){let a=s.length;this.decomposeRight(i,s),WQ(s,a)}return _t.of(s)}decomposeLeft(e,i){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,i);i.push(this.left),this.break&&(r++,e>=r&&i.push(null)),e>r&&this.right.decomposeLeft(e-r,i)}decomposeRight(e,i){let r=this.left.length,n=r+this.break;if(e>=n)return this.right.decomposeRight(e-n,i);e<r&&this.left.decomposeRight(e,i),this.break&&e<n&&i.push(null),i.push(this.right)}balanced(e,i){return e.size>2*i.size||i.size>2*e.size?_t.of(this.break?[e,null,i]:[e,i]):(this.left=HO(this.left,e),this.right=HO(this.right,i),this.setHeight(e.height+i.height),this.outdated=e.outdated||i.outdated,this.size=e.size+i.size,this.length=e.length+this.break+i.length,this)}updateHeight(e,i=0,r=!1,n){let{left:s,right:o}=this,a=i+s.length+this.break,l=null;return n&&n.from<=i+s.length&&n.more?l=s=s.updateHeight(e,i,r,n):s.updateHeight(e,i,r),n&&n.from<=a+o.length&&n.more?l=o=o.updateHeight(e,a,r,n):o.updateHeight(e,a,r),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function WQ(t,e){let i,r;t[e]==null&&(i=t[e-1])instanceof it&&(r=t[e+1])instanceof it&&t.splice(e-1,3,new it(i.length+1+r.length))}const jT=5;class Jp{constructor(e,i){this.pos=e,this.oracle=i,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,i){if(this.lineStart>-1){let r=Math.min(i,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof Dt?n.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Dt(r-this.pos,-1,0)),this.writtenTo=r,i>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=i}point(e,i,r){if(e<i||r.heightRelevant){let n=r.widget?r.widget.estimatedHeight:0,s=r.widget?r.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let o=i-e;r.block?this.addBlock(new N0(o,n,r)):(o||s||n>=jT)&&this.addLineDeco(n,s,o)}else i>e&&this.span(e,i);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:i}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=i,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 Dt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,i){let r=new it(i-e);return this.oracle.doc.lineAt(e).to==i&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Dt)return e;let i=new Dt(0,-1,0);return this.nodes.push(i),i}addBlock(e){this.enterLine();let i=e.deco;i&&i.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,i&&i.endSide>0&&(this.covering=e)}addLineDeco(e,i,r){let n=this.ensureLine();n.length+=r,n.collapsed+=r,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=i,this.writtenTo=this.pos=this.pos+r}finish(e){let i=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(i instanceof Dt)&&!this.isCovered?this.nodes.push(new Dt(0,-1,0)):(this.writtenTo<this.pos||i==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let n of this.nodes)n instanceof Dt&&n.updateHeight(this.oracle,r),r+=n?n.length:1;return this.nodes}static build(e,i,r,n){let s=new Jp(r,e);return ce.spans(i,r,n,s,0),s.finish(r)}}function LT(t,e,i){let r=new DT;return ce.compare(t,e,i,r,0),r.changes}class DT{constructor(){this.changes=[]}compareRange(){}comparePoint(e,i,r,n){(e<i||r&&r.heightRelevant||n&&n.heightRelevant)&&gs(e,i,this.changes,5)}}function MT(t,e){let i=t.getBoundingClientRect(),r=t.ownerDocument,n=r.defaultView||window,s=Math.max(0,i.left),o=Math.min(n.innerWidth,i.right),a=Math.max(0,i.top),l=Math.min(n.innerHeight,i.bottom);for(let O=t.parentNode;O&&O!=r.body;)if(O.nodeType==1){let c=O,h=window.getComputedStyle(c);if((c.scrollHeight>c.clientHeight||c.scrollWidth>c.clientWidth)&&h.overflow!="visible"){let u=c.getBoundingClientRect();s=Math.max(s,u.left),o=Math.min(o,u.right),a=Math.max(a,u.top),l=Math.min(O==t.parentNode?n.innerHeight:l,u.bottom)}O=h.position=="absolute"||h.position=="fixed"?c.offsetParent:c.parentNode}else if(O.nodeType==11)O=O.host;else break;return{left:s-i.left,right:Math.max(s,o)-i.left,top:a-(i.top+e),bottom:Math.max(a,l)-(i.top+e)}}function GT(t){let e=t.getBoundingClientRect(),i=t.ownerDocument.defaultView||window;return e.left<i.innerWidth&&e.right>0&&e.top<i.innerHeight&&e.bottom>0}function BT(t,e){let i=t.getBoundingClientRect();return{left:0,right:i.right-i.left,top:e,bottom:i.bottom-(i.top+e)}}class Mh{constructor(e,i,r,n){this.from=e,this.to=i,this.size=r,this.displaySize=n}static same(e,i){if(e.length!=i.length)return!1;for(let r=0;r<e.length;r++){let n=e[r],s=i[r];if(n.from!=s.from||n.to!=s.to||n.size!=s.size)return!1}return!0}draw(e,i){return re.replace({widget:new IT(this.displaySize*(i?e.scaleY:e.scaleX),i)}).range(this.from,this.to)}}class IT extends bi{constructor(e,i){super(),this.size=e,this.vertical=i}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 UQ{constructor(e,i){this.view=e,this.state=i,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=zQ,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Xe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let r=i.facet(Np).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new qT(r),this.stateDeco=qQ(i),this.heightMap=_t.empty().applyChanges(this.stateDeco,$e.empty,this.heightOracle.setDoc(i.doc),[new ni(0,0,0,i.doc.length)]);for(let n=0;n<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());n++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=re.set(this.lineGaps.map(n=>n.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:i}=this.state.selection;for(let r=0;r<=1;r++){let n=r?i.head:i.anchor;if(!e.some(({from:s,to:o})=>n>=s&&n<=o)){let{from:s,to:o}=this.lineBlockAt(n);e.push(new wl(s,o))}}return this.viewports=e.sort((r,n)=>r.from-n.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?zQ:new em(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(Xo(e,this.scaler))})}update(e,i=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=qQ(this.state);let n=e.changedRanges,s=ni.extendWithRanges(n,LT(r,this.stateDeco,e?e.changes:Be.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);ZQ(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Zs)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(i&&(i.range.head<l.from||i.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,i));let O=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(O||!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),i&&(this.scrollTarget=i),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(x0)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,i=e.contentDOM,r=window.getComputedStyle(i),n=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Xe.RTL:Xe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=i.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let O=0,c=0;if(a.width&&a.height){let{scaleX:_,scaleY:P}=c0(i,a);(_>.005&&Math.abs(this.scaleX-_)>.005||P>.005&&Math.abs(this.scaleY-P)>.005)&&(this.scaleX=_,this.scaleY=P,O|=16,o=l=!0)}let h=(parseInt(r.paddingTop)||0)*this.scaleY,u=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=u)&&(this.paddingTop=h,this.paddingBottom=u,O|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,O|=16);let m=h0(this.view.contentDOM,!1).y;m!=this.scrollParent&&(this.scrollParent=m,this.scrollAnchorHeight=-1,this.scrollOffset=0);let S=this.getScrollOffset();this.scrollOffset!=S&&(this.scrollAnchorHeight=-1,this.scrollOffset=S),this.scrolledToBottom=f0(this.scrollParent||e.win);let Q=(this.printing?BT:MT)(i,this.paddingTop),g=Q.top-this.pixelViewport.top,d=Q.bottom-this.pixelViewport.bottom;this.pixelViewport=Q;let f=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(f!=this.inView&&(this.inView=f,f&&(l=!0)),!this.inView&&!this.scrollTarget&&!GT(e.dom))return 0;let p=a.width;if((this.contentDOMWidth!=p||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,O|=16),l){let _=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(_)&&(o=!0),o||n.lineWrapping&&Math.abs(p-this.contentDOMWidth)>n.charWidth){let{lineHeight:P,charWidth:w,textHeight:v}=e.docView.measureTextSize();o=P>0&&n.refresh(s,P,w,v,Math.max(5,p/w),_),o&&(e.docView.minWidth=0,O|=16)}g>0&&d>0?c=Math.max(g,d):g<0&&d<0&&(c=Math.min(g,d)),ZQ();for(let P of this.viewports){let w=P.from==this.viewport.from?_:e.docView.measureVisibleLineHeights(P);this.heightMap=(o?_t.empty().applyChanges(this.stateDeco,$e.empty,this.heightOracle,[new ni(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,o,new VT(P.from,w))}Zs&&(O|=2)}let $=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return $&&(O&2&&(O|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),O|=this.updateForViewport()),(O&2||$)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),O|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),O}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,i){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new wl(n.lineAt(o-r*1e3,be.ByHeight,s,0,0).from,n.lineAt(a+(1-r)*1e3,be.ByHeight,s,0,0).to);if(i){let{head:O}=i.range;if(O<l.from||O>l.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=n.lineAt(O,be.ByPos,s,0,0),u;i.y=="center"?u=(h.top+h.bottom)/2-c/2:i.y=="start"||i.y=="nearest"&&O<l.from?u=h.top:u=h.bottom-c,l=new wl(n.lineAt(u-1e3/2,be.ByHeight,s,0,0).from,n.lineAt(u+c+1e3/2,be.ByHeight,s,0,0).to)}}return l}mapViewport(e,i){let r=i.mapPos(e.from,-1),n=i.mapPos(e.to,1);return new wl(this.heightMap.lineAt(r,be.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,be.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:i},r=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(e,be.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(i,be.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||n<=o-Math.max(10,Math.min(-r,250)))&&(i==this.state.doc.length||s>=a+Math.max(10,Math.min(r,250)))&&n>o-2*1e3&&s<a+2*1e3}mapLineGaps(e,i){if(!e.length||i.empty)return e;let r=[];for(let n of e)i.touchesRange(n.from,n.to)||r.push(new Mh(i.mapPos(n.from),i.mapPos(n.to),n.size,n.displaySize));return r}ensureLineGaps(e,i){let r=this.heightOracle.lineWrapping,n=r?1e4:2e3,s=n>>1,o=n<<1;if(this.defaultTextDirection!=Xe.LTR&&!r)return[];let a=[],l=(c,h,u,m)=>{if(h-c<s)return;let S=this.state.selection.main,Q=[S.from];S.empty||Q.push(S.to);for(let d of Q)if(d>c&&d<h){l(c,d-10,u,m),l(d+10,h,u,m);return}let g=FT(e,d=>d.from>=u.from&&d.to<=u.to&&Math.abs(d.from-c)<s&&Math.abs(d.to-h)<s&&!Q.some(f=>d.from<f&&d.to>f));if(!g){if(h<u.to&&i&&r&&i.visibleRanges.some(p=>p.from<=h&&p.to>=h)){let p=i.moveToLineBoundary(A.cursor(h),!1,!0).head;p>c&&(h=p)}let d=this.gapSize(u,c,h,m),f=r||d<2e6?d:2e6;g=new Mh(c,h,d,f)}a.push(g)},O=c=>{if(c.length<o||c.type!=ot.Text)return;let h=NT(c.from,c.to,this.stateDeco);if(h.total<o)return;let u=this.scrollTarget?this.scrollTarget.range.head:null,m,S;if(r){let Q=n/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,d;if(u!=null){let f=bl(h,u),p=((this.visibleBottom-this.visibleTop)/2+Q)/c.height;g=f-p,d=f+p}else g=(this.visibleTop-c.top-Q)/c.height,d=(this.visibleBottom-c.top+Q)/c.height;m=Xl(h,g),S=Xl(h,d)}else{let Q=h.total*this.heightOracle.charWidth,g=n*this.heightOracle.charWidth,d=0;if(Q>2e6)for(let P of e)P.from>=c.from&&P.from<c.to&&P.size!=P.displaySize&&P.from*this.heightOracle.charWidth+d<this.pixelViewport.left&&(d=P.size-P.displaySize);let f=this.pixelViewport.left+d,p=this.pixelViewport.right+d,$,_;if(u!=null){let P=bl(h,u),w=((p-f)/2+g)/Q;$=P-w,_=P+w}else $=(f-g)/Q,_=(p+g)/Q;m=Xl(h,$),S=Xl(h,_)}m>c.from&&l(c.from,m,c,h),S<c.to&&l(S,c.to,c,h)};for(let c of this.viewportLines)Array.isArray(c.type)?c.type.forEach(O):O(c);return a}gapSize(e,i,r,n){let s=bl(n,r)-bl(n,i);return this.heightOracle.lineWrapping?e.height*s:n.total*this.heightOracle.charWidth*s}updateLineGaps(e){Mh.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=re.set(e.map(i=>i.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let i=this.stateDeco;this.lineGaps.length&&(i=i.concat(this.lineGapDeco));let r=[];ce.spans(i,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let n=0;if(r.length!=this.visibleRanges.length)n=12;else for(let s=0;s<r.length&&!(n&8);s++){let o=this.visibleRanges[s],a=r[s];(o.from!=a.from||o.to!=a.to)&&(n|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(n|=8))}return this.visibleRanges=r,n}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(i=>i.from<=e&&i.to>=e)||Xo(this.heightMap.lineAt(e,be.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(i=>i.top<=e&&i.bottom>=e)||Xo(this.heightMap.lineAt(this.scaler.fromDOM(e),be.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 i=this.lineBlockAtHeight(e+8);return i.from>=this.viewport.from||this.viewportLines[0].top-e>200?i:this.viewportLines[0]}elementAtHeight(e){return Xo(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 wl{constructor(e,i){this.from=e,this.to=i}}function NT(t,e,i){let r=[],n=t,s=0;return ce.spans(i,t,e,{span(){},point(o,a){o>n&&(r.push({from:n,to:o}),s+=o-n),n=a}},20),n<e&&(r.push({from:n,to:e}),s+=e-n),{total:s,ranges:r}}function Xl({total:t,ranges:e},i){if(i<=0)return e[0].from;if(i>=1)return e[e.length-1].to;let r=Math.floor(t*i);for(let n=0;;n++){let{from:s,to:o}=e[n],a=o-s;if(r<=a)return s+r;r-=a}}function bl(t,e){let i=0;for(let{from:r,to:n}of t.ranges){if(e<=n){i+=e-r;break}i+=n-r}return i/t.total}function FT(t,e){for(let i of t)if(e(i))return i}const zQ={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function qQ(t){let e=t.facet(jc).filter(r=>typeof r!="function"),i=t.facet(Fp).filter(r=>typeof r!="function");return i.length&&e.push(ce.join(i)),e}class em{constructor(e,i,r){let n=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let O=i.lineAt(a,be.ByPos,e,0,0).top,c=i.lineAt(l,be.ByPos,e,0,0).bottom;return n+=c-O,{from:a,to:l,top:O,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(i.height-n);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let i=0,r=0,n=0;;i++){let s=i<this.viewports.length?this.viewports[i]:null;if(!s||e<s.top)return n+(e-r)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);r=s.bottom,n=s.domBottom}}fromDOM(e){for(let i=0,r=0,n=0;;i++){let s=i<this.viewports.length?this.viewports[i]:null;if(!s||e<s.domTop)return r+(e-n)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);r=s.bottom,n=s.domBottom}}eq(e){return e instanceof em?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((i,r)=>i.from==e.viewports[r].from&&i.to==e.viewports[r].to):!1}}function Xo(t,e){if(e.scale==1)return t;let i=e.toDOM(t.top),r=e.toDOM(t.bottom);return new Qi(t.from,t.length,i,r-i,Array.isArray(t._content)?t._content.map(n=>Xo(n,e)):t._content)}const xl=K.define({combine:t=>t.join(" ")}),nd=K.define({combine:t=>t.indexOf(!0)>-1}),sd=Fr.newName(),F0=Fr.newName(),H0=Fr.newName(),K0={"&light":"."+F0,"&dark":"."+H0};function od(t,e,i){return new Fr(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,n=>{if(n=="&")return t;if(!i||!i[n])throw new RangeError(`Unsupported selector: ${n}`);return i[n]}):t+" "+r}})}const HT=od("."+sd,{"&":{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":{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"},"&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"}},K0),KT={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Gh=J.ie&&J.ie_version<=11;class JT{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new kk,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(i=>{for(let r of i)this.queue.push(r);(J.ie&&J.ie_version<=11||J.ios&&e.composing)&&i.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&J.android&&e.constructor.EDIT_CONTEXT!==!1&&!(J.chrome&&J.chrome_version<126)&&(this.editContext=new tR(e),e.state.facet(or)&&(e.contentDOM.editContext=this.editContext.editContext)),Gh&&(this.onCharData=i=>{this.queue.push({target:i.target,type:"characterData",oldValue:i.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 i;((i=this.view.docView)===null||i===void 0?void 0:i.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(i=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),i.length>0&&i[i.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(i=>{i.length>0&&i[i.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((i,r)=>i!=e[r]))){this.gapIntersection.disconnect();for(let i of e)this.gapIntersection.observe(i);this.gaps=e}}onSelectionChange(e){let i=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,n=this.selectionRange;if(r.state.facet(or)?r.root.activeElement!=this.dom:!Lo(this.dom,n))return;let s=n.anchorNode&&r.docView.tile.nearest(n.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){i||(this.selectionChanged=!1);return}(J.ie&&J.ie_version<=11||J.android&&J.chrome)&&!r.state.selection.main.empty&&n.focusNode&&Mo(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,i=Qa(e.root);if(!i)return!1;let r=J.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&eR(this.view,i)||i;if(!r||this.selectionRange.eq(r))return!1;let n=Lo(this.dom,r);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Rk(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),n&&(this.selectionChanged=!0),!0)}setSelectionRange(e,i){this.selectionRange.set(e.node,e.offset,i.node,i.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,i=null;for(let r=this.dom;r;)if(r.nodeType==1)!i&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:i||(i=this.scrollTargets.slice(0,e)),i&&i.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!i&&(i=this.scrollTargets.slice(0,e)),i){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=i)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,KT),Gh&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Gh&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,i){var r;if(!this.delayedAndroidKey){let n=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Qs(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:i,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 i=-1,r=-1,n=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(n=!0),i==-1?{from:i,to:r}=o:(i=Math.min(o.from,i),r=Math.max(o.to,r)))}return{from:i,to:r,typeOver:n}}readChange(){let{from:e,to:i,typeOver:r}=this.processRecords(),n=this.selectionChanged&&Lo(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new QT(this.view,e,i,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let i=this.readChange();if(!i)return this.view.requestMeasure(),!1;let r=this.view.state,n=V0(this.view,i);return this.view.state==r&&(i.domChanged||i.newSel&&!FO(this.view.state.selection,i.newSel.main))&&this.view.update([]),n}readMutation(e){let i=this.view.docView.tile.nearest(e.target);if(!i||i.isWidget())return null;if(i.markDirty(e.type=="attributes"),e.type=="childList"){let r=VQ(i,e.previousSibling||e.target.previousSibling,-1),n=VQ(i,e.nextSibling||e.target.nextSibling,1);return{from:r?i.posAfter(r):i.posAtStart,to:n?i.posBefore(n):i.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:i.posAtStart,to:i.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(or)!=e.state.facet(or)&&(e.view.contentDOM.editContext=e.state.facet(or)?this.editContext.editContext:null))}destroy(){var e,i,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(i=this.gapIntersection)===null||i===void 0||i.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let n of this.scrollTargets)n.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 VQ(t,e,i){for(;e;){let r=Ae.get(e);if(r&&r.parent==t)return r;let n=e.parentNode;e=n!=t.dom?n:i>0?e.nextSibling:e.previousSibling}return null}function EQ(t,e){let i=e.startContainer,r=e.startOffset,n=e.endContainer,s=e.endOffset,o=t.docView.domAtPos(t.state.selection.main.anchor,1);return Mo(o.node,o.offset,n,s)&&([i,r,n,s]=[n,s,i,r]),{anchorNode:i,anchorOffset:r,focusNode:n,focusOffset:s}}function eR(t,e){if(e.getComposedRanges){let n=e.getComposedRanges(t.root)[0];if(n)return EQ(t,n)}let i=null;function r(n){n.preventDefault(),n.stopImmediatePropagation(),i=n.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",r,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",r,!0),i?EQ(t,i):null}class tR{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let i=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 n=e.state.selection.main,{anchor:s,head:o}=n,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let O=l-a>r.text.length;a==this.from&&s<this.from?a=s:l==this.to&&s>this.to&&(l=s);let c=E0(e.state.sliceDoc(a,l),r.text,(O?n.from:n.to)-a,O?"end":null);if(!c){let u=A.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));FO(u,n)||e.dispatch({selection:u,userEvent:"select"});return}let h={from:c.from+a,to:c.toA+a,insert:$e.of(r.text.slice(c.from,c.toB).split(`
|
|
59
|
+
`))};if((J.mac||J.android)&&h.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:l,insert:$e.of([r.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let u=this.to-this.from+(h.to-h.from+h.insert.length);Kp(e,h,A.single(this.toEditorPos(r.selectionStart,u),this.toEditorPos(r.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from<h.to&&!h.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(i.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(i.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let n=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,n.push(s)}i.updateCharacterBounds(r.rangeStart,n)},this.handlers.textformatupdate=r=>{let n=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),O=this.toEditorPos(s.rangeEnd);if(l<O){let c=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;n.push(re.mark({attributes:{style:c}}).range(l,O))}}}e.dispatch({effects:T0.of(re.set(n))})},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)i.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let n=Qa(r.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let i=0,r=!1,n=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,O)=>{if(r)return;let c=O.length-(o-s);if(n&&o>=n.to)if(n.from==s&&n.to==o&&n.insert.eq(O)){n=this.pendingContextChange=null,i+=c,this.to+=c;return}else n=null,this.revertPending(e.state);if(s+=i,o+=i,o<=this.from)this.from+=c,this.to+=c;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+O.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),O.toString()),this.to+=c}i+=c}),n&&!r&&this.revertPending(e.state),!r}update(e){let i=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.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||i)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:i}=e.selection.main;this.from=Math.max(0,i-1e4),this.to=Math.min(e.doc.length,i+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 i=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(i.from),this.toContextPos(i.from+i.insert.length),e.doc.sliceString(i.from,i.to))}setSelection(e){let{main:i}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,i.anchor))),n=this.toContextPos(i.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(r,n)}rangeIsValid(e){let{head:i}=e.selection.main;return!(this.from>0&&i-this.from<500||this.to<e.doc.length&&this.to-i<500||this.to-this.from>1e4*3)}toEditorPos(e,i=this.to-this.from){e=Math.min(e,i);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let i=this.composing;return i&&i.drifted?i.contextBase+(e-i.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class N{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 i;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&&(n=>n.forEach(s=>r(s,this)))||(n=>this.update(n)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Tk(e.parent)||document,this.viewState=new UQ(this,e.state||fe.create(e)),e.scrollTo&&e.scrollTo.is(vl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(as).map(n=>new Eh(n));for(let n of this.plugins)n.update(this);this.observer=new JT(this),this.inputState=new vT(this),this.inputState.ensureHandlers(this.plugins),this.docView=new PQ(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((i=document.fonts)===null||i===void 0)&&i.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let i=e.length==1&&e[0]instanceof Me?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(i,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let i=!1,r=!1,n,s=this.state;for(let u of e){if(u.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=u.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(u=>u.annotation(G0))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=B0(s,o),l||(a=1));let O=this.observer.delayedAndroidKey,c=null;if(O?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(c=null)):this.observer.clear(),s.facet(fe.phrases)!=this.state.facet(fe.phrases))return this.setState(s);n=BO.create(this,s,e),n.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let u of e){if(h&&(h=h.map(u.changes)),u.scrollIntoView){let{main:m}=u.state.selection;h=new Ss(m.empty?m:A.cursor(m.head,m.head>m.anchor?-1:1))}for(let m of u.effects)m.is(vl)&&(h=m.value.clip(this.state))}this.viewState.update(n,h),this.bidiCache=KO.update(this.bidiCache,n.changes),n.empty||(this.updatePlugins(n),this.inputState.update(n)),i=this.docView.update(n),this.state.facet(wo)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(n.startState.facet(xl)!=n.state.facet(xl)&&(this.viewState.mustMeasureContent=!0),(i||r||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!n.empty)for(let u of this.state.facet(Jf))try{u(n)}catch(m){Tt(this.state,m,"update listener")}(l||c)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),c&&!V0(this,c)&&O.force&&Qs(this.contentDOM,O.key,O.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 i=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new UQ(this,e),this.plugins=e.facet(as).map(r=>new Eh(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new PQ(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}i&&this.focus(),this.requestMeasure()}updatePlugins(e){let i=e.startState.facet(as),r=e.state.facet(as);if(i!=r){let n=[];for(let s of r){let o=i.indexOf(s);if(o<0)n.push(new Eh(s));else{let a=this.plugins[o];a.mustUpdate=e,n.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let n of this.plugins)n.mustUpdate=e;for(let n=0;n<this.plugins.length;n++)this.plugins[n].update(this);i!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let i=e.value;if(i&&i.docViewUpdate)try{i.docViewUpdate(this)}catch(r){Tt(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 i=null,r=this.viewState.scrollParent,n=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(n-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(f0(r||this.win))s=-1,o=this.viewState.heightMap.height;else{let m=this.viewState.scrollAnchorAt(n);s=m.from,o=m.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let O=[];l&4||([this.measureRequests,O]=[O,this.measureRequests]);let c=O.map(m=>{try{return m.read(this)}catch(S){return Tt(this.state,S),AQ}}),h=BO.create(this,this.state,[]),u=!1;h.flags|=l,i?i.flags|=l:i=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),u=this.docView.update(h),u&&this.docViewUpdate());for(let m=0;m<O.length;m++)if(c[m]!=AQ)try{let S=O[m];S.write&&S.write(c[m],this)}catch(S){Tt(this.state,S)}if(u&&this.docView.updateSelection(!0),!h.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let S=((s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o)/this.scaleY;if((S>1||S<-1)&&(r==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){n=n+S,r?r.scrollTop+=S:this.win.scrollBy(0,S),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty)for(let a of this.state.facet(Jf))a(i)}get themeClasses(){return sd+" "+(this.state.facet(nd)?H0:F0)+" "+this.state.facet(xl)}updateAttrs(){let e=jQ(this,R0,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),i={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(or)?"true":"false",class:"cm-content",style:`${J.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(i["aria-readonly"]="true"),jQ(this,Np,i);let r=this.observer.ignore(()=>{let n=gQ(this.contentDOM,this.contentAttrs,i),s=gQ(this.dom,this.editorAttrs,e);return n||s});return this.editorAttrs=e,this.contentAttrs=i,r}showAnnouncements(e){let i=!0;for(let r of e)for(let n of r.effects)if(n.is(N.announce)){i&&(this.announceDOM.textContent=""),i=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=n.value}}mountStyles(){this.styleModules=this.state.facet(wo);let e=this.state.facet(N.cspNonce);Fr.mount(this.root,this.styleModules.concat(HT).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 i=0;i<this.measureRequests.length;i++)if(this.measureRequests[i].key===e.key){this.measureRequests[i]=e;return}}this.measureRequests.push(e)}}plugin(e){let i=this.pluginMap.get(e);return(i===void 0||i&&i.plugin!=e)&&this.pluginMap.set(e,i=this.plugins.find(r=>r.plugin==e)||null),i&&i.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,i,r){return Dh(this,e,yQ(this,e,i,r))}moveByGroup(e,i){return Dh(this,e,yQ(this,e,i,r=>uT(this,e.head,r)))}visualLineSide(e,i){let r=this.bidiSpans(e),n=this.textDirectionAt(e.from),s=r[i?r.length-1:0];return A.cursor(s.side(i,n)+e.from,s.forward(!i,n)?1:-1)}moveToLineBoundary(e,i,r=!0){return hT(this,e,i,r)}moveVertically(e,i,r){return Dh(this,e,fT(this,e,i,r))}domAtPos(e,i=1){return this.docView.domAtPos(e,i)}posAtDOM(e,i=0){return this.docView.posFromDOM(e,i)}posAtCoords(e,i=!0){this.readMeasured();let r=id(this,e,i);return r&&r.pos}posAndSideAtCoords(e,i=!0){return this.readMeasured(),id(this,e,i)}coordsAtPos(e,i=1){this.readMeasured();let r=this.docView.coordsAt(e,i);if(!r||r.left==r.right)return r;let n=this.state.doc.lineAt(e),s=this.bidiSpans(n),o=s[ji.find(s,e-n.from,-1,i)];return Sa(r,o.dir==Xe.LTR==i>0)}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(b0)||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>iR)return S0(e.length);let i=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==i&&(s.fresh||Q0(s.isolates,r=$Q(this,e))))return s.order;r||(r=$Q(this,e));let n=qk(e.text,i,r);return this.bidiCache.push(new KO(e.from,e.to,i,r,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||J.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{u0(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,i={}){return vl.of(new Ss(typeof e=="number"?A.cursor(e):e,i.y,i.x,i.yMargin,i.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:i}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return vl.of(new Ss(A.cursor(r.from),"start","start",r.top-e,i,!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 Re.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Re.define(()=>({}),{eventObservers:e})}static theme(e,i){let r=Fr.newName(),n=[xl.of(r),wo.of(od(`.${r}`,e))];return i&&i.dark&&n.push(nd.of(!0)),n}static baseTheme(e){return _r.lowest(wo.of(od("."+sd,e,K0)))}static findFromDOM(e){var i;let r=e.querySelector(".cm-content"),n=r&&Ae.get(r)||Ae.get(e);return((i=n==null?void 0:n.root)===null||i===void 0?void 0:i.view)||null}}N.styleModule=wo;N.inputHandler=w0;N.clipboardInputFilter=Bp;N.clipboardOutputFilter=Ip;N.scrollHandler=k0;N.focusChangeEffect=X0;N.perLineTextDirection=b0;N.exceptionSink=y0;N.updateListener=Jf;N.editable=or;N.mouseSelectionStyle=P0;N.dragMovesSelection=v0;N.clickAddsSelectionRange=_0;N.decorations=jc;N.blockWrappers=C0;N.outerDecorations=Fp;N.atomicRanges=Ga;N.bidiIsolatedRanges=Y0;N.scrollMargins=Z0;N.darkTheme=nd;N.cspNonce=K.define({combine:t=>t.length?t[0]:""});N.contentAttributes=Np;N.editorAttributes=R0;N.lineWrapping=N.contentAttributes.of({class:"cm-lineWrapping"});N.announce=ae.define();const iR=4096,AQ={};class KO{constructor(e,i,r,n,s,o){this.from=e,this.to=i,this.dir=r,this.isolates=n,this.fresh=s,this.order=o}static update(e,i){if(i.empty&&!e.some(s=>s.fresh))return e;let r=[],n=e.length?e[e.length-1].dir:Xe.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==n&&!i.touchesRange(o.from,o.to)&&r.push(new KO(i.mapPos(o.from,1),i.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function jQ(t,e,i){for(let r=t.state.facet(e),n=r.length-1;n>=0;n--){let s=r[n],o=typeof s=="function"?s(t):s;o&&Dp(o,i)}return i}const rR=J.mac?"mac":J.windows?"win":J.linux?"linux":"key";function nR(t,e){const i=t.split(/-(?!$)/);let r=i[i.length-1];r=="Space"&&(r=" ");let n,s,o,a;for(let l=0;l<i.length-1;++l){const O=i[l];if(/^(cmd|meta|m)$/i.test(O))a=!0;else if(/^a(lt)?$/i.test(O))n=!0;else if(/^(c|ctrl|control)$/i.test(O))s=!0;else if(/^s(hift)?$/i.test(O))o=!0;else if(/^mod$/i.test(O))e=="mac"?a=!0:s=!0;else throw new Error("Unrecognized modifier name: "+O)}return n&&(r="Alt-"+r),s&&(r="Ctrl-"+r),a&&(r="Meta-"+r),o&&(r="Shift-"+r),r}function kl(t,e,i){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),i!==!1&&e.shiftKey&&(t="Shift-"+t),t}const sR=_r.default(N.domEventHandlers({keydown(t,e){return eP(J0(e.state),t,e,"editor")}})),Bs=K.define({enables:sR}),LQ=new WeakMap;function J0(t){let e=t.facet(Bs),i=LQ.get(e);return i||LQ.set(e,i=lR(e.reduce((r,n)=>r.concat(n),[]))),i}function oR(t,e,i){return eP(J0(t.state),e,t,i)}let Zr=null;const aR=4e3;function lR(t,e=rR){let i=Object.create(null),r=Object.create(null),n=(o,a)=>{let l=r[o];if(l==null)r[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,l,O,c)=>{var h,u;let m=i[o]||(i[o]=Object.create(null)),S=a.split(/ (?!$)/).map(d=>nR(d,e));for(let d=1;d<S.length;d++){let f=S.slice(0,d).join(" ");n(f,!0),m[f]||(m[f]={preventDefault:!0,stopPropagation:!1,run:[p=>{let $=Zr={view:p,prefix:f,scope:o};return setTimeout(()=>{Zr==$&&(Zr=null)},aR),!0}]})}let Q=S.join(" ");n(Q,!1);let g=m[Q]||(m[Q]={preventDefault:!1,stopPropagation:!1,run:((u=(h=m._any)===null||h===void 0?void 0:h.run)===null||u===void 0?void 0:u.slice())||[]});l&&g.run.push(l),O&&(g.preventDefault=!0),c&&(g.stopPropagation=!0)};for(let o of t){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let O of a){let c=i[O]||(i[O]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=o;for(let u in c)c[u].run.push(m=>h(m,ad))}let l=o[e]||o.key;if(l)for(let O of a)s(O,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(O,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return i}let ad=null;function eP(t,e,i,r){ad=e;let n=vk(e),s=Xt(n,0),o=Ei(s)==n.length&&n!=" ",a="",l=!1,O=!1,c=!1;Zr&&Zr.view==i&&Zr.scope==r&&(a=Zr.prefix+" ",j0.indexOf(e.keyCode)<0&&(O=!0,Zr=null));let h=new Set,u=g=>{if(g){for(let d of g.run)if(!h.has(d)&&(h.add(d),d(i)))return g.stopPropagation&&(c=!0),!0;g.preventDefault&&(g.stopPropagation&&(c=!0),O=!0)}return!1},m=t[r],S,Q;return m&&(u(m[a+kl(n,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(J.windows&&e.ctrlKey&&e.altKey)&&!(J.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(S=Hr[e.keyCode])&&S!=n?(u(m[a+kl(S,e,!0)])||e.shiftKey&&(Q=ma[e.keyCode])!=n&&Q!=S&&u(m[a+kl(Q,e,!1)]))&&(l=!0):o&&e.shiftKey&&u(m[a+kl(n,e,!0)])&&(l=!0),!l&&u(m._any)&&(l=!0)),O&&(l=!0),l&&c&&e.stopPropagation(),ad=null,l}class xn{constructor(e,i,r,n,s){this.className=e,this.left=i,this.top=r,this.width=n,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,i){return i.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,i,r){if(r.empty){let n=e.coordsAtPos(r.head,r.assoc||1);if(!n)return[];let s=tP(e);return[new xn(i,n.left-s.left,n.top-s.top,null,n.bottom-n.top)]}else return OR(e,i,r)}}function tP(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Xe.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function DQ(t,e,i,r){let n=t.coordsAtPos(e,i*2);if(!n)return r;let s=t.dom.getBoundingClientRect(),o=(n.top+n.bottom)/2,a=t.posAtCoords({x:s.left+1,y:o}),l=t.posAtCoords({x:s.right-1,y:o});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function OR(t,e,i){if(i.to<=t.viewport.from||i.from>=t.viewport.to)return[];let r=Math.max(i.from,t.viewport.from),n=Math.min(i.to,t.viewport.to),s=t.textDirection==Xe.LTR,o=t.contentDOM,a=o.getBoundingClientRect(),l=tP(t),O=o.querySelector(".cm-line"),c=O&&window.getComputedStyle(O),h=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),u=a.right-(c?parseInt(c.paddingRight):0),m=td(t,r,1),S=td(t,n,-1),Q=m.type==ot.Text?m:null,g=S.type==ot.Text?S:null;if(Q&&(t.lineWrapping||m.widgetLineBreaks)&&(Q=DQ(t,r,1,Q)),g&&(t.lineWrapping||S.widgetLineBreaks)&&(g=DQ(t,n,-1,g)),Q&&g&&Q.from==g.from&&Q.to==g.to)return f(p(i.from,i.to,Q));{let _=Q?p(i.from,null,Q):$(m,!1),P=g?p(null,i.to,g):$(S,!0),w=[];return(Q||m).to<(g||S).from-(Q&&g?1:0)||m.widgetLineBreaks>1&&_.bottom+t.defaultLineHeight/2<P.top?w.push(d(h,_.bottom,u,P.top)):_.bottom<P.top&&t.elementAtHeight((_.bottom+P.top)/2).type==ot.Text&&(_.bottom=P.top=(_.bottom+P.top)/2),f(_).concat(w).concat(f(P))}function d(_,P,w,v){return new xn(e,_-l.left,P-l.top,Math.max(0,w-_),v-P)}function f({top:_,bottom:P,horizontal:w}){let v=[];for(let b=0;b<w.length;b+=2)v.push(d(w[b],_,w[b+1],P));return v}function p(_,P,w){let v=1e9,b=-1e9,T=[];function Y(z,V,L,G,q){let X=t.coordsAtPos(z,z==w.to?-2:2),x=t.coordsAtPos(L,L==w.from?2:-2);!X||!x||(v=Math.min(X.top,x.top,v),b=Math.max(X.bottom,x.bottom,b),q==Xe.LTR?T.push(s&&V?h:X.left,s&&G?u:x.right):T.push(!s&&G?h:x.left,!s&&V?u:X.right))}let Z=_??w.from,R=P??w.to;for(let z of t.visibleRanges)if(z.to>Z&&z.from<R)for(let V=Math.max(z.from,Z),L=Math.min(z.to,R);;){let G=t.state.doc.lineAt(V);for(let q of t.bidiSpans(G)){let X=q.from+G.from,x=q.to+G.from;if(X>=L)break;x>V&&Y(Math.max(X,V),_==null&&X<=Z,Math.min(x,L),P==null&&x>=R,q.dir)}if(V=G.to+1,V>=L)break}return T.length==0&&Y(Z,_==null,R,P==null,t.textDirection),{top:v,bottom:b,horizontal:T}}function $(_,P){let w=a.top+(P?_.top:_.bottom);return{top:w,bottom:w,horizontal:[]}}}function cR(t,e){return t.constructor==e.constructor&&t.eq(e)}class hR{constructor(e,i){this.view=e,this.layer=i,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"),i.above&&this.dom.classList.add("cm-layer-above"),i.class&&this.dom.classList.add(i.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),i.mount&&i.mount(this.dom,e)}update(e){e.startState.facet(lO)!=e.state.facet(lO)&&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 i=0,r=e.facet(lO);for(;i<r.length&&r[i]!=this.layer;)i++;this.dom.style.zIndex=String((this.layer.above?150:-1)-i)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:i}=this.view;(e!=this.scaleX||i!=this.scaleY)&&(this.scaleX=e,this.scaleY=i,this.dom.style.transform=`scale(${1/e}, ${1/i})`)}draw(e){if(e.length!=this.drawn.length||e.some((i,r)=>!cR(i,this.drawn[r]))){let i=this.dom.firstChild,r=0;for(let n of e)n.update&&i&&n.constructor&&this.drawn[r].constructor&&n.update(i,this.drawn[r])?(i=i.nextSibling,r++):this.dom.insertBefore(n.draw(),i);for(;i;){let n=i.nextSibling;i.remove(),i=n}this.drawn=e,J.safari&&J.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const lO=K.define();function iP(t){return[Re.define(e=>new hR(e,t)),lO.of(t)]}const Ws=K.define({combine(t){return Xi(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,i)=>Math.min(e,i),drawRangeCursor:(e,i)=>e||i})}});function uR(t={}){return[Ws.of(t),fR,dR,pR,x0.of(!0)]}function rP(t){return t.startState.facet(Ws)!=t.state.facet(Ws)}const fR=iP({above:!0,markers(t){let{state:e}=t,i=e.facet(Ws),r=[];for(let n of e.selection.ranges){let s=n==e.selection.main;if(n.empty||i.drawRangeCursor&&!(s&&J.ios&&i.iosSelectionHandles)){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=n.empty?n:A.cursor(n.head,n.assoc);for(let l of xn.forRange(t,o,a))r.push(l)}}return r},update(t,e){t.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let i=rP(t);return i&&MQ(t.state,e),t.docChanged||t.selectionSet||i},mount(t,e){MQ(e.state,t)},class:"cm-cursorLayer"});function MQ(t,e){e.style.animationDuration=t.facet(Ws).cursorBlinkRate+"ms"}const dR=iP({above:!1,markers(t){let e=[],{main:i,ranges:r}=t.state.selection;for(let n of r)if(!n.empty)for(let s of xn.forRange(t,"cm-selectionBackground",n))e.push(s);if(J.ios&&!i.empty&&t.state.facet(Ws).iosSelectionHandles){for(let n of xn.forRange(t,"cm-selectionHandle cm-selectionHandle-start",A.cursor(i.from,1)))e.push(n);for(let n of xn.forRange(t,"cm-selectionHandle cm-selectionHandle-end",A.cursor(i.to,1)))e.push(n)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||rP(t)},class:"cm-selectionLayer"}),pR=_r.highest(N.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),nP=ae.define({map(t,e){return t==null?null:e.mapPos(t)}}),bo=et.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((i,r)=>r.is(nP)?r.value:i,t)}}),mR=Re.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let i=t.state.field(bo);i==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"),(t.startState.field(bo)!=i||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(bo),i=e!=null&&t.coordsAtPos(e);if(!i)return null;let r=t.scrollDOM.getBoundingClientRect();return{left:i.left-r.left+t.scrollDOM.scrollLeft*t.scaleX,top:i.top-r.top+t.scrollDOM.scrollTop*t.scaleY,height:i.bottom-i.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:i}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/i+"px",this.cursor.style.height=t.height/i+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(bo)!=t&&this.view.dispatch({effects:nP.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function gR(){return[bo,mR]}function GQ(t,e,i,r,n){e.lastIndex=0;for(let s=t.iterRange(i,r),o=i,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)n(o+a.index,a)}function QR(t,e){let i=t.visibleRanges;if(i.length==1&&i[0].from==t.viewport.from&&i[0].to==t.viewport.to)return i;let r=[];for(let{from:n,to:s}of i)n=Math.max(t.state.doc.lineAt(n).from,n-e),s=Math.min(t.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=n?r[r.length-1].to=s:r.push({from:n,to:s});return r}class SR{constructor(e){const{regexp:i,decoration:r,decorate:n,boundary:s,maxLength:o=1e3}=e;if(!i.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=i,n)this.addMatch=(a,l,O,c)=>n(c,O,O+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,O,c)=>{let h=r(a,l,O);h&&c(O,O+a[0].length,h)};else if(r)this.addMatch=(a,l,O,c)=>c(O,O+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let i=new Fi,r=i.add.bind(i);for(let{from:n,to:s}of QR(e,this.maxLength))GQ(e.state.doc,this.regexp,n,s,(o,a)=>this.addMatch(a,e,o,r));return i.finish()}updateDeco(e,i){let r=1e9,n=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),n=Math.max(l,n))}),e.viewportMoved||n-r>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,i.map(e.changes),r,n):i}updateRange(e,i,r,n){for(let s of e.visibleRanges){let o=Math.max(s.from,r),a=Math.min(s.to,n);if(a>=o){let l=e.state.doc.lineAt(o),O=l.to<a?e.state.doc.lineAt(a):l,c=Math.max(s.from,l.from),h=Math.min(s.to,O.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){c=o;break}for(;a<O.to;a++)if(this.boundary.test(O.text[a-O.from])){h=a;break}}let u=[],m,S=(Q,g,d)=>u.push(d.range(Q,g));if(l==O)for(this.regexp.lastIndex=c-l.from;(m=this.regexp.exec(l.text))&&m.index<h-l.from;)this.addMatch(m,e,m.index+l.from,S);else GQ(e.state.doc,this.regexp,c,h,(Q,g)=>this.addMatch(g,e,Q,S));i=i.update({filterFrom:c,filterTo:h,filter:(Q,g)=>Q<c||g>h,add:u})}}return i}}const ld=/x/.unicode!=null?"gu":"g",$R=new RegExp(`[\0-\b
|
|
60
|
+
--\u2028\u2029\uFEFF-]`,ld),_R={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 Bh=null;function vR(){var t;if(Bh==null&&typeof document<"u"&&document.body){let e=document.body.style;Bh=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return Bh||!1}const OO=K.define({combine(t){let e=Xi(t,{render:null,specialChars:$R,addSpecialChars:null});return(e.replaceTabs=!vR())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,ld)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,ld)),e}});function PR(t={}){return[OO.of(t),yR()]}let BQ=null;function yR(){return BQ||(BQ=Re.fromClass(class{constructor(t){this.view=t,this.decorations=re.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(OO)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new SR({regexp:t.specialChars,decoration:(e,i,r)=>{let{doc:n}=i.state,s=Xt(e[0],0);if(s==9){let o=n.lineAt(r),a=i.state.tabSize,l=yi(o.text,a,r-o.from);return re.replace({widget:new xR((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=re.replace({widget:new bR(t,s)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(OO);t.startState.facet(OO)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const wR="•";function XR(t){return t>=32?wR:t==10?"":String.fromCharCode(9216+t)}class bR extends bi{constructor(e,i){super(),this.options=e,this.code=i}eq(e){return e.code==this.code}toDOM(e){let i=XR(this.code),r=e.state.phrase("Control character")+" "+(_R[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,r,i);if(n)return n;let s=document.createElement("span");return s.textContent=i,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class xR extends bi{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 kR(){return RR}const TR=re.line({class:"cm-activeLine"}),RR=Re.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,i=[];for(let r of t.state.selection.ranges){let n=t.lineBlockAt(r.head);n.from>e&&(i.push(TR.range(n.from)),e=n.from)}return re.set(i)}},{decorations:t=>t.decorations});class CR extends bi{constructor(e){super(),this.content=e}toDOM(e){let i=document.createElement("span");return i.className="cm-placeholder",i.style.pointerEvents="none",i.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),i.setAttribute("aria-hidden","true"),i}coordsAt(e){let i=e.firstChild?Do(e.firstChild):[];if(!i.length)return null;let r=window.getComputedStyle(e.parentNode),n=Sa(i[0],r.direction!="rtl"),s=parseInt(r.lineHeight);return n.bottom-n.top>s*1.5?{left:n.left,right:n.right,top:n.top,bottom:n.top+s}:n}ignoreEvent(){return!1}}function YR(t){let e=Re.fromClass(class{constructor(i){this.view=i,this.placeholder=t?re.set([re.widget({widget:new CR(t),side:1}).range(0)]):re.none}get decorations(){return this.view.state.doc.length?re.none:this.placeholder}},{decorations:i=>i.decorations});return typeof t=="string"?[e,N.contentAttributes.of({"aria-placeholder":t})]:e}const Od=2e3;function ZR(t,e,i){let r=Math.min(e.line,i.line),n=Math.max(e.line,i.line),s=[];if(e.off>Od||i.off>Od||e.col<0||i.col<0){let o=Math.min(e.off,i.off),a=Math.max(e.off,i.off);for(let l=r;l<=n;l++){let O=t.doc.line(l);O.length<=a&&s.push(A.range(O.from+o,O.to+a))}}else{let o=Math.min(e.col,i.col),a=Math.max(e.col,i.col);for(let l=r;l<=n;l++){let O=t.doc.line(l),c=jf(O.text,o,t.tabSize,!0);if(c<0)s.push(A.cursor(O.to));else{let h=jf(O.text,a,t.tabSize);s.push(A.range(O.from+c,O.from+h))}}}return s}function WR(t,e){let i=t.coordsAtPos(t.viewport.from);return i?Math.round(Math.abs((i.left-e)/t.defaultCharacterWidth)):-1}function IQ(t,e){let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(i),n=i-r.from,s=n>Od?-1:n==r.length?WR(t,e.clientX):yi(r.text,t.state.tabSize,i-r.from);return{line:r.number,col:s,off:n}}function UR(t,e){let i=IQ(t,e),r=t.state.selection;return i?{update(n){if(n.docChanged){let s=n.changes.mapPos(n.startState.doc.line(i.line).from),o=n.state.doc.lineAt(s);i={line:o.number,col:i.col,off:Math.min(i.off,o.length)},r=r.map(n.changes)}},get(n,s,o){let a=IQ(t,n);if(!a)return r;let l=ZR(t.state,i,a);return l.length?o?A.create(l.concat(r.ranges)):A.create(l):r}}:null}function zR(t){let e=i=>i.altKey&&i.button==0;return N.mouseSelectionStyle.of((i,r)=>e(r)?UR(i,r):null)}const qR={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},VR={style:"cursor: crosshair"};function ER(t={}){let[e,i]=qR[t.key||"Alt"],r=Re.fromClass(class{constructor(n){this.view=n,this.isDown=!1}set(n){this.isDown!=n&&(this.isDown=n,this.view.update([]))}},{eventObservers:{keydown(n){this.set(n.keyCode==e||i(n))},keyup(n){(n.keyCode==e||!i(n))&&this.set(!1)},mousemove(n){this.set(i(n))}}});return[r,N.contentAttributes.of(n=>{var s;return!((s=n.plugin(r))===null||s===void 0)&&s.isDown?VR:null})]}const Tl="-10000px";class sP{constructor(e,i,r,n){this.facet=i,this.createTooltipView=r,this.removeTooltipView=n,this.input=e.state.facet(i),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=r(o,s))}update(e,i){var r;let n=e.state.facet(this.facet),s=n.filter(l=>l);if(n===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=i?[]:null;for(let l=0;l<s.length;l++){let O=s[l],c=-1;if(O){for(let h=0;h<this.tooltips.length;h++){let u=this.tooltips[h];u&&u.create==O.create&&(c=h)}if(c<0)o[l]=this.createTooltipView(O,l?o[l-1]:null),a&&(a[l]=!!O.above);else{let h=o[l]=this.tooltipViews[c];a&&(a[l]=i[c]),h.update&&h.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return i&&(a.forEach((l,O)=>i[O]=l),i.length=a.length),this.input=n,this.tooltips=s,this.tooltipViews=o,!0}}function AR(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const Ih=K.define({combine:t=>{var e,i,r;return{position:J.ios?"absolute":((e=t.find(n=>n.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((i=t.find(n=>n.parent))===null||i===void 0?void 0:i.parent)||null,tooltipSpace:((r=t.find(n=>n.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||AR}}}),NQ=new WeakMap,tm=Re.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(Ih);this.position=e.position,this.parent=e.parent,this.classes=t.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 sP(t,im,(i,r)=>this.createTooltip(i,r),i=>{this.resizeObserver&&this.resizeObserver.unobserve(i.dom),i.dom.remove()}),this.above=this.manager.tooltips.map(i=>!!i.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(i=>{Date.now()>this.lastTransaction-50&&i.length>0&&i[i.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.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 t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let i=e||t.geometryChanged,r=t.state.facet(Ih);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let n of this.manager.tooltipViews)n.dom.style.position=this.position;i=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let n of this.manager.tooltipViews)this.container.appendChild(n.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(t,e){let i=t.create(this.view),r=e?e.dom:null;if(i.dom.classList.add("cm-tooltip"),t.arrow&&!i.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let n=document.createElement("div");n.className="cm-tooltip-arrow",i.dom.appendChild(n)}return i.dom.style.position=this.position,i.dom.style.top=Tl,i.dom.style.left="0px",this.container.insertBefore(i.dom,r),i.mount&&i.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(i.dom),i}destroy(){var t,e,i;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(i=this.intersectionObserver)===null||i===void 0||i.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,i=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(J.safari){let o=s.getBoundingClientRect();i=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else i=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(i||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(t=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),n=Hp(this.view);return{visible:{left:r.left+n.left,top:r.top+n.top,right:r.right-n.right,bottom:r.bottom-n.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(Ih).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:i}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:i,space:r,scaleX:n,scaleY:s}=t,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],O=this.manager.tooltipViews[a],{dom:c}=O,h=t.pos[a],u=t.size[a];if(!h||l.clip!==!1&&(h.bottom<=Math.max(i.top,r.top)||h.top>=Math.min(i.bottom,r.bottom)||h.right<Math.max(i.left,r.left)-.1||h.left>Math.min(i.right,r.right)+.1)){c.style.top=Tl;continue}let m=l.arrow?O.dom.querySelector(".cm-tooltip-arrow"):null,S=m?7:0,Q=u.right-u.left,g=(e=NQ.get(O))!==null&&e!==void 0?e:u.bottom-u.top,d=O.offset||LR,f=this.view.textDirection==Xe.LTR,p=u.width>r.right-r.left?f?r.left:r.right-u.width:f?Math.max(r.left,Math.min(h.left-(m?14:0)+d.x,r.right-Q)):Math.min(Math.max(r.left,h.left-Q+(m?14:0)-d.x),r.right-Q),$=this.above[a];!l.strictSide&&($?h.top-g-S-d.y<r.top:h.bottom+g+S+d.y>r.bottom)&&$==r.bottom-h.bottom>h.top-r.top&&($=this.above[a]=!$);let _=($?h.top-r.top:r.bottom-h.bottom)-S;if(_<g&&O.resize!==!1){if(_<this.view.defaultLineHeight){c.style.top=Tl;continue}NQ.set(O,g),c.style.height=(g=_)/s+"px"}else c.style.height&&(c.style.height="");let P=$?h.top-g-S-d.y:h.bottom+S+d.y,w=p+Q;if(O.overlap!==!0)for(let v of o)v.left<w&&v.right>p&&v.top<P+g&&v.bottom>P&&(P=$?v.top-g-2-S:v.bottom+S+2);if(this.position=="absolute"?(c.style.top=(P-t.parent.top)/s+"px",FQ(c,(p-t.parent.left)/n)):(c.style.top=P/s+"px",FQ(c,p/n)),m){let v=h.left+(f?d.x:-d.x)-(p+14-7);m.style.left=v/n+"px"}O.overlap!==!0&&o.push({left:p,top:P,right:w,bottom:P+g}),c.classList.toggle("cm-tooltip-above",$),c.classList.toggle("cm-tooltip-below",!$),O.positioned&&O.positioned(t.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 t of this.manager.tooltipViews)t.dom.style.top=Tl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function FQ(t,e){let i=parseInt(t.style.left,10);(isNaN(i)||Math.abs(e-i)>1)&&(t.style.left=e+"px")}const jR=N.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:`${7*2}px`,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"}}}),LR={x:0,y:0},im=K.define({enables:[tm,jR]}),JO=K.define({combine:t=>t.reduce((e,i)=>e.concat(i),[])});class Gc{static create(e){return new Gc(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new sP(e,JO,(i,r)=>this.createHostedView(i,r),i=>i.dom.remove())}createHostedView(e,i){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,i?i.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let i of this.manager.tooltipViews)i.mount&&i.mount(e);this.mounted=!0}positioned(e){for(let i of this.manager.tooltipViews)i.positioned&&i.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let i of this.manager.tooltipViews)(e=i.destroy)===null||e===void 0||e.call(i)}passProp(e){let i;for(let r of this.manager.tooltipViews){let n=r[e];if(n!==void 0){if(i===void 0)i=n;else if(i!==n)return}}return i}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 DR=im.compute([JO],t=>{let e=t.facet(JO);return e.length===0?null:{pos:Math.min(...e.map(i=>i.pos)),end:Math.max(...e.map(i=>{var r;return(r=i.end)!==null&&r!==void 0?r:i.pos})),create:Gc.create,above:e[0].above,arrow:e.some(i=>i.arrow)}});class MR{constructor(e,i,r,n,s){this.view=e,this.source=i,this.field=r,this.setHover=n,this.hoverTime=s,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(){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:i}=this,r=e.docView.tile.nearest(i.target);if(!r)return;let n,s=1;if(r.isWidget())n=r.posAtStart;else{if(n=e.posAtCoords(i),n==null)return;let a=e.coordsAtPos(n);if(!a||i.y<a.top||i.y>a.bottom||i.x<a.left-e.defaultCharacterWidth||i.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(n)).find(c=>c.from<=n&&c.to>=n),O=l&&l.dir==Xe.RTL?-1:1;s=i.x<a.left?-O:O}let o=this.source(e,n,s);if(o!=null&&o.then){let a=this.pending={pos:n};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>Tt(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(tm),i=e?e.manager.tooltips.findIndex(r=>r.create==Gc.create):-1;return i>-1?e.manager.tooltipViews[i]:null}mousemove(e){var i,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:n,tooltip:s}=this;if(n.length&&s&&!GR(s.dom,e)||this.pending){let{pos:o}=n[0]||this.pending,a=(r=(i=n[0])===null||i===void 0?void 0:i.end)!==null&&r!==void 0?r:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!BR(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:i}=this;if(i.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let i=r=>{e.removeEventListener("mouseleave",i),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",i)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Rl=4;function GR(t,e){let{left:i,right:r,top:n,bottom:s}=t.getBoundingClientRect(),o;if(o=t.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();n=Math.min(a.top,n),s=Math.max(a.bottom,s)}return e.clientX>=i-Rl&&e.clientX<=r+Rl&&e.clientY>=n-Rl&&e.clientY<=s+Rl}function BR(t,e,i,r,n,s){let o=t.scrollDOM.getBoundingClientRect(),a=t.documentTop+t.documentPadding.top+t.contentHeight;if(o.left>r||o.right<r||o.top>n||Math.min(o.bottom,a)<n)return!1;let l=t.posAtCoords({x:r,y:n},!1);return l>=e&&l<=i}function IR(t,e={}){let i=ae.define(),r=et.define({create(){return[]},update(n,s){if(n.length&&(e.hideOnChange&&(s.docChanged||s.selection)?n=[]:e.hideOn&&(n=n.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of n){let l=s.changes.mapPos(a.pos,-1,nt.TrackDel);if(l!=null){let O=Object.assign(Object.create(null),a);O.pos=l,O.end!=null&&(O.end=s.changes.mapPos(O.end)),o.push(O)}}n=o}for(let o of s.effects)o.is(i)&&(n=o.value),o.is(NR)&&(n=[]);return n},provide:n=>JO.from(n)});return{active:r,extension:[r,Re.define(n=>new MR(n,t,r,i,e.hoverTime||300)),DR]}}function oP(t,e){let i=t.plugin(tm);if(!i)return null;let r=i.manager.tooltips.indexOf(e);return r<0?null:i.manager.tooltipViews[r]}const NR=ae.define(),HQ=K.define({combine(t){let e,i;for(let r of t)e=e||r.topContainer,i=i||r.bottomContainer;return{topContainer:e,bottomContainer:i}}});function rm(t,e){let i=t.plugin(aP),r=i?i.specs.indexOf(e):-1;return r>-1?i.panels[r]:null}const aP=Re.fromClass(class{constructor(t){this.input=t.state.facet(_a),this.specs=this.input.filter(i=>i),this.panels=this.specs.map(i=>i(t));let e=t.state.facet(HQ);this.top=new Cl(t,!0,e.topContainer),this.bottom=new Cl(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(i=>i.top)),this.bottom.sync(this.panels.filter(i=>!i.top));for(let i of this.panels)i.dom.classList.add("cm-panel"),i.mount&&i.mount()}update(t){let e=t.state.facet(HQ);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Cl(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Cl(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=t.state.facet(_a);if(i!=this.input){let r=i.filter(l=>l),n=[],s=[],o=[],a=[];for(let l of r){let O=this.specs.indexOf(l),c;O<0?(c=l(t.view),a.push(c)):(c=this.panels[O],c.update&&c.update(t)),n.push(c),(c.top?s:o).push(c)}this.specs=r,this.panels=n,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>N.scrollMargins.of(e=>{let i=e.plugin(t);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class Cl{constructor(e,i,r){this.view=e,this.top=i,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let i of this.panels)i.destroy&&e.indexOf(i)<0&&i.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",this.dom.style[this.top?"top":"bottom"]="0";let i=this.container||this.view.dom;i.insertBefore(this.dom,this.top?i.firstChild:null)}let e=this.dom.firstChild;for(let i of this.panels)if(i.dom.parentNode==this.dom){for(;e!=i.dom;)e=KQ(e);e=e.nextSibling}else this.dom.insertBefore(i.dom,e);for(;e;)e=KQ(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 KQ(t){let e=t.nextSibling;return t.remove(),e}const _a=K.define({enables:aP});function FR(t,e){let i,r=new Promise(o=>i=o),n=o=>HR(o,e,i);t.state.field(Nh,!1)?t.dispatch({effects:lP.of(n)}):t.dispatch({effects:ae.appendConfig.of(Nh.init(()=>[n]))});let s=OP.of(n);return{close:s,result:r.then(o=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(Nh).indexOf(n)>-1&&t.dispatch({effects:s})}),o))}}const Nh=et.define({create(){return[]},update(t,e){for(let i of e.effects)i.is(lP)?t=[i.value].concat(t):i.is(OP)&&(t=t.filter(r=>r!=i.value));return t},provide:t=>_a.computeN([t],e=>e.field(t))}),lP=ae.define(),OP=ae.define();function HR(t,e,i){let r=e.content?e.content(t,()=>o(null)):null;if(!r){if(r=me("form"),e.input){let a=me("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),r.appendChild(me("label",(e.label||"")+": ",a))}else r.appendChild(document.createTextNode(e.label||""));r.appendChild(document.createTextNode(" ")),r.appendChild(me("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let n=r.nodeName=="FORM"?[r]:r.querySelectorAll("form");for(let a=0;a<n.length;a++){let l=n[a];l.addEventListener("keydown",O=>{O.keyCode==27?(O.preventDefault(),o(null)):O.keyCode==13&&(O.preventDefault(),o(l))}),l.addEventListener("submit",O=>{O.preventDefault(),o(l)})}let s=me("div",r,me("button",{onclick:()=>o(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(s.className=e.class),s.classList.add("cm-dialog");function o(a){s.contains(s.ownerDocument.activeElement)&&t.focus(),i(a)}return{dom:s,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=r.querySelector(e.focus):a=r.querySelector("input")||r.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}class gr extends Nr{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}gr.prototype.elementClass="";gr.prototype.toDOM=void 0;gr.prototype.mapMode=nt.TrackBefore;gr.prototype.startSide=gr.prototype.endSide=-1;gr.prototype.point=!0;const cO=K.define(),KR=K.define(),JR={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ce.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Bo=K.define();function e5(t){return[cP(),Bo.of({...JR,...t})]}const JQ=K.define({combine:t=>t.some(e=>e)});function cP(t){return[t5]}const t5=Re.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.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=t.state.facet(Bo).map(e=>new tS(t,e)),this.fixed=!t.state.facet(JQ);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),t.scrollDOM.insertBefore(this.dom,t.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(t){if(this.updateGutters(t)){let e=this.prevViewport,i=t.view.viewport,r=Math.min(e.to,i.to)-Math.max(e.from,i.from);this.syncGutters(r<(i.to-i.from)*.8)}if(t.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(JQ)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let i=ce.iter(this.view.state.facet(cO),this.view.viewport.from),r=[],n=this.gutters.map(s=>new i5(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==ot.Text&&o){cd(i,r,a.from);for(let l of n)l.line(this.view,a,r);o=!1}else if(a.widget)for(let l of n)l.widget(this.view,a)}else if(s.type==ot.Text){cd(i,r,s.from);for(let o of n)o.line(this.view,s,r)}else if(s.widget)for(let o of n)o.widget(this.view,s);for(let s of n)s.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Bo),i=t.state.facet(Bo),r=t.docChanged||t.heightChanged||t.viewportChanged||!ce.eq(t.startState.facet(cO),t.state.facet(cO),t.view.viewport.from,t.view.viewport.to);if(e==i)for(let n of this.gutters)n.update(t)&&(r=!0);else{r=!0;let n=[];for(let s of i){let o=e.indexOf(s);o<0?n.push(new tS(this.view,s)):(this.gutters[o].update(t),n.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),n.indexOf(s)<0&&s.destroy();for(let s of n)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=n}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>N.scrollMargins.of(e=>{let i=e.plugin(t);if(!i||i.gutters.length==0||!i.fixed)return null;let r=i.dom.offsetWidth*e.scaleX,n=i.domAfter?i.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Xe.LTR?{left:r,right:n}:{right:r,left:n}})});function eS(t){return Array.isArray(t)?t:[t]}function cd(t,e,i){for(;t.value&&t.from<=i;)t.from==i&&e.push(t.value),t.next()}class i5{constructor(e,i,r){this.gutter=e,this.height=r,this.i=0,this.cursor=ce.iter(e.markers,i.from)}addElement(e,i,r){let{gutter:n}=this,s=(i.top-this.height)/e.scaleY,o=i.height/e.scaleY;if(this.i==n.elements.length){let a=new hP(e,o,s,r);n.elements.push(a),n.dom.appendChild(a.dom)}else n.elements[this.i].update(e,o,s,r);this.height=i.bottom,this.i++}line(e,i,r){let n=[];cd(this.cursor,n,i.from),r.length&&(n=n.concat(r));let s=this.gutter.config.lineMarker(e,i,n);s&&n.unshift(s);let o=this.gutter;n.length==0&&!o.config.renderEmptyElements||this.addElement(e,i,n)}widget(e,i){let r=this.gutter.config.widgetMarker(e,i.widget,i),n=r?[r]:null;for(let s of e.state.facet(KR)){let o=s(e,i.widget,i);o&&(n||(n=[])).push(o)}n&&this.addElement(e,i,n)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let i=e.elements.pop();e.dom.removeChild(i.dom),i.destroy()}}}class tS{constructor(e,i){this.view=e,this.config=i,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 i.domEventHandlers)this.dom.addEventListener(r,n=>{let s=n.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=n.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);i.domEventHandlers[r](e,a,n)&&n.preventDefault()});this.markers=eS(i.markers(e)),i.initialSpacer&&(this.spacer=new hP(e,0,0,[i.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let i=this.markers;if(this.markers=eS(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let n=this.config.updateSpacer(this.spacer.markers[0],e);n!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[n])}let r=e.view.viewport;return!ce.eq(this.markers,i,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class hP{constructor(e,i,r,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,i,r,n)}update(e,i,r,n){this.height!=i&&(this.height=i,this.dom.style.height=i+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),r5(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,i){let r="cm-gutterElement",n=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<i.length?i[s++]:null,O=!1;if(l){let c=l.elementClass;c&&(r+=" "+c);for(let h=o;h<this.markers.length;h++)if(this.markers[h].compare(l)){a=h,O=!0;break}}else a=this.markers.length;for(;o<a;){let c=this.markers[o++];if(c.toDOM){c.destroy(n);let h=n.nextSibling;n.remove(),n=h}}if(!l)break;l.toDOM&&(O?n=n.nextSibling:this.dom.insertBefore(l.toDOM(e),n)),O&&o++}this.dom.className=r,this.markers=i}destroy(){this.setMarkers(null,[])}}function r5(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++)if(!t[i].compare(e[i]))return!1;return!0}const n5=K.define(),s5=K.define(),ls=K.define({combine(t){return Xi(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,i){let r=Object.assign({},e);for(let n in i){let s=r[n],o=i[n];r[n]=s?(a,l,O)=>s(a,l,O)||o(a,l,O):o}return r}})}});class Fh extends gr{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Hh(t,e){return t.state.facet(ls).formatNumber(e,t.state)}const o5=Bo.compute([ls],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(n5)},lineMarker(e,i,r){return r.some(n=>n.toDOM)?null:new Fh(Hh(e,e.state.doc.lineAt(i.from).number))},widgetMarker:(e,i,r)=>{for(let n of e.state.facet(s5)){let s=n(e,i,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(ls)!=e.state.facet(ls),initialSpacer(e){return new Fh(Hh(e,iS(e.state.doc.lines)))},updateSpacer(e,i){let r=Hh(i.view,iS(i.view.state.doc.lines));return r==e.number?e:new Fh(r)},domEventHandlers:t.facet(ls).domEventHandlers,side:"before"}));function a5(t={}){return[ls.of(t),cP(),o5]}function iS(t){let e=9;for(;e<t;)e=e*10+9;return e}const l5=new class extends gr{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},O5=cO.compute(["selection"],t=>{let e=[],i=-1;for(let r of t.selection.ranges){let n=t.doc.lineAt(r.head).from;n>i&&(i=n,e.push(l5.range(n)))}return ce.of(e)});function c5(){return O5}const uP=1024;let h5=0;class si{constructor(e,i){this.from=e,this.to=i}}class le{constructor(e={}){this.id=h5++,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=Ne.match(e)),i=>{let r=e(i);return r===void 0?null:[this,r]}}}le.closedBy=new le({deserialize:t=>t.split(" ")});le.openedBy=new le({deserialize:t=>t.split(" ")});le.group=new le({deserialize:t=>t.split(" ")});le.isolate=new le({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});le.contextHash=new le({perNode:!0});le.lookAhead=new le({perNode:!0});le.mounted=new le({perNode:!0});class $s{constructor(e,i,r,n=!1){this.tree=e,this.overlay=i,this.parser=r,this.bracketed=n}static get(e){return e&&e.props&&e.props[le.mounted.id]}}const u5=Object.create(null);class Ne{constructor(e,i,r,n=0){this.name=e,this.props=i,this.id=r,this.flags=n}static define(e){let i=e.props&&e.props.length?Object.create(null):u5,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new Ne(e.name||"",i,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(n)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");i[s[0].id]=s[1]}}return n}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 i=this.prop(le.group);return i?i.indexOf(e)>-1:!1}return this.id==e}static match(e){let i=Object.create(null);for(let r in e)for(let n of r.split(" "))i[n]=e[r];return r=>{for(let n=r.prop(le.group),s=-1;s<(n?n.length:0);s++){let o=i[s<0?r.name:n[s]];if(o)return o}}}}Ne.none=new Ne("",Object.create(null),0,8);class Ba{constructor(e){this.types=e;for(let i=0;i<e.length;i++)if(e[i].id!=i)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let i=[];for(let r of this.types){let n=null;for(let s of e){let o=s(r);if(o){n||(n=Object.assign({},r.props));let a=o[1],l=o[0];l.combine&&l.id in n&&(a=l.combine(n[l.id],a)),n[l.id]=a}}i.push(n?new Ne(r.name,n,r.id,r.flags):r)}return new Ba(i)}}const Yl=new WeakMap,rS=new WeakMap;var Se;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(Se||(Se={}));class _e{constructor(e,i,r,n,s){if(this.type=e,this.children=i,this.positions=r,this.length=n,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=$s.get(this);if(e&&!e.overlay)return e.tree.toString();let i="";for(let r of this.children){let n=r.toString();n&&(i&&(i+=","),i+=n)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(i.length?"("+i+")":""):i}cursor(e=0){return new ec(this.topNode,e)}cursorAt(e,i=0,r=0){let n=Yl.get(this)||this.topNode,s=new ec(n);return s.moveTo(e,i),Yl.set(this,s._tree),s}get topNode(){return new ft(this,0,0,null)}resolve(e,i=0){let r=va(Yl.get(this)||this.topNode,e,i,!1);return Yl.set(this,r),r}resolveInner(e,i=0){let r=va(rS.get(this)||this.topNode,e,i,!0);return rS.set(this,r),r}resolveStack(e,i=0){return p5(this,e,i)}iterate(e){let{enter:i,leave:r,from:n=0,to:s=this.length}=e,o=e.mode||0,a=(o&Se.IncludeAnonymous)>0;for(let l=this.cursor(o|Se.IncludeAnonymous);;){let O=!1;if(l.from<=s&&l.to>=n&&(!a&&l.type.isAnonymous||i(l)!==!1)){if(l.firstChild())continue;O=!0}for(;O&&r&&(a||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;O=!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 i in this.props)e.push([+i,this.props[i]]);return e}balance(e={}){return this.children.length<=8?this:om(Ne.none,this.children,this.positions,0,this.children.length,0,this.length,(i,r,n)=>new _e(this.type,i,r,n,this.propValues),e.makeTree||((i,r,n)=>new _e(Ne.none,i,r,n)))}static build(e){return m5(e)}}_e.empty=new _e(Ne.none,[],[],0);class nm{constructor(e,i){this.buffer=e,this.index=i}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 nm(this.buffer,this.index)}}class Jr{constructor(e,i,r){this.buffer=e,this.length=i,this.set=r}get type(){return Ne.none}toString(){let e=[];for(let i=0;i<this.buffer.length;)e.push(this.childString(i)),i=this.buffer[i+3];return e.join(",")}childString(e){let i=this.buffer[e],r=this.buffer[e+3],n=this.set.types[i],s=n.name;if(/\W/.test(s)&&!n.isError&&(s=JSON.stringify(s)),e+=4,r==e)return s;let o=[];for(;e<r;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,i,r,n,s){let{buffer:o}=this,a=-1;for(let l=e;l!=i&&!(fP(s,n,o[l+1],o[l+2])&&(a=l,r>0));l=o[l+3]);return a}slice(e,i,r){let n=this.buffer,s=new Uint16Array(i-e),o=0;for(let a=e,l=0;a<i;){s[l++]=n[a++],s[l++]=n[a++]-r;let O=s[l++]=n[a++]-r;s[l++]=n[a++]-e,o=Math.max(o,O)}return new Jr(s,o,this.set)}}function fP(t,e,i,r){switch(t){case-2:return i<e;case-1:return r>=e&&i<e;case 0:return i<e&&r>e;case 1:return i<=e&&r>e;case 2:return r>e;case 4:return!0}}function va(t,e,i,r){for(var n;t.from==t.to||(i<1?t.from>=e:t.from>e)||(i>-1?t.to<=e:t.to<e);){let o=!r&&t instanceof ft&&t.index<0?null:t.parent;if(!o)return t;t=o}let s=r?0:Se.IgnoreOverlays;if(r)for(let o=t,a=o.parent;a;o=a,a=o.parent)o instanceof ft&&o.index<0&&((n=a.enter(e,i,s))===null||n===void 0?void 0:n.from)!=o.from&&(t=a);for(;;){let o=t.enter(e,i,s);if(!o)return t;t=o}}class dP{cursor(e=0){return new ec(this,e)}getChild(e,i=null,r=null){let n=nS(this,e,i,r);return n.length?n[0]:null}getChildren(e,i=null,r=null){return nS(this,e,i,r)}resolve(e,i=0){return va(this,e,i,!1)}resolveInner(e,i=0){return va(this,e,i,!0)}matchContext(e){return hd(this.parent,e)}enterUnfinishedNodesBefore(e){let i=this.childBefore(e),r=this;for(;i;){let n=i.lastChild;if(!n||n.to!=i.to)break;n.type.isError&&n.from==n.to?(r=i,i=n.prevSibling):i=n}return r}get node(){return this}get next(){return this.parent}}class ft extends dP{constructor(e,i,r,n){super(),this._tree=e,this.from=i,this.index=r,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,i,r,n,s=0){for(let o=this;;){for(let{children:a,positions:l}=o._tree,O=i>0?a.length:-1;e!=O;e+=i){let c=a[e],h=l[e]+o.from,u;if(!(!(s&Se.EnterBracketed&&c instanceof _e&&(u=$s.get(c))&&!u.overlay&&u.bracketed&&r>=h&&r<=h+c.length)&&!fP(n,r,h,h+c.length))){if(c instanceof Jr){if(s&Se.ExcludeBuffers)continue;let m=c.findChild(0,c.buffer.length,i,r-h,n);if(m>-1)return new Li(new f5(o,c,e,h),null,m)}else if(s&Se.IncludeAnonymous||!c.type.isAnonymous||sm(c)){let m;if(!(s&Se.IgnoreMounts)&&(m=$s.get(c))&&!m.overlay)return new ft(m.tree,h,e,o);let S=new ft(c,h,e,o);return s&Se.IncludeAnonymous||!S.type.isAnonymous?S:S.nextChild(i<0?c.children.length-1:0,i,r,n,s)}}}if(s&Se.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+i:e=i<0?-1:o._parent._tree.children.length,o=o._parent,!o))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,i,r=0){let n;if(!(r&Se.IgnoreOverlays)&&(n=$s.get(this._tree))&&n.overlay){let s=e-this.from,o=r&Se.EnterBracketed&&n.bracketed;for(let{from:a,to:l}of n.overlay)if((i>0||o?a<=s:a<s)&&(i<0||o?l>=s:l>s))return new ft(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,i,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 nS(t,e,i,r){let n=t.cursor(),s=[];if(!n.firstChild())return s;if(i!=null){for(let o=!1;!o;)if(o=n.type.is(i),!n.nextSibling())return s}for(;;){if(r!=null&&n.type.is(r))return s;if(n.type.is(e)&&s.push(n.node),!n.nextSibling())return r==null?s:[]}}function hd(t,e,i=e.length-1){for(let r=t;i>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[i]&&e[i]!=r.name)return!1;i--}}return!0}class f5{constructor(e,i,r,n){this.parent=e,this.buffer=i,this.index=r,this.start=n}}class Li extends dP{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,i,r){super(),this.context=e,this._parent=i,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,i,r){let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],e,i-this.context.start,r);return s<0?null:new Li(this.context,this,s)}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,i,r=0){if(r&Se.ExcludeBuffers)return null;let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],i>0?1:-1,e-this.context.start,i);return s<0?null:new Li(this.context,this,s)}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,i=e.buffer[this.index+3];return i<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Li(this.context,this._parent,i):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,i=this._parent?this._parent.index+4:0;return this.index==i?this.externalSibling(-1):new Li(this.context,this._parent,e.findChild(i,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],i=[],{buffer:r}=this.context,n=this.index+4,s=r.buffer[this.index+3];if(s>n){let o=r.buffer[this.index+1];e.push(r.slice(n,s,o)),i.push(0)}return new _e(this.type,e,i,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function pP(t){if(!t.length)return null;let e=0,i=t[0];for(let s=1;s<t.length;s++){let o=t[s];(o.from>i.from||o.to<i.to)&&(i=o,e=s)}let r=i instanceof ft&&i.index<0?null:i.parent,n=t.slice();return r?n[e]=r:n.splice(e,1),new d5(n,i)}class d5{constructor(e,i){this.heads=e,this.node=i}get next(){return pP(this.heads)}}function p5(t,e,i){let r=t.resolveInner(e,i),n=null;for(let s=r instanceof ft?r:r.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(n||(n=[r])).push(o.resolve(e,i)),s=o}else{let o=$s.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new ft(o.tree,o.overlay[0].from+s.from,-1,s);(n||(n=[r])).push(va(a,e,i,!1))}}return n?pP(n):r}class ec{get name(){return this.type.name}constructor(e,i=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=i&~Se.EnterBracketed,e instanceof ft)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,i){this.index=e;let{start:r,buffer:n}=this.buffer;return this.type=i||n.set.types[n.buffer[e]],this.from=r+n.buffer[e+1],this.to=r+n.buffer[e+2],!0}yield(e){return e?e instanceof ft?(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,i,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,i,r,this.mode));let{buffer:n}=this.buffer,s=n.findChild(this.index+4,n.buffer[this.index+3],e,i-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}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,i,r=this.mode){return this.buffer?r&Se.ExcludeBuffers?!1:this.enterChild(1,e,i):this.yield(this._tree.enter(e,i,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Se.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Se.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:i}=this.buffer,r=this.stack.length-1;if(e<0){let n=r<0?0:this.stack[r]+4;if(this.index!=n)return this.yieldBuf(i.findChild(n,this.index,-1,0,4))}else{let n=i.buffer[this.index+3];if(n<(r<0?i.buffer.length:i.buffer[this.stack[r]+3]))return this.yieldBuf(n)}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 i,r,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(n.buffer.buffer[s+3]<this.index)return!1;({index:i,parent:r}=n)}else({index:i,_parent:r}=this._tree);for(;r;{index:i,_parent:r}=r)if(i>-1)for(let s=i+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let a=r._tree.children[s];if(this.mode&Se.IncludeAnonymous||a instanceof Jr||!a.type.isAnonymous||sm(a))return!1}return!0}move(e,i){if(i&&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,i=0){for(;(this.from==this.to||(i<1?this.from>=e:this.from>e)||(i>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,i););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,i=null,r=0;if(e&&e.context==this.buffer)e:for(let n=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==n){if(n==this.index)return o;i=o,r=s+1;break e}n=this.stack[--s]}for(let n=r;n<this.stack.length;n++)i=new Li(this.buffer,i,this.stack[n]);return this.bufferNode=new Li(this.buffer,i,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,i){for(let r=0;;){let n=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(n=!0)}for(;;){if(n&&i&&i(this),n=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,n=!0}}}matchContext(e){if(!this.buffer)return hd(this.node.parent,e);let{buffer:i}=this.buffer,{types:r}=i.set;for(let n=e.length-1,s=this.stack.length-1;n>=0;s--){if(s<0)return hd(this._tree,e,n);let o=r[i.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[n]&&e[n]!=o.name)return!1;n--}}return!0}}function sm(t){return t.children.some(e=>e instanceof Jr||!e.type.isAnonymous||sm(e))}function m5(t){var e;let{buffer:i,nodeSet:r,maxBufferLength:n=uP,reused:s=[],minRepeatType:o=r.types.length}=t,a=Array.isArray(i)?new nm(i,i.length):i,l=r.types,O=0,c=0;function h(_,P,w,v,b,T){let{id:Y,start:Z,end:R,size:z}=a,V=c,L=O;if(z<0)if(a.next(),z==-1){let C=s[Y];w.push(C),v.push(Z-_);return}else if(z==-3){O=Y;return}else if(z==-4){c=Y;return}else throw new RangeError(`Unrecognized record size: ${z}`);let G=l[Y],q,X,x=Z-_;if(R-Z<=n&&(X=g(a.pos-P,b))){let C=new Uint16Array(X.size-X.skip),W=a.pos-X.size,E=C.length;for(;a.pos>W;)E=d(X.start,C,E);q=new Jr(C,R-X.start,r),x=X.start-_}else{let C=a.pos-z;a.next();let W=[],E=[],D=Y>=o?Y:-1,te=0,ne=R;for(;a.pos>C;)D>=0&&a.id==D&&a.size>=0?(a.end<=ne-n&&(S(W,E,Z,te,a.end,ne,D,V,L),te=W.length,ne=a.end),a.next()):T>2500?u(Z,C,W,E):h(Z,C,W,E,D,T+1);if(D>=0&&te>0&&te<W.length&&S(W,E,Z,te,Z,ne,D,V,L),W.reverse(),E.reverse(),D>-1&&te>0){let U=m(G,L);q=om(G,W,E,0,W.length,0,R-Z,U,U)}else q=Q(G,W,E,R-Z,V-R,L)}w.push(q),v.push(x)}function u(_,P,w,v){let b=[],T=0,Y=-1;for(;a.pos>P;){let{id:Z,start:R,end:z,size:V}=a;if(V>4)a.next();else{if(Y>-1&&R<Y)break;Y<0&&(Y=z-n),b.push(Z,R,z),T++,a.next()}}if(T){let Z=new Uint16Array(T*4),R=b[b.length-2];for(let z=b.length-3,V=0;z>=0;z-=3)Z[V++]=b[z],Z[V++]=b[z+1]-R,Z[V++]=b[z+2]-R,Z[V++]=V;w.push(new Jr(Z,b[2]-R,r)),v.push(R-_)}}function m(_,P){return(w,v,b)=>{let T=0,Y=w.length-1,Z,R;if(Y>=0&&(Z=w[Y])instanceof _e){if(!Y&&Z.type==_&&Z.length==b)return Z;(R=Z.prop(le.lookAhead))&&(T=v[Y]+Z.length+R)}return Q(_,w,v,b,T,P)}}function S(_,P,w,v,b,T,Y,Z,R){let z=[],V=[];for(;_.length>v;)z.push(_.pop()),V.push(P.pop()+w-b);_.push(Q(r.types[Y],z,V,T-b,Z-T,R)),P.push(b-w)}function Q(_,P,w,v,b,T,Y){if(T){let Z=[le.contextHash,T];Y=Y?[Z].concat(Y):[Z]}if(b>25){let Z=[le.lookAhead,b];Y=Y?[Z].concat(Y):[Z]}return new _e(_,P,w,v,Y)}function g(_,P){let w=a.fork(),v=0,b=0,T=0,Y=w.end-n,Z={size:0,start:0,skip:0};e:for(let R=w.pos-_;w.pos>R;){let z=w.size;if(w.id==P&&z>=0){Z.size=v,Z.start=b,Z.skip=T,T+=4,v+=4,w.next();continue}let V=w.pos-z;if(z<0||V<R||w.start<Y)break;let L=w.id>=o?4:0,G=w.start;for(w.next();w.pos>V;){if(w.size<0)if(w.size==-3||w.size==-4)L+=4;else break e;else w.id>=o&&(L+=4);w.next()}b=G,v+=z,T+=L}return(P<0||v==_)&&(Z.size=v,Z.start=b,Z.skip=T),Z.size>4?Z:void 0}function d(_,P,w){let{id:v,start:b,end:T,size:Y}=a;if(a.next(),Y>=0&&v<o){let Z=w;if(Y>4){let R=a.pos-(Y-4);for(;a.pos>R;)w=d(_,P,w)}P[--w]=Z,P[--w]=T-_,P[--w]=b-_,P[--w]=v}else Y==-3?O=v:Y==-4&&(c=v);return w}let f=[],p=[];for(;a.pos>0;)h(t.start||0,t.bufferStart||0,f,p,-1,0);let $=(e=t.length)!==null&&e!==void 0?e:f.length?p[0]+f[0].length:0;return new _e(l[t.topID],f.reverse(),p.reverse(),$)}const sS=new WeakMap;function hO(t,e){if(!t.isAnonymous||e instanceof Jr||e.type!=t)return 1;let i=sS.get(e);if(i==null){i=1;for(let r of e.children){if(r.type!=t||!(r instanceof _e)){i=1;break}i+=hO(t,r)}sS.set(e,i)}return i}function om(t,e,i,r,n,s,o,a,l){let O=0;for(let S=r;S<n;S++)O+=hO(t,e[S]);let c=Math.ceil(O*1.5/8),h=[],u=[];function m(S,Q,g,d,f){for(let p=g;p<d;){let $=p,_=Q[p],P=hO(t,S[p]);for(p++;p<d;p++){let w=hO(t,S[p]);if(P+w>=c)break;P+=w}if(p==$+1){if(P>c){let w=S[$];m(w.children,w.positions,0,w.children.length,Q[$]+f);continue}h.push(S[$])}else{let w=Q[p-1]+S[p-1].length-_;h.push(om(t,S,Q,$,p,_,w,null,l))}u.push(_+f-s)}}return m(e,i,r,n,0),(a||l)(h,u,o)}class Bc{constructor(){this.map=new WeakMap}setBuffer(e,i,r){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(i,r)}getBuffer(e,i){let r=this.map.get(e);return r&&r.get(i)}set(e,i){e instanceof Li?this.setBuffer(e.context.buffer,e.index,i):e instanceof ft&&this.map.set(e.tree,i)}get(e){return e instanceof Li?this.getBuffer(e.context.buffer,e.index):e instanceof ft?this.map.get(e.tree):void 0}cursorSet(e,i){e.buffer?this.setBuffer(e.buffer.buffer,e.index,i):this.map.set(e.tree,i)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class vi{constructor(e,i,r,n,s=!1,o=!1){this.from=e,this.to=i,this.tree=r,this.offset=n,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,i=[],r=!1){let n=[new vi(0,e.length,e,0,!1,r)];for(let s of i)s.to>e.length&&n.push(s);return n}static applyChanges(e,i,r=128){if(!i.length)return e;let n=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,O=0;;a++){let c=a<i.length?i[a]:null,h=c?c.fromA:1e9;if(h-l>=r)for(;o&&o.from<h;){let u=o;if(l>=u.from||h<=u.to||O){let m=Math.max(u.from,l)-O,S=Math.min(u.to,h)-O;u=m>=S?null:new vi(m,S,u.tree,u.offset+O,a>0,!!c)}if(u&&n.push(u),o.to>h)break;o=s<e.length?e[s++]:null}if(!c)break;l=c.toA,O=c.toA-c.toB}return n}}class am{startParse(e,i,r){return typeof e=="string"&&(e=new g5(e)),r=r?r.length?r.map(n=>new si(n.from,n.to)):[new si(0,0)]:[new si(0,e.length)],this.createParse(e,i||[],r)}parse(e,i,r){let n=this.startParse(e,i,r);for(;;){let s=n.advance();if(s)return s}}}class g5{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,i){return this.string.slice(e,i)}}function mP(t){return(e,i,r,n)=>new S5(e,t,i,r,n)}class oS{constructor(e,i,r,n,s,o){this.parser=e,this.parse=i,this.overlay=r,this.bracketed=n,this.target=s,this.from=o}}function aS(t){if(!t.length||t.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}class Q5{constructor(e,i,r,n,s,o,a,l){this.parser=e,this.predicate=i,this.mounts=r,this.index=n,this.start=s,this.bracketed=o,this.target=a,this.prev=l,this.depth=0,this.ranges=[]}}const ud=new le({perNode:!0});class S5{constructor(e,i,r,n,s){this.nest=i,this.input=r,this.fragments=n,this.ranges=s,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 n of this.inner)n.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let r=this.baseTree;return this.stoppedAt!=null&&(r=new _e(r.type,r.children,r.positions,r.length,r.propValues.concat([[ud,this.stoppedAt]]))),r}let e=this.inner[this.innerDone],i=e.parse.advance();if(i){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[le.mounted.id]=new $s(i,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 i=this.innerDone;i<this.inner.length;i++)this.inner[i].from<e&&(e=Math.min(e,this.inner[i].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let i=this.innerDone;i<this.inner.length;i++)this.inner[i].parse.stopAt(e)}startInner(){let e=new v5(this.fragments),i=null,r=null,n=new ec(new ft(this.baseTree,this.ranges[0].from,0,null),Se.IncludeAnonymous|Se.IgnoreMounts);e:for(let s,o;;){let a=!0,l;if(this.stoppedAt!=null&&n.from>=this.stoppedAt)a=!1;else if(e.hasNode(n)){if(i){let O=i.mounts.find(c=>c.frag.from<=n.from&&c.frag.to>=n.to&&c.mount.overlay);if(O)for(let c of O.mount.overlay){let h=c.from+O.pos,u=c.to+O.pos;h>=n.from&&u<=n.to&&!i.ranges.some(m=>m.from<u&&m.to>h)&&i.ranges.push({from:h,to:u})}}a=!1}else if(r&&(o=$5(r.ranges,n.from,n.to)))a=o!=2;else if(!n.type.isAnonymous&&(s=this.nest(n,this.input))&&(n.from<n.to||!s.overlay)){n.tree||(_5(n),i&&i.depth++,r&&r.depth++);let O=e.findMounts(n.from,s.parser);if(typeof s.overlay=="function")i=new Q5(s.parser,s.overlay,O,this.inner.length,n.from,!!s.bracketed,n.tree,i);else{let c=cS(this.ranges,s.overlay||(n.from<n.to?[new si(n.from,n.to)]:[]));c.length&&aS(c),(c.length||!s.overlay)&&this.inner.push(new oS(s.parser,c.length?s.parser.startParse(this.input,hS(O,c),c):s.parser.startParse(""),s.overlay?s.overlay.map(h=>new si(h.from-n.from,h.to-n.from)):null,!!s.bracketed,n.tree,c.length?c[0].from:n.from)),s.overlay?c.length&&(r={ranges:c,depth:0,prev:r}):a=!1}}else if(i&&(l=i.predicate(n))&&(l===!0&&(l=new si(n.from,n.to)),l.from<l.to)){let O=i.ranges.length-1;O>=0&&i.ranges[O].to==l.from?i.ranges[O]={from:i.ranges[O].from,to:l.to}:i.ranges.push(l)}if(a&&n.firstChild())i&&i.depth++,r&&r.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(i&&!--i.depth){let O=cS(this.ranges,i.ranges);O.length&&(aS(O),this.inner.splice(i.index,0,new oS(i.parser,i.parser.startParse(this.input,hS(i.mounts,O),O),i.ranges.map(c=>new si(c.from-i.start,c.to-i.start)),i.bracketed,i.target,O[0].from))),i=i.prev}r&&!--r.depth&&(r=r.prev)}}}}function $5(t,e,i){for(let r of t){if(r.from>=i)break;if(r.to>e)return r.from<=e&&r.to>=i?2:1}return 0}function lS(t,e,i,r,n,s){if(e<i){let o=t.buffer[e+1];r.push(t.slice(e,i,o)),n.push(o-s)}}function _5(t){let{node:e}=t,i=[],r=e.context.buffer;do i.push(t.index),t.parent();while(!t.tree);let n=t.tree,s=n.children.indexOf(r),o=n.children[s],a=o.buffer,l=[s];function O(c,h,u,m,S,Q){let g=i[Q],d=[],f=[];lS(o,c,g,d,f,m);let p=a[g+1],$=a[g+2];l.push(d.length);let _=Q?O(g+4,a[g+3],o.set.types[a[g]],p,$-p,Q-1):e.toTree();return d.push(_),f.push(p-m),lS(o,a[g+3],h,d,f,m),new _e(u,d,f,S)}n.children[s]=O(0,a.length,Ne.none,0,o.length,i.length-1);for(let c of l){let h=t.tree.children[c],u=t.tree.positions[c];t.yield(new ft(h,u+t.from,c,t._tree))}}class OS{constructor(e,i){this.offset=i,this.done=!1,this.cursor=e.cursor(Se.IncludeAnonymous|Se.IgnoreMounts)}moveTo(e){let{cursor:i}=this,r=e-this.offset;for(;!this.done&&i.from<r;)i.to>=e&&i.enter(r,1,Se.IgnoreOverlays|Se.ExcludeBuffers)||i.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let i=this.cursor.tree;;){if(i==e.tree)return!0;if(i.children.length&&i.positions[0]==0&&i.children[0]instanceof _e)i=i.children[0];else break}return!1}}let v5=class{constructor(e){var i;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=(i=r.tree.prop(ud))!==null&&i!==void 0?i:r.to,this.inner=new OS(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 i=this.curFrag=this.fragments[this.fragI];this.curTo=(e=i.tree.prop(ud))!==null&&e!==void 0?e:i.to,this.inner=new OS(i.tree,-i.offset)}}findMounts(e,i){var r;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(r=s.tree)===null||r===void 0?void 0:r.prop(le.mounted);if(o&&o.parser==i)for(let a=this.fragI;a<this.fragments.length;a++){let l=this.fragments[a];if(l.from>=s.to)break;l.tree==this.curFrag.tree&&n.push({frag:l,pos:s.from-l.offset,mount:o})}}}return n}};function cS(t,e){let i=null,r=e;for(let n=1,s=0;n<t.length;n++){let o=t[n-1].to,a=t[n].from;for(;s<r.length;s++){let l=r[s];if(l.from>=a)break;l.to<=o||(i||(r=i=e.slice()),l.from<o?(i[s]=new si(l.from,o),l.to>a&&i.splice(s+1,0,new si(a,l.to))):l.to>a?i[s--]=new si(a,l.to):i.splice(s--,1))}}return r}function P5(t,e,i,r){let n=0,s=0,o=!1,a=!1,l=-1e9,O=[];for(;;){let c=n==t.length?1e9:o?t[n].to:t[n].from,h=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let u=Math.max(l,i),m=Math.min(c,h,r);u<m&&O.push(new si(u,m))}if(l=Math.min(c,h),l==1e9)break;c==l&&(o?(o=!1,n++):o=!0),h==l&&(a?(a=!1,s++):a=!0)}return O}function hS(t,e){let i=[];for(let{pos:r,mount:n,frag:s}of t){let o=r+(n.overlay?n.overlay[0].from:0),a=o+n.tree.length,l=Math.max(s.from,o),O=Math.min(s.to,a);if(n.overlay){let c=n.overlay.map(u=>new si(u.from+r,u.to+r)),h=P5(e,c,l,O);for(let u=0,m=l;;u++){let S=u==h.length,Q=S?O:h[u].from;if(Q>m&&i.push(new vi(m,Q,n.tree,-o,s.from>=m||s.openStart,s.to<=Q||s.openEnd)),S)break;m=h[u].to}}else i.push(new vi(l,O,n.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return i}let y5=0,zi=class fd{constructor(e,i,r,n){this.name=e,this.set=i,this.base=r,this.modified=n,this.id=y5++}toString(){let{name:e}=this;for(let i of this.modified)i.name&&(e=`${i.name}(${e})`);return e}static define(e,i){let r=typeof e=="string"?e:"?";if(e instanceof fd&&(i=e),i!=null&&i.base)throw new Error("Can not derive from a modified tag");let n=new fd(r,[],null,[]);if(n.set.push(n),i)for(let s of i.set)n.set.push(s);return n}static defineModifier(e){let i=new tc(e);return r=>r.modified.indexOf(i)>-1?r:tc.get(r.base||r,r.modified.concat(i).sort((n,s)=>n.id-s.id))}},w5=0;class tc{constructor(e){this.name=e,this.instances=[],this.id=w5++}static get(e,i){if(!i.length)return e;let r=i[0].instances.find(a=>a.base==e&&X5(i,a.modified));if(r)return r;let n=[],s=new zi(e.name,n,e,i);for(let a of i)a.instances.push(s);let o=b5(i);for(let a of e.set)if(!a.modified.length)for(let l of o)n.push(tc.get(a,l));return s}}function X5(t,e){return t.length==e.length&&t.every((i,r)=>i==e[r])}function b5(t){let e=[[]];for(let i=0;i<t.length;i++)for(let r=0,n=e.length;r<n;r++)e.push(e[r].concat(t[i]));return e.sort((i,r)=>r.length-i.length)}function qt(t){let e=Object.create(null);for(let i in t){let r=t[i];Array.isArray(r)||(r=[r]);for(let n of i.split(" "))if(n){let s=[],o=2,a=n;for(let h=0;;){if(a=="..."&&h>0&&h+3==n.length){o=1;break}let u=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!u)throw new RangeError("Invalid path: "+n);if(s.push(u[0]=="*"?"":u[0][0]=='"'?JSON.parse(u[0]):u[0]),h+=u[0].length,h==n.length)break;let m=n[h++];if(h==n.length&&m=="!"){o=0;break}if(m!="/")throw new RangeError("Invalid path: "+n);a=n.slice(h)}let l=s.length-1,O=s[l];if(!O)throw new RangeError("Invalid path: "+n);let c=new Pa(r,o,l>0?s.slice(0,l):null);e[O]=c.sort(e[O])}}return gP.add(e)}const gP=new le({combine(t,e){let i,r,n;for(;t||e;){if(!t||e&&t.depth>=e.depth?(n=e,e=e.next):(n=t,t=t.next),i&&i.mode==n.mode&&!n.context&&!i.context)continue;let s=new Pa(n.tags,n.mode,n.context);i?i.next=s:r=s,i=s}return r}});class Pa{constructor(e,i,r,n){this.tags=e,this.mode=i,this.context=r,this.next=n}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}}Pa.empty=new Pa([],2,null);function QP(t,e){let i=Object.create(null);for(let s of t)if(!Array.isArray(s.tag))i[s.tag.id]=s.class;else for(let o of s.tag)i[o.id]=s.class;let{scope:r,all:n=null}=e||{};return{style:s=>{let o=n;for(let a of s)for(let l of a.set){let O=i[l.id];if(O){o=o?o+" "+O:O;break}}return o},scope:r}}function x5(t,e){let i=null;for(let r of t){let n=r.style(e);n&&(i=i?i+" "+n:n)}return i}function dd(t,e,i,r=0,n=t.length){let s=new k5(r,Array.isArray(e)?e:[e],i);s.highlightRange(t.cursor(),r,n,"",s.highlighters),s.flush(n)}class k5{constructor(e,i,r){this.at=e,this.highlighters=i,this.span=r,this.class=""}startSpan(e,i){i!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=i)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,i,r,n,s){let{type:o,from:a,to:l}=e;if(a>=r||l<=i)return;o.isTop&&(s=this.highlighters.filter(m=>!m.scope||m.scope(o)));let O=n,c=T5(e)||Pa.empty,h=x5(s,c.tags);if(h&&(O&&(O+=" "),O+=h,c.mode==1&&(n+=(n?" ":"")+h)),this.startSpan(Math.max(i,a),O),c.opaque)return;let u=e.tree&&e.tree.prop(le.mounted);if(u&&u.overlay){let m=e.node.enter(u.overlay[0].from+a,1),S=this.highlighters.filter(g=>!g.scope||g.scope(u.tree.type)),Q=e.firstChild();for(let g=0,d=a;;g++){let f=g<u.overlay.length?u.overlay[g]:null,p=f?f.from+a:l,$=Math.max(i,d),_=Math.min(r,p);if($<_&&Q)for(;e.from<_&&(this.highlightRange(e,$,_,n,s),this.startSpan(Math.min(_,e.to),O),!(e.to>=p||!e.nextSibling())););if(!f||p>r)break;d=f.to+a,d>i&&(this.highlightRange(m.cursor(),Math.max(i,f.from+a),Math.min(r,d),"",S),this.startSpan(Math.min(r,d),O))}Q&&e.parent()}else if(e.firstChild()){u&&(n="");do if(!(e.to<=i)){if(e.from>=r)break;this.highlightRange(e,i,r,n,s),this.startSpan(Math.min(r,e.to),O)}while(e.nextSibling());e.parent()}}}function T5(t){let e=t.type.prop(gP);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const F=zi.define,Zl=F(),Tr=F(),uS=F(Tr),fS=F(Tr),Rr=F(),Wl=F(Rr),Kh=F(Rr),Wi=F(),an=F(Wi),Yi=F(),Zi=F(),pd=F(),po=F(pd),Ul=F(),y={comment:Zl,lineComment:F(Zl),blockComment:F(Zl),docComment:F(Zl),name:Tr,variableName:F(Tr),typeName:uS,tagName:F(uS),propertyName:fS,attributeName:F(fS),className:F(Tr),labelName:F(Tr),namespace:F(Tr),macroName:F(Tr),literal:Rr,string:Wl,docString:F(Wl),character:F(Wl),attributeValue:F(Wl),number:Kh,integer:F(Kh),float:F(Kh),bool:F(Rr),regexp:F(Rr),escape:F(Rr),color:F(Rr),url:F(Rr),keyword:Yi,self:F(Yi),null:F(Yi),atom:F(Yi),unit:F(Yi),modifier:F(Yi),operatorKeyword:F(Yi),controlKeyword:F(Yi),definitionKeyword:F(Yi),moduleKeyword:F(Yi),operator:Zi,derefOperator:F(Zi),arithmeticOperator:F(Zi),logicOperator:F(Zi),bitwiseOperator:F(Zi),compareOperator:F(Zi),updateOperator:F(Zi),definitionOperator:F(Zi),typeOperator:F(Zi),controlOperator:F(Zi),punctuation:pd,separator:F(pd),bracket:po,angleBracket:F(po),squareBracket:F(po),paren:F(po),brace:F(po),content:Wi,heading:an,heading1:F(an),heading2:F(an),heading3:F(an),heading4:F(an),heading5:F(an),heading6:F(an),contentSeparator:F(Wi),list:F(Wi),quote:F(Wi),emphasis:F(Wi),strong:F(Wi),link:F(Wi),monospace:F(Wi),strikethrough:F(Wi),inserted:F(),deleted:F(),changed:F(),invalid:F(),meta:Ul,documentMeta:F(Ul),annotation:F(Ul),processingInstruction:F(Ul),definition:zi.defineModifier("definition"),constant:zi.defineModifier("constant"),function:zi.defineModifier("function"),standard:zi.defineModifier("standard"),local:zi.defineModifier("local"),special:zi.defineModifier("special")};for(let t in y){let e=y[t];e instanceof zi&&(e.name=t)}QP([{tag:y.link,class:"tok-link"},{tag:y.heading,class:"tok-heading"},{tag:y.emphasis,class:"tok-emphasis"},{tag:y.strong,class:"tok-strong"},{tag:y.keyword,class:"tok-keyword"},{tag:y.atom,class:"tok-atom"},{tag:y.bool,class:"tok-bool"},{tag:y.url,class:"tok-url"},{tag:y.labelName,class:"tok-labelName"},{tag:y.inserted,class:"tok-inserted"},{tag:y.deleted,class:"tok-deleted"},{tag:y.literal,class:"tok-literal"},{tag:y.string,class:"tok-string"},{tag:y.number,class:"tok-number"},{tag:[y.regexp,y.escape,y.special(y.string)],class:"tok-string2"},{tag:y.variableName,class:"tok-variableName"},{tag:y.local(y.variableName),class:"tok-variableName tok-local"},{tag:y.definition(y.variableName),class:"tok-variableName tok-definition"},{tag:y.special(y.variableName),class:"tok-variableName2"},{tag:y.definition(y.propertyName),class:"tok-propertyName tok-definition"},{tag:y.typeName,class:"tok-typeName"},{tag:y.namespace,class:"tok-namespace"},{tag:y.className,class:"tok-className"},{tag:y.macroName,class:"tok-macroName"},{tag:y.propertyName,class:"tok-propertyName"},{tag:y.operator,class:"tok-operator"},{tag:y.comment,class:"tok-comment"},{tag:y.meta,class:"tok-meta"},{tag:y.invalid,class:"tok-invalid"},{tag:y.punctuation,class:"tok-punctuation"}]);var Jh;const Pn=new le;function lm(t){return K.define({combine:t?e=>e.concat(t):void 0})}const Om=new le;class oi{constructor(e,i,r=[],n=""){this.data=e,this.name=n,fe.prototype.hasOwnProperty("tree")||Object.defineProperty(fe.prototype,"tree",{get(){return ve(this)}}),this.parser=i,this.extension=[Qr.of(this),fe.languageData.of((s,o,a)=>{let l=dS(s,o,a),O=l.type.prop(Pn);if(!O)return[];let c=s.facet(O),h=l.type.prop(Om);if(h){let u=l.resolve(o-l.from,a);for(let m of h)if(m.test(u,s)){let S=s.facet(m.facet);return m.type=="replace"?S:S.concat(c)}}return c})].concat(r)}isActiveAt(e,i,r=-1){return dS(e,i,r).type.prop(Pn)==this.data}findRegions(e){let i=e.facet(Qr);if((i==null?void 0:i.data)==this.data)return[{from:0,to:e.doc.length}];if(!i||!i.allowsNesting)return[];let r=[],n=(s,o)=>{if(s.prop(Pn)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(le.mounted);if(a){if(a.tree.prop(Pn)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+o,to:l.to+o});else r.push({from:o,to:o+s.length});return}else if(a.overlay){let l=r.length;if(n(a.tree,a.overlay[0].from+o),r.length>l)return}}for(let l=0;l<s.children.length;l++){let O=s.children[l];O instanceof _e&&n(O,s.positions[l]+o)}};return n(ve(e),0),r}get allowsNesting(){return!0}}oi.setState=ae.define();function dS(t,e,i){let r=t.facet(Qr),n=ve(t).topNode;if(!r||r.allowsNesting)for(let s=n;s;s=s.enter(e,i,Se.ExcludeBuffers|Se.EnterBracketed))s.type.isTop&&(n=s);return n}class Ut extends oi{constructor(e,i,r){super(e,i,[],r),this.parser=i}static define(e){let i=lm(e.languageData);return new Ut(i,e.parser.configure({props:[Pn.add(r=>r.isTop?i:void 0)]}),e.name)}configure(e,i){return new Ut(this.data,this.parser.configure(e),i||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function ve(t){let e=t.field(oi.state,!1);return e?e.tree:_e.empty}class R5{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,i){let r=this.cursorPos-this.string.length;return e<r||i>=this.cursorPos?this.doc.sliceString(e,i):this.string.slice(e-r,i-r)}}let mo=null;class ya{constructor(e,i,r=[],n,s,o,a,l){this.parser=e,this.state=i,this.fragments=r,this.tree=n,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,i,r){return new ya(e,i,[],_e.empty,0,r,[],null)}startParse(){return this.parser.startParse(new R5(this.state.doc),this.fragments)}work(e,i){return i!=null&&i>=this.state.doc.length&&(i=void 0),this.tree!=_e.empty&&this.isDone(i??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let n=Date.now()+e;e=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),i!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>i)&&i<this.state.doc.length&&this.parse.stopAt(i);;){let n=this.parse.advance();if(n)if(this.fragments=this.withoutTempSkipped(vi.addTree(n,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=n,this.parse=null,this.treeLen<(i??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,i;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(i=this.parse.advance()););}),this.treeLen=e,this.tree=i,this.fragments=this.withoutTempSkipped(vi.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let i=mo;mo=this;try{return e()}finally{mo=i}}withoutTempSkipped(e){for(let i;i=this.tempSkipped.pop();)e=pS(e,i.from,i.to);return e}changes(e,i){let{fragments:r,tree:n,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((O,c,h,u)=>l.push({fromA:O,toA:c,fromB:h,toB:u})),r=vi.applyChanges(r,l),n=_e.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let O of this.skipped){let c=e.mapPos(O.from,1),h=e.mapPos(O.to,-1);c<h&&a.push({from:c,to:h})}}}return new ya(this.parser,i,r,n,s,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let i=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:n,to:s}=this.skipped[r];n<e.to&&s>e.from&&(this.fragments=pS(this.fragments,n,s),this.skipped.splice(r--,1))}return this.skipped.length>=i?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,i){this.skipped.push({from:e,to:i})}static getSkippingParser(e){return new class extends am{createParse(i,r,n){let s=n[0].from,o=n[n.length-1].to;return{parsedPos:s,advance(){let l=mo;if(l){for(let O of n)l.tempSkipped.push(O);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new _e(Ne.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let i=this.fragments;return this.treeLen>=e&&i.length&&i[0].from==0&&i[0].to>=e}static get(){return mo}}function pS(t,e,i){return vi.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}class Us{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let i=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),i.viewport.to);return i.work(20,r)||i.takeTree(),new Us(i)}static init(e){let i=Math.min(3e3,e.doc.length),r=ya.create(e.facet(Qr).parser,e,{from:0,to:i});return r.work(20,i)||r.takeTree(),new Us(r)}}oi.state=et.define({create:Us.init,update(t,e){for(let i of e.effects)if(i.is(oi.setState))return i.value;return e.startState.facet(Qr)!=e.state.facet(Qr)?Us.init(e.state):t.apply(e)}});let SP=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(SP=t=>{let e=-1,i=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(i):cancelIdleCallback(e)});const eu=typeof navigator<"u"&&(!((Jh=navigator.scheduling)===null||Jh===void 0)&&Jh.isInputPending)?()=>navigator.scheduling.isInputPending():null,C5=Re.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 i=this.view.state.field(oi.state).context;(i.updateViewport(e.view.viewport)||this.view.viewport.to>i.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(i)}scheduleWork(){if(this.working)return;let{state:e}=this.view,i=e.field(oi.state);(i.tree!=i.context.tree||!i.context.isDone(e.doc.length))&&(this.working=SP(this.work))}work(e){this.working=null;let i=Date.now();if(this.chunkEnd<i&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=i+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:n}}=this.view,s=r.field(oi.state);if(s.tree==s.context.tree&&s.context.isDone(n+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!eu?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<n&&r.doc.length>n+1e3,l=s.context.work(()=>eu&&eu()||Date.now()>o,n+(a?0:1e5));this.chunkBudget-=Date.now()-i,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:oi.setState.of(new Us(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(i=>Tt(this.view.state,i)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Qr=K.define({combine(t){return t.length?t[0]:null},enables:t=>[oi.state,C5,N.contentAttributes.compute([t],e=>{let i=e.facet(t);return i&&i.name?{"data-language":i.name}:{}})]});class Ft{constructor(e,i=[]){this.language=e,this.support=i,this.extension=[e,i]}}class ic{constructor(e,i,r,n,s,o=void 0){this.name=e,this.alias=i,this.extensions=r,this.filename=n,this.loadFunc=s,this.support=o,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:i,support:r}=e;if(!i){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");i=()=>Promise.resolve(r)}return new ic(e.name,(e.alias||[]).concat(e.name).map(n=>n.toLowerCase()),e.extensions||[],e.filename,i,r)}static matchFilename(e,i){for(let n of e)if(n.filename&&n.filename.test(i))return n;let r=/\.([^.]+)$/.exec(i);if(r){for(let n of e)if(n.extensions.indexOf(r[1])>-1)return n}return null}static matchLanguageName(e,i,r=!0){i=i.toLowerCase();for(let n of e)if(n.alias.some(s=>s==i))return n;if(r)for(let n of e)for(let s of n.alias){let o=i.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(i[o-1])&&!/\w/.test(i[o+s.length])))return n}return null}}const Y5=K.define(),Is=K.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(i=>i!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function rc(t){let e=t.facet(Is);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function wa(t,e){let i="",r=t.tabSize,n=t.facet(Is)[0];if(n==" "){for(;e>=r;)i+=" ",e-=r;n=" "}for(let s=0;s<e;s++)i+=n;return i}function cm(t,e){t instanceof fe&&(t=new Ic(t));for(let r of t.state.facet(Y5)){let n=r(t,e);if(n!==void 0)return n}let i=ve(t.state);return i.length>=e?Z5(t,i,e):null}class Ic{constructor(e,i={}){this.state=e,this.options=i,this.unit=rc(e)}lineAt(e,i=1){let r=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:s}=this.options;return n!=null&&n>=r.from&&n<=r.to?s&&n==e?{text:"",from:e}:(i<0?n<e:n<=e)?{text:r.text.slice(n-r.from),from:n}:{text:r.text.slice(0,n-r.from),from:r.from}:r}textAfterPos(e,i=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:n}=this.lineAt(e,i);return r.slice(e-n,Math.min(r.length,e+100-n))}column(e,i=1){let{text:r,from:n}=this.lineAt(e,i),s=this.countColumn(r,e-n),o=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return o>-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,i=e.length){return yi(e,this.state.tabSize,i)}lineIndent(e,i=1){let{text:r,from:n}=this.lineAt(e,i),s=this.options.overrideIndentation;if(s){let o=s(n);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Jt=new le;function Z5(t,e,i){let r=e.resolveStack(i),n=e.resolveInner(i,-1).resolve(i,0).enterUnfinishedNodesBefore(i);if(n!=r.node){let s=[];for(let o=n;o&&!(o.from<r.node.from||o.to>r.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return $P(r,t,i)}function $P(t,e,i){for(let r=t;r;r=r.next){let n=U5(r.node);if(n)return n(hm.create(e,i,r))}return 0}function W5(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function U5(t){let e=t.type.prop(Jt);if(e)return e;let i=t.firstChild,r;if(i&&(r=i.type.prop(le.closedBy))){let n=t.lastChild,s=n&&r.indexOf(n.name)>-1;return o=>_P(o,!0,1,void 0,s&&!W5(o)?n.from:void 0)}return t.parent==null?z5:null}function z5(){return 0}class hm extends Ic{constructor(e,i,r){super(e.state,e.options),this.base=e,this.pos=i,this.context=r}get node(){return this.context.node}static create(e,i,r){return new hm(e,i,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let i=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(i.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(q5(r,e))break;i=this.state.doc.lineAt(r.from)}return this.lineIndent(i.from)}continue(){return $P(this.context.next,this.base,this.pos)}}function q5(t,e){for(let i=e;i;i=i.parent)if(t==i)return!0;return!1}function V5(t){let e=t.node,i=e.childAfter(e.from),r=e.lastChild;if(!i)return null;let n=t.options.simulateBreak,s=t.state.doc.lineAt(i.from),o=n==null||n<=s.from?s.to:Math.min(s.to,n);for(let a=i.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let O=/^ */.exec(s.text.slice(i.to-s.from))[0].length;return{from:i.from,to:i.to+O}}a=l.to}}function hr({closing:t,align:e=!0,units:i=1}){return r=>_P(r,e,i,t)}function _P(t,e,i,r,n){let s=t.textAfter,o=s.match(/^\s*/)[0].length,a=r&&s.slice(o,o+r.length)==r||n==t.pos+o,l=e?V5(t):null;return l?a?t.column(l.from):t.column(l.to):t.baseIndent+(a?0:t.unit*i)}const Nc=t=>t.baseIndent;function at({except:t,units:e=1}={}){return i=>{let r=t&&t.test(i.textAfter);return i.baseIndent+(r?0:e*i.unit)}}const E5=200;function A5(){return fe.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let i=t.newDoc,{head:r}=t.newSelection.main,n=i.lineAt(r);if(r>n.from+E5)return t;let s=i.sliceString(n.from,r);if(!e.some(O=>O.test(s)))return t;let{state:o}=t,a=-1,l=[];for(let{head:O}of o.selection.ranges){let c=o.doc.lineAt(O);if(c.from==a)continue;a=c.from;let h=cm(o,c.from);if(h==null)continue;let u=/^\s*/.exec(c.text)[0],m=wa(o,h);u!=m&&l.push({from:c.from,to:c.from+u.length,insert:m})}return l.length?[t,{changes:l,sequential:!0}]:t})}const vP=K.define(),Vt=new le;function vr(t){let e=t.firstChild,i=t.lastChild;return e&&e.to<i.from?{from:e.to,to:i.type.isError?t.to:i.from}:null}function j5(t,e,i){let r=ve(t);if(r.length<i)return null;let n=r.resolveStack(i,1),s=null;for(let o=n;o;o=o.next){let a=o.node;if(a.to<=i||a.from>i)continue;if(s&&a.from<e)break;let l=a.type.prop(Vt);if(l&&(a.to<r.length-50||r.length==t.doc.length||!L5(a))){let O=l(a,t);O&&O.from<=i&&O.from>=e&&O.to>i&&(s=O)}}return s}function L5(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function nc(t,e,i){for(let r of t.facet(vP)){let n=r(t,e,i);if(n)return n}return j5(t,e,i)}function PP(t,e){let i=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return i>=r?void 0:{from:i,to:r}}const Ia=ae.define({map:PP}),Ns=ae.define({map:PP});function yP(t){let e=[];for(let{head:i}of t.state.selection.ranges)e.some(r=>r.from<=i&&r.to>=i)||e.push(t.lineBlockAt(i));return e}const en=et.define({create(){return re.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((i,r)=>t=mS(t,i,r)),t=t.map(e.changes);for(let i of e.effects)if(i.is(Ia)&&!M5(t,i.value.from,i.value.to)){let{preparePlaceholder:r}=e.state.facet(bP),n=r?re.replace({widget:new K5(r(e.state,i.value))}):gS;t=t.update({add:[n.range(i.value.from,i.value.to)]})}else i.is(Ns)&&(t=t.update({filter:(r,n)=>i.value.from!=r||i.value.to!=n,filterFrom:i.value.from,filterTo:i.value.to}));return e.selection&&(t=mS(t,e.selection.main.head)),t},provide:t=>N.decorations.from(t),toJSON(t,e){let i=[];return t.between(0,e.doc.length,(r,n)=>{i.push(r,n)}),i},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let i=0;i<t.length;){let r=t[i++],n=t[i++];if(typeof r!="number"||typeof n!="number")throw new RangeError("Invalid JSON for fold state");e.push(gS.range(r,n))}return re.set(e,!0)}});function mS(t,e,i=e){let r=!1;return t.between(e,i,(n,s)=>{n<i&&s>e&&(r=!0)}),r?t.update({filterFrom:e,filterTo:i,filter:(n,s)=>n>=i||s<=e}):t}function D5(t){return t.field(en,!1)||ce.empty}function sc(t,e,i){var r;let n=null;return(r=t.field(en,!1))===null||r===void 0||r.between(e,i,(s,o)=>{(!n||n.from>s)&&(n={from:s,to:o})}),n}function M5(t,e,i){let r=!1;return t.between(e,e,(n,s)=>{n==e&&s==i&&(r=!0)}),r}function wP(t,e){return t.field(en,!1)?e:e.concat(ae.appendConfig.of(xP()))}const G5=t=>{for(let e of yP(t)){let i=nc(t.state,e.from,e.to);if(i)return t.dispatch({effects:wP(t.state,[Ia.of(i),XP(t,i)])}),!0}return!1},B5=t=>{if(!t.state.field(en,!1))return!1;let e=[];for(let i of yP(t)){let r=sc(t.state,i.from,i.to);r&&e.push(Ns.of(r),XP(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function XP(t,e,i=!0){let r=t.state.doc.lineAt(e.from).number,n=t.state.doc.lineAt(e.to).number;return N.announce.of(`${t.state.phrase(i?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${n}.`)}const I5=t=>{let{state:e}=t,i=[];for(let r=0;r<e.doc.length;){let n=t.lineBlockAt(r),s=nc(e,n.from,n.to);s&&i.push(Ia.of(s)),r=(s?t.lineBlockAt(s.to):n).to+1}return i.length&&t.dispatch({effects:wP(t.state,i)}),!!i.length},N5=t=>{let e=t.state.field(en,!1);if(!e||!e.size)return!1;let i=[];return e.between(0,t.state.doc.length,(r,n)=>{i.push(Ns.of({from:r,to:n}))}),t.dispatch({effects:i}),!0},F5=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:G5},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:B5},{key:"Ctrl-Alt-[",run:I5},{key:"Ctrl-Alt-]",run:N5}],H5={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},bP=K.define({combine(t){return Xi(t,H5)}});function xP(t){return[en,tC]}function kP(t,e){let{state:i}=t,r=i.facet(bP),n=o=>{let a=t.lineBlockAt(t.posAtDOM(o.target)),l=sc(t.state,a.from,a.to);l&&t.dispatch({effects:Ns.of(l)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,n,e);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",i.phrase("folded code")),s.title=i.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=n,s}const gS=re.replace({widget:new class extends bi{toDOM(t){return kP(t,null)}}});class K5 extends bi{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return kP(e,this.value)}}const J5={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class tu extends gr{constructor(e,i){super(),this.config=e,this.open=i}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let i=document.createElement("span");return i.textContent=this.open?this.config.openText:this.config.closedText,i.title=e.state.phrase(this.open?"Fold line":"Unfold line"),i}}function eC(t={}){let e={...J5,...t},i=new tu(e,!0),r=new tu(e,!1),n=Re.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(Qr)!=o.state.facet(Qr)||o.startState.field(en,!1)!=o.state.field(en,!1)||ve(o.startState)!=ve(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new Fi;for(let l of o.viewportLineBlocks){let O=sc(o.state,l.from,l.to)?r:nc(o.state,l.from,l.to)?i:null;O&&a.add(l.from,l.from,O)}return a.finish()}}),{domEventHandlers:s}=e;return[n,e5({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(n))===null||a===void 0?void 0:a.markers)||ce.empty},initialSpacer(){return new tu(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let O=sc(o.state,a.from,a.to);if(O)return o.dispatch({effects:Ns.of(O)}),!0;let c=nc(o.state,a.from,a.to);return c?(o.dispatch({effects:Ia.of(c)}),!0):!1}}}),xP()]}const tC=N.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 Fs{constructor(e,i){this.specs=e;let r;function n(a){let l=Fr.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const s=typeof i.all=="string"?i.all:i.all?n(i.all):void 0,o=i.scope;this.scope=o instanceof oi?a=>a.prop(Pn)==o.data:o?a=>a==o:void 0,this.style=QP(e.map(a=>({tag:a.tag,class:a.class||n(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new Fr(r):null,this.themeType=i.themeType}static define(e,i){return new Fs(e,i||{})}}const md=K.define(),TP=K.define({combine(t){return t.length?[t[0]]:null}});function uO(t){let e=t.facet(md);return e.length?e:t.facet(TP)}function um(t,e){let i=[nC],r;return t instanceof Fs&&(t.module&&i.push(N.styleModule.of(t.module)),r=t.themeType),e!=null&&e.fallback?i.push(TP.of(t)):r?i.push(md.computeN([N.darkTheme],n=>n.facet(N.darkTheme)==(r=="dark")?[t]:[])):i.push(md.of(t)),i}function iC(t,e,i){let r=uO(t),n=null;if(r){for(let s of r)if(!s.scope||i){let o=s.style(e);o&&(n=n?n+" "+o:o)}}return n}class rC{constructor(e){this.markCache=Object.create(null),this.tree=ve(e.state),this.decorations=this.buildDeco(e,uO(e.state)),this.decoratedTo=e.viewport.to}update(e){let i=ve(e.state),r=uO(e.state),n=r!=uO(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);i.length<s.to&&!n&&i.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(i!=this.tree||e.viewportChanged||n)&&(this.tree=i,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,i){if(!i||!this.tree.length)return re.none;let r=new Fi;for(let{from:n,to:s}of e.visibleRanges)dd(this.tree,i,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=re.mark({class:l})))},n,s);return r.finish()}}const nC=_r.high(Re.fromClass(rC,{decorations:t=>t.decorations})),sC=Fs.define([{tag:y.meta,color:"#404740"},{tag:y.link,textDecoration:"underline"},{tag:y.heading,textDecoration:"underline",fontWeight:"bold"},{tag:y.emphasis,fontStyle:"italic"},{tag:y.strong,fontWeight:"bold"},{tag:y.strikethrough,textDecoration:"line-through"},{tag:y.keyword,color:"#708"},{tag:[y.atom,y.bool,y.url,y.contentSeparator,y.labelName],color:"#219"},{tag:[y.literal,y.inserted],color:"#164"},{tag:[y.string,y.deleted],color:"#a11"},{tag:[y.regexp,y.escape,y.special(y.string)],color:"#e40"},{tag:y.definition(y.variableName),color:"#00f"},{tag:y.local(y.variableName),color:"#30a"},{tag:[y.typeName,y.namespace],color:"#085"},{tag:y.className,color:"#167"},{tag:[y.special(y.variableName),y.macroName],color:"#256"},{tag:y.definition(y.propertyName),color:"#00c"},{tag:y.comment,color:"#940"},{tag:y.invalid,color:"#f00"}]),oC=N.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),RP=1e4,CP="()[]{}",YP=K.define({combine(t){return Xi(t,{afterCursor:!0,brackets:CP,maxScanDistance:RP,renderMatch:OC})}}),aC=re.mark({class:"cm-matchingBracket"}),lC=re.mark({class:"cm-nonmatchingBracket"});function OC(t){let e=[],i=t.matched?aC:lC;return e.push(i.range(t.start.from,t.start.to)),t.end&&e.push(i.range(t.end.from,t.end.to)),e}function QS(t){let e=[],i=t.facet(YP);for(let r of t.selection.ranges){if(!r.empty)continue;let n=Di(t,r.head,-1,i)||r.head>0&&Di(t,r.head-1,1,i)||i.afterCursor&&(Di(t,r.head,1,i)||r.head<t.doc.length&&Di(t,r.head+1,-1,i));n&&(e=e.concat(i.renderMatch(n,t)))}return re.set(e,!0)}const cC=Re.fromClass(class{constructor(t){this.paused=!1,this.decorations=QS(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=QS(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),hC=[cC,oC];function uC(t={}){return[YP.of(t),hC]}const ZP=new le;function gd(t,e,i){let r=t.prop(e<0?le.openedBy:le.closedBy);if(r)return r;if(t.name.length==1){let n=i.indexOf(t.name);if(n>-1&&n%2==(e<0?1:0))return[i[n+e]]}return null}function Qd(t){let e=t.type.prop(ZP);return e?e(t.node):t}function Di(t,e,i,r={}){let n=r.maxScanDistance||RP,s=r.brackets||CP,o=ve(t),a=o.resolveInner(e,i);for(let l=a;l;l=l.parent){let O=gd(l.type,i,s);if(O&&l.from<l.to){let c=Qd(l);if(c&&(i>0?e>=c.from&&e<c.to:e>c.from&&e<=c.to))return fC(t,e,i,l,c,O,s)}}return dC(t,e,i,o,a.type,n,s)}function fC(t,e,i,r,n,s,o){let a=r.parent,l={from:n.from,to:n.to},O=0,c=a==null?void 0:a.cursor();if(c&&(i<0?c.childBefore(r.from):c.childAfter(r.to)))do if(i<0?c.to<=r.from:c.from>=r.to){if(O==0&&s.indexOf(c.type.name)>-1&&c.from<c.to){let h=Qd(c);return{start:l,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(gd(c.type,i,o))O++;else if(gd(c.type,-i,o)){if(O==0){let h=Qd(c);return{start:l,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}O--}}while(i<0?c.prevSibling():c.nextSibling());return{start:l,matched:!1}}function dC(t,e,i,r,n,s,o){let a=i<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=i>0)return null;let O={from:i<0?e-1:e,to:i>0?e+1:e},c=t.doc.iterRange(e,i>0?t.doc.length:0),h=0;for(let u=0;!c.next().done&&u<=s;){let m=c.value;i<0&&(u+=m.length);let S=e+u*i;for(let Q=i>0?0:m.length-1,g=i>0?m.length:-1;Q!=g;Q+=i){let d=o.indexOf(m[Q]);if(!(d<0||r.resolveInner(S+Q,1).type!=n))if(d%2==0==i>0)h++;else{if(h==1)return{start:O,end:{from:S+Q,to:S+Q+1},matched:d>>1==l>>1};h--}}i>0&&(u+=m.length)}return c.done?{start:O,matched:!1}:null}const pC=Object.create(null),SS=[Ne.none],$S=[],_S=Object.create(null),mC=Object.create(null);for(let[t,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"]])mC[t]=gC(pC,e);function iu(t,e){$S.indexOf(t)>-1||($S.push(t),console.warn(e))}function gC(t,e){let i=[];for(let a of e.split(" ")){let l=[];for(let O of a.split(".")){let c=t[O]||y[O];c?typeof c=="function"?l.length?l=l.map(c):iu(O,`Modifier ${O} used at start of tag`):l.length?iu(O,`Tag ${O} used as modifier`):l=Array.isArray(c)?c:[c]:iu(O,`Unknown highlighting tag ${O}`)}for(let O of l)i.push(O)}if(!i.length)return 0;let r=e.replace(/ /g,"_"),n=r+" "+i.map(a=>a.id),s=_S[n];if(s)return s.id;let o=_S[n]=Ne.define({id:SS.length,name:r,props:[qt({[r]:i})]});return SS.push(o),o.id}Xe.RTL,Xe.LTR;const QC=t=>{let{state:e}=t,i=e.doc.lineAt(e.selection.main.from),r=dm(t.state,i.from);return r.line?SC(t):r.block?_C(t):!1};function fm(t,e){return({state:i,dispatch:r})=>{if(i.readOnly)return!1;let n=t(e,i);return n?(r(i.update(n)),!0):!1}}const SC=fm(yC,0),$C=fm(WP,0),_C=fm((t,e)=>WP(t,e,PC(e)),0);function dm(t,e){let i=t.languageDataAt("commentTokens",e,1);return i.length?i[0]:{}}const go=50;function vC(t,{open:e,close:i},r,n){let s=t.sliceDoc(r-go,r),o=t.sliceDoc(n,n+go),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,O=s.length-a;if(s.slice(O-e.length,O)==e&&o.slice(l,l+i.length)==i)return{open:{pos:r-a,margin:a&&1},close:{pos:n+l,margin:l&&1}};let c,h;n-r<=2*go?c=h=t.sliceDoc(r,n):(c=t.sliceDoc(r,r+go),h=t.sliceDoc(n-go,n));let u=/^\s*/.exec(c)[0].length,m=/\s*$/.exec(h)[0].length,S=h.length-m-i.length;return c.slice(u,u+e.length)==e&&h.slice(S,S+i.length)==i?{open:{pos:r+u+e.length,margin:/\s/.test(c.charAt(u+e.length))?1:0},close:{pos:n-m-i.length,margin:/\s/.test(h.charAt(S-1))?1:0}}:null}function PC(t){let e=[];for(let i of t.selection.ranges){let r=t.doc.lineAt(i.from),n=i.to<=r.to?r:t.doc.lineAt(i.to);n.from>r.from&&n.from==i.to&&(n=i.to==r.to+1?r:t.doc.lineAt(i.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=n.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:n.to})}return e}function WP(t,e,i=e.selection.ranges){let r=i.map(s=>dm(e,s.from).block);if(!r.every(s=>s))return null;let n=i.map((s,o)=>vC(e,r[o],s.from,s.to));if(t!=2&&!n.every(s=>s))return{changes:e.changes(i.map((s,o)=>n[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(t!=1&&n.some(s=>s)){let s=[];for(let o=0,a;o<n.length;o++)if(a=n[o]){let l=r[o],{open:O,close:c}=a;s.push({from:O.pos-l.open.length,to:O.pos+O.margin},{from:c.pos-c.margin,to:c.pos+l.close.length})}return{changes:s}}return null}function yC(t,e,i=e.selection.ranges){let r=[],n=-1;e:for(let{from:s,to:o}of i){let a=r.length,l=1e9,O;for(let c=s;c<=o;){let h=e.doc.lineAt(c);if(O==null&&(O=dm(e,h.from).line,!O))continue e;if(h.from>n&&(s==o||o>h.from)){n=h.from;let u=/^\s*/.exec(h.text)[0].length,m=u==h.length,S=h.text.slice(u,u+O.length)==O?u:-1;u<h.text.length&&u<l&&(l=u),r.push({line:h,comment:S,token:O,indent:u,empty:m,single:!1})}c=h.to+1}if(l<1e9)for(let c=a;c<r.length;c++)r[c].indent<r[c].line.text.length&&(r[c].indent=l);r.length==a+1&&(r[a].single=!0)}if(t!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:O,empty:c,single:h}of r)(h||!c)&&s.push({from:a.from+O,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(t!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let O=o.from+a,c=O+l.length;o.text[c-o.from]==" "&&c++,s.push({from:O,to:c})}return{changes:s}}return null}const Sd=Hi.define(),wC=Hi.define(),XC=K.define(),UP=K.define({combine(t){return Xi(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,i)=>i},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,i)=>(r,n)=>e(r,n)||i(r,n)})}}),zP=et.define({create(){return Mi.empty},update(t,e){let i=e.state.facet(UP),r=e.annotation(Sd);if(r){let l=Rt.fromTransaction(e,r.selection),O=r.side,c=O==0?t.undone:t.done;return l?c=oc(c,c.length,i.minDepth,l):c=EP(c,e.startState.selection),new Mi(O==0?r.rest:c,O==0?c:r.rest)}let n=e.annotation(wC);if((n=="full"||n=="before")&&(t=t.isolate()),e.annotation(Me.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let s=Rt.fromTransaction(e),o=e.annotation(Me.time),a=e.annotation(Me.userEvent);return s?t=t.addChanges(s,o,a,i,e):e.selection&&(t=t.addSelection(e.startState.selection,o,a,i.newGroupDelay)),(n=="full"||n=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Mi(t.done.map(Rt.fromJSON),t.undone.map(Rt.fromJSON))}});function bC(t={}){return[zP,UP.of(t),N.domEventHandlers({beforeinput(e,i){let r=e.inputType=="historyUndo"?qP:e.inputType=="historyRedo"?$d:null;return r?(e.preventDefault(),r(i)):!1}})]}function Fc(t,e){return function({state:i,dispatch:r}){if(!e&&i.readOnly)return!1;let n=i.field(zP,!1);if(!n)return!1;let s=n.pop(t,i,e);return s?(r(s),!0):!1}}const qP=Fc(0,!1),$d=Fc(1,!1),xC=Fc(0,!0),kC=Fc(1,!0);class Rt{constructor(e,i,r,n,s){this.changes=e,this.effects=i,this.mapped=r,this.startSelection=n,this.selectionsAfter=s}setSelAfter(e){return new Rt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,i,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(i=this.mapped)===null||i===void 0?void 0:i.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(n=>n.toJSON())}}static fromJSON(e){return new Rt(e.changes&&Be.fromJSON(e.changes),[],e.mapped&&Ii.fromJSON(e.mapped),e.startSelection&&A.fromJSON(e.startSelection),e.selectionsAfter.map(A.fromJSON))}static fromTransaction(e,i){let r=ai;for(let n of e.startState.facet(XC)){let s=n(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new Rt(e.changes.invert(e.startState.doc),r,void 0,i||e.startState.selection,ai)}static selection(e){return new Rt(void 0,ai,void 0,void 0,e)}}function oc(t,e,i,r){let n=e+1>i+20?e-i-1:0,s=t.slice(n,e);return s.push(r),s}function TC(t,e){let i=[],r=!1;return t.iterChangedRanges((n,s)=>i.push(n,s)),e.iterChangedRanges((n,s,o,a)=>{for(let l=0;l<i.length;){let O=i[l++],c=i[l++];a>=O&&o<=c&&(r=!0)}}),r}function RC(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((i,r)=>i.empty!=e.ranges[r].empty).length===0}function VP(t,e){return t.length?e.length?t.concat(e):t:e}const ai=[],CC=200;function EP(t,e){if(t.length){let i=t[t.length-1],r=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-CC));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),oc(t,t.length-1,1e9,i.setSelAfter(r)))}else return[Rt.selection([e])]}function YC(t){let e=t[t.length-1],i=t.slice();return i[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),i}function ru(t,e){if(!t.length)return t;let i=t.length,r=ai;for(;i;){let n=ZC(t[i-1],e,r);if(n.changes&&!n.changes.empty||n.effects.length){let s=t.slice(0,i);return s[i-1]=n,s}else e=n.mapped,i--,r=n.selectionsAfter}return r.length?[Rt.selection(r)]:ai}function ZC(t,e,i){let r=VP(t.selectionsAfter.length?t.selectionsAfter.map(a=>a.map(e)):ai,i);if(!t.changes)return Rt.selection(r);let n=t.changes.map(e),s=e.mapDesc(t.changes,!0),o=t.mapped?t.mapped.composeDesc(s):s;return new Rt(n,ae.mapEffects(t.effects,e),o,t.startSelection.map(s),r)}const WC=/^(input\.type|delete)($|\.)/;class Mi{constructor(e,i,r=0,n=void 0){this.done=e,this.undone=i,this.prevTime=r,this.prevUserEvent=n}isolate(){return this.prevTime?new Mi(this.done,this.undone):this}addChanges(e,i,r,n,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||WC.test(r))&&(!a.selectionsAfter.length&&i-this.prevTime<n.newGroupDelay&&n.joinToEvent(s,TC(a.changes,e.changes))||r=="input.type.compose")?o=oc(o,o.length-1,n.minDepth,new Rt(e.changes.compose(a.changes),VP(ae.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,ai)):o=oc(o,o.length,n.minDepth,e),new Mi(o,ai,i,r)}addSelection(e,i,r,n){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:ai;return s.length>0&&i-this.prevTime<n&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&RC(s[s.length-1],e)?this:new Mi(EP(this.done,e),this.undone,i,r)}addMapping(e){return new Mi(ru(this.done,e),ru(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,i,r){let n=e==0?this.done:this.undone;if(n.length==0)return null;let s=n[n.length-1],o=s.selectionsAfter[0]||(s.startSelection?s.startSelection.map(s.changes.invertedDesc,1):i.selection);if(r&&s.selectionsAfter.length)return i.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Sd.of({side:e,rest:YC(n),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=n.length==1?ai:n.slice(0,n.length-1);return s.mapped&&(a=ru(a,s.mapped)),i.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Sd.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Mi.empty=new Mi(ai,ai);const UC=[{key:"Mod-z",run:qP,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:$d,preventDefault:!0},{linux:"Ctrl-Shift-z",run:$d,preventDefault:!0},{key:"Mod-u",run:xC,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:kC,preventDefault:!0}];function Hs(t,e){return A.create(t.ranges.map(e),t.mainIndex)}function xi(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function ki({state:t,dispatch:e},i){let r=Hs(t.selection,i);return r.eq(t.selection,!0)?!1:(e(xi(t,r)),!0)}function Hc(t,e){return A.cursor(e?t.to:t.from)}function AP(t,e){return ki(t,i=>i.empty?t.moveByChar(i,e):Hc(i,e))}function pt(t){return t.textDirectionAt(t.state.selection.main.head)==Xe.LTR}const jP=t=>AP(t,!pt(t)),LP=t=>AP(t,pt(t));function DP(t,e){return ki(t,i=>i.empty?t.moveByGroup(i,e):Hc(i,e))}const zC=t=>DP(t,!pt(t)),qC=t=>DP(t,pt(t));function VC(t,e,i){if(e.type.prop(i))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Kc(t,e,i){let r=ve(t).resolveInner(e.head),n=i?le.closedBy:le.openedBy;for(let l=e.head;;){let O=i?r.childAfter(l):r.childBefore(l);if(!O)break;VC(t,O,n)?r=O:l=i?O.to:O.from}let s=r.type.prop(n),o,a;return s&&(o=i?Di(t,r.from,1):Di(t,r.to,-1))&&o.matched?a=i?o.end.to:o.end.from:a=i?r.to:r.from,A.cursor(a,i?-1:1)}const EC=t=>ki(t,e=>Kc(t.state,e,!pt(t))),AC=t=>ki(t,e=>Kc(t.state,e,pt(t)));function MP(t,e){return ki(t,i=>{if(!i.empty)return Hc(i,e);let r=t.moveVertically(i,e);return r.head!=i.head?r:t.moveToLineBoundary(i,e)})}const GP=t=>MP(t,!1),BP=t=>MP(t,!0);function IP(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,i=0,r=0,n;if(e){for(let s of t.state.facet(N.scrollMargins)){let o=s(t);o!=null&&o.top&&(i=Math.max(o==null?void 0:o.top,i)),o!=null&&o.bottom&&(r=Math.max(o==null?void 0:o.bottom,r))}n=t.scrollDOM.clientHeight-i-r}else n=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:r,selfScroll:e,height:Math.max(t.defaultLineHeight,n-5)}}function NP(t,e){let i=IP(t),{state:r}=t,n=Hs(r.selection,o=>o.empty?t.moveVertically(o,e,i.height):Hc(o,e));if(n.eq(r.selection))return!1;let s;if(i.selfScroll){let o=t.coordsAtPos(r.selection.main.head),a=t.scrollDOM.getBoundingClientRect(),l=a.top+i.marginTop,O=a.bottom-i.marginBottom;o&&o.top>l&&o.bottom<O&&(s=N.scrollIntoView(n.main.head,{y:"start",yMargin:o.top-l}))}return t.dispatch(xi(r,n),{effects:s}),!0}const vS=t=>NP(t,!1),_d=t=>NP(t,!0);function on(t,e,i){let r=t.lineBlockAt(e.head),n=t.moveToLineBoundary(e,i);if(n.head==e.head&&n.head!=(i?r.to:r.from)&&(n=t.moveToLineBoundary(e,i,!1)),!i&&n.head==r.from&&r.length){let s=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(n=A.cursor(r.from+s))}return n}const jC=t=>ki(t,e=>on(t,e,!0)),LC=t=>ki(t,e=>on(t,e,!1)),DC=t=>ki(t,e=>on(t,e,!pt(t))),MC=t=>ki(t,e=>on(t,e,pt(t))),GC=t=>ki(t,e=>A.cursor(t.lineBlockAt(e.head).from,1)),BC=t=>ki(t,e=>A.cursor(t.lineBlockAt(e.head).to,-1));function IC(t,e,i){let r=!1,n=Hs(t.selection,s=>{let o=Di(t,s.head,-1)||Di(t,s.head,1)||s.head>0&&Di(t,s.head-1,1)||s.head<t.doc.length&&Di(t,s.head+1,-1);if(!o||!o.end)return s;r=!0;let a=o.start.from==s.head?o.end.to:o.end.from;return A.cursor(a)});return r?(e(xi(t,n)),!0):!1}const NC=({state:t,dispatch:e})=>IC(t,e);function ui(t,e){let i=Hs(t.state.selection,r=>{let n=e(r);return A.range(r.anchor,n.head,n.goalColumn,n.bidiLevel||void 0,n.assoc)});return i.eq(t.state.selection)?!1:(t.dispatch(xi(t.state,i)),!0)}function FP(t,e){return ui(t,i=>t.moveByChar(i,e))}const HP=t=>FP(t,!pt(t)),KP=t=>FP(t,pt(t));function JP(t,e){return ui(t,i=>t.moveByGroup(i,e))}const FC=t=>JP(t,!pt(t)),HC=t=>JP(t,pt(t)),KC=t=>ui(t,e=>Kc(t.state,e,!pt(t))),JC=t=>ui(t,e=>Kc(t.state,e,pt(t)));function ey(t,e){return ui(t,i=>t.moveVertically(i,e))}const ty=t=>ey(t,!1),iy=t=>ey(t,!0);function ry(t,e){return ui(t,i=>t.moveVertically(i,e,IP(t).height))}const PS=t=>ry(t,!1),yS=t=>ry(t,!0),e2=t=>ui(t,e=>on(t,e,!0)),t2=t=>ui(t,e=>on(t,e,!1)),i2=t=>ui(t,e=>on(t,e,!pt(t))),r2=t=>ui(t,e=>on(t,e,pt(t))),n2=t=>ui(t,e=>A.cursor(t.lineBlockAt(e.head).from)),s2=t=>ui(t,e=>A.cursor(t.lineBlockAt(e.head).to)),wS=({state:t,dispatch:e})=>(e(xi(t,{anchor:0})),!0),XS=({state:t,dispatch:e})=>(e(xi(t,{anchor:t.doc.length})),!0),bS=({state:t,dispatch:e})=>(e(xi(t,{anchor:t.selection.main.anchor,head:0})),!0),xS=({state:t,dispatch:e})=>(e(xi(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),o2=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),a2=({state:t,dispatch:e})=>{let i=Jc(t).map(({from:r,to:n})=>A.range(r,Math.min(n+1,t.doc.length)));return e(t.update({selection:A.create(i),userEvent:"select"})),!0},l2=({state:t,dispatch:e})=>{let i=Hs(t.selection,r=>{let n=ve(t),s=n.resolveStack(r.from,1);if(r.empty){let o=n.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return A.range(a.to,a.from)}return r});return i.eq(t.selection)?!1:(e(xi(t,i)),!0)};function ny(t,e){let{state:i}=t,r=i.selection,n=i.selection.ranges.slice();for(let s of i.selection.ranges){let o=i.doc.lineAt(s.head);if(e?o.to<t.state.doc.length:o.from>0)for(let a=s;;){let l=t.moveVertically(a,e);if(l.head<o.from||l.head>o.to){n.some(O=>O.head==l.head)||n.push(l);break}else{if(l.head==a.head)break;a=l}}}return n.length==r.ranges.length?!1:(t.dispatch(xi(i,A.create(n,n.length-1))),!0)}const O2=t=>ny(t,!1),c2=t=>ny(t,!0),h2=({state:t,dispatch:e})=>{let i=t.selection,r=null;return i.ranges.length>1?r=A.create([i.main]):i.main.empty||(r=A.create([A.cursor(i.main.head)])),r?(e(xi(t,r)),!0):!1};function Na(t,e){if(t.state.readOnly)return!1;let i="delete.selection",{state:r}=t,n=r.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);l<o?(i="delete.backward",l=zl(t,l,!1)):l>o&&(i="delete.forward",l=zl(t,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=zl(t,o,!1),a=zl(t,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:A.cursor(o,o<s.head?-1:1)}});return n.changes.empty?!1:(t.dispatch(r.update(n,{scrollIntoView:!0,userEvent:i,effects:i=="delete.selection"?N.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function zl(t,e,i){if(t instanceof N)for(let r of t.state.facet(N.atomicRanges).map(n=>n(t)))r.between(e,e,(n,s)=>{n<e&&s>e&&(e=i?s:n)});return e}const sy=(t,e,i)=>Na(t,r=>{let n=r.from,{state:s}=t,o=s.doc.lineAt(n),a,l;if(i&&!e&&n>o.from&&n<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,n-o.from))){if(a[a.length-1]==" ")return n-1;let O=yi(a,s.tabSize),c=O%rc(s)||rc(s);for(let h=0;h<c&&a[a.length-1-h]==" ";h++)n--;l=n}else l=Ke(o.text,n-o.from,e,e)+o.from,l==n&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,n-o.from))&&(l=Ke(o.text,l-o.from,!1,!1)+o.from);return l}),vd=t=>sy(t,!1,!0),oy=t=>sy(t,!0,!1),ay=(t,e)=>Na(t,i=>{let r=i.head,{state:n}=t,s=n.doc.lineAt(r),o=n.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==i.head&&s.number!=(e?n.doc.lines:1)&&(r+=e?1:-1);break}let l=Ke(s.text,r-s.from,e)+s.from,O=s.text.slice(Math.min(r,l)-s.from,Math.max(r,l)-s.from),c=o(O);if(a!=null&&c!=a)break;(O!=" "||r!=i.head)&&(a=c),r=l}return r}),ly=t=>ay(t,!1),u2=t=>ay(t,!0),f2=t=>Na(t,e=>{let i=t.lineBlockAt(e.head).to;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}),d2=t=>Na(t,e=>{let i=t.moveToLineBoundary(e,!1).head;return e.head>i?i:Math.max(0,e.head-1)}),p2=t=>Na(t,e=>{let i=t.moveToLineBoundary(e,!0).head;return e.head<i?i:Math.min(t.state.doc.length,e.head+1)}),m2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:$e.of(["",""])},range:A.cursor(r.from)}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0},g2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let n=r.from,s=t.doc.lineAt(n),o=n==s.from?n-1:Ke(s.text,n-s.from,!1)+s.from,a=n==s.to?n+1:Ke(s.text,n-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:t.doc.slice(n,a).append(t.doc.slice(o,n))},range:A.cursor(a)}});return i.changes.empty?!1:(e(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Jc(t){let e=[],i=-1;for(let r of t.selection.ranges){let n=t.doc.lineAt(r.from),s=t.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=t.doc.lineAt(r.to-1)),i>=n.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:n.from,to:s.to,ranges:[r]});i=s.number+1}return e}function Oy(t,e,i){if(t.readOnly)return!1;let r=[],n=[];for(let s of Jc(t)){if(i?s.to==t.doc.length:s.from==0)continue;let o=t.doc.lineAt(i?s.to+1:s.from-1),a=o.length+1;if(i){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+t.lineBreak});for(let l of s.ranges)n.push(A.range(Math.min(t.doc.length,l.anchor+a),Math.min(t.doc.length,l.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:t.lineBreak+o.text});for(let l of s.ranges)n.push(A.range(l.anchor-a,l.head-a))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:A.create(n,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const Q2=({state:t,dispatch:e})=>Oy(t,e,!1),S2=({state:t,dispatch:e})=>Oy(t,e,!0);function cy(t,e,i){if(t.readOnly)return!1;let r=[];for(let s of Jc(t))i?r.push({from:s.from,insert:t.doc.slice(s.from,s.to)+t.lineBreak}):r.push({from:s.to,insert:t.lineBreak+t.doc.slice(s.from,s.to)});let n=t.changes(r);return e(t.update({changes:n,selection:t.selection.map(n,i?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const $2=({state:t,dispatch:e})=>cy(t,e,!1),_2=({state:t,dispatch:e})=>cy(t,e,!0),v2=t=>{if(t.state.readOnly)return!1;let{state:e}=t,i=e.changes(Jc(e).map(({from:n,to:s})=>(n>0?n--:s<e.doc.length&&s++,{from:n,to:s}))),r=Hs(e.selection,n=>{let s;if(t.lineWrapping){let o=t.lineBlockAt(n.head),a=t.coordsAtPos(n.head,n.assoc||1);a&&(s=o.bottom+t.documentTop-a.bottom+t.defaultLineHeight/2)}return t.moveVertically(n,!0,s)}).map(i);return t.dispatch({changes:i,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function P2(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let i=ve(t).resolveInner(e),r=i.childBefore(e),n=i.childAfter(e),s;return r&&n&&r.to<=e&&n.from>=e&&(s=r.type.prop(le.closedBy))&&s.indexOf(n.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(n.from).from&&!/\S/.test(t.sliceDoc(r.to,n.from))?{from:r.to,to:n.from}:null}const kS=hy(!1),y2=hy(!0);function hy(t){return({state:e,dispatch:i})=>{if(e.readOnly)return!1;let r=e.changeByRange(n=>{let{from:s,to:o}=n,a=e.doc.lineAt(s),l=!t&&s==o&&P2(e,s);t&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let O=new Ic(e,{simulateBreak:s,simulateDoubleBreak:!!l}),c=cm(O,s);for(c==null&&(c=yi(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:s,to:o}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let h=["",wa(e,c)];return l&&h.push(wa(e,O.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:$e.of(h)},range:A.cursor(s+1+h[1].length)}});return i(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function pm(t,e){let i=-1;return t.changeByRange(r=>{let n=[];for(let o=r.from;o<=r.to;){let a=t.doc.lineAt(o);a.number>i&&(r.empty||r.to>a.from)&&(e(a,n,r),i=a.number),o=a.to+1}let s=t.changes(n);return{changes:n,range:A.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const w2=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=Object.create(null),r=new Ic(t,{overrideIndentation:s=>{let o=i[s];return o??-1}}),n=pm(t,(s,o,a)=>{let l=cm(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let O=/^\s*/.exec(s.text)[0],c=wa(t,l);(O!=c||a.from<s.from+O.length)&&(i[s.from]=l,o.push({from:s.from,to:s.from+O.length,insert:c}))});return n.changes.empty||e(t.update(n,{userEvent:"indent"})),!0},uy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(pm(t,(i,r)=>{r.push({from:i.from,insert:t.facet(Is)})}),{userEvent:"input.indent"})),!0),fy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(pm(t,(i,r)=>{let n=/^\s*/.exec(i.text)[0];if(!n)return;let s=yi(n,t.tabSize),o=0,a=wa(t,Math.max(0,s-rc(t)));for(;o<n.length&&o<a.length&&n.charCodeAt(o)==a.charCodeAt(o);)o++;r.push({from:i.from+o,to:i.from+n.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),X2=t=>(t.setTabFocusMode(),!0),b2=[{key:"Ctrl-b",run:jP,shift:HP,preventDefault:!0},{key:"Ctrl-f",run:LP,shift:KP},{key:"Ctrl-p",run:GP,shift:ty},{key:"Ctrl-n",run:BP,shift:iy},{key:"Ctrl-a",run:GC,shift:n2},{key:"Ctrl-e",run:BC,shift:s2},{key:"Ctrl-d",run:oy},{key:"Ctrl-h",run:vd},{key:"Ctrl-k",run:f2},{key:"Ctrl-Alt-h",run:ly},{key:"Ctrl-o",run:m2},{key:"Ctrl-t",run:g2},{key:"Ctrl-v",run:_d}],x2=[{key:"ArrowLeft",run:jP,shift:HP,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:zC,shift:FC,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:DC,shift:i2,preventDefault:!0},{key:"ArrowRight",run:LP,shift:KP,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:qC,shift:HC,preventDefault:!0},{mac:"Cmd-ArrowRight",run:MC,shift:r2,preventDefault:!0},{key:"ArrowUp",run:GP,shift:ty,preventDefault:!0},{mac:"Cmd-ArrowUp",run:wS,shift:bS},{mac:"Ctrl-ArrowUp",run:vS,shift:PS},{key:"ArrowDown",run:BP,shift:iy,preventDefault:!0},{mac:"Cmd-ArrowDown",run:XS,shift:xS},{mac:"Ctrl-ArrowDown",run:_d,shift:yS},{key:"PageUp",run:vS,shift:PS},{key:"PageDown",run:_d,shift:yS},{key:"Home",run:LC,shift:t2,preventDefault:!0},{key:"Mod-Home",run:wS,shift:bS},{key:"End",run:jC,shift:e2,preventDefault:!0},{key:"Mod-End",run:XS,shift:xS},{key:"Enter",run:kS,shift:kS},{key:"Mod-a",run:o2},{key:"Backspace",run:vd,shift:vd,preventDefault:!0},{key:"Delete",run:oy,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ly,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:u2,preventDefault:!0},{mac:"Mod-Backspace",run:d2,preventDefault:!0},{mac:"Mod-Delete",run:p2,preventDefault:!0}].concat(b2.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),k2=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:EC,shift:KC},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:AC,shift:JC},{key:"Alt-ArrowUp",run:Q2},{key:"Shift-Alt-ArrowUp",run:$2},{key:"Alt-ArrowDown",run:S2},{key:"Shift-Alt-ArrowDown",run:_2},{key:"Mod-Alt-ArrowUp",run:O2},{key:"Mod-Alt-ArrowDown",run:c2},{key:"Escape",run:h2},{key:"Mod-Enter",run:y2},{key:"Alt-l",mac:"Ctrl-l",run:a2},{key:"Mod-i",run:l2,preventDefault:!0},{key:"Mod-[",run:fy},{key:"Mod-]",run:uy},{key:"Mod-Alt-\\",run:w2},{key:"Shift-Mod-k",run:v2},{key:"Shift-Mod-\\",run:NC},{key:"Mod-/",run:QC},{key:"Alt-A",run:$C},{key:"Ctrl-m",mac:"Shift-Alt-m",run:X2}].concat(x2),T2={key:"Tab",run:uy,shift:fy},TS=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class zs{constructor(e,i,r=0,n=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,n),this.bufferStart=r,this.normalize=s?a=>s(TS(a)):TS,this.query=this.normalize(i)}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 Xt(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 i=Vp(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Ei(e);let n=this.normalize(i);if(n.length)for(let s=0,o=r;;s++){let a=n.charCodeAt(s),l=this.match(a,o,this.bufferPos+this.bufferStart);if(s==n.length-1){if(l)return this.value=l,this;break}o==r&&s<i.length&&i.charCodeAt(s)==a&&o++}}}match(e,i,r){let n=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?n={from:this.matches[s+1],to:r}:(this.matches[s]++,a=!0)),a||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?n={from:i,to:r}:this.matches.push(1,i)),n&&this.test&&!this.test(n.from,n.to,this.buffer,this.bufferStart)&&(n=null),n}}typeof Symbol<"u"&&(zs.prototype[Symbol.iterator]=function(){return this});const dy={from:-1,to:-1,match:/.*/.exec("")},mm="gm"+(/x/.unicode==null?"":"u");class py{constructor(e,i,r,n=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=dy,/\\[sWDnr]|\n|\r|\[\^/.test(i))return new my(e,i,r,n,s);this.re=new RegExp(i,mm+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.iter=e.iter();let o=e.lineAt(n);this.curLineStart=o.from,this.matchPos=ac(e,n),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 i=this.matchPos<=this.to&&this.re.exec(this.curLine);if(i){let r=this.curLineStart+i.index,n=r+i[0].length;if(this.matchPos=ac(this.text,n+(r==n?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<n||r>this.value.to)&&(!this.test||this.test(r,n,i)))return this.value={from:r,to:n,match:i},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 nu=new WeakMap;class _s{constructor(e,i){this.from=e,this.text=i}get to(){return this.from+this.text.length}static get(e,i,r){let n=nu.get(e);if(!n||n.from>=r||n.to<=i){let a=new _s(i,e.sliceString(i,r));return nu.set(e,a),a}if(n.from==i&&n.to==r)return n;let{text:s,from:o}=n;return o>i&&(s=e.sliceString(i,o)+s,o=i),n.to<r&&(s+=e.sliceString(n.to,r)),nu.set(e,new _s(o,s)),new _s(i,s.slice(i-o,r-o))}}class my{constructor(e,i,r,n,s){this.text=e,this.to=s,this.done=!1,this.value=dy,this.matchPos=ac(e,n),this.re=new RegExp(i,mm+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.flat=_s.get(e,n,this.chunkEnd(n+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,i=this.re.exec(this.flat.text);if(i&&!i[0]&&i.index==e&&(this.re.lastIndex=e+1,i=this.re.exec(this.flat.text)),i){let r=this.flat.from+i.index,n=r+i[0].length;if((this.flat.to>=this.to||i.index+i[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,n,i)))return this.value={from:r,to:n,match:i},this.matchPos=ac(this.text,n+(r==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=_s.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(py.prototype[Symbol.iterator]=my.prototype[Symbol.iterator]=function(){return this});function R2(t){try{return new RegExp(t,mm),!0}catch{return!1}}function ac(t,e){if(e>=t.length)return e;let i=t.lineAt(e),r;for(;e<i.to&&(r=i.text.charCodeAt(e-i.from))>=56320&&r<57344;)e++;return e}const C2=t=>{let{state:e}=t,i=String(e.doc.lineAt(t.state.selection.main.head).number),{close:r,result:n}=FR(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:i},focus:!0,submitLabel:e.phrase("go")});return n.then(s=>{let o=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!o){t.dispatch({effects:r});return}let a=e.doc.lineAt(e.selection.main.head),[,l,O,c,h]=o,u=c?+c.slice(1):0,m=O?+O:a.number;if(O&&h){let g=m/100;l&&(g=g*(l=="-"?-1:1)+a.number/e.doc.lines),m=Math.round(e.doc.lines*g)}else O&&l&&(m=m*(l=="-"?-1:1)+a.number);let S=e.doc.line(Math.max(1,Math.min(e.doc.lines,m))),Q=A.cursor(S.from+Math.max(0,Math.min(u,S.length)));t.dispatch({effects:[r,N.scrollIntoView(Q.from,{y:"center"})],selection:Q})}),!0},Y2={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Z2=K.define({combine(t){return Xi(t,Y2,{highlightWordAroundCursor:(e,i)=>e||i,minSelectionLength:Math.min,maxMatches:Math.min})}});function W2(t){return[E2,V2]}const U2=re.mark({class:"cm-selectionMatch"}),z2=re.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function RS(t,e,i,r){return(i==0||t(e.sliceDoc(i-1,i))!=Ye.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=Ye.Word)}function q2(t,e,i,r){return t(e.sliceDoc(i,i+1))==Ye.Word&&t(e.sliceDoc(r-1,r))==Ye.Word}const V2=Re.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(Z2),{state:i}=t,r=i.selection;if(r.ranges.length>1)return re.none;let n=r.main,s,o=null;if(n.empty){if(!e.highlightWordAroundCursor)return re.none;let l=i.wordAt(n.head);if(!l)return re.none;o=i.charCategorizer(n.head),s=i.sliceDoc(l.from,l.to)}else{let l=n.to-n.from;if(l<e.minSelectionLength||l>200)return re.none;if(e.wholeWords){if(s=i.sliceDoc(n.from,n.to),o=i.charCategorizer(n.head),!(RS(o,i,n.from,n.to)&&q2(o,i,n.from,n.to)))return re.none}else if(s=i.sliceDoc(n.from,n.to),!s)return re.none}let a=[];for(let l of t.visibleRanges){let O=new zs(i.doc,s,l.from,l.to);for(;!O.next().done;){let{from:c,to:h}=O.value;if((!o||RS(o,i,c,h))&&(n.empty&&c<=n.from&&h>=n.to?a.push(z2.range(c,h)):(c>=n.to||h<=n.from)&&a.push(U2.range(c,h)),a.length>e.maxMatches))return re.none}}return re.set(a)}},{decorations:t=>t.decorations}),E2=N.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),A2=({state:t,dispatch:e})=>{let{selection:i}=t,r=A.create(i.ranges.map(n=>t.wordAt(n.head)||A.cursor(n.head)),i.mainIndex);return r.eq(i)?!1:(e(t.update({selection:r})),!0)};function j2(t,e){let{main:i,ranges:r}=t.selection,n=t.wordAt(i.head),s=n&&n.from==i.from&&n.to==i.to;for(let o=!1,a=new zs(t.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new zs(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(l=>l.from==a.value.from))continue;if(s){let l=t.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const L2=({state:t,dispatch:e})=>{let{ranges:i}=t.selection;if(i.some(s=>s.from===s.to))return A2({state:t,dispatch:e});let r=t.sliceDoc(i[0].from,i[0].to);if(t.selection.ranges.some(s=>t.sliceDoc(s.from,s.to)!=r))return!1;let n=j2(t,r);return n?(e(t.update({selection:t.selection.addRange(A.range(n.from,n.to),!1),effects:N.scrollIntoView(n.to)})),!0):!1},Ks=K.define({combine(t){return Xi(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new rY(e),scrollToMatch:e=>N.scrollIntoView(e)})}});class gy{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||R2(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,(i,r)=>r=="n"?`
|
|
61
|
+
`: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 N2(this):new G2(this)}getCursor(e,i=0,r){let n=e.doc?e:fe.create({doc:e});return r==null&&(r=n.doc.length),this.regexp?Bn(this,n,i,r):Gn(this,n,i,r)}}class Qy{constructor(e){this.spec=e}}function D2(t,e,i){return(r,n,s,o)=>{if(i&&!i(r,n,s,o))return!1;let a=r>=o&&n<=o+s.length?s.slice(r-o,n-o):e.doc.sliceString(r,n);return t(a,e,r,n)}}function Gn(t,e,i,r){let n;return t.wholeWord&&(n=M2(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(n=D2(t.test,e,n)),new zs(e.doc,t.unquoted,i,r,t.caseSensitive?void 0:s=>s.toLowerCase(),n)}function M2(t,e){return(i,r,n,s)=>((s>i||s+n.length<r)&&(s=Math.max(0,i-2),n=t.sliceString(s,Math.min(t.length,r+2))),(e(lc(n,i-s))!=Ye.Word||e(Oc(n,i-s))!=Ye.Word)&&(e(Oc(n,r-s))!=Ye.Word||e(lc(n,r-s))!=Ye.Word))}class G2 extends Qy{constructor(e){super(e)}nextMatch(e,i,r){let n=Gn(this.spec,e,r,e.doc.length).nextOverlapping();if(n.done){let s=Math.min(e.doc.length,i+this.spec.unquoted.length);n=Gn(this.spec,e,0,s).nextOverlapping()}return n.done||n.value.from==i&&n.value.to==r?null:n.value}prevMatchInRange(e,i,r){for(let n=r;;){let s=Math.max(i,n-1e4-this.spec.unquoted.length),o=Gn(this.spec,e,s,n),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==i)return null;n-=1e4}}prevMatch(e,i,r){let n=this.prevMatchInRange(e,0,i);return n||(n=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),n&&(n.from!=i||n.to!=r)?n:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,i){let r=Gn(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=i)return null;n.push(r.value)}return n}highlight(e,i,r,n){let s=Gn(this.spec,e,Math.max(0,i-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}function B2(t,e,i){return(r,n,s)=>(!i||i(r,n,s))&&t(s[0],e,r,n)}function Bn(t,e,i,r){let n;return t.wholeWord&&(n=I2(e.charCategorizer(e.selection.main.head))),t.test&&(n=B2(t.test,e,n)),new py(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:n},i,r)}function lc(t,e){return t.slice(Ke(t,e,!1),e)}function Oc(t,e){return t.slice(e,Ke(t,e))}function I2(t){return(e,i,r)=>!r[0].length||(t(lc(r.input,r.index))!=Ye.Word||t(Oc(r.input,r.index))!=Ye.Word)&&(t(Oc(r.input,r.index+r[0].length))!=Ye.Word||t(lc(r.input,r.index+r[0].length))!=Ye.Word)}class N2 extends Qy{nextMatch(e,i,r){let n=Bn(this.spec,e,r,e.doc.length).next();return n.done&&(n=Bn(this.spec,e,0,i).next()),n.done?null:n.value}prevMatchInRange(e,i,r){for(let n=1;;n++){let s=Math.max(i,r-n*1e4),o=Bn(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==i||a.from>s+10))return a;if(s==i)return null}}prevMatch(e,i,r){return this.prevMatchInRange(e,0,i)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(i,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let n=r.length;n>0;n--){let s=+r.slice(0,n);if(s>0&&s<e.match.length)return e.match[s]+r.slice(n)}return i})}matchAll(e,i){let r=Bn(this.spec,e,0,e.doc.length),n=[];for(;!r.next().done;){if(n.length>=i)return null;n.push(r.value)}return n}highlight(e,i,r,n){let s=Bn(this.spec,e,Math.max(0,i-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}const Xa=ae.define(),gm=ae.define(),Gr=et.define({create(t){return new su(Pd(t).create(),null)},update(t,e){for(let i of e.effects)i.is(Xa)?t=new su(i.value.create(),t.panel):i.is(gm)&&(t=new su(t.query,i.value?Qm:null));return t},provide:t=>_a.from(t,e=>e.panel)});class su{constructor(e,i){this.query=e,this.panel=i}}const F2=re.mark({class:"cm-searchMatch"}),H2=re.mark({class:"cm-searchMatch cm-searchMatch-selected"}),K2=Re.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Gr))}update(t){let e=t.state.field(Gr);(e!=t.startState.field(Gr)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return re.none;let{view:i}=this,r=new Fi;for(let n=0,s=i.visibleRanges,o=s.length;n<o;n++){let{from:a,to:l}=s[n];for(;n<o-1&&l>s[n+1].from-2*250;)l=s[++n].to;t.highlight(i.state,a,l,(O,c)=>{let h=i.state.selection.ranges.some(u=>u.from==O&&u.to==c);r.add(O,c,h?H2:F2)})}return r.finish()}},{decorations:t=>t.decorations});function Fa(t){return e=>{let i=e.state.field(Gr,!1);return i&&i.query.spec.valid?t(e,i):_y(e)}}const cc=Fa((t,{query:e})=>{let{to:i}=t.state.selection.main,r=e.nextMatch(t.state,i,i);if(!r)return!1;let n=A.single(r.from,r.to),s=t.state.facet(Ks);return t.dispatch({selection:n,effects:[Sm(t,r),s.scrollToMatch(n.main,t)],userEvent:"select.search"}),$y(t),!0}),hc=Fa((t,{query:e})=>{let{state:i}=t,{from:r}=i.selection.main,n=e.prevMatch(i,r,r);if(!n)return!1;let s=A.single(n.from,n.to),o=t.state.facet(Ks);return t.dispatch({selection:s,effects:[Sm(t,n),o.scrollToMatch(s.main,t)],userEvent:"select.search"}),$y(t),!0}),J2=Fa((t,{query:e})=>{let i=e.matchAll(t.state,1e3);return!i||!i.length?!1:(t.dispatch({selection:A.create(i.map(r=>A.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),eY=({state:t,dispatch:e})=>{let i=t.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:r,to:n}=i.main,s=[],o=0;for(let a=new zs(t.doc,t.sliceDoc(r,n));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(A.range(a.value.from,a.value.to))}return e(t.update({selection:A.create(s,o),userEvent:"select.search.matches"})),!0},CS=Fa((t,{query:e})=>{let{state:i}=t,{from:r,to:n}=i.selection.main;if(i.readOnly)return!1;let s=e.nextMatch(i,r,r);if(!s)return!1;let o=s,a=[],l,O,c=[];o.from==r&&o.to==n&&(O=i.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:O}),o=e.nextMatch(i,o.from,o.to),c.push(N.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(r).number)+".")));let h=t.state.changes(a);return o&&(l=A.single(o.from,o.to).map(h),c.push(Sm(t,o)),c.push(i.facet(Ks).scrollToMatch(l.main,t))),t.dispatch({changes:h,selection:l,effects:c,userEvent:"input.replace"}),!0}),tY=Fa((t,{query:e})=>{if(t.state.readOnly)return!1;let i=e.matchAll(t.state,1e9).map(n=>{let{from:s,to:o}=n;return{from:s,to:o,insert:e.getReplacement(n)}});if(!i.length)return!1;let r=t.state.phrase("replaced $ matches",i.length)+".";return t.dispatch({changes:i,effects:N.announce.of(r),userEvent:"input.replace.all"}),!0});function Qm(t){return t.state.facet(Ks).createPanel(t)}function Pd(t,e){var i,r,n,s,o;let a=t.selection.main,l=a.empty||a.to>a.from+100?"":t.sliceDoc(a.from,a.to);if(e&&!l)return e;let O=t.facet(Ks);return new gy({search:((i=e==null?void 0:e.literal)!==null&&i!==void 0?i:O.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e==null?void 0:e.caseSensitive)!==null&&r!==void 0?r:O.caseSensitive,literal:(n=e==null?void 0:e.literal)!==null&&n!==void 0?n:O.literal,regexp:(s=e==null?void 0:e.regexp)!==null&&s!==void 0?s:O.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:O.wholeWord})}function Sy(t){let e=rm(t,Qm);return e&&e.dom.querySelector("[main-field]")}function $y(t){let e=Sy(t);e&&e==t.root.activeElement&&e.select()}const _y=t=>{let e=t.state.field(Gr,!1);if(e&&e.panel){let i=Sy(t);if(i&&i!=t.root.activeElement){let r=Pd(t.state,e.query.spec);r.valid&&t.dispatch({effects:Xa.of(r)}),i.focus(),i.select()}}else t.dispatch({effects:[gm.of(!0),e?Xa.of(Pd(t.state,e.query.spec)):ae.appendConfig.of(sY)]});return!0},vy=t=>{let e=t.state.field(Gr,!1);if(!e||!e.panel)return!1;let i=rm(t,Qm);return i&&i.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:gm.of(!1)}),!0},iY=[{key:"Mod-f",run:_y,scope:"editor search-panel"},{key:"F3",run:cc,shift:hc,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:cc,shift:hc,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:vy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:eY},{key:"Mod-Alt-g",run:C2},{key:"Mod-d",run:L2,preventDefault:!0}];class rY{constructor(e){this.view=e;let i=this.query=e.state.field(Gr).query.spec;this.commit=this.commit.bind(this),this.searchField=me("input",{value:i.search,placeholder:Et(e,"Find"),"aria-label":Et(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=me("input",{value:i.replace,placeholder:Et(e,"Replace"),"aria-label":Et(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=me("input",{type:"checkbox",name:"case",form:"",checked:i.caseSensitive,onchange:this.commit}),this.reField=me("input",{type:"checkbox",name:"re",form:"",checked:i.regexp,onchange:this.commit}),this.wordField=me("input",{type:"checkbox",name:"word",form:"",checked:i.wholeWord,onchange:this.commit});function r(n,s,o){return me("button",{class:"cm-button",name:n,onclick:s,type:"button"},o)}this.dom=me("div",{onkeydown:n=>this.keydown(n),class:"cm-search"},[this.searchField,r("next",()=>cc(e),[Et(e,"next")]),r("prev",()=>hc(e),[Et(e,"previous")]),r("select",()=>J2(e),[Et(e,"all")]),me("label",null,[this.caseField,Et(e,"match case")]),me("label",null,[this.reField,Et(e,"regexp")]),me("label",null,[this.wordField,Et(e,"by word")]),...e.state.readOnly?[]:[me("br"),this.replaceField,r("replace",()=>CS(e),[Et(e,"replace")]),r("replaceAll",()=>tY(e),[Et(e,"replace all")])],me("button",{name:"close",onclick:()=>vy(e),"aria-label":Et(e,"close"),type:"button"},["×"])])}commit(){let e=new gy({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:Xa.of(e)}))}keydown(e){oR(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?hc:cc)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),CS(this.view))}update(e){for(let i of e.transactions)for(let r of i.effects)r.is(Xa)&&!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(Ks).top}}function Et(t,e){return t.state.phrase(e)}const ql=30,Vl=/[\s\.,:;?!]/;function Sm(t,{from:e,to:i}){let r=t.state.doc.lineAt(e),n=t.state.doc.lineAt(i).to,s=Math.max(r.from,e-ql),o=Math.min(n,i+ql),a=t.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<ql;l++)if(!Vl.test(a[l+1])&&Vl.test(a[l])){a=a.slice(l);break}}if(o!=n){for(let l=a.length-1;l>a.length-ql;l--)if(!Vl.test(a[l-1])&&Vl.test(a[l])){a=a.slice(0,l);break}}return N.announce.of(`${t.state.phrase("current match")}. ${a} ${t.state.phrase("on line")} ${r.number}.`)}const nY=N.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"}}),sY=[Gr,_r.low(K2),nY];class $m{constructor(e,i,r,n){this.state=e,this.pos=i,this.explicit=r,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let i=ve(this.state).resolveInner(this.pos,-1);for(;i&&e.indexOf(i.name)<0;)i=i.parent;return i?{from:i.from,to:this.pos,text:this.state.sliceDoc(i.from,this.pos),type:i.type}:null}matchBefore(e){let i=this.state.doc.lineAt(this.pos),r=Math.max(i.from,this.pos-250),n=i.text.slice(r-i.from,this.pos-i.from),s=n.search(Py(e,!1));return s<0?null:{from:r+s,to:this.pos,text:n.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,i,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(i),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function YS(t){let e=Object.keys(t).join(""),i=/\w/.test(e);return i&&(e=e.replace(/\w/g,"")),`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function oY(t){let e=Object.create(null),i=Object.create(null);for(let{label:n}of t){e[n[0]]=!0;for(let s=1;s<n.length;s++)i[n[s]]=!0}let r=YS(e)+YS(i)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function Ha(t){let e=t.map(n=>typeof n=="string"?{label:n}:n),[i,r]=e.every(n=>/^\w+$/.test(n.label))?[/\w*$/,/\w+$/]:oY(e);return n=>{let s=n.matchBefore(r);return s||n.explicit?{from:s?s.from:n.pos,options:e,validFor:i}:null}}function eh(t,e){return i=>{for(let r=ve(i.state).resolveInner(i.pos,-1);r;r=r.parent){if(t.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(i)}}class ZS{constructor(e,i,r,n){this.completion=e,this.source=i,this.match=r,this.score=n}}function kn(t){return t.selection.main.from}function Py(t,e){var i;let{source:r}=t,n=e&&r[0]!="^",s=r[r.length-1]!="$";return!n&&!s?t:new RegExp(`${n?"^":""}(?:${r})${s?"$":""}`,(i=t.flags)!==null&&i!==void 0?i:t.ignoreCase?"i":"")}const _m=Hi.define();function aY(t,e,i,r){let{main:n}=t.selection,s=i-n.from,o=r-n.from;return{...t.changeByRange(a=>{if(a!=n&&i!=r&&t.sliceDoc(a.from+s,a.from+o)!=t.sliceDoc(i,r))return{range:a};let l=t.toText(e);return{changes:{from:a.from+s,to:r==n.from?a.to:a.from+o,insert:l},range:A.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const WS=new WeakMap;function lY(t){if(!Array.isArray(t))return t;let e=WS.get(t);return e||WS.set(t,e=Ha(t)),e}const uc=ae.define(),ba=ae.define();class OY{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let i=0;i<e.length;){let r=Xt(e,i),n=Ei(r);this.chars.push(r);let s=e.slice(i,i+n),o=s.toUpperCase();this.folded.push(Xt(o==s?s.toLowerCase():o,0)),i+=n}this.astral=e.length!=this.chars.length}ret(e,i){return this.score=e,this.matched=i,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:i,folded:r,any:n,precise:s,byWord:o}=this;if(i.length==1){let f=Xt(e,0),p=Ei(f),$=p==e.length?0:-100;if(f!=i[0])if(f==r[0])$+=-200;else return null;return this.ret($,[0,p])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=i.length,O=0;if(a<0){for(let f=0,p=Math.min(e.length,200);f<p&&O<l;){let $=Xt(e,f);($==i[O]||$==r[O])&&(n[O++]=f),f+=Ei($)}if(O<l)return null}let c=0,h=0,u=!1,m=0,S=-1,Q=-1,g=/[a-z]/.test(e),d=!0;for(let f=0,p=Math.min(e.length,200),$=0;f<p&&h<l;){let _=Xt(e,f);a<0&&(c<l&&_==i[c]&&(s[c++]=f),m<l&&(_==i[m]||_==r[m]?(m==0&&(S=f),Q=f+1,m++):m=0));let P,w=_<255?_>=48&&_<=57||_>=97&&_<=122?2:_>=65&&_<=90?1:0:(P=Vp(_))!=P.toLowerCase()?1:P!=P.toUpperCase()?2:0;(!f||w==1&&g||$==0&&w!=0)&&(i[h]==_||r[h]==_&&(u=!0)?o[h++]=f:o.length&&(d=!1)),$=w,f+=Ei(_)}return h==l&&o[0]==0&&d?this.result(-100+(u?-200:0),o,e):m==l&&S==0?this.ret(-200-e.length+(Q==e.length?0:-100),[0,Q]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):m==l?this.ret(-900-e.length,[S,Q]):h==l?this.result(-100+(u?-200:0)+-700+(d?0:-1100),o,e):i.length==2?null:this.result((n[0]?-700:0)+-200+-1100,n,e)}result(e,i,r){let n=[],s=0;for(let o of i){let a=o+(this.astral?Ei(Xt(r,o)):1);s&&n[s-1]==o?n[s-1]=a:(n[s++]=o,n[s++]=a)}return this.ret(e-r.length,n)}}class cY{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 i=e.slice(0,this.pattern.length),r=i==this.pattern?0:i.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,i.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const He=K.define({combine(t){return Xi(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:hY,filterStrict:!1,compareCompletions:(e,i)=>(e.sortText||e.label).localeCompare(i.sortText||i.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,i)=>e&&i,closeOnBlur:(e,i)=>e&&i,icons:(e,i)=>e&&i,tooltipClass:(e,i)=>r=>US(e(r),i(r)),optionClass:(e,i)=>r=>US(e(r),i(r)),addToOptions:(e,i)=>e.concat(i),filterStrict:(e,i)=>e||i})}});function US(t,e){return t?e?t+" "+e:t:e}function hY(t,e,i,r,n,s){let o=t.textDirection==Xe.RTL,a=o,l=!1,O="top",c,h,u=e.left-n.left,m=n.right-e.right,S=r.right-r.left,Q=r.bottom-r.top;if(a&&u<Math.min(S,m)?a=!1:!a&&m<Math.min(S,u)&&(a=!0),S<=(a?u:m))c=Math.max(n.top,Math.min(i.top,n.bottom-Q))-e.top,h=Math.min(400,a?u:m);else{l=!0,h=Math.min(400,(o?e.right:n.right-e.left)-30);let f=n.bottom-e.bottom;f>=Q||f>e.top?c=i.bottom-e.top:(O="bottom",c=e.bottom-i.top)}let g=(e.bottom-e.top)/s.offsetHeight,d=(e.right-e.left)/s.offsetWidth;return{style:`${O}: ${c/g}px; max-width: ${h/d}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}const vm=ae.define();function uY(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(i){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),i.type&&r.classList.add(...i.type.split(/\s+/g).map(n=>"cm-completionIcon-"+n)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(i,r,n,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=i.displayLabel||i.label,l=0;for(let O=0;O<s.length;){let c=s[O++],h=s[O++];c>l&&o.appendChild(document.createTextNode(a.slice(l,c)));let u=o.appendChild(document.createElement("span"));u.appendChild(document.createTextNode(a.slice(c,h))),u.className="cm-completionMatchedText",l=h}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(i){if(!i.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=i.detail,r},position:80}),e.sort((i,r)=>i.position-r.position).map(i=>i.render)}function ou(t,e,i){if(t<=i)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let n=Math.floor(e/i);return{from:n*i,to:(n+1)*i}}let r=Math.floor((t-e)/i);return{from:t-(r+1)*i,to:t-r*i}}class fY{constructor(e,i,r){this.view=e,this.stateField=i,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 n=e.state.field(i),{options:s,selected:o}=n.open,a=e.state.facet(He);this.optionContent=uY(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=ou(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:O}=e.state.field(i).open;for(let c=l.target,h;c&&c!=this.dom;c=c.parentNode)if(c.nodeName=="LI"&&(h=/-(\d+)$/.exec(c.id))&&+h[1]<O.length){this.applyCompletion(e,O[+h[1]]),l.preventDefault();return}if(l.target==this.list){let c=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;c!=null&&(e.dispatch({effects:vm.of(c)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let O=e.state.field(this.stateField,!1);O&&O.tooltip&&e.state.facet(He).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:ba.of(null)})}),this.showOptions(s,n.id)}mount(){this.updateSel()}showOptions(e,i){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,i,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var i;let r=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=n){let{options:s,selected:o,disabled:a}=r.open;(!n.open||n.open.options!=s)&&(this.range=ou(s.length,o,e.state.facet(He).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),a!=((i=n.open)===null||i===void 0?void 0:i.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let i=this.tooltipClass(e);if(i!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of i.split(" "))r&&this.dom.classList.add(r);this.currentClass=i}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),i=e.open;(i.selected>-1&&i.selected<this.range.from||i.selected>=this.range.to)&&(this.range=ou(i.options.length,i.selected,this.view.state.facet(He).maxRenderedOptions),this.showOptions(i.options,e.id));let r=this.updateSelectedOption(i.selected);if(r){this.destroyInfo();let{completion:n}=i.options[i.selected],{info:s}=n;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(n);if(!o)return;"then"in o?o.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,n)}).catch(a=>Tt(this.view.state,a,"completion info")):(this.addInfoPane(o,n),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,i){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:n,destroy:s}=e;r.appendChild(n),this.infoDestroy=s||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let i=null;for(let r=this.list.firstChild,n=this.range.from;r;r=r.nextSibling,n++)r.nodeName!="LI"||!r.id?n--:n==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),i=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return i&&pY(this.list,i),i}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let i=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return n.top>Math.min(s.bottom,i.bottom)-10||n.bottom<Math.max(s.top,i.top)+10?null:this.view.state.facet(He).positionInfo(this.view,i,n,r,s,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,i,r){const n=document.createElement("ul");n.id=i,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions")),n.addEventListener("mousedown",o=>{o.target==n&&o.preventDefault()});let s=null;for(let o=r.from;o<r.to;o++){let{completion:a,match:l}=e[o],{section:O}=a;if(O){let u=typeof O=="string"?O:O.name;if(u!=s&&(o>r.from||r.from==0))if(s=u,typeof O!="string"&&O.header)n.appendChild(O.header(O));else{let m=n.appendChild(document.createElement("completion-section"));m.textContent=u}}const c=n.appendChild(document.createElement("li"));c.id=i+"-"+o,c.setAttribute("role","option");let h=this.optionClass(a);h&&(c.className=h);for(let u of this.optionContent){let m=u(a,this.view.state,this.view,l);m&&c.appendChild(m)}}return r.from&&n.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&n.classList.add("cm-completionListIncompleteBottom"),n}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function dY(t,e){return i=>new fY(i,t,e)}function pY(t,e){let i=t.getBoundingClientRect(),r=e.getBoundingClientRect(),n=i.height/t.offsetHeight;r.top<i.top?t.scrollTop-=(i.top-r.top)/n:r.bottom>i.bottom&&(t.scrollTop+=(r.bottom-i.bottom)/n)}function zS(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function mY(t,e){let i=[],r=null,n=null,s=c=>{i.push(c);let{section:h}=c.completion;if(h){r||(r=[]);let u=typeof h=="string"?h:h.name;r.some(m=>m.name==u)||r.push(typeof h=="string"?{name:u}:h)}},o=e.facet(He);for(let c of t)if(c.hasResult()){let h=c.result.getMatch;if(c.result.filter===!1)for(let u of c.result.options)s(new ZS(u,c.source,h?h(u):[],1e9-i.length));else{let u=e.sliceDoc(c.from,c.to),m,S=o.filterStrict?new cY(u):new OY(u);for(let Q of c.result.options)if(m=S.match(Q.label)){let g=Q.displayLabel?h?h(Q,m.matched):[]:m.matched,d=m.score+(Q.boost||0);if(s(new ZS(Q,c.source,g,d)),typeof Q.section=="object"&&Q.section.rank==="dynamic"){let{name:f}=Q.section;n||(n=Object.create(null)),n[f]=Math.max(d,n[f]||-1e9)}}}}if(r){let c=Object.create(null),h=0,u=(m,S)=>(m.rank==="dynamic"&&S.rank==="dynamic"?n[S.name]-n[m.name]:0)||(typeof m.rank=="number"?m.rank:1e9)-(typeof S.rank=="number"?S.rank:1e9)||(m.name<S.name?-1:1);for(let m of r.sort(u))h-=1e5,c[m.name]=h;for(let m of i){let{section:S}=m.completion;S&&(m.score+=c[typeof S=="string"?S:S.name])}}let a=[],l=null,O=o.compareCompletions;for(let c of i.sort((h,u)=>u.score-h.score||O(h.completion,u.completion))){let h=c.completion;!l||l.label!=h.label||l.detail!=h.detail||l.type!=null&&h.type!=null&&l.type!=h.type||l.apply!=h.apply||l.boost!=h.boost?a.push(c):zS(c.completion)>zS(l)&&(a[a.length-1]=c),l=c.completion}return a}class Os{constructor(e,i,r,n,s,o){this.options=e,this.attrs=i,this.tooltip=r,this.timestamp=n,this.selected=s,this.disabled=o}setSelected(e,i){return e==this.selected||e>=this.options.length?this:new Os(this.options,qS(i,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,i,r,n,s,o){if(n&&!o&&e.some(O=>O.isPending))return n.setDisabled();let a=mY(e,i);if(!a.length)return n&&e.some(O=>O.isPending)?n.setDisabled():null;let l=i.facet(He).selectOnOpen?0:-1;if(n&&n.selected!=l&&n.selected!=-1){let O=n.options[n.selected].completion;for(let c=0;c<a.length;c++)if(a[c].completion==O){l=c;break}}return new Os(a,qS(r,l),{pos:e.reduce((O,c)=>c.hasResult()?Math.min(O,c.from):O,1e8),create:vY,above:s.aboveCursor},n?n.timestamp:Date.now(),l,!1)}map(e){return new Os(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new Os(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class fc{constructor(e,i,r){this.active=e,this.id=i,this.open=r}static start(){return new fc($Y,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:i}=e,r=i.facet(He),s=(r.override||i.languageDataAt("autocomplete",kn(i)).map(lY)).map(l=>(this.active.find(c=>c.source==l)||new li(l,this.active.some(c=>c.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((l,O)=>l==this.active[O])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(Pm));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!gY(s,this.active)||a?o=Os.build(s,i,this.id,o,r,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new li(l.source,0):l));for(let l of e.effects)l.is(vm)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new fc(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?QY:SY}}function gY(t,e){if(t==e)return!0;for(let i=0,r=0;;){for(;i<t.length&&!t[i].hasResult();)i++;for(;r<e.length&&!e[r].hasResult();)r++;let n=i==t.length,s=r==e.length;if(n||s)return n==s;if(t[i++].result!=e[r++].result)return!1}}const QY={"aria-autocomplete":"list"},SY={};function qS(t,e){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(i["aria-activedescendant"]=t+"-"+e),i}const $Y=[];function yy(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(_m);if(r&&e.activateOnCompletion(r))return 12}let i=t.isUserEvent("input.type");return i&&e.activateOnTyping?5:i?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class li{constructor(e,i,r=!1){this.source=e,this.state=i,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,i){let r=yy(e,i),n=this;(r&8||r&16&&this.touches(e))&&(n=new li(n.source,0)),r&4&&n.state==0&&(n=new li(this.source,1)),n=n.updateFor(e,r);for(let s of e.effects)if(s.is(uc))n=new li(n.source,1,s.value);else if(s.is(ba))n=new li(n.source,0);else if(s.is(Pm))for(let o of s.value)o.source==n.source&&(n=o);return n}updateFor(e,i){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(kn(e.state))}}class vs extends li{constructor(e,i,r,n,s,o){super(e,3,i),this.limit=r,this.result=n,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,i){var r;if(!(i&3))return this.map(e.changes);let n=this.result;n.map&&!e.changes.empty&&(n=n.map(n,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=kn(e.state);if(a>o||!n||i&2&&(kn(e.startState)==this.from||a<this.limit))return new li(this.source,i&4?1:0);let l=e.changes.mapPos(this.limit);return _Y(n.validFor,e.state,s,o)?new vs(this.source,this.explicit,l,n,s,o):n.update&&(n=n.update(n,s,o,new $m(e.state,a,!1)))?new vs(this.source,this.explicit,l,n,n.from,(r=n.to)!==null&&r!==void 0?r:kn(e.state)):new li(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new vs(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new li(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function _Y(t,e,i,r){if(!t)return!1;let n=e.sliceDoc(i,r);return typeof t=="function"?t(n,i,r,e):Py(t,!0).test(n)}const Pm=ae.define({map(t,e){return t.map(i=>i.map(e))}}),bt=et.define({create(){return fc.start()},update(t,e){return t.update(e)},provide:t=>[im.from(t,e=>e.tooltip),N.contentAttributes.from(t,e=>e.attrs)]});function ym(t,e){const i=e.completion.apply||e.completion.label;let r=t.state.field(bt).active.find(n=>n.source==e.source);return r instanceof vs?(typeof i=="string"?t.dispatch({...aY(t.state,i,r.from,r.to),annotations:_m.of(e.completion)}):i(t,e.completion,r.from,r.to),!0):!1}const vY=dY(bt,ym);function El(t,e="option"){return i=>{let r=i.state.field(bt,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<i.state.facet(He).interactionDelay)return!1;let n=1,s;e=="page"&&(s=oP(i,r.open.tooltip))&&(n=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=r.open.options,a=r.open.selected>-1?r.open.selected+n*(t?1:-1):t?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),i.dispatch({effects:vm.of(a)}),!0}}const PY=t=>{let e=t.state.field(bt,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(He).interactionDelay?!1:ym(t,e.open.options[e.open.selected])},au=t=>t.state.field(bt,!1)?(t.dispatch({effects:uc.of(!0)}),!0):!1,yY=t=>{let e=t.state.field(bt,!1);return!e||!e.active.some(i=>i.state!=0)?!1:(t.dispatch({effects:ba.of(null)}),!0)};class wY{constructor(e,i){this.active=e,this.context=i,this.time=Date.now(),this.updates=[],this.done=void 0}}const XY=50,bY=1e3,xY=Re.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(bt).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(bt),i=t.state.facet(He);if(!t.selectionSet&&!t.docChanged&&t.startState.field(bt)==e)return;let r=t.transactions.some(s=>{let o=yy(s,i);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(r||o.context.abortOnDocChange&&t.docChanged||o.updates.length+t.transactions.length>XY&&Date.now()-o.time>bY){for(let a of o.context.abortListeners)try{a()}catch(l){Tt(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(s=>s.effects.some(o=>o.is(uc)))&&(this.pendingStart=!0);let n=this.pendingStart?50:i.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),n):-1,this.composing!=0)for(let s of t.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(bt);for(let i of e.active)i.isPending&&!this.running.some(r=>r.active.source==i.source)&&this.startQuery(i);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(He).updateSyncTime))}startQuery(t){let{state:e}=this.view,i=kn(e),r=new $m(e,i,t.explicit,this.view),n=new wY(t,r);this.running.push(n),Promise.resolve(t.source(r)).then(s=>{n.context.aborted||(n.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:ba.of(null)}),Tt(this.view.state,s)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(He).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],i=this.view.state.facet(He),r=this.view.state.field(bt);for(let n=0;n<this.running.length;n++){let s=this.running[n];if(s.done===void 0)continue;if(this.running.splice(n--,1),s.done){let a=kn(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),O=new vs(s.active.source,s.active.explicit,l,s.done,s.done.from,(t=s.done.to)!==null&&t!==void 0?t:a);for(let c of s.updates)O=O.update(c,i);if(O.hasResult()){e.push(O);continue}}let o=r.active.find(a=>a.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new li(s.active.source,0);for(let l of s.updates)a=a.update(l,i);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:Pm.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(bt,!1);if(e&&e.tooltip&&this.view.state.facet(He).closeOnBlur){let i=e.open&&oP(this.view,e.open.tooltip);(!i||!i.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:ba.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:uc.of(!1)}),20),this.composing=0}}}),kY=typeof navigator=="object"&&/Win/.test(navigator.platform),TY=_r.highest(N.domEventHandlers({keydown(t,e){let i=e.state.field(bt,!1);if(!i||!i.open||i.open.disabled||i.open.selected<0||t.key.length>1||t.ctrlKey&&!(kY&&t.altKey)||t.metaKey)return!1;let r=i.open.options[i.open.selected],n=i.active.find(o=>o.source==r.source),s=r.completion.commitCharacters||n.result.commitCharacters;return s&&s.indexOf(t.key)>-1&&ym(e,r),!1}})),wy=N.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"},".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 RY{constructor(e,i,r,n){this.field=e,this.line=i,this.from=r,this.to=n}}class wm{constructor(e,i,r){this.field=e,this.from=i,this.to=r}map(e){let i=e.mapPos(this.from,-1,nt.TrackDel),r=e.mapPos(this.to,1,nt.TrackDel);return i==null||r==null?null:new wm(this.field,i,r)}}class Xm{constructor(e,i){this.lines=e,this.fieldPositions=i}instantiate(e,i){let r=[],n=[i],s=e.doc.lineAt(i),o=/^\s*/.exec(s.text)[0];for(let l of this.lines){if(r.length){let O=o,c=/^\t*/.exec(l)[0].length;for(let h=0;h<c;h++)O+=e.facet(Is);n.push(i+O.length-c),l=O+l.slice(c)}r.push(l),i+=l.length+1}let a=this.fieldPositions.map(l=>new wm(l.field,n[l.line]+l.from,n[l.line]+l.to));return{text:r,ranges:a}}static parse(e){let i=[],r=[],n=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,l=s[2]||s[3]||"",O=-1,c=l.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h<i.length;h++)(a!=null?i[h].seq==a:c&&i[h].name==c)&&(O=h);if(O<0){let h=0;for(;h<i.length&&(a==null||i[h].seq!=null&&i[h].seq<a);)h++;i.splice(h,0,{seq:a,name:c}),O=h;for(let u of n)u.field>=O&&u.field++}for(let h of n)if(h.line==r.length&&h.from>s.index){let u=s[2]?3+(s[1]||"").length:2;h.from-=u,h.to-=u}n.push(new RY(O,r.length,s.index,s.index+c.length)),o=o.slice(0,s.index)+l+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,l,O)=>{for(let c of n)c.line==r.length&&c.from>O&&(c.from--,c.to--);return l}),r.push(o)}return new Xm(r,n)}}let CY=re.widget({widget:new class extends bi{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),YY=re.mark({class:"cm-snippetField"});class Js{constructor(e,i){this.ranges=e,this.active=i,this.deco=re.set(e.map(r=>(r.from==r.to?CY:YY).range(r.from,r.to)),!0)}map(e){let i=[];for(let r of this.ranges){let n=r.map(e);if(!n)return null;i.push(n)}return new Js(i,this.active)}selectionInsideField(e){return e.ranges.every(i=>this.ranges.some(r=>r.field==this.active&&r.from<=i.from&&r.to>=i.to))}}const Ka=ae.define({map(t,e){return t&&t.map(e)}}),ZY=ae.define(),xa=et.define({create(){return null},update(t,e){for(let i of e.effects){if(i.is(Ka))return i.value;if(i.is(ZY)&&t)return new Js(t.ranges,i.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>N.decorations.from(t,e=>e?e.deco:re.none)});function bm(t,e){return A.create(t.filter(i=>i.field==e).map(i=>A.range(i.from,i.to)))}function WY(t){let e=Xm.parse(t);return(i,r,n,s)=>{let{text:o,ranges:a}=e.instantiate(i.state,n),{main:l}=i.state.selection,O={changes:{from:n,to:s==l.from?l.to:s,insert:$e.of(o)},scrollIntoView:!0,annotations:r?[_m.of(r),Me.userEvent.of("input.complete")]:void 0};if(a.length&&(O.selection=bm(a,0)),a.some(c=>c.field>0)){let c=new Js(a,0),h=O.effects=[Ka.of(c)];i.state.field(xa,!1)===void 0&&h.push(ae.appendConfig.of([xa,EY,AY,wy]))}i.dispatch(i.state.update(O))}}function Xy(t){return({state:e,dispatch:i})=>{let r=e.field(xa,!1);if(!r||t<0&&r.active==0)return!1;let n=r.active+t,s=t>0&&!r.ranges.some(o=>o.field==n+t);return i(e.update({selection:bm(r.ranges,n),effects:Ka.of(s?null:new Js(r.ranges,n)),scrollIntoView:!0})),!0}}const UY=({state:t,dispatch:e})=>t.field(xa,!1)?(e(t.update({effects:Ka.of(null)})),!0):!1,zY=Xy(1),qY=Xy(-1),VY=[{key:"Tab",run:zY,shift:qY},{key:"Escape",run:UY}],VS=K.define({combine(t){return t.length?t[0]:VY}}),EY=_r.highest(Bs.compute([VS],t=>t.facet(VS)));function he(t,e){return{...e,apply:WY(t)}}const AY=N.domEventHandlers({mousedown(t,e){let i=e.state.field(xa,!1),r;if(!i||(r=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let n=i.ranges.find(s=>s.from<=r&&s.to>=r);return!n||n.field==i.active?!1:(e.dispatch({selection:bm(i.ranges,n.field),effects:Ka.of(i.ranges.some(s=>s.field>n.field)?new Js(i.ranges,n.field):null),scrollIntoView:!0}),!0)}}),ka={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},yn=ae.define({map(t,e){let i=e.mapPos(t,-1,nt.TrackAfter);return i??void 0}}),xm=new class extends Nr{};xm.startSide=1;xm.endSide=-1;const by=et.define({create(){return ce.empty},update(t,e){if(t=t.map(e.changes),e.selection){let i=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:r=>r>=i.from&&r<=i.to})}for(let i of e.effects)i.is(yn)&&(t=t.update({add:[xm.range(i.value,i.value+1)]}));return t}});function jY(){return[DY,by]}const lu="()[]{}<>«»»«[]{}";function xy(t){for(let e=0;e<lu.length;e+=2)if(lu.charCodeAt(e)==t)return lu.charAt(e+1);return Vp(t<128?t:t+1)}function ky(t,e){return t.languageDataAt("closeBrackets",e)[0]||ka}const LY=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),DY=N.inputHandler.of((t,e,i,r)=>{if((LY?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let n=t.state.selection.main;if(r.length>2||r.length==2&&Ei(Xt(r,0))==1||e!=n.from||i!=n.to)return!1;let s=BY(t.state,r);return s?(t.dispatch(s),!0):!1}),MY=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=ky(t,t.selection.main.head).brackets||ka.brackets,n=null,s=t.changeByRange(o=>{if(o.empty){let a=IY(t.doc,o.head);for(let l of r)if(l==a&&th(t.doc,o.head)==xy(Xt(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:A.cursor(o.head-l.length)}}return{range:n=o}});return n||e(t.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!n},GY=[{key:"Backspace",run:MY}];function BY(t,e){let i=ky(t,t.selection.main.head),r=i.brackets||ka.brackets;for(let n of r){let s=xy(Xt(n,0));if(e==n)return s==n?HY(t,n,r.indexOf(n+n+n)>-1,i):NY(t,n,s,i.before||ka.before);if(e==s&&Ty(t,t.selection.main.from))return FY(t,n,s)}return null}function Ty(t,e){let i=!1;return t.field(by).between(0,t.doc.length,r=>{r==e&&(i=!0)}),i}function th(t,e){let i=t.sliceString(e,e+2);return i.slice(0,Ei(Xt(i,0)))}function IY(t,e){let i=t.sliceString(e-2,e);return Ei(Xt(i,0))==i.length?i:i.slice(1)}function NY(t,e,i,r){let n=null,s=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:i,from:o.to}],effects:yn.of(o.to+e.length),range:A.range(o.anchor+e.length,o.head+e.length)};let a=th(t.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+i,from:o.head},effects:yn.of(o.head+e.length),range:A.cursor(o.head+e.length)}:{range:n=o}});return n?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function FY(t,e,i){let r=null,n=t.changeByRange(s=>s.empty&&th(t.doc,s.head)==i?{changes:{from:s.head,to:s.head+i.length,insert:i},range:A.cursor(s.head+i.length)}:r={range:s});return r?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function HY(t,e,i,r){let n=r.stringPrefixes||ka.stringPrefixes,s=null,o=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:yn.of(a.to+e.length),range:A.range(a.anchor+e.length,a.head+e.length)};let l=a.head,O=th(t.doc,l),c;if(O==e){if(ES(t,l))return{changes:{insert:e+e,from:l},effects:yn.of(l+e.length),range:A.cursor(l+e.length)};if(Ty(t,l)){let u=i&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+u.length,insert:u},range:A.cursor(l+u.length)}}}else{if(i&&t.sliceDoc(l-2*e.length,l)==e+e&&(c=AS(t,l-2*e.length,n))>-1&&ES(t,c))return{changes:{insert:e+e+e+e,from:l},effects:yn.of(l+e.length),range:A.cursor(l+e.length)};if(t.charCategorizer(l)(O)!=Ye.Word&&AS(t,l,n)>-1&&!KY(t,l,e,n))return{changes:{insert:e+e,from:l},effects:yn.of(l+e.length),range:A.cursor(l+e.length)}}return{range:s=a}});return s?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function ES(t,e){let i=ve(t).resolveInner(e+1);return i.parent&&i.from==e}function KY(t,e,i,r){let n=ve(t).resolveInner(e,-1),s=r.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=t.sliceDoc(n.from,Math.min(n.to,n.from+i.length+s)),l=a.indexOf(i);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let c=n.firstChild;for(;c&&c.from==n.from&&c.to-c.from>i.length+l;){if(t.sliceDoc(c.to-i.length,c.to)==i)return!1;c=c.firstChild}return!0}let O=n.to==e&&n.parent;if(!O)break;n=O}return!1}function AS(t,e,i){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=Ye.Word)return e;for(let n of i){let s=e-n.length;if(t.sliceDoc(s,e)==n&&r(t.sliceDoc(s-1,s))!=Ye.Word)return s}return-1}function JY(t={}){return[TY,bt,He.of(t),xY,eZ,wy]}const Ry=[{key:"Ctrl-Space",run:au},{mac:"Alt-`",run:au},{mac:"Alt-i",run:au},{key:"Escape",run:yY},{key:"ArrowDown",run:El(!0)},{key:"ArrowUp",run:El(!1)},{key:"PageDown",run:El(!0,"page")},{key:"PageUp",run:El(!1,"page")},{key:"Enter",run:PY}],eZ=_r.highest(Bs.computeN([He],t=>t.facet(He).defaultKeymap?[Ry]:[]));class jS{constructor(e,i,r){this.from=e,this.to=i,this.diagnostic=r}}class pn{constructor(e,i,r){this.diagnostics=e,this.panel=i,this.selected=r}static init(e,i,r){let n=r.facet(Ta).markerFilter;n&&(e=n(e,r));let s=e.slice().sort((m,S)=>m.from-S.from||m.to-S.to),o=new Fi,a=[],l=0,O=r.doc.iter(),c=0,h=r.doc.length;for(let m=0;;){let S=m==s.length?null:s[m];if(!S&&!a.length)break;let Q,g;if(a.length)Q=l,g=a.reduce((p,$)=>Math.min(p,$.to),S&&S.from>Q?S.from:1e8);else{if(Q=S.from,Q>h)break;g=S.to,a.push(S),m++}for(;m<s.length;){let p=s[m];if(p.from==Q&&(p.to>p.from||p.to==Q))a.push(p),m++,g=Math.min(p.to,g);else{g=Math.min(p.from,g);break}}g=Math.min(g,h);let d=!1;if(a.some(p=>p.from==Q&&(p.to==g||g==h))&&(d=Q==g,!d&&g-Q<10)){let p=Q-(c+O.value.length);p>0&&(O.next(p),c=Q);for(let $=Q;;){if($>=g){d=!0;break}if(!O.lineBreak&&c+O.value.length>$)break;$=c+O.value.length,c+=O.value.length,O.next()}}let f=dZ(a);if(d)o.add(Q,Q,re.widget({widget:new cZ(f),diagnostics:a.slice()}));else{let p=a.reduce(($,_)=>_.markClass?$+" "+_.markClass:$,"");o.add(Q,g,re.mark({class:"cm-lintRange cm-lintRange-"+f+p,diagnostics:a.slice(),inclusiveEnd:a.some($=>$.to>g)}))}if(l=g,l==h)break;for(let p=0;p<a.length;p++)a[p].to<=l&&a.splice(p--,1)}let u=o.finish();return new pn(u,i,tn(u))}}function tn(t,e=null,i=0){let r=null;return t.between(i,1e9,(n,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new jS(n,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new jS(r.from,s,r.diagnostic)}}),r}function tZ(t,e){let i=e.pos,r=e.end||i,n=t.state.facet(Ta).hideOn(t,i,r);if(n!=null)return n;let s=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(o=>o.is(km))||t.changes.touchesRange(s.from,Math.max(s.to,r)))}function iZ(t,e){return t.field(Qt,!1)?e:e.concat(ae.appendConfig.of(pZ))}const km=ae.define(),Tm=ae.define(),Cy=ae.define(),Qt=et.define({create(){return new pn(re.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let i=t.diagnostics.map(e.changes),r=null,n=t.panel;if(t.selected){let s=e.changes.mapPos(t.selected.from,1);r=tn(i,t.selected.diagnostic,s)||tn(i,null,s)}!i.size&&n&&e.state.facet(Ta).autoPanel&&(n=null),t=new pn(i,n,r)}for(let i of e.effects)if(i.is(km)){let r=e.state.facet(Ta).autoPanel?i.value.length?Ra.open:null:t.panel;t=pn.init(i.value,r,e.state)}else i.is(Tm)?t=new pn(t.diagnostics,i.value?Ra.open:null,t.selected):i.is(Cy)&&(t=new pn(t.diagnostics,t.panel,i.value));return t},provide:t=>[_a.from(t,e=>e.panel),N.decorations.from(t,e=>e.diagnostics)]});function rZ(t){let e=t.field(Qt,!1);return e?e.diagnostics.size:0}const nZ=re.mark({class:"cm-lintRange cm-lintRange-active"});function sZ(t,e,i){let{diagnostics:r}=t.state.field(Qt),n,s=-1,o=-1;r.between(e-(i<0?1:0),e+(i>0?1:0),(l,O,{spec:c})=>{if(e>=l&&e<=O&&(l==O||(e>l||i>0)&&(e<O||i<0)))return n=c.diagnostics,s=l,o=O,!1});let a=t.state.facet(Ta).tooltipFilter;return n&&a&&(n=a(n,t.state)),n?{pos:s,end:o,above:t.state.doc.lineAt(s).to<o,create(){return{dom:oZ(t,n)}}}:null}function oZ(t,e){return me("ul",{class:"cm-tooltip-lint"},e.map(i=>Zy(t,i,!1)))}const aZ=t=>{let e=t.state.field(Qt,!1);(!e||!e.panel)&&t.dispatch({effects:iZ(t.state,[Tm.of(!0)])});let i=rm(t,Ra.open);return i&&i.dom.querySelector(".cm-panel-lint ul").focus(),!0},LS=t=>{let e=t.state.field(Qt,!1);return!e||!e.panel?!1:(t.dispatch({effects:Tm.of(!1)}),!0)},lZ=t=>{let e=t.state.field(Qt,!1);if(!e)return!1;let i=t.state.selection.main,r=tn(e.diagnostics,null,i.to+1);return!r&&(r=tn(e.diagnostics,null,0),!r||r.from==i.from&&r.to==i.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},OZ=[{key:"Mod-Shift-m",run:aZ,preventDefault:!0},{key:"F8",run:lZ}],Ta=K.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Xi(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:DS,tooltipFilter:DS,needsRefresh:(e,i)=>e?i?r=>e(r)||i(r):e:i,hideOn:(e,i)=>e?i?(r,n,s)=>e(r,n,s)||i(r,n,s):e:i,autoPanel:(e,i)=>e||i})}}});function DS(t,e){return t?e?(i,r)=>e(t(i,r),r):t:e}function Yy(t){let e=[];if(t)e:for(let{name:i}of t){for(let r=0;r<i.length;r++){let n=i[r];if(/[a-zA-Z]/.test(n)&&!e.some(s=>s.toLowerCase()==n.toLowerCase())){e.push(n);continue e}}e.push("")}return e}function Zy(t,e,i){var r;let n=i?Yy(e.actions):[];return me("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},me("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,o)=>{let a=!1,l=m=>{if(m.preventDefault(),a)return;a=!0;let S=tn(t.state.field(Qt).diagnostics,e);S&&s.apply(t,S.from,S.to)},{name:O}=s,c=n[o]?O.indexOf(n[o]):-1,h=c<0?O:[O.slice(0,c),me("u",O.slice(c,c+1)),O.slice(c+1)],u=s.markClass?" "+s.markClass:"";return me("button",{type:"button",class:"cm-diagnosticAction"+u,onclick:l,onmousedown:l,"aria-label":` Action: ${O}${c<0?"":` (access key "${n[o]})"`}.`},h)}),e.source&&me("div",{class:"cm-diagnosticSource"},e.source))}class cZ extends bi{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return me("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class MS{constructor(e,i){this.diagnostic=i,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Zy(e,i,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Ra{constructor(e){this.view=e,this.items=[];let i=n=>{if(!(n.ctrlKey||n.altKey||n.metaKey)){if(n.keyCode==27)LS(this.view),this.view.focus();else if(n.keyCode==38||n.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(n.keyCode==40||n.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(n.keyCode==36)this.moveSelection(0);else if(n.keyCode==35)this.moveSelection(this.items.length-1);else if(n.keyCode==13)this.view.focus();else if(n.keyCode>=65&&n.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=Yy(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==n.keyCode){let l=tn(this.view.state.field(Qt).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;n.preventDefault()}},r=n=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(n.target)&&this.moveSelection(s)};this.list=me("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:i,onclick:r}),this.dom=me("div",{class:"cm-panel-lint"},this.list,me("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>LS(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Qt).selected;if(!e)return-1;for(let i=0;i<this.items.length;i++)if(this.items[i].diagnostic==e.diagnostic)return i;return-1}update(){let{diagnostics:e,selected:i}=this.view.state.field(Qt),r=0,n=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:O})=>{for(let c of O.diagnostics){if(o.has(c))continue;o.add(c);let h=-1,u;for(let m=r;m<this.items.length;m++)if(this.items[m].diagnostic==c){h=m;break}h<0?(u=new MS(this.view,c),this.items.splice(r,0,u),n=!0):(u=this.items[h],h>r&&(this.items.splice(r,h-r),n=!0)),i&&u.diagnostic==i.diagnostic?u.dom.hasAttribute("aria-selected")||(u.dom.setAttribute("aria-selected","true"),s=u):u.dom.hasAttribute("aria-selected")&&u.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)n=!0,this.items.pop();this.items.length==0&&(this.items.push(new MS(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),n=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let O=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/O:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/O)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function i(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)i();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)i()}moveSelection(e){if(this.selectedIndex<0)return;let i=this.view.state.field(Qt),r=tn(i.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Cy.of(r)})}static open(e){return new Ra(e)}}function hZ(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function Al(t){return hZ(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const uZ=N.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:Al("#d11")},".cm-lintRange-warning":{backgroundImage:Al("orange")},".cm-lintRange-info":{backgroundImage:Al("#999")},".cm-lintRange-hint":{backgroundImage:Al("#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 fZ(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function dZ(t){let e="hint",i=1;for(let r of t){let n=fZ(r.severity);n>i&&(i=n,e=r.severity)}return e}const pZ=[Qt,N.decorations.compute([Qt],t=>{let{selected:e,panel:i}=t.field(Qt);return!e||!i||e.from==e.to?re.none:re.set([nZ.range(e.from,e.to)])}),IR(sZ,{hideOn:tZ}),uZ];function mZ(t,e){let i=t.field(Qt,!1);if(i&&i.diagnostics.size){let r=[],n=[],s=-1;for(let o=ce.iter([i.diagnostics]);;o.next()){for(let a=0;a<r.length;a++)(!o.value||o.value.spec.diagnostics.indexOf(r[a])<0)&&(e(r[a],n[a],s),r.splice(a,1),n.splice(a--,1));if(!o.value)break;for(let a of o.value.spec.diagnostics)r.indexOf(a)<0&&(r.push(a),n.push(o.from));s=o.to}}}var GS=function(e){e===void 0&&(e={});var{crosshairCursor:i=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(GY)),e.defaultKeymap!==!1&&(r=r.concat(k2)),e.searchKeymap!==!1&&(r=r.concat(iY)),e.historyKeymap!==!1&&(r=r.concat(UC)),e.foldKeymap!==!1&&(r=r.concat(F5)),e.completionKeymap!==!1&&(r=r.concat(Ry)),e.lintKeymap!==!1&&(r=r.concat(OZ));var n=[];return e.lineNumbers!==!1&&n.push(a5()),e.highlightActiveLineGutter!==!1&&n.push(c5()),e.highlightSpecialChars!==!1&&n.push(PR()),e.history!==!1&&n.push(bC()),e.foldGutter!==!1&&n.push(eC()),e.drawSelection!==!1&&n.push(uR()),e.dropCursor!==!1&&n.push(gR()),e.allowMultipleSelections!==!1&&n.push(fe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&n.push(A5()),e.syntaxHighlighting!==!1&&n.push(um(sC,{fallback:!0})),e.bracketMatching!==!1&&n.push(uC()),e.closeBrackets!==!1&&n.push(jY()),e.autocompletion!==!1&&n.push(JY()),e.rectangularSelection!==!1&&n.push(zR()),i!==!1&&n.push(ER()),e.highlightActiveLine!==!1&&n.push(kR()),e.highlightSelectionMatches!==!1&&n.push(W2()),e.tabSize&&typeof e.tabSize=="number"&&n.push(Is.of(" ".repeat(e.tabSize))),n.concat([Bs.of(r.flat())]).filter(Boolean)};const gZ="#e5c07b",BS="#e06c75",QZ="#56b6c2",SZ="#ffffff",fO="#abb2bf",yd="#7d8799",$Z="#61afef",_Z="#98c379",IS="#d19a66",vZ="#c678dd",PZ="#21252b",NS="#2c313a",FS="#282c34",Ou="#353a42",yZ="#3E4451",HS="#528bff",wZ=N.theme({"&":{color:fO,backgroundColor:FS},".cm-content":{caretColor:HS},".cm-cursor, .cm-dropCursor":{borderLeftColor:HS},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:yZ},".cm-panels":{backgroundColor:PZ,color:fO},".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:FS,color:yd,border:"none"},".cm-activeLineGutter":{backgroundColor:NS},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ou},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ou,borderBottomColor:Ou},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:NS,color:fO}}},{dark:!0}),XZ=Fs.define([{tag:y.keyword,color:vZ},{tag:[y.name,y.deleted,y.character,y.propertyName,y.macroName],color:BS},{tag:[y.function(y.variableName),y.labelName],color:$Z},{tag:[y.color,y.constant(y.name),y.standard(y.name)],color:IS},{tag:[y.definition(y.name),y.separator],color:fO},{tag:[y.typeName,y.className,y.number,y.changed,y.annotation,y.modifier,y.self,y.namespace],color:gZ},{tag:[y.operator,y.operatorKeyword,y.url,y.escape,y.regexp,y.link,y.special(y.string)],color:QZ},{tag:[y.meta,y.comment],color:yd},{tag:y.strong,fontWeight:"bold"},{tag:y.emphasis,fontStyle:"italic"},{tag:y.strikethrough,textDecoration:"line-through"},{tag:y.link,color:yd,textDecoration:"underline"},{tag:y.heading,fontWeight:"bold",color:BS},{tag:[y.atom,y.bool,y.special(y.variableName)],color:IS},{tag:[y.processingInstruction,y.string,y.inserted],color:_Z},{tag:y.invalid,color:SZ}]),bZ=[wZ,um(XZ)];var xZ=N.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),kZ=function(e){e===void 0&&(e={});var{indentWithTab:i=!0,editable:r=!0,readOnly:n=!1,theme:s="light",placeholder:o="",basicSetup:a=!0}=e,l=[];switch(i&&l.unshift(Bs.of([T2])),a&&(typeof a=="boolean"?l.unshift(GS()):l.unshift(GS(a))),o&&l.unshift(YR(o)),s){case"light":l.push(xZ);break;case"dark":l.push(bZ);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(N.editable.of(!1)),n&&l.push(fe.readOnly.of(!0)),[...l]},TZ=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class RZ{constructor(e,i){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=i,this.timeoutMS=i,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(i=>{try{i()}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 KS{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 cu=null,CZ=()=>typeof window>"u"?new KS:(cu||(cu=new KS),cu),JS=Hi.define(),YZ=200,ZZ=[];function WZ(t){var{value:e,selection:i,onChange:r,onStatistics:n,onCreateEditor:s,onUpdate:o,extensions:a=ZZ,autoFocus:l,theme:O="light",height:c=null,minHeight:h=null,maxHeight:u=null,width:m=null,minWidth:S=null,maxWidth:Q=null,placeholder:g="",editable:d=!0,readOnly:f=!1,indentWithTab:p=!0,basicSetup:$=!0,root:_,initialState:P}=t,[w,v]=ge.useState(),[b,T]=ge.useState(),[Y,Z]=ge.useState(),R=ge.useState(()=>({current:null}))[0],z=ge.useState(()=>({current:null}))[0],V=N.theme({"&":{height:c,minHeight:h,maxHeight:u,width:m,minWidth:S,maxWidth:Q},"& .cm-scroller":{height:"100% !important"}}),L=N.updateListener.of(X=>{if(X.docChanged&&typeof r=="function"&&!X.transactions.some(W=>W.annotation(JS))){R.current?R.current.reset():(R.current=new RZ(()=>{if(z.current){var W=z.current;z.current=null,W()}R.current=null},YZ),CZ().add(R.current));var x=X.state.doc,C=x.toString();r(C,X)}n&&n(TZ(X))}),G=kZ({theme:O,editable:d,readOnly:f,placeholder:g,indentWithTab:p,basicSetup:$}),q=[L,V,...G];return o&&typeof o=="function"&&q.push(N.updateListener.of(o)),q=q.concat(a),ge.useLayoutEffect(()=>{if(w&&!Y){var X={doc:e,selection:i,extensions:q},x=P?fe.fromJSON(P.json,X,P.fields):fe.create(X);if(Z(x),!b){var C=new N({state:x,parent:w,root:_});T(C),s&&s(C,x)}}return()=>{b&&(Z(void 0),T(void 0))}},[w,Y]),ge.useEffect(()=>{t.container&&v(t.container)},[t.container]),ge.useEffect(()=>()=>{b&&(b.destroy(),T(void 0)),R.current&&(R.current.cancel(),R.current=null)},[b]),ge.useEffect(()=>{l&&b&&b.focus()},[l,b]),ge.useEffect(()=>{b&&b.dispatch({effects:ae.reconfigure.of(q)})},[O,a,c,h,u,m,S,Q,g,d,f,p,$,r,o]),ge.useEffect(()=>{if(e!==void 0){var X=b?b.state.doc.toString():"";if(b&&e!==X){var x=R.current&&!R.current.isDone,C=()=>{b&&e!==b.state.doc.toString()&&b.dispatch({changes:{from:0,to:b.state.doc.toString().length,insert:e||""},annotations:[JS.of(!0)]})};x?z.current=C:C()}}},[e,b]),{state:Y,setState:Z,view:b,setView:T,container:w,setContainer:v}}var UZ=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Wy=ge.forwardRef((t,e)=>{var{className:i,value:r="",selection:n,extensions:s=[],onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:O,autoFocus:c,theme:h="light",height:u,minHeight:m,maxHeight:S,width:Q,minWidth:g,maxWidth:d,basicSetup:f,placeholder:p,indentWithTab:$,editable:_,readOnly:P,root:w,initialState:v}=t,b=Jx(t,UZ),T=ge.useRef(null),{state:Y,view:Z,container:R,setContainer:z}=WZ({root:w,value:r,autoFocus:c,theme:h,height:u,minHeight:m,maxHeight:S,width:Q,minWidth:g,maxWidth:d,basicSetup:f,placeholder:p,indentWithTab:$,editable:_,readOnly:P,selection:n,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:O,extensions:s,initialState:v});ge.useImperativeHandle(e,()=>({editor:T.current,state:Y,view:Z}),[T,R,Y,Z]);var V=ge.useCallback(G=>{T.current=G,z(G)},[z]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var L=typeof h=="string"?"cm-theme-"+h:"cm-theme";return oe.jsx("div",kf({ref:V,className:""+L+(i?" "+i:"")},b))});Wy.displayName="CodeMirror";var e$={};class dc{constructor(e,i,r,n,s,o,a,l,O,c=0,h){this.p=e,this.stack=i,this.state=r,this.reducePos=n,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=O,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,i)=>i%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,i,r=0){let n=e.parser.context;return new dc(e,[],i,r,r,0,[],0,n?new t$(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,i){this.stack.push(this.state,i,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var i;let r=e>>19,n=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=s.dynamicPrecedence(n);if(a&&(this.score+=a),r==0){this.pushState(s.getGoto(this.state,n,!0),this.reducePos),n<s.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(n,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),O=l?this.stack[l-2]:this.p.ranges[0].from,c=this.reducePos-O;c>=2e3&&!(!((i=this.p.parser.nodeSet.types[n])===null||i===void 0)&&i.isAnonymous)&&(O==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=O,this.p.lastBigReductionSize=c));let h=l?this.stack[l-1]:0,u=this.bufferBase+this.buffer.length-h;if(n<s.minRepeatTerm||e&131072){let m=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,O,m,u+4,!0)}if(e&262144)this.state=this.stack[l];else{let m=this.stack[l-3];this.state=s.getGoto(m,n,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(n,O)}storeNode(e,i,r,n=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(i==r)return;if(o.buffer[a-2]>=i){o.buffer[a-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,i,r,n);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4)}this.buffer[o]=e,this.buffer[o+1]=i,this.buffer[o+2]=r,this.buffer[o+3]=n}}shift(e,i,r,n){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(i,r),i<=this.p.parser.maxNode&&this.buffer.push(i,r,n,4);else{let s=e,{parser:o}=this.p;this.pos=n;let a=o.stateFlag(s,1);!a&&(n>r||i<=o.maxNode)&&(this.reducePos=n),this.pushState(s,a?r:Math.min(r,this.reducePos)),this.shiftContext(i,r),i<=o.maxNode&&this.buffer.push(i,r,n,4)}}apply(e,i,r,n){e&65536?this.reduce(e):this.shift(e,i,r,n)}useNode(e,i){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(i,n),this.buffer.push(r,n,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,i=e.buffer.length;for(;i>0&&e.buffer[i-2]>e.reducePos;)i-=4;let r=e.buffer.slice(i),n=e.bufferBase+i;for(;e&&n==e.bufferBase;)e=e.parent;return new dc(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,i){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,i,4),this.storeNode(0,this.pos,i,r?8:4),this.pos=this.reducePos=i,this.score-=190}canShift(e){for(let i=new zZ(this);;){let r=this.p.parser.stateSlot(i.state,4)||this.p.parser.hasAction(i.state,e);if(r==0)return!1;if(!(r&65536))return!0;i.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let i=this.p.parser.nextStates(this.state);if(i.length>8||this.stack.length>=120){let n=[];for(let s=0,o;s<i.length;s+=2)(o=i[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&n.push(i[s],o);if(this.stack.length<120)for(let s=0;n.length<8&&s<i.length;s+=2){let o=i[s+1];n.some((a,l)=>l&1&&a==o)||n.push(i[s],o)}i=n}let r=[];for(let n=0;n<i.length&&r.length<4;n+=2){let s=i[n+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(i[n],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,i=e.stateSlot(this.state,5);if(!(i&65536))return!1;if(!e.validAction(this.state,i)){let r=i>>19,n=i&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],n,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;i=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(i),!0}findForcedReduction(){let{parser:e}=this.p,i=[],r=(n,s)=>{if(!i.includes(n))return i.push(n),e.allActions(n,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,O=this.stack.length-a*3;if(O>=0&&e.getGoto(this.stack[O],l,!1)>=0)return a<<19|65536|l}}else{let a=r(o,s+1);if(a!=null)return a}})};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 i=0;i<this.stack.length;i+=3)if(this.stack[i]!=e.stack[i])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,i){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(i)))}reduceContext(e,i){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(i)))}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 i=new t$(this.curContext.tracker,e);i.hash!=this.curContext.hash&&this.emitContext(),this.curContext=i}}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 t${constructor(e,i){this.tracker=e,this.context=i,this.hash=e.strict?e.hash(i):0}}class zZ{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let i=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 n=this.start.p.parser.getGoto(this.stack[this.base-3],i,!0);this.state=n}}class pc{constructor(e,i,r){this.stack=e,this.pos=i,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,i=e.bufferBase+e.buffer.length){return new pc(e,i,i-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 pc(this.stack,this.pos,this.index)}}function xo(t,e=Uint16Array){if(typeof t!="string")return t;let i=null;for(let r=0,n=0;r<t.length;){let s=0;for(;;){let o=t.charCodeAt(r++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}i?i[n++]=s:i=new e(s)}return i}class dO{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const i$=new dO;class qZ{constructor(e,i){this.input=e,this.ranges=i,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=i$,this.rangeIndex=0,this.pos=this.chunkPos=i[0].from,this.range=i[0],this.end=i[i.length-1].to,this.readNext()}resolveOffset(e,i){let r=this.range,n=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!n)return null;let o=this.ranges[--n];s-=r.from-o.to,r=o}for(;i<0?s>r.to:s>=r.to;){if(n==this.ranges.length-1)return null;let o=this.ranges[++n];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let i of this.ranges)if(i.to>e)return Math.max(e,i.from);return this.end}peek(e){let i=this.chunkOff+e,r,n;if(i>=0&&i<this.chunk.length)r=this.pos+e,n=this.chunk.charCodeAt(i);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)n=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),n=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),n}acceptToken(e,i=0){let r=i?this.resolveOffset(i,-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,i){this.token.value=e,this.token.end=i}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:i}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=i,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),i=this.pos+e.length;this.chunk=i>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,i){if(i?(this.token=i,i.start=e,i.lookAhead=e+1,i.value=i.extended=-1):this.token=i$,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,i){if(e>=this.chunkPos&&i<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,i-this.chunkPos);if(e>=this.chunk2Pos&&i<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,i-this.chunk2Pos);if(e>=this.range.from&&i<=this.range.to)return this.input.read(e,i);let r="";for(let n of this.ranges){if(n.from>=i)break;n.to>e&&(r+=this.input.read(Math.max(n.from,e),Math.min(n.to,i)))}return r}}class Ps{constructor(e,i){this.data=e,this.id=i}token(e,i){let{parser:r}=i.p;Uy(this.data,e,i,this.id,r.data,r.tokenPrecTable)}}Ps.prototype.contextual=Ps.prototype.fallback=Ps.prototype.extend=!1;class qs{constructor(e,i,r){this.precTable=i,this.elseToken=r,this.data=typeof e=="string"?xo(e):e}token(e,i){let r=e.pos,n=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(Uy(this.data,e,i,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||n++,o==null)break;e.reset(o,e.token)}n&&(e.reset(r,e.token),e.acceptToken(this.elseToken,n))}}qs.prototype.contextual=Ps.prototype.fallback=Ps.prototype.extend=!1;class ye{constructor(e,i={}){this.token=e,this.contextual=!!i.contextual,this.fallback=!!i.fallback,this.extend=!!i.extend}}function Uy(t,e,i,r,n,s){let o=0,a=1<<r,{dialect:l}=i.p.parser;e:for(;a&t[o];){let O=t[o+1];for(let m=o+3;m<O;m+=2)if((t[m+1]&a)>0){let S=t[m];if(l.allows(S)&&(e.token.value==-1||e.token.value==S||VZ(S,e.token.value,n,s))){e.acceptToken(S);break}}let c=e.next,h=0,u=t[o+2];if(e.next<0&&u>h&&t[O+u*3-3]==65535){o=t[O+u*3-1];continue e}for(;h<u;){let m=h+u>>1,S=O+m+(m<<1),Q=t[S],g=t[S+1]||65536;if(c<Q)u=m;else if(c>=g)h=m+1;else{o=t[S+2],e.advance();continue e}}break}}function r$(t,e,i){for(let r=e,n;(n=t[r])!=65535;r++)if(n==i)return r-e;return-1}function VZ(t,e,i,r){let n=r$(i,r,e);return n<0||r$(i,r,t)<n}const At=typeof process<"u"&&e$&&/\bparse\b/.test(e$.LOG);let hu=null;function n$(t,e,i){let r=t.cursor(Se.IncludeAnonymous);for(r.moveTo(e);;)if(!(i<0?r.childBefore(e):r.childAfter(e)))for(;;){if((i<0?r.to<e:r.from>e)&&!r.type.isError)return i<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(i<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return i<0?0:t.length}}let EZ=class{constructor(e,i){this.fragments=e,this.nodeSet=i,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?n$(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?n$(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 i=this.trees.length-1;if(i<0)return this.nextFragment(),null;let r=this.trees[i],n=this.index[i];if(n==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[n],o=this.start[i]+r.positions[n];if(o>e)return this.nextStart=o,null;if(s instanceof _e){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(le.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[i]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[i]++,this.nextStart=o+s.length}}};class AZ{constructor(e,i){this.stream=i,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new dO)}getActions(e){let i=0,r=null,{parser:n}=e.p,{tokenizers:s}=n,o=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let O=0;O<s.length;O++){if(!(1<<O&o))continue;let c=s[O],h=this.tokens[O];if(!(r&&!c.fallback)&&((c.contextual||h.start!=e.pos||h.mask!=o||h.context!=a)&&(this.updateCachedToken(h,c,e),h.mask=o,h.context=a),h.lookAhead>h.end+25&&(l=Math.max(h.lookAhead,l)),h.value!=0)){let u=i;if(h.extended>-1&&(i=this.addActions(e,h.extended,h.end,i)),i=this.addActions(e,h.value,h.end,i),!c.extend&&(r=h,i>u))break}}for(;this.actions.length>i;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new dO,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,i=this.addActions(e,r.value,r.end,i)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let i=new dO,{pos:r,p:n}=e;return i.start=r,i.end=Math.min(r+1,n.stream.end),i.value=r==n.stream.end?n.parser.eofTerm:0,i}updateCachedToken(e,i,r){let n=this.stream.clipPos(r.pos);if(i.token(this.stream.reset(n,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let a=s.specializers[o](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,i,r,n){for(let s=0;s<n;s+=3)if(this.actions[s]==e)return n;return this.actions[n++]=e,this.actions[n++]=i,this.actions[n++]=r,n}addActions(e,i,r,n){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let O=o.stateSlot(s,l?2:1);;O+=3){if(a[O]==65535)if(a[O+1]==1)O=sr(a,O+2);else{n==0&&a[O+1]==2&&(n=this.putAction(sr(a,O+2),i,r,n));break}a[O]==i&&(n=this.putAction(sr(a,O+1),i,r,n))}return n}}class jZ{constructor(e,i,r,n){this.parser=e,this.input=i,this.ranges=n,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 qZ(i,n),this.tokens=new AZ(e,this.stream),this.topTerm=e.top[1];let{from:s}=n[0];this.stacks=[dc.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new EZ(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,i=this.minStackPos,r=this.stacks=[],n,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>i)r.push(a);else{if(this.advanceStack(a,r,e))continue;{n||(n=[],s=[]),n.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!r.length){let o=n&&DZ(n);if(o)return At&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw At&&n&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&n){let o=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,s,r);if(o)return At&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,l)=>l.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>i)&&this.recovering--}else if(r.length>1){e:for(let o=0;o<r.length-1;o++){let a=r[o];for(let l=o+1;l<r.length;l++){let O=r[l];if(a.sameState(O)||a.buffer.length>500&&O.buffer.length>500)if((a.score-O.score||a.buffer.length-O.buffer.length)>0)r.splice(l--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o<r.length;o++)r[o].pos<this.minStackPos&&(this.minStackPos=r[o].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,i,r){let n=e.pos,{parser:s}=this,o=At?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let O=e.curContext&&e.curContext.tracker.strict,c=O?e.curContext.hash:0;for(let h=this.fragments.nodeAt(n);h;){let u=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(u>-1&&h.length&&(!O||(h.prop(le.contextHash)||0)==c))return e.useNode(h,u),At&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof _e)||h.children.length==0||h.positions[0]>0)break;let m=h.children[0];if(m instanceof _e&&h.positions[0]==0)h=m;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),At&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let O=0;O<l.length;){let c=l[O++],h=l[O++],u=l[O++],m=O==l.length||!r,S=m?e:e.split(),Q=this.tokens.mainToken;if(S.apply(c,h,Q?Q.start:S.pos,u),At&&console.log(o+this.stackID(S)+` (via ${c&65536?`reduce of ${s.getName(c&65535)}`:"shift"} for ${s.getName(h)} @ ${n}${S==e?"":", split"})`),m)return!0;S.pos>n?i.push(S):r.push(S)}return!1}advanceFully(e,i){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return s$(e,i),!0}}runRecovery(e,i,r){let n=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=i[o<<1],O=i[(o<<1)+1],c=At?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),At&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let h=a.split(),u=c;for(let m=0;m<10&&h.forceReduce()&&(At&&console.log(u+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,r));m++)At&&(u=this.stackID(h)+" -> ");for(let m of a.recoverByInsert(l))At&&console.log(c+this.stackID(m)+" (via recover-insert)"),this.advanceFully(m,r);this.stream.end>a.pos?(O==a.pos&&(O++,l=0),a.recoverByDelete(l,O),At&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),s$(a,r)):(!n||n.score<h.score)&&(n=h)}return n}stackToTree(e){return e.close(),_e.build({buffer:pc.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 i=(hu||(hu=new WeakMap)).get(e);return i||hu.set(e,i=String.fromCodePoint(this.nextStackID++)),i+e}}function s$(t,e){for(let i=0;i<e.length;i++){let r=e[i];if(r.pos==t.pos&&r.sameState(t)){e[i].score<t.score&&(e[i]=t);return}}e.push(t)}class LZ{constructor(e,i,r){this.source=e,this.flags=i,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}const uu=t=>t;class Ja{constructor(e){this.start=e.start,this.shift=e.shift||uu,this.reduce=e.reduce||uu,this.reuse=e.reuse||uu,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class zt extends am{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let i=e.nodeNames.split(" ");this.minRepeatTerm=i.length;for(let a=0;a<e.repeatNodeCount;a++)i.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),n=[];for(let a=0;a<i.length;a++)n.push([]);function s(a,l,O){n[a].push([l,l.deserialize(String(O))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=le[l]);for(let O=1;O<a.length;){let c=a[O++];if(c>=0)s(c,l,a[O++]);else{let h=a[O+-c];for(let u=-c;u>0;u--)s(a[O++],l,h);O++}}}this.nodeSet=new Ba(i.map((a,l)=>Ne.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:n[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=uP;let o=xo(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(o$),this.states=xo(e.states,Uint32Array),this.data=xo(e.stateData),this.goto=xo(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Ps(o,a):a),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,i,r){let n=new jZ(this,e,i,r);for(let s of this.wrappers)n=s(n,e,i,r);return n}getGoto(e,i,r=!1){let n=this.goto;if(i>=n[0])return-1;for(let s=n[i+1];;){let o=n[s++],a=o&1,l=n[s++];if(a&&r)return l;for(let O=s+(o>>1);s<O;s++)if(n[s]==e)return l;if(a)return-1}}hasAction(e,i){let r=this.data;for(let n=0;n<2;n++)for(let s=this.stateSlot(e,n?2:1),o;;s+=3){if((o=r[s])==65535)if(r[s+1]==1)o=r[s=sr(r,s+2)];else{if(r[s+1]==2)return sr(r,s+2);break}if(o==i||o==0)return sr(r,s+1)}return 0}stateSlot(e,i){return this.states[e*6+i]}stateFlag(e,i){return(this.stateSlot(e,0)&i)>0}validAction(e,i){return!!this.allActions(e,r=>r==i?!0:null)}allActions(e,i){let r=this.stateSlot(e,4),n=r?i(r):void 0;for(let s=this.stateSlot(e,1);n==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=sr(this.data,s+2);else break;n=i(sr(this.data,s+1))}return n}nextStates(e){let i=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=sr(this.data,r+2);else break;if(!(this.data[r+2]&1)){let n=this.data[r+1];i.some((s,o)=>o&1&&s==n)||i.push(this.data[r],n)}}return i}configure(e){let i=Object.assign(Object.create(zt.prototype),this);if(e.props&&(i.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}`);i.top=r}return e.tokenizers&&(i.tokenizers=this.tokenizers.map(r=>{let n=e.tokenizers.find(s=>s.from==r);return n?n.to:r})),e.specializers&&(i.specializers=this.specializers.slice(),i.specializerSpecs=this.specializerSpecs.map((r,n)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return i.specializers[n]=o$(o),o})),e.contextTracker&&(i.context=e.contextTracker),e.dialect&&(i.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(i.strict=e.strict),e.wrap&&(i.wrappers=i.wrappers.concat(e.wrap)),e.bufferLength!=null&&(i.bufferLength=e.bufferLength),i}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 i=this.dynamicPrecedences;return i==null?0:i[e]||0}parseDialect(e){let i=Object.keys(this.dialects),r=i.map(()=>!1);if(e)for(let s of e.split(" ")){let o=i.indexOf(s);o>=0&&(r[o]=!0)}let n=null;for(let s=0;s<i.length;s++)if(!r[s])for(let o=this.dialects[i[s]],a;(a=this.data[o++])!=65535;)(n||(n=new Uint8Array(this.maxTerm+1)))[a]=1;return new LZ(e,r,n)}static deserialize(e){return new zt(e)}}function sr(t,e){return t[e]|t[e+1]<<16}function DZ(t){let e=null;for(let i of t){let r=i.p.stoppedAt;(i.pos==i.p.stream.end||r!=null&&i.pos>r)&&i.p.parser.stateFlag(i.state,2)&&(!e||e.score<i.score)&&(e=i)}return e}function o$(t){if(t.external){let e=t.extend?1:0;return(i,r)=>t.external(i,r)<<1|e}return t.get}const MZ=316,GZ=317,a$=1,BZ=2,IZ=3,NZ=4,FZ=318,HZ=320,KZ=321,JZ=5,eW=6,tW=0,wd=[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],zy=125,iW=59,Xd=47,rW=42,nW=43,sW=45,oW=60,aW=44,lW=63,OW=46,cW=91,hW=new Ja({start:!1,shift(t,e){return e==JZ||e==eW||e==HZ?t:e==KZ},strict:!1}),uW=new ye((t,e)=>{let{next:i}=t;(i==zy||i==-1||e.context)&&t.acceptToken(FZ)},{contextual:!0,fallback:!0}),fW=new ye((t,e)=>{let{next:i}=t,r;wd.indexOf(i)>-1||i==Xd&&((r=t.peek(1))==Xd||r==rW)||i!=zy&&i!=iW&&i!=-1&&!e.context&&t.acceptToken(MZ)},{contextual:!0}),dW=new ye((t,e)=>{t.next==cW&&!e.context&&t.acceptToken(GZ)},{contextual:!0}),pW=new ye((t,e)=>{let{next:i}=t;if(i==nW||i==sW){if(t.advance(),i==t.next){t.advance();let r=!e.context&&e.canShift(a$);t.acceptToken(r?a$:BZ)}}else i==lW&&t.peek(1)==OW&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(IZ))},{contextual:!0});function fu(t,e){return t>=65&&t<=90||t>=97&&t<=122||t==95||t>=192||!e&&t>=48&&t<=57}const mW=new ye((t,e)=>{if(t.next!=oW||!e.dialectEnabled(tW)||(t.advance(),t.next==Xd))return;let i=0;for(;wd.indexOf(t.next)>-1;)t.advance(),i++;if(fu(t.next,!0)){for(t.advance(),i++;fu(t.next,!1);)t.advance(),i++;for(;wd.indexOf(t.next)>-1;)t.advance(),i++;if(t.next==aW)return;for(let r=0;;r++){if(r==7){if(!fu(t.next,!0))return;break}if(t.next!="extends".charCodeAt(r))break;t.advance(),i++}}t.acceptToken(NZ,-i)}),gW=qt({"get set async static":y.modifier,"for while do if else switch try catch finally return throw break continue default case defer":y.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":y.operatorKeyword,"let var const using function class extends":y.definitionKeyword,"import export from":y.moduleKeyword,"with debugger new":y.keyword,TemplateString:y.special(y.string),super:y.atom,BooleanLiteral:y.bool,this:y.self,null:y.null,Star:y.modifier,VariableName:y.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":y.function(y.variableName),VariableDefinition:y.definition(y.variableName),Label:y.labelName,PropertyName:y.propertyName,PrivatePropertyName:y.special(y.propertyName),"CallExpression/MemberExpression/PropertyName":y.function(y.propertyName),"FunctionDeclaration/VariableDefinition":y.function(y.definition(y.variableName)),"ClassDeclaration/VariableDefinition":y.definition(y.className),"NewExpression/VariableName":y.className,PropertyDefinition:y.definition(y.propertyName),PrivatePropertyDefinition:y.definition(y.special(y.propertyName)),UpdateOp:y.updateOperator,"LineComment Hashbang":y.lineComment,BlockComment:y.blockComment,Number:y.number,String:y.string,Escape:y.escape,ArithOp:y.arithmeticOperator,LogicOp:y.logicOperator,BitOp:y.bitwiseOperator,CompareOp:y.compareOperator,RegExp:y.regexp,Equals:y.definitionOperator,Arrow:y.function(y.punctuation),": Spread":y.punctuation,"( )":y.paren,"[ ]":y.squareBracket,"{ }":y.brace,"InterpolationStart InterpolationEnd":y.special(y.brace),".":y.derefOperator,", ;":y.separator,"@":y.meta,TypeName:y.typeName,TypeDefinition:y.definition(y.typeName),"type enum interface implements namespace module declare":y.definitionKeyword,"abstract global Privacy readonly override":y.modifier,"is keyof unique infer asserts":y.operatorKeyword,JSXAttributeValue:y.attributeValue,JSXText:y.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":y.angleBracket,"JSXIdentifier JSXNameSpacedName":y.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":y.attributeName,"JSXBuiltin/JSXIdentifier":y.standard(y.tagName)}),QW={__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},SW={__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},$W={__proto__:null,"<":193},_W=zt.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&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%hOTX'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%WOPP~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:hW,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:[gW],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:[fW,dW,pW,mW,2,3,4,5,6,7,8,9,10,11,12,13,14,uW,new qs("$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 qs("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:t=>QW[t]||-1},{term:343,get:t=>SW[t]||-1},{term:95,get:t=>$W[t]||-1}],tokenPrec:15201}),qy=[he("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),he("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),he("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),he("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),he("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),he(`try {
|
|
62
62
|
\${}
|
|
63
63
|
} catch (\${error}) {
|
|
64
64
|
\${}
|
|
@@ -84,5 +84,5 @@ WARNING: This link could potentially be dangerous`)){const d=window.open();if(d)
|
|
|
84
84
|
`?"":i;else{let n=i.indexOf(`
|
|
85
85
|
`);r=n<0?i:i.slice(0,n)}return e+r.length>this.to?r.slice(0,this.to-e):r}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,i,r=0){this.block=gc.create(e,r,this.lineStart+i,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,i,r=0){this.startContext(this.parser.getNodeType(e),i,r)}addNode(e,i,r){typeof e=="number"&&(e=new _e(this.parser.nodeSet.types[e],Es,Es,(r??this.prevLineEnd())-i)),this.block.addChild(e,i-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,i){this.addNode(this.buffer.writeElements(zd(i.children,e.marks),-i.from).finish(i.type,i.to-i.from),i.from)}finishContext(){let e=this.stack.pop(),i=this.stack[this.stack.length-1];i.addChild(e.toTree(this.parser.nodeSet),e.from-i.from),this.block=i}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?yw(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 i=zd(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(i,-e.start).finish(I.Paragraph,e.content.length),e.start)}elt(e,i,r,n){return typeof e=="string"?pe(this.parser.getNodeType(e),i,r,n):new bw(e,i)}get buffer(){return new Xw(this.parser.nodeSet)}}function yw(t,e,i,r,n){let s=t[e].to,o=[],a=[],l=i.from+r;function O(c,h){for(;h?c>=s:c>s;){let u=t[e+1].from-s;r+=u,c+=u,e++,s=t[e].to}}for(let c=i.firstChild;c;c=c.nextSibling){O(c.from+r,!0);let h=c.from+r,u,m=n.get(c.tree);m?u=m:c.to+r>s?(u=yw(t,e,c,r,n),O(c.to+r,!1)):u=c.toTree(),o.push(u),a.push(h-l)}return O(i.to+r,!1),new _e(i.type,o,a,i.to+r-l,i.tree?i.tree.propValues:void 0)}class rh extends am{constructor(e,i,r,n,s,o,a,l,O){super(),this.nodeSet=e,this.blockParsers=i,this.leafBlockParsers=r,this.blockNames=n,this.endLeafBlock=s,this.skipContextMarkup=o,this.inlineParsers=a,this.inlineNames=l,this.wrappers=O,this.nodeTypes=Object.create(null);for(let c of e.types)this.nodeTypes[c.name]=c.id}createParse(e,i,r){let n=new iV(this,e,i,r);for(let s of this.wrappers)n=s(n,e,i,r);return n}configure(e){let i=Ud(e);if(!i)return this;let{nodeSet:r,skipContextMarkup:n}=this,s=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),a=this.blockNames.slice(),l=this.inlineParsers.slice(),O=this.inlineNames.slice(),c=this.endLeafBlock.slice(),h=this.wrappers;if(So(i.defineNodes)){n=Object.assign({},n);let u=r.types.slice(),m;for(let S of i.defineNodes){let{name:Q,block:g,composite:d,style:f}=typeof S=="string"?{name:S}:S;if(u.some(_=>_.name==Q))continue;d&&(n[u.length]=(_,P,w)=>d(P,w,_.value));let p=u.length,$=d?["Block","BlockContext"]:g?p>=I.ATXHeading1&&p<=I.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;u.push(Ne.define({id:p,name:Q,props:$&&[[le.group,$]]})),f&&(m||(m={}),Array.isArray(f)||f instanceof zi?m[Q]=f:Object.assign(m,f))}r=new Ba(u),m&&(r=r.extend(qt(m)))}if(So(i.props)&&(r=r.extend(...i.props)),So(i.remove))for(let u of i.remove){let m=this.blockNames.indexOf(u),S=this.inlineNames.indexOf(u);m>-1&&(s[m]=o[m]=void 0),S>-1&&(l[S]=void 0)}if(So(i.parseBlock))for(let u of i.parseBlock){let m=a.indexOf(u.name);if(m>-1)s[m]=u.parse,o[m]=u.leaf;else{let S=u.before?Gl(a,u.before):u.after?Gl(a,u.after)+1:a.length-1;s.splice(S,0,u.parse),o.splice(S,0,u.leaf),a.splice(S,0,u.name)}u.endLeaf&&c.push(u.endLeaf)}if(So(i.parseInline))for(let u of i.parseInline){let m=O.indexOf(u.name);if(m>-1)l[m]=u.parse;else{let S=u.before?Gl(O,u.before):u.after?Gl(O,u.after)+1:O.length-1;l.splice(S,0,u.parse),O.splice(S,0,u.name)}}return i.wrap&&(h=h.concat(i.wrap)),new rh(r,s,o,a,c,n,l,O,h)}getNodeType(e){let i=this.nodeTypes[e];if(i==null)throw new RangeError(`Unknown node type '${e}'`);return i}parseInline(e,i){let r=new qm(this,e,i);e:for(let n=i;n<r.end;){let s=r.char(n);for(let o of this.inlineParsers)if(o){let a=o(r,s,n);if(a>=0){n=a;continue e}}n++}return r.resolveMarkers(0)}}function So(t){return t!=null&&t.length>0}function Ud(t){if(!Array.isArray(t))return t;if(t.length==0)return null;let e=Ud(t[0]);if(t.length==1)return e;let i=Ud(t.slice(1));if(!i||!e)return e||i;let r=(o,a)=>(o||Es).concat(a||Es),n=e.wrap,s=i.wrap;return{props:r(e.props,i.props),defineNodes:r(e.defineNodes,i.defineNodes),parseBlock:r(e.parseBlock,i.parseBlock),parseInline:r(e.parseInline,i.parseInline),remove:r(e.remove,i.remove),wrap:n?s?(o,a,l,O)=>n(s(o,a,l,O),a,l,O):n:s}}function Gl(t,e){let i=t.indexOf(e);if(i<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return i}let ww=[Ne.none];for(let t=1,e;e=I[t];t++)ww[t]=Ne.define({id:t,name:e,props:t>=I.Escape?[]:[[le.group,t in dw?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});const Es=[];class Xw{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,i,r,n=0){return this.content.push(e,i,r,4+n*4),this}writeElements(e,i=0){for(let r of e)r.writeTo(this,i);return this}finish(e,i){return _e.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:i})}}let Za=class{constructor(e,i,r,n=Es){this.type=e,this.from=i,this.to=r,this.children=n}writeTo(e,i){let r=e.content.length;e.writeElements(this.children,i),e.content.push(this.type,this.from+i,this.to+i,e.content.length+4-r)}toTree(e){return new Xw(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class bw{constructor(e,i){this.tree=e,this.from=i}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Es}writeTo(e,i){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+i,this.to+i,-1)}toTree(){return this.tree}}function pe(t,e,i,r){return new Za(t,e,i,r)}const xw={resolve:"Emphasis",mark:"EmphasisMark"},kw={resolve:"Emphasis",mark:"EmphasisMark"},gn={},Qc={};class Mt{constructor(e,i,r,n){this.type=e,this.from=i,this.to=r,this.side=n}}const q$="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let Wa=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{Wa=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const vu={Escape(t,e,i){if(e!=92||i==t.end-1)return-1;let r=t.char(i+1);for(let n=0;n<q$.length;n++)if(q$.charCodeAt(n)==r)return t.append(pe(I.Escape,i,i+2));return-1},Entity(t,e,i){if(e!=38)return-1;let r=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(t.slice(i+1,i+31));return r?t.append(pe(I.Entity,i,i+1+r[0].length)):-1},InlineCode(t,e,i){if(e!=96||i&&t.char(i-1)==96)return-1;let r=i+1;for(;r<t.end&&t.char(r)==96;)r++;let n=r-i,s=0;for(;r<t.end;r++)if(t.char(r)==96){if(s++,s==n&&t.char(r+1)!=96)return t.append(pe(I.InlineCode,i,r+1,[pe(I.CodeMark,i,i+n),pe(I.CodeMark,r+1-n,r+1)]))}else s=0;return-1},HTMLTag(t,e,i){if(e!=60||i==t.end-1)return-1;let r=t.slice(i+1,t.end),n=/^(?:[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(n)return t.append(pe(I.Autolink,i,i+1+n[0].length,[pe(I.LinkMark,i,i+1),pe(I.URL,i+1,i+n[0].length),pe(I.LinkMark,i+n[0].length,i+1+n[0].length)]));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(r);if(s)return t.append(pe(I.Comment,i,i+1+s[0].length));let o=/^\?[^]*?\?>/.exec(r);if(o)return t.append(pe(I.ProcessingInstruction,i,i+1+o[0].length));let a=/^(?:![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 a?t.append(pe(I.HTMLTag,i,i+1+a[0].length)):-1},Emphasis(t,e,i){if(e!=95&&e!=42)return-1;let r=i+1;for(;t.char(r)==e;)r++;let n=t.slice(i-1,i),s=t.slice(r,r+1),o=Wa.test(n),a=Wa.test(s),l=/\s|^$/.test(n),O=/\s|^$/.test(s),c=!O&&(!a||l||o),h=!l&&(!o||O||a),u=c&&(e==42||!h||o),m=h&&(e==42||!c||a);return t.append(new Mt(e==95?xw:kw,i,r,(u?1:0)|(m?2:0)))},HardBreak(t,e,i){if(e==92&&t.char(i+1)==10)return t.append(pe(I.HardBreak,i,i+2));if(e==32){let r=i+1;for(;t.char(r)==32;)r++;if(t.char(r)==10&&r>=i+2)return t.append(pe(I.HardBreak,i,r+1))}return-1},Link(t,e,i){return e==91?t.append(new Mt(gn,i,i+1,1)):-1},Image(t,e,i){return e==33&&t.char(i+1)==91?t.append(new Mt(Qc,i,i+2,1)):-1},LinkEnd(t,e,i){if(e!=93)return-1;for(let r=t.parts.length-1;r>=0;r--){let n=t.parts[r];if(n instanceof Mt&&(n.type==gn||n.type==Qc)){if(!n.side||t.skipSpace(n.to)==i&&!/[(\[]/.test(t.slice(i+1,i+2)))return t.parts[r]=null,-1;let s=t.takeContent(r),o=t.parts[r]=rV(t,s,n.type==gn?I.Link:I.Image,n.from,i+1);if(n.type==gn)for(let a=0;a<r;a++){let l=t.parts[a];l instanceof Mt&&l.type==gn&&(l.side=0)}return o.to}}return-1}};function rV(t,e,i,r,n){let{text:s}=t,o=t.char(n),a=n;if(e.unshift(pe(I.LinkMark,r,r+(i==I.Image?2:1))),e.push(pe(I.LinkMark,n-1,n)),o==40){let l=t.skipSpace(n+1),O=Tw(s,l-t.offset,t.offset),c;O&&(l=t.skipSpace(O.to),l!=O.to&&(c=Rw(s,l-t.offset,t.offset),c&&(l=t.skipSpace(c.to)))),t.char(l)==41&&(e.push(pe(I.LinkMark,n,n+1)),a=l+1,O&&e.push(O),c&&e.push(c),e.push(pe(I.LinkMark,l,a)))}else if(o==91){let l=Cw(s,n-t.offset,t.offset,!1);l&&(e.push(l),a=l.to)}return pe(i,r,a,e)}function Tw(t,e,i){if(t.charCodeAt(e)==60){for(let n=e+1;n<t.length;n++){let s=t.charCodeAt(n);if(s==62)return pe(I.URL,e+i,n+1+i);if(s==60||s==10)return!1}return null}else{let n=0,s=e;for(let o=!1;s<t.length;s++){let a=t.charCodeAt(s);if(fi(a))break;if(o)o=!1;else if(a==40)n++;else if(a==41){if(!n)break;n--}else a==92&&(o=!0)}return s>e?pe(I.URL,e+i,s+i):s==t.length?null:!1}}function Rw(t,e,i){let r=t.charCodeAt(e);if(r!=39&&r!=34&&r!=40)return!1;let n=r==40?41:r;for(let s=e+1,o=!1;s<t.length;s++){let a=t.charCodeAt(s);if(o)o=!1;else{if(a==n)return pe(I.LinkTitle,e+i,s+1+i);a==92&&(o=!0)}}return null}function Cw(t,e,i,r){for(let n=!1,s=e+1,o=Math.min(t.length,s+999);s<o;s++){let a=t.charCodeAt(s);if(n)n=!1;else{if(a==93)return r?!1:pe(I.LinkLabel,e+i,s+1+i);if(r&&!fi(a)&&(r=!1),a==91)return!1;a==92&&(n=!0)}}return null}class qm{constructor(e,i,r){this.parser=e,this.text=i,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,i){return this.text.slice(e-this.offset,i-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,i,r,n,s){return this.append(new Mt(e,i,r,(n?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let i=this.parts[e];if(i instanceof Mt&&(i.type==gn||i.type==Qc))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let r=e;r<this.parts.length;r++){let n=this.parts[r];if(!(n instanceof Mt&&n.type.resolve&&n.side&2))continue;let s=n.type==xw||n.type==kw,o=n.to-n.from,a,l=r-1;for(;l>=e;l--){let Q=this.parts[l];if(Q instanceof Mt&&Q.side&1&&Q.type==n.type&&!(s&&(n.side&1||Q.side&2)&&(Q.to-Q.from+o)%3==0&&((Q.to-Q.from)%3||o%3))){a=Q;break}}if(!a)continue;let O=n.type.resolve,c=[],h=a.from,u=n.to;if(s){let Q=Math.min(2,a.to-a.from,o);h=a.to-Q,u=n.from+Q,O=Q==1?"Emphasis":"StrongEmphasis"}a.type.mark&&c.push(this.elt(a.type.mark,h,a.to));for(let Q=l+1;Q<r;Q++)this.parts[Q]instanceof Za&&c.push(this.parts[Q]),this.parts[Q]=null;n.type.mark&&c.push(this.elt(n.type.mark,n.from,u));let m=this.elt(O,h,u,c);this.parts[l]=s&&a.from!=h?new Mt(a.type,a.from,h,a.side):null,(this.parts[r]=s&&n.to!=u?new Mt(n.type,u,n.to,n.side):null)?this.parts.splice(r,0,m):this.parts[r]=m}let i=[];for(let r=e;r<this.parts.length;r++){let n=this.parts[r];n instanceof Za&&i.push(n)}return i}findOpeningDelimiter(e){for(let i=this.parts.length-1;i>=0;i--){let r=this.parts[i];if(r instanceof Mt&&r.type==e&&r.side&1)return i}return null}takeContent(e){let i=this.resolveMarkers(e);return this.parts.length=e,i}getDelimiterAt(e){let i=this.parts[e];return i instanceof Mt?i:null}skipSpace(e){return No(this.text,e-this.offset)+this.offset}elt(e,i,r,n){return typeof e=="string"?pe(this.parser.getNodeType(e),i,r,n):new bw(e,i)}}qm.linkStart=gn;qm.imageStart=Qc;function zd(t,e){if(!e.length)return t;if(!t.length)return e;let i=t.slice(),r=0;for(let n of e){for(;r<i.length&&i[r].to<n.to;)r++;if(r<i.length&&i[r].from<n.from){let s=i[r];s instanceof Za&&(i[r]=new Za(s.type,s.from,s.to,zd(s.children,[n])))}else i.splice(r++,0,n)}return i}const nV=[I.CodeBlock,I.ListItem,I.OrderedList,I.BulletList];class sV{constructor(e,i){this.fragments=e,this.input=i,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,i){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 s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=`
|
|
86
86
|
`;)s--;this.fragmentEnd=s?s-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let n=e+this.fragment.offset;for(;r.to<=n;)if(!r.parent())return!1;for(;;){if(r.from>=n)return this.fragment.from<=i;if(!r.childAfter(n))return!1}}matches(e){let i=this.cursor.tree;return i&&i.prop(le.contextHash)==e}takeNodes(e){let i=this.cursor,r=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,l=o,O=a;for(;;){if(i.to-r>n){if(i.type.isAnonymous&&i.firstChild())continue;break}let c=Yw(i.from-r,e.ranges);if(i.to-r<=e.ranges[e.rangeI].to)e.addNode(i.tree,c);else{let h=new _e(e.parser.nodeSet.types[I.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(h,i.tree),e.addNode(h,c)}if(i.type.is("Block")&&(nV.indexOf(i.type.id)<0?(o=i.to-r,a=e.block.children.length):(o=l,a=O),l=i.to-r,O=e.block.children.length),!i.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}}function Yw(t,e){let i=t;for(let r=1;r<e.length;r++){let n=e[r-1].to,s=e[r].from;n<t&&(i-=s-n)}return i}const oV=qt({"Blockquote/...":y.quote,HorizontalRule:y.contentSeparator,"ATXHeading1/... SetextHeading1/...":y.heading1,"ATXHeading2/... SetextHeading2/...":y.heading2,"ATXHeading3/...":y.heading3,"ATXHeading4/...":y.heading4,"ATXHeading5/...":y.heading5,"ATXHeading6/...":y.heading6,"Comment CommentBlock":y.comment,Escape:y.escape,Entity:y.character,"Emphasis/...":y.emphasis,"StrongEmphasis/...":y.strong,"Link/... Image/...":y.link,"OrderedList/... BulletList/...":y.list,"BlockQuote/...":y.quote,"InlineCode CodeText":y.monospace,"URL Autolink":y.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":y.processingInstruction,"CodeInfo LinkLabel":y.labelName,LinkTitle:y.string,Paragraph:y.content}),aV=new rh(new Ba(ww).extend(oV),Object.keys(Ml).map(t=>Ml[t]),Object.keys(Ml).map(t=>Pw[t]),Object.keys(Ml),eV,dw,Object.keys(vu).map(t=>vu[t]),Object.keys(vu),[]);function lV(t,e,i){let r=[];for(let n=t.firstChild,s=e;;n=n.nextSibling){let o=n?n.from:i;if(o>s&&r.push({from:s,to:o}),!n)break;s=n.to}return r}function OV(t){let{codeParser:e,htmlParser:i}=t;return{wrap:mP((n,s)=>{let o=n.type.id;if(e&&(o==I.CodeBlock||o==I.FencedCode)){let a="";if(o==I.FencedCode){let O=n.node.getChild(I.CodeInfo);O&&(a=s.read(O.from,O.to))}let l=e(a);if(l)return{parser:l,overlay:O=>O.type.id==I.CodeText,bracketed:o==I.FencedCode}}else if(i&&(o==I.HTMLBlock||o==I.HTMLTag||o==I.CommentBlock))return{parser:i,overlay:lV(n.node,n.from,n.to)};return null})}}const cV={resolve:"Strikethrough",mark:"StrikethroughMark"},hV={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":y.strikethrough}},{name:"StrikethroughMark",style:y.processingInstruction}],parseInline:[{name:"Strikethrough",parse(t,e,i){if(e!=126||t.char(i+1)!=126||t.char(i+2)==126)return-1;let r=t.slice(i-1,i),n=t.slice(i+2,i+3),s=/\s|^$/.test(r),o=/\s|^$/.test(n),a=Wa.test(r),l=Wa.test(n);return t.addDelimiter(cV,i,i+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function Fo(t,e,i=0,r,n=0){let s=0,o=!0,a=-1,l=-1,O=!1,c=()=>{r.push(t.elt("TableCell",n+a,n+l,t.parser.parseInline(e.slice(a,l),n+a)))};for(let h=i;h<e.length;h++){let u=e.charCodeAt(h);u==124&&!O?((!o||a>-1)&&s++,o=!1,r&&(a>-1&&c(),r.push(t.elt("TableDelimiter",h+n,h+n+1))),a=l=-1):(O||u!=32&&u!=9)&&(a<0&&(a=h),l=h+1),O=!O&&u==92}return a>-1&&(s++,r&&c()),s}function V$(t,e){for(let i=e;i<t.length;i++){let r=t.charCodeAt(i);if(r==124)return!0;r==92&&i++}return!1}const Zw=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class E${constructor(){this.rows=null}nextLine(e,i,r){if(this.rows==null){this.rows=!1;let n;if((i.next==45||i.next==58||i.next==124)&&Zw.test(n=i.text.slice(i.pos))){let s=[];Fo(e,r.content,0,s,r.start)==Fo(e,n,i.pos)&&(this.rows=[e.elt("TableHeader",r.start,r.start+r.content.length,s),e.elt("TableDelimiter",e.lineStart+i.pos,e.lineStart+i.text.length)])}}else if(this.rows){let n=[];Fo(e,i.text,i.pos,n,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+i.pos,e.lineStart+i.text.length,n))}return!1}finish(e,i){return this.rows?(e.addLeafElement(i,e.elt("Table",i.start,i.start+i.content.length,this.rows)),!0):!1}}const uV={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":y.heading}},"TableRow",{name:"TableCell",style:y.content},{name:"TableDelimiter",style:y.processingInstruction}],parseBlock:[{name:"Table",leaf(t,e){return V$(e.content,0)?new E$:null},endLeaf(t,e,i){if(i.parsers.some(n=>n instanceof E$)||!V$(e.text,e.basePos))return!1;let r=t.peekLine();return Zw.test(r)&&Fo(t,e.text,e.basePos)==Fo(t,r,e.basePos)},before:"SetextHeading"}]};class fV{nextLine(){return!1}finish(e,i){return e.addLeafElement(i,e.elt("Task",i.start,i.start+i.content.length,[e.elt("TaskMarker",i.start,i.start+3),...e.parser.parseInline(i.content.slice(3),i.start+3)])),!0}}const dV={defineNodes:[{name:"Task",block:!0,style:y.list},{name:"TaskMarker",style:y.atom}],parseBlock:[{name:"TaskList",leaf(t,e){return/^\[[ xX]\][ \t]/.test(e.content)&&t.parentType().name=="ListItem"?new fV:null},after:"SetextHeading"}]},A$=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,j$=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,pV=/[\w-]+\.[\w-]+($|\/)/,L$=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,D$=/\/[a-zA-Z\d@.]+/gy;function M$(t,e,i,r){let n=0;for(let s=e;s<i;s++)t[s]==r&&n++;return n}function mV(t,e){j$.lastIndex=e;let i=j$.exec(t);if(!i||pV.exec(i[0])[0].indexOf("_")>-1)return-1;let r=e+i[0].length;for(;;){let n=t[r-1],s;if(/[?!.,:*_~]/.test(n)||n==")"&&M$(t,e,r,")")>M$(t,e,r,"("))r--;else if(n==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e,r))))r=e+s.index;else break}return r}function G$(t,e){L$.lastIndex=e;let i=L$.exec(t);if(!i)return-1;let r=i[0][i[0].length-1];return r=="_"||r=="-"?-1:e+i[0].length-(r=="."?1:0)}const gV={parseInline:[{name:"Autolink",parse(t,e,i){let r=i-t.offset;if(r&&/\w/.test(t.text[r-1]))return-1;A$.lastIndex=r;let n=A$.exec(t.text),s=-1;if(!n)return-1;if(n[1]||n[2]){if(s=mV(t.text,r+n[0].length),s>-1&&t.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(t.text.slice(r,s));s=r+o[0].length}}else n[3]?s=G$(t.text,r):(s=G$(t.text,r+n[0].length),s>-1&&n[0]=="xmpp:"&&(D$.lastIndex=s,n=D$.exec(t.text),n&&(s=n.index+n[0].length)));return s<0?-1:(t.addElement(t.elt("URL",i,s+t.offset)),s+t.offset)}}]},QV=[uV,dV,hV,gV];function Ww(t,e,i){return(r,n,s)=>{if(n!=t||r.char(s+1)==t)return-1;let o=[r.elt(i,s,s+1)];for(let a=s+1;a<r.end;a++){let l=r.char(a);if(l==t)return r.addElement(r.elt(e,s,a+1,o.concat(r.elt(i,a,a+1))));if(l==92&&o.push(r.elt("Escape",a,a+++2)),fi(l))break}return-1}}const SV={defineNodes:[{name:"Superscript",style:y.special(y.content)},{name:"SuperscriptMark",style:y.processingInstruction}],parseInline:[{name:"Superscript",parse:Ww(94,"Superscript","SuperscriptMark")}]},$V={defineNodes:[{name:"Subscript",style:y.special(y.content)},{name:"SubscriptMark",style:y.processingInstruction}],parseInline:[{name:"Subscript",parse:Ww(126,"Subscript","SubscriptMark")}]},_V={defineNodes:[{name:"Emoji",style:y.character}],parseInline:[{name:"Emoji",parse(t,e,i){let r;return e!=58||!(r=/^[a-zA-Z_0-9]+:/.exec(t.slice(i+1,t.end)))?-1:t.addElement(t.elt("Emoji",i,i+1+r[0].length))}}]},vV=55,PV=1,yV=56,wV=2,XV=57,bV=3,B$=4,xV=5,Vm=6,Uw=7,zw=8,qw=9,Vw=10,kV=11,TV=12,RV=13,Pu=58,CV=14,YV=15,I$=59,Ew=21,ZV=23,Aw=24,WV=25,qd=27,jw=28,UV=29,zV=32,qV=35,VV=37,EV=38,AV=0,jV=1,LV={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},DV={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},N$={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 MV(t){return t==45||t==46||t==58||t>=65&&t<=90||t==95||t>=97&&t<=122||t>=161}let F$=null,H$=null,K$=0;function Vd(t,e){let i=t.pos+e;if(K$==i&&H$==t)return F$;let r=t.peek(e),n="";for(;MV(r);)n+=String.fromCharCode(r),r=t.peek(++e);return H$=t,K$=i,F$=n?n.toLowerCase():r==GV||r==BV?void 0:null}const Lw=60,Sc=62,Em=47,GV=63,BV=33,IV=45;function J$(t,e){this.name=t,this.parent=e}const NV=[Vm,Vw,Uw,zw,qw],FV=new Ja({start:null,shift(t,e,i,r){return NV.indexOf(e)>-1?new J$(Vd(r,1)||"",t):t},reduce(t,e){return e==Ew&&t?t.parent:t},reuse(t,e,i,r){let n=e.type.id;return n==Vm||n==VV?new J$(Vd(r,1)||"",t):t},strict:!1}),HV=new ye((t,e)=>{if(t.next!=Lw){t.next<0&&e.context&&t.acceptToken(Pu);return}t.advance();let i=t.next==Em;i&&t.advance();let r=Vd(t,0);if(r===void 0)return;if(!r)return t.acceptToken(i?YV:CV);let n=e.context?e.context.name:null;if(i){if(r==n)return t.acceptToken(kV);if(n&&DV[n])return t.acceptToken(Pu,-2);if(e.dialectEnabled(AV))return t.acceptToken(TV);for(let s=e.context;s;s=s.parent)if(s.name==r)return;t.acceptToken(RV)}else{if(r=="script")return t.acceptToken(Uw);if(r=="style")return t.acceptToken(zw);if(r=="textarea")return t.acceptToken(qw);if(LV.hasOwnProperty(r))return t.acceptToken(Vw);n&&N$[n]&&N$[n][r]?t.acceptToken(Pu,-1):t.acceptToken(Vm)}},{contextual:!0}),KV=new ye(t=>{for(let e=0,i=0;;i++){if(t.next<0){i&&t.acceptToken(I$);break}if(t.next==IV)e++;else if(t.next==Sc&&e>=2){i>=3&&t.acceptToken(I$,-2);break}else e=0;t.advance()}});function JV(t){for(;t;t=t.parent)if(t.name=="svg"||t.name=="math")return!0;return!1}const eE=new ye((t,e)=>{if(t.next==Em&&t.peek(1)==Sc){let i=e.dialectEnabled(jV)||JV(e.context);t.acceptToken(i?xV:B$,2)}else t.next==Sc&&t.acceptToken(B$,1)});function Am(t,e,i){let r=2+t.length;return new ye(n=>{for(let s=0,o=0,a=0;;a++){if(n.next<0){a&&n.acceptToken(e);break}if(s==0&&n.next==Lw||s==1&&n.next==Em||s>=2&&s<r&&n.next==t.charCodeAt(s-2))s++,o++;else if(s==r&&n.next==Sc){a>o?n.acceptToken(e,-o):n.acceptToken(i,-(o-2));break}else if((n.next==10||n.next==13)&&a){n.acceptToken(e,1);break}else s=o=0;n.advance()}})}const tE=Am("script",vV,PV),iE=Am("style",yV,wV),rE=Am("textarea",XV,bV),nE=qt({"Text RawText IncompleteTag IncompleteCloseTag":y.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":y.angleBracket,TagName:y.tagName,"MismatchedCloseTag/TagName":[y.tagName,y.invalid],AttributeName:y.attributeName,"AttributeValue UnquotedAttributeValue":y.attributeValue,Is:y.definitionOperator,"EntityReference CharacterReference":y.character,Comment:y.blockComment,ProcessingInst:y.processingInstruction,DoctypeDecl:y.documentMeta}),sE=zt.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:FV,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:[nE],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:[tE,iE,rE,eE,HV,KV,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function Dw(t,e){let i=Object.create(null);for(let r of t.getChildren(Aw)){let n=r.getChild(WV),s=r.getChild(qd)||r.getChild(jw);n&&(i[e.read(n.from,n.to)]=s?s.type.id==qd?e.read(s.from+1,s.to-1):e.read(s.from,s.to):"")}return i}function e_(t,e){let i=t.getChild(ZV);return i?e.read(i.from,i.to):" "}function yu(t,e,i){let r;for(let n of i)if(!n.attrs||n.attrs(r||(r=Dw(t.node.parent.firstChild,e))))return{parser:n.parser,bracketed:!0};return null}function Mw(t=[],e=[]){let i=[],r=[],n=[],s=[];for(let a of t)(a.tag=="script"?i:a.tag=="style"?r:a.tag=="textarea"?n:s).push(a);let o=e.length?Object.create(null):null;for(let a of e)(o[a.name]||(o[a.name]=[])).push(a);return mP((a,l)=>{let O=a.type.id;if(O==UV)return yu(a,l,i);if(O==zV)return yu(a,l,r);if(O==qV)return yu(a,l,n);if(O==Ew&&s.length){let c=a.node,h=c.firstChild,u=h&&e_(h,l),m;if(u){for(let S of s)if(S.tag==u&&(!S.attrs||S.attrs(m||(m=Dw(h,l))))){let Q=c.lastChild,g=Q.type.id==EV?Q.from:c.to;if(g>h.to)return{parser:S.parser,overlay:[{from:h.to,to:g}]}}}}if(o&&O==Aw){let c=a.node,h;if(h=c.firstChild){let u=o[l.read(h.from,h.to)];if(u)for(let m of u){if(m.tagName&&m.tagName!=e_(c.parent,l))continue;let S=c.lastChild;if(S.type.id==qd){let Q=S.from+1,g=S.lastChild,d=S.to-(g&&g.isError?0:1);if(d>Q)return{parser:m.parser,overlay:[{from:Q,to:d}],bracketed:!0}}else if(S.type.id==jw)return{parser:m.parser,overlay:[{from:S.from,to:S.to}]}}}}return null})}const oE=122,t_=1,aE=123,lE=124,Gw=2,OE=125,cE=3,hE=4,Bw=[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,Iw=95,dE=91,gO=45,pE=46,mE=35,gE=37,QE=38,SE=92,$E=10,_E=42;function Ua(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function jm(t){return t>=48&&t<=57}function i_(t){return jm(t)||t>=97&&t<=102||t>=65&&t<=70}const Nw=(t,e,i)=>(r,n)=>{for(let s=!1,o=0,a=0;;a++){let{next:l}=r;if(Ua(l)||l==gO||l==Iw||s&&jm(l))!s&&(l!=gO||a>0)&&(s=!0),o===a&&l==gO&&o++,r.advance();else if(l==SE&&r.peek(1)!=$E){if(r.advance(),i_(r.next)){do r.advance();while(i_(r.next));r.next==32&&r.advance()}else r.next>-1&&r.advance();s=!0}else{s&&r.acceptToken(o==2&&n.canShift(Gw)?e:l==fE?i:t);break}}},vE=new ye(Nw(aE,Gw,lE)),PE=new ye(Nw(OE,cE,hE)),yE=new ye(t=>{if(Bw.includes(t.peek(-1))){let{next:e}=t;(Ua(e)||e==Iw||e==mE||e==pE||e==_E||e==dE||e==uE&&Ua(t.peek(1))||e==gO||e==QE)&&t.acceptToken(oE)}}),wE=new ye(t=>{if(!Bw.includes(t.peek(-1))){let{next:e}=t;if(e==gE&&(t.advance(),t.acceptToken(t_)),Ua(e)){do t.advance();while(Ua(t.next)||jm(t.next));t.acceptToken(t_)}}}),XE=qt({"AtKeyword import charset namespace keyframes media supports":y.definitionKeyword,"from to selector":y.keyword,NamespaceName:y.namespace,KeyframeName:y.labelName,KeyframeRangeName:y.operatorKeyword,TagName:y.tagName,ClassName:y.className,PseudoClassName:y.constant(y.className),IdName:y.labelName,"FeatureName PropertyName":y.propertyName,AttributeName:y.attributeName,NumberLiteral:y.number,KeywordQuery:y.keyword,UnaryQueryOp:y.operatorKeyword,"CallTag ValueName":y.atom,VariableName:y.variableName,Callee:y.operatorKeyword,Unit:y.unit,"UniversalSelector NestingSelector":y.definitionOperator,"MatchOp CompareOp":y.compareOperator,"ChildOp SiblingOp, LogicOp":y.logicOperator,BinOp:y.arithmeticOperator,Important:y.modifier,Comment:y.blockComment,ColorLiteral:y.color,"ParenthesizedContent StringLiteral":y.string,":":y.punctuation,"PseudoOp #":y.derefOperator,"; ,":y.separator,"( )":y.paren,"[ ]":y.squareBracket,"{ }":y.brace}),bE={__proto__:null,lang:38,"nth-child":38,"nth-last-child":38,"nth-of-type":38,"nth-last-of-type":38,dir:38,"host-context":38,if:84,url:124,"url-prefix":124,domain:124,regexp:124},xE={__proto__:null,or:98,and:98,not:106,only:106,layer:170},kE={__proto__:null,selector:112,layer:166},TE={__proto__:null,"@import":162,"@media":174,"@charset":178,"@namespace":182,"@keyframes":188,"@supports":200,"@scope":204},RE={__proto__:null,to:207},CE=zt.deserialize({version:14,states:"EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mO<rQhO'#EQOOQW'#EQ'#EQO=WQ`O1G0UO1[QhO1G0UOOQ[,59o,59oO'tQhO'#DXOOQ[,59q,59qO=]Q#tO,5:VOOQS1G0[1G0[OOQS1G0^1G0^OOQS1G0`1G0`O=hQ`O1G0`O=mQdO'#E`OOQS1G0c1G0cOOQS1G0i1G0iO=xQaO,5:RO-`Q`O1G0kOOQS1G0k1G0kO-eQ`O1G0kO>PQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<<IOOElQdO'#EqOEvQ`O,5;yOOQP1G/u1G/uOOQS-E8j-E8jOFOQdO'#EpOFYQ`O,5;rOOQ]1G.x1G.xOOQP<<IO<<IOOFbQdO7+$|OOQO'#D]'#D]OFiQ!bO7+%QOFqQhO'#EoOF{Q`O,5;xO&lQdO,5;xOOQW1G/o1G/oOOQO'#ES'#ESOGTQ`O1G0WOOQS<<I[<<I[O&lQdO,59tOGnQhO1G/_OOQ[1G/_1G/_OGuQ`O1G/_OOQW-E8l-E8lOOQ[7+%]7+%]OOQO,5:{,5:{O=pQdO'#ExOCeQ`O,5;cOOQS,5;c,5;cOOQS-E8u-E8uOOQS1G0f1G0fOOQS<<Iq<<IqOG}Q!fO,5;_OOQS-E8q-E8qOOQO<<IX<<IXOOQPAN>jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<<Hh<<HhOOQW<<Hl<<HlOIjQhO<<HlOI{QhO,5;ZOJWQ`O,5;ZOOQO-E8m-E8mOJ]QdO1G1dOBZQdO'#EuOJgQ`O7+%rOOQW7+%r7+%rOJoQ!bO1G/`OOQ[7+$y7+$yOJzQhO7+$yPKRQ`O'#EnOOQO,5;d,5;dOOQO-E8v-E8vOOQS1G0}1G0}OKWQ`OAN>WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<<I^<<I^OOQ[<<He<<HePOQW,5;Y,5;YOOQWG23rG23rOKeQdO7+&a",stateData:"Kx~O#sOS#tQQ~OW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#oRO~OQiOW[OZ[O]TO`VOaVOi]OjWOmXO!jYO!mZO!saO!ybO!{cO!}dO#QeO#WfO#YgO#ohO~O#m$SP~P!dO#tmO~O#ooO~O]qO`rOarOjsOmtO!juO!mwO#nvO~OpzO!^xO~P$SOc!QO#o|O#p}O~O#o!RO~O#o!TO~OW[OZ[O]TO`VOaVOjWOmXO!jYO!mZO#oRO~OS!]Oe!YO!V![O!Y!`O#q!XOp$TP~Ok$TP~P&POQ!jOe!cOm!dOp!eOr!mOt!mOz!kO!`!lO#o!bO#p!hO#}!fO~Ot!qO!`!lO#o!pO~Ot!sO#o!sO~OS!]Oe!YO!V![O!Y!`O#q!XO~Oe!vOpzO#Z!xO~O]YX`YX`!pXaYXjYXmYXpYX!^YX!jYX!mYX#nYX~O`!zO~Ok!{O#m$SXo$SX~O#m$SXo$SX~P!dO#u#OO#v#OO#w#QO~Oc#UO#o|O#p}O~OpzO!^xO~Oo$SP~P!dOe#`O~Oe#aO~Ol#bO!h#cO~O]qO`rOarOjsOmtO~Op!ia!^!ia!j!ia!m!ia#n!iad!ia~P*zOp!la!^!la!j!la!m!la#n!lad!la~P*zOR#gOS!]Oe!YOr#gOt#gO!V![O!Y!`O#q#dO#}!fO~O!R#iO!^#jOk$TXp$TX~Oe#mO~Ok#oOpzO~Oe!vO~O]#rO`#rOd#uOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl#wO~P&lO]#rO`#rOi#rOj#rOk#rOo#yO~P&lOP#zOSsXesXksXvsX!VsX!YsX!usX!wsX#qsX!TsXQsX]sX`sXdsXisXjsXmsXpsXrsXtsXzsX!`sX#osX#psX#}sXlsXosX!^sX!qsX#msX~Ov#{O!u#|O!w#}Ok$TP~P'tOe#aOS#{Xk#{Xv#{X!V#{X!Y#{X!u#{X!w#{X#q#{XQ#{X]#{X`#{Xd#{Xi#{Xj#{Xm#{Xp#{Xr#{Xt#{Xz#{X!`#{X#o#{X#p#{X#}#{Xl#{Xo#{X!^#{X!q#{X#m#{X~Oe$RO~Oe$TO~Ok$VOv#{O~Ok$WO~Ot$XO!`!lO~Op$YO~OpzO!R#iO~OpzO#Z$`O~O!q$bOk!oa#m!oao!oa~P&lOk#hX#m#hXo#hX~P!dOk!{O#m$Sao$Sa~O#u#OO#v#OO#w$hO~Ol$jO!h$kO~Op!ii!^!ii!j!ii!m!ii#n!iid!ii~P*zOp!ki!^!ki!j!ki!m!ki#n!kid!ki~P*zOp!li!^!li!j!li!m!li#n!lid!li~P*zOp#fa!^#fa~P$SOo$lO~Od$RP~P%_Od#zP~P&lO`!PXd}X!R}X!T!PX~O`$sO!T$tO~Od$uO!R#iO~Ok#jXp#jX!^#jX~P'tO!^#jOk$Tap$Ta~O!R#iOk!Uap!Ua!^!Uad!Ua`!Ua~OS!]Oe!YO!V![O!Y!`O#q$yO~Od$QP~P9dOv#{OQ#|X]#|X`#|Xd#|Xe#|Xi#|Xj#|Xk#|Xm#|Xp#|Xr#|Xt#|Xz#|X!`#|X#o#|X#p#|X#}#|Xl#|Xo#|X~O]#rO`#rOd%OOi#rOj#rOk#rO~P&lO]#rO`#rOi#rOj#rOk#rOl%PO~P&lO]#rO`#rOi#rOj#rOk#rOo%QO~P&lOe%SOS!tXk!tX!V!tX!Y!tX#q!tX~Ok%TO~Od%YOt%ZO!a%ZO~Ok%[O~Oo%cO#o%^O#}%]O~Od%dO~P$SOv#{O!^%hO!q%jOk!oi#m!oio!oi~P&lOk#ha#m#hao#ha~P!dOk!{O#m$Sio$Si~O!^%mOd$RX~P$SOd%oO~Ov#{OQ#`Xd#`Xe#`Xm#`Xp#`Xr#`Xt#`Xz#`X!^#`X!`#`X#o#`X#p#`X#}#`X~O!^%qOd#zX~P&lOd%sO~Ol%tOv#{O~OR#gOr#gOt#gO#q%vO#}!fO~O!R#iOk#jap#ja!^#ja~O`!PXd}X!R}X!^}X~O!R#iO!^%xOd$QX~O`%zO~Od%{O~O#o%|O~Ok&OO~O`&PO!R#iO~Od&ROk&QO~Od&UO~OP#zOpsX!^sXdsX~O#}%]Op#TX!^#TX~OpzO!^&WO~Oo&[O#o%^O#}%]O~Ov#{OQ#gXe#gXk#gXm#gXp#gXr#gXt#gXz#gX!^#gX!`#gX!q#gX#m#gX#o#gX#p#gX#}#gXo#gX~O!^%hO!q&`Ok!oq#m!oqo!oq~P&lOl&aOv#{O~Od#eX!^#eX~P%_O!^%mOd$Ra~Od#dX!^#dX~P&lO!^%qOd#za~Od&fO~P&lOd&gO!T&hO~Od#cX!^#cX~P9dO!^%xOd$Qa~O]&mOd&oO~OS#bae#ba!V#ba!Y#ba#q#ba~Od&qO~PG]Od&qOk&rO~Ov#{OQ#gae#gak#gam#gap#gar#gat#gaz#ga!^#ga!`#ga!q#ga#m#ga#o#ga#p#ga#}#gao#ga~Od#ea!^#ea~P$SOd#da!^#da~P&lOR#gOr#gOt#gO#q%vO#}%]O~O!R#iOd#ca!^#ca~O`&xO~O!^%xOd$Qi~P&lO]&mOd&|O~Ov#{Od|ik|i~Od&}O~PG]Ok'OO~Od'PO~O!^%xOd$Qq~Od#cq!^#cq~P&lO#s!a#t#}]#}v!m~",goto:"2h$UPPPPP$VP$YP$c$uP$cP%X$cPP%_PPP%e%o%oPPPPP%oPP%oP&]P%oP%o'W%oP't'w'}'}(^'}P'}P'}P'}'}P(m'}(yP(|PP)p)v$c)|$c*SP$cP$c$cP*Y*{+YP$YP+aP+dP$YP$YP$YP+j$YP+m+p+s+z$YP$YPP$YP,P,V,f,|-[-b-l-r-x.O.U.`.f.l.rPPPPPPPPPPP.x/R/w/z0|P1U1u2O2R2U2[RnQ_^OP`kz!{$dq[OPYZ`kuvwxz!v!{#`$d%mqSOPYZ`kuvwxz!v!{#`$d%mQpTR#RqQ!OVR#SrQ#S!QS$Q!i!jR$i#U!V!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'Q!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QU#g!Y$t&hU%`$Y%b&WR&V%_!V!iac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QR$S!kQ%W$RR&S%Xk!^]bf!Y![!g#i#j#m$P$R%X%xQ#e!YQ${#mQ%w$tQ&j%xR&w&hQ!ygQ#p!`Q$^!xR%f$`R#n!]!U!mac!c!d!e!z#a#c#t#v#x#{$a$k$p$s%h%i%q%u%z&P&d&l&x'QQ!qdR$X!rQ!PVR#TrQ#S!PR$i#TQ!SWR#VsQ!UXR#WtQ{UQ!wgQ#^yQ#o!_Q$U!nQ$[!uQ$_!yQ%e$^Q&Y%aQ&]%fR&v&XSjPzQ!}kQ$c!{R%k$dZiPkz!{$dR$P!gQ%}%SR&z&mR!rdR!teR$Z!tS%a$Y%bR&t&WV%_$Y%b&WQ#PmR$g#PQ`OSkPzU!a`k$dR$d!{Q$p#aY%p$p%u&d&l'QQ%u$sQ&d%qQ&l%zR'Q&xQ#t!cQ#v!dQ#x!eV$}#t#v#xQ%X$RR&T%XQ%y$zS&k%y&yR&y&lQ%r$pR&e%rQ%n$mR&c%nQyUR#]yQ%i$aR&_%iQ!|jS$e!|$fR$f!}Q&n%}R&{&nQ#k!ZR$x#kQ%b$YR&Z%bQ&X%aR&u&X__OP`kz!{$d^UOP`kz!{$dQ!VYQ!WZQ#XuQ#YvQ#ZwQ#[xQ$]!vQ$m#`R&b%mR$q#aQ!gaQ!oc[#q!c!d!e#t#v#xQ$a!zd$o#a$p$s%q%u%z&d&l&x'QQ$r#cQ%R#{S%g$a%iQ%l$kQ&^%hR&p&P]#s!c!d!e#t#v#xW!Z]b!g$PQ!ufQ#f!YQ#l![Q$v#iQ$w#jQ$z#mS%V$R%XR&i%xQ#h!YQ%w$tR&w&hR$|#mR$n#`QlPR#_zQ!_]Q!nbQ$O!gR%U$P",nodeNames:"⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector 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 CallQuery ArgList , CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName MatchOp 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 AtRule Styles",maxTerm:143,nodeProps:[["isolate",-2,5,36,""],["openedBy",20,"(",28,"[",31,"{"],["closedBy",21,")",29,"]",32,"}"]],propSources:[XE],skippedNodes:[0,5,106],repeatNodeCount:15,tokenData:"JQ~R!YOX$qX^%i^p$qpq%iqr({rs-ust/itu6Wuv$qvw7Qwx7cxy9Qyz9cz{9h{|:R|}>t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj<VY!a`Oy%Qz{%Q{|<u|}%Q}!O<u!O!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj<zU!a`Oy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj=eU!a`#}YOy%Qz!Q%Q!Q![=^![;'S%Q;'S;=`%c<%lO%Qj>O[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%Qj>yS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!h<Q!h#X%Q#X#Y<Q#Y;'S%Q;'S;=`%c<%lO%QjBUU`YOy%Qz![%Q![!]Bh!];'S%Q;'S;=`%c<%lO%QbBoSaQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjCQSkYOy%Qz;'S%Q;'S;=`%c<%lO%QhCcU!TWOy%Qz!_%Q!_!`Cu!`;'S%Q;'S;=`%c<%lO%QhC|S!TW!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QlDaS!TW!hSOy%Qz;'S%Q;'S;=`%c<%lO%QjDtV!jQ!TWOy%Qz!_%Q!_!`Cu!`!aEZ!a;'S%Q;'S;=`%c<%lO%QbEbS!jQ!a`Oy%Qz;'S%Q;'S;=`%c<%lO%QjEqYOy%Qz}%Q}!OFa!O!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjFfW!a`Oy%Qz!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjGV[iY!a`Oy%Qz}%Q}!OGO!O!Q%Q!Q![GO![!c%Q!c!}GO!}#T%Q#T#oGO#o;'S%Q;'S;=`%c<%lO%QjHQSmYOy%Qz;'S%Q;'S;=`%c<%lO%QnHcSl^Oy%Qz;'S%Q;'S;=`%c<%lO%QjHtSpYOy%Qz;'S%Q;'S;=`%c<%lO%QjIVSoYOy%Qz;'S%Q;'S;=`%c<%lO%QfIhU!mQOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Q`I}P;=`<%l$q",tokenizers:[yE,wE,vE,PE,1,2,3,4,new qs("m~RRYZ[z{a~~g~aO#v~~dP!P!Qg~lO#w~~",28,129)],topRules:{StyleSheet:[0,6],Styles:[1,105]},dynamicPrecedences:{76:1},specialized:[{term:124,get:t=>bE[t]||-1},{term:125,get:t=>xE[t]||-1},{term:4,get:t=>kE[t]||-1},{term:25,get:t=>TE[t]||-1},{term:123,get:t=>RE[t]||-1}],tokenPrec:1963});let wu=null;function Xu(){if(!wu&&typeof document=="object"&&document.body){let{style:t}=document.body,e=[],i=new Set;for(let r in t)r!="cssText"&&r!="cssFloat"&&typeof t[r]=="string"&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,n=>"-"+n.toLowerCase())),i.has(r)||(e.push(r),i.add(r)));wu=e.sort().map(r=>({type:"property",label:r,apply:r+": "}))}return wu||[]}const r_=["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(t=>({type:"class",label:t})),n_=["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(t=>({type:"keyword",label:t})).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(t=>({type:"constant",label:t}))),YE=["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(t=>({type:"type",label:t})),ZE=["@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(t=>({type:"keyword",label:t})),Ki=/^(\w[\w-]*|-\w[\w-]*|)$/,WE=/^-(-[\w-]*)?$/;function UE(t,e){var i;if((t.name=="("||t.type.isError)&&(t=t.parent||t),t.name!="ArgList")return!1;let r=(i=t.parent)===null||i===void 0?void 0:i.firstChild;return(r==null?void 0:r.name)!="Callee"?!1:e.sliceString(r.from,r.to)=="var"}const s_=new Bc,zE=["Declaration"];function qE(t){for(let e=t;;){if(e.type.isTop)return e;if(!(e=e.parent))return t}}function Fw(t,e,i){if(e.to-e.from>4096){let r=s_.get(e);if(r)return r;let n=[],s=new Set,o=e.cursor(Se.IncludeAnonymous);if(o.firstChild())do for(let a of Fw(t,o.node,i))s.has(a.label)||(s.add(a.label),n.push(a));while(o.nextSibling());return s_.set(e,n),n}else{let r=[],n=new Set;return e.cursor().iterate(s=>{var o;if(i(s)&&s.matchContext(zE)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=t.sliceString(s.from,s.to);n.has(a)||(n.add(a),r.push({label:a,type:"variable"}))}}),r}}const VE=t=>e=>{let{state:i,pos:r}=e,n=ve(i).resolveInner(r,-1),s=n.type.isError&&n.from==n.to-1&&i.doc.sliceString(n.from,n.to)=="-";if(n.name=="PropertyName"||(s||n.name=="TagName")&&/^(Block|Styles)$/.test(n.resolve(n.to).name))return{from:n.from,options:Xu(),validFor:Ki};if(n.name=="ValueName")return{from:n.from,options:n_,validFor:Ki};if(n.name=="PseudoClassName")return{from:n.from,options:r_,validFor:Ki};if(t(n)||(e.explicit||s)&&UE(n,i.doc))return{from:t(n)||s?n.from:r,options:Fw(i.doc,qE(n),t),validFor:WE};if(n.name=="TagName"){for(let{parent:l}=n;l;l=l.parent)if(l.name=="Block")return{from:n.from,options:Xu(),validFor:Ki};return{from:n.from,options:YE,validFor:Ki}}if(n.name=="AtKeyword")return{from:n.from,options:ZE,validFor:Ki};if(!e.explicit)return null;let o=n.resolve(r),a=o.childBefore(r);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:r,options:r_,validFor:Ki}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:r,options:n_,validFor:Ki}:o.name=="Block"||o.name=="Styles"?{from:r,options:Xu(),validFor:Ki}:null},EE=VE(t=>t.name=="VariableName"),$c=Ut.define({name:"css",parser:CE.configure({props:[Jt.add({Declaration:at()}),Vt.add({"Block KeyframeList":vr})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ko(){return new Ft($c,$c.data.of({autocomplete:EE}))}const $o=["_blank","_self","_top","_parent"],bu=["ascii","utf-8","utf-16","latin1","latin1"],xu=["get","post","put","delete"],ku=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],jt=["true","false"],se={},AE={a:{attrs:{href:null,ping:null,type:null,media:null,target:$o,hreflang:null}},abbr:se,address:se,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:se,aside:se,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:se,base:{attrs:{href:null,target:$o}},bdi:se,bdo:se,blockquote:{attrs:{cite:null}},body:se,br:se,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:ku,formmethod:xu,formnovalidate:["novalidate"],formtarget:$o,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:se,center:se,cite:se,code:se,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:se,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:se,div:se,dl:se,dt:se,em:se,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:se,figure:se,footer:se,form:{attrs:{action:null,name:null,"accept-charset":bu,autocomplete:["on","off"],enctype:ku,method:xu,novalidate:["novalidate"],target:$o}},h1:se,h2:se,h3:se,h4:se,h5:se,h6:se,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:se,hgroup:se,hr:se,html:{attrs:{manifest:null}},i:se,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:ku,formmethod:xu,formnovalidate:["novalidate"],formtarget:$o,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:se,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:se,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:se,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:bu,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:se,noscript:se,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:se,param:{attrs:{name:null,value:null}},pre:se,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:se,rt:se,ruby:se,samp:se,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:bu}},section:se,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:se,source:{attrs:{src:null,type:null,media:null}},span:se,strong:se,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:se,summary:se,sup:se,table:se,tbody:se,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:se,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:se,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:se,time:{attrs:{datetime:null}},title:se,tr:se,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:se,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:se},Hw={accesskey:null,class:null,contenteditable:jt,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:jt,autocorrect:jt,autocapitalize:jt,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":jt,"aria-autocomplete":["inline","list","both","none"],"aria-busy":jt,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":jt,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":jt,"aria-hidden":jt,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":jt,"aria-multiselectable":jt,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":jt,"aria-relevant":null,"aria-required":jt,"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},Kw="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(t=>"on"+t);for(let t of Kw)Hw[t]=null;class za{constructor(e,i){this.tags={...AE,...e},this.globalAttrs={...Hw,...i},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}za.default=new za;function As(t,e,i=t.length){if(!e)return"";let r=e.firstChild,n=r&&r.getChild("TagName");return n?t.sliceString(n.from,Math.min(n.to,i)):""}function js(t,e=!1){for(;t;t=t.parent)if(t.name=="Element")if(e)e=!1;else return t;return null}function Jw(t,e,i){let r=i.tags[As(t,js(e))];return(r==null?void 0:r.children)||i.allTags}function Lm(t,e){let i=[];for(let r=js(e);r&&!r.type.isTop;r=js(r.parent)){let n=As(t,r);if(n&&r.lastChild.name=="CloseTag")break;n&&i.indexOf(n)<0&&(e.name=="EndTag"||e.from>=r.firstChild.to)&&i.push(n)}return i}const eX=/^[:\-\.\w\u00b7-\uffff]*$/;function o_(t,e,i,r,n){let s=/\s*>/.test(t.sliceDoc(n,n+5))?"":">",o=js(i,i.name=="StartTag"||i.name=="TagName");return{from:r,to:n,options:Jw(t.doc,o,e).map(a=>({label:a,type:"type"})).concat(Lm(t.doc,i).map((a,l)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function a_(t,e,i,r){let n=/\s*>/.test(t.sliceDoc(r,r+5))?"":">";return{from:i,to:r,options:Lm(t.doc,e).map((s,o)=>({label:s,apply:s+n,type:"type",boost:99-o})),validFor:eX}}function jE(t,e,i,r){let n=[],s=0;for(let o of Jw(t.doc,i,e))n.push({label:"<"+o,type:"type"});for(let o of Lm(t.doc,i))n.push({label:"</"+o+">",type:"type",boost:99-s++});return{from:r,to:r,options:n,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function LE(t,e,i,r,n){let s=js(i),o=s?e.tags[As(t.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],l=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:r,to:n,options:l.map(O=>({label:O,type:"property"})),validFor:eX}}function DE(t,e,i,r,n){var s;let o=(s=i.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],l;if(o){let O=t.sliceDoc(o.from,o.to),c=e.globalAttrs[O];if(!c){let h=js(i),u=h?e.tags[As(t.doc,h)]:null;c=(u==null?void 0:u.attrs)&&u.attrs[O]}if(c){let h=t.sliceDoc(r,n).toLowerCase(),u='"',m='"';/^['"]/.test(h)?(l=h[0]=='"'?/^[^"]*$/:/^[^']*$/,u="",m=t.sliceDoc(n,n+1)==h[0]?"":h[0],h=h.slice(1),r++):l=/^[^\s<>='"]*$/;for(let S of c)a.push({label:S,apply:u+S+m,type:"constant"})}}return{from:r,to:n,options:a,validFor:l}}function tX(t,e){let{state:i,pos:r}=e,n=ve(i).resolveInner(r,-1),s=n.resolve(r);for(let o=r,a;s==n&&(a=n.childBefore(o));){let l=a.lastChild;if(!l||!l.type.isError||l.from<l.to)break;s=n=a,o=l.from}return n.name=="TagName"?n.parent&&/CloseTag$/.test(n.parent.name)?a_(i,n,n.from,r):o_(i,t,n,n.from,r):n.name=="StartTag"||n.name=="IncompleteTag"?o_(i,t,n,r,r):n.name=="StartCloseTag"||n.name=="IncompleteCloseTag"?a_(i,n,r,r):n.name=="OpenTag"||n.name=="SelfClosingTag"||n.name=="AttributeName"?LE(i,t,n,n.name=="AttributeName"?n.from:r,r):n.name=="Is"||n.name=="AttributeValue"||n.name=="UnquotedAttributeValue"?DE(i,t,n,n.name=="Is"?r:n.from,r):e.explicit&&(s.name=="Element"||s.name=="Text"||s.name=="Document")?jE(i,t,n,r):null}function ME(t){return tX(za.default,t)}function GE(t){let{extraTags:e,extraGlobalAttributes:i}=t,r=i||e?new za(e,i):za.default;return n=>tX(r,n)}const BE=Ni.parser.configure({top:"SingleExpression"}),iX=[{tag:"script",attrs:t=>t.type=="text/typescript"||t.lang=="ts",parser:Ly.parser},{tag:"script",attrs:t=>t.type=="text/babel"||t.type=="text/jsx",parser:Dy.parser},{tag:"script",attrs:t=>t.type=="text/typescript-jsx",parser:My.parser},{tag:"script",attrs(t){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type)},parser:BE},{tag:"script",attrs(t){return!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type)},parser:Ni.parser},{tag:"style",attrs(t){return(!t.lang||t.lang=="css")&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type))},parser:$c.parser}],rX=[{name:"style",parser:$c.parser.configure({top:"Styles"})}].concat(Kw.map(t=>({name:t,parser:Ni.parser}))),nX=Ut.define({name:"html",parser:sE.configure({props:[Jt.add({Element(t){let e=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+e[0].length?t.continue():t.lineIndent(t.node.from)+(e[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag"(t){return t.column(t.node.from)+t.unit},Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].length<t.node.to)return t.continue();let e=null,i;for(let r=t.node;;){let n=r.lastChild;if(!n||n.name!="Element"||n.to!=r.to)break;e=r=n}return e&&!((i=e.lastChild)&&(i.name=="CloseTag"||i.name=="SelfClosingTag"))?t.lineIndent(e.from)+t.unit:null}}),Vt.add({Element(t){let e=t.firstChild,i=t.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:i.name=="CloseTag"?i.from:t.to}}}),ZP.add({"OpenTag CloseTag":t=>t.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),QO=nX.configure({wrap:Mw(iX,rX)});function To(t={}){let e="",i;t.matchClosingTags===!1&&(e="noMatch"),t.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(i=Mw((t.nestedLanguages||[]).concat(iX),(t.nestedAttributes||[]).concat(rX)));let r=i?nX.configure({wrap:i,dialect:e}):e?QO.configure({dialect:e}):QO;return new Ft(r,[QO.data.of({autocomplete:GE(t)}),t.autoCloseTags!==!1?IE:[],un().support,ko().support])}const l_=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),IE=N.inputHandler.of((t,e,i,r,n)=>{if(t.composing||t.state.readOnly||e!=i||r!=">"&&r!="/"||!QO.isActiveAt(t.state,e,-1))return!1;let s=n(),{state:o}=s,a=o.changeByRange(l=>{var O,c,h;let u=o.doc.sliceString(l.from-1,l.to)==r,{head:m}=l,S=ve(o).resolveInner(m,-1),Q;if(u&&r==">"&&S.name=="EndTag"){let g=S.parent;if(((c=(O=g.parent)===null||O===void 0?void 0:O.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(Q=As(o.doc,g.parent,m))&&!l_.has(Q)){let d=m+(o.doc.sliceString(m,m+1)===">"?1:0),f=`</${Q}>`;return{range:l,changes:{from:m,to:d,insert:f}}}}else if(u&&r=="/"&&S.name=="IncompleteCloseTag"){let g=S.parent;if(S.from==m-2&&((h=g.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(Q=As(o.doc,g,m))&&!l_.has(Q)){let d=m+(o.doc.sliceString(m,m+1)===">"?1:0),f=`${Q}>`;return{range:A.cursor(m+f.length,-1),changes:{from:m,to:d,insert:f}}}}return{range:l}});return a.changes.empty?!1:(t.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),sX=lm({commentTokens:{block:{open:"<!--",close:"-->"}}}),oX=new le,aX=aV.configure({props:[Vt.add(t=>!t.is("Block")||t.is("Document")||Ed(t)!=null||NE(t)?void 0:(e,i)=>({from:i.doc.lineAt(e.from).to,to:e.to})),oX.add(Ed),Jt.add({Document:()=>null}),Pn.add({Document:sX})]});function Ed(t){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(t.name);return e?+e[1]:void 0}function NE(t){return t.name=="OrderedList"||t.name=="BulletList"}function FE(t,e){let i=t;for(;;){let r=i.nextSibling,n;if(!r||(n=Ed(r.type))!=null&&n<=e)break;i=r}return i.to}const HE=vP.of((t,e,i)=>{for(let r=ve(t).resolveInner(i,-1);r&&!(r.from<e);r=r.parent){let n=r.type.prop(oX);if(n==null)continue;let s=FE(r,n);if(s>i)return{from:i,to:s}}return null});function Dm(t){return new oi(sX,t,[],"markdown")}const KE=Dm(aX),JE=aX.configure([QV,$V,SV,_V,{props:[Vt.add({Table:(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}]),_c=Dm(JE);function e4(t,e){return i=>{if(i&&t){let r=null;if(i=/\S*/.exec(i)[0],typeof t=="function"?r=t(i):r=ic.matchLanguageName(t,i,!0),r instanceof ic)return r.support?r.support.language.parser:ya.getSkippingParser(r.load());if(r)return r.parser}return e?e.parser:null}}class Tu{constructor(e,i,r,n,s,o,a){this.node=e,this.from=i,this.to=r,this.spaceBefore=n,this.spaceAfter=s,this.type=o,this.item=a}blank(e,i=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;r.length<e;)r+=" ";return r}else{for(let n=this.to-this.from-r.length-this.spaceAfter.length;n>0;n--)r+=" ";return r+(i?this.spaceAfter:"")}}marker(e,i){let r=this.node.name=="OrderedList"?String(+OX(this.item,e)[2]+i):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function lX(t,e){let i=[],r=[];for(let n=t;n;n=n.parent){if(n.name=="FencedCode")return r;(n.name=="ListItem"||n.name=="Blockquote")&&i.push(n)}for(let n=i.length-1;n>=0;n--){let s=i[n],o,a=e.lineAt(s.from),l=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(l))))r.push(new Tu(s,l,l+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(l)))){let O=o[3],c=o[0].length;O.length>=4&&(O=O.slice(0,O.length-4),c-=4),r.push(new Tu(s.parent,l,l+c,o[1],O,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))){let O=o[4],c=o[0].length;O.length>4&&(O=O.slice(0,O.length-4),c-=4);let h=o[2];o[3]&&(h+=o[3].replace(/[xX]/," ")),r.push(new Tu(s.parent,l,l+c,o[1],O,h,s))}}return r}function OX(t,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from,t.from+10))}function Ru(t,e,i,r=0){for(let n=-1,s=t;;){if(s.name=="ListItem"){let a=OX(s,e),l=+a[2];if(n>=0){if(l!=n+1)return;i.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(n+2+r)})}n=l}let o=s.nextSibling;if(!o)break;s=o}}function Mm(t,e){let i=/^[ \t]*/.exec(t)[0].length;if(!i||e.facet(Is)!=" ")return t;let r=yi(t,4,i),n="";for(let s=r;s>0;)s>=4?(n+=" ",s-=4):(n+=" ",s--);return n+t.slice(i)}const t4=(t={})=>({state:e,dispatch:i})=>{let r=ve(e),{doc:n}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!_c.isActiveAt(e,a.from,-1)&&!_c.isActiveAt(e,a.from,1))return s={range:a};let l=a.from,O=n.lineAt(l),c=lX(r.resolveInner(l,-1),n);for(;c.length&&c[c.length-1].from>l-O.from;)c.pop();if(!c.length)return s={range:a};let h=c[c.length-1];if(h.to-h.spaceAfter.length>l-O.from)return s={range:a};let u=l>=h.to-h.spaceAfter.length&&!/\S/.test(O.text.slice(h.to));if(h.item&&u){let d=h.node.firstChild,f=h.node.getChild("ListItem","ListItem");if(d.to>=l||f&&f.to<l||O.from>0&&!/[^\s>]/.test(n.lineAt(O.from-1).text)||t.nonTightLists===!1){let p=c.length>1?c[c.length-2]:null,$,_="";p&&p.item?($=O.from+p.from,_=p.marker(n,1)):$=O.from+(p?p.to:0);let P=[{from:$,to:l,insert:_}];return h.node.name=="OrderedList"&&Ru(h.item,n,P,-2),p&&p.node.name=="OrderedList"&&Ru(p.item,n,P),{range:A.cursor($+_.length),changes:P}}else{let p=c_(c,e,O);return{range:A.cursor(l+p.length+1),changes:{from:O.from,insert:p+e.lineBreak}}}}if(h.node.name=="Blockquote"&&u&&O.from){let d=n.lineAt(O.from-1),f=/>\s*$/.exec(d.text);if(f&&f.index==h.from){let p=e.changes([{from:d.from+f.index,to:d.to},{from:O.from+h.from,to:O.to}]);return{range:a.map(p),changes:p}}}let m=[];h.node.name=="OrderedList"&&Ru(h.item,n,m);let S=h.item&&h.item.from<O.from,Q="";if(!S||/^[\s\d.)\-+*>]*/.exec(O.text)[0].length>=h.to)for(let d=0,f=c.length-1;d<=f;d++)Q+=d==f&&!S?c[d].marker(n,1):c[d].blank(d<f?yi(O.text,4,c[d+1].from)-Q.length:null);let g=l;for(;g>O.from&&/\s/.test(O.text.charAt(g-O.from-1));)g--;return Q=Mm(Q,e),r4(h.node,e.doc)&&(Q=c_(c,e,O)+e.lineBreak+Q),m.push({from:g,to:l,insert:e.lineBreak+Q}),{range:A.cursor(g+Q.length+1),changes:m}});return s?!1:(i(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},i4=t4();function O_(t){return t.name=="QuoteMark"||t.name=="ListMark"}function r4(t,e){if(t.name!="OrderedList"&&t.name!="BulletList")return!1;let i=t.firstChild,r=t.getChild("ListItem","ListItem");if(!r)return!1;let n=e.lineAt(i.to),s=e.lineAt(r.from),o=/^[\s>]*$/.test(n.text);return n.number+(o?0:1)<s.number}function c_(t,e,i){let r="";for(let n=0,s=t.length-2;n<=s;n++)r+=t[n].blank(n<s?yi(i.text,4,t[n+1].from)-r.length:null,n<s);return Mm(r,e)}function n4(t,e){let i=t.resolveInner(e,-1),r=e;O_(i)&&(r=i.from,i=i.parent);for(let n;n=i.childBefore(r);)if(O_(n))r=n.from;else if(n.name=="OrderedList"||n.name=="BulletList")i=n.lastChild,r=i.to;else break;return i}const s4=({state:t,dispatch:e})=>{let i=ve(t),r=null,n=t.changeByRange(s=>{let o=s.from,{doc:a}=t;if(s.empty&&_c.isActiveAt(t,s.from)){let l=a.lineAt(o),O=lX(n4(i,o),a);if(O.length){let c=O[O.length-1],h=c.to-c.spaceAfter.length+(c.spaceAfter?1:0);if(o-l.from>h&&!/\S/.test(l.text.slice(h,o-l.from)))return{range:A.cursor(l.from+h),changes:{from:l.from+h,to:o}};if(o-l.from==h&&(!c.item||l.from<=c.item.from||!/\S/.test(l.text.slice(0,c.to)))){let u=l.from+c.from;if(c.item&&c.node.from<c.item.from&&/\S/.test(l.text.slice(c.from,c.to))){let m=c.blank(yi(l.text,4,c.to)-yi(l.text,4,c.from));return u==l.from&&(m=Mm(m,t)),{range:A.cursor(u+m.length),changes:{from:u,to:l.from+c.to,insert:m}}}if(u<o)return{range:A.cursor(u),changes:{from:u,to:o}}}}}return r={range:s}});return r?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"delete"})),!0)},o4=[{key:"Enter",run:i4},{key:"Backspace",run:s4}],cX=To({matchClosingTags:!1});function h_(t={}){let{codeLanguages:e,defaultCodeLanguage:i,addKeymap:r=!0,base:{parser:n}=KE,completeHTMLTags:s=!0,pasteURLAsLink:o=!0,htmlTagLanguage:a=cX}=t;if(!(n instanceof rh))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let l=t.extensions?[t.extensions]:[],O=[a.support,HE],c;o&&O.push(c4),i instanceof Ft?(O.push(i.support),c=i.language):i&&(c=i);let h=e||c?e4(e,c):void 0;l.push(OV({codeParser:h,htmlParser:a.language.parser})),r&&O.push(_r.high(Bs.of(o4)));let u=Dm(n.configure(l));return s&&O.push(u.data.of({autocomplete:a4})),new Ft(u,O)}function a4(t){let{state:e,pos:i}=t,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(i-25,i));if(!r)return null;let n=ve(e).resolveInner(i,-1);for(;n&&!n.type.isTop;){if(n.name=="CodeBlock"||n.name=="FencedCode"||n.name=="ProcessingInstructionBlock"||n.name=="CommentBlock"||n.name=="Link"||n.name=="Image")return null;n=n.parent}return{from:i-r[0].length,to:i,options:l4(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let Cu=null;function l4(){if(Cu)return Cu;let t=ME(new $m(fe.create({extensions:cX}),0,!0));return Cu=t?t.options:[]}const O4=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,c4=N.domEventHandlers({paste:(t,e)=>{var i;let{main:r}=e.state.selection;if(r.empty)return!1;let n=(i=t.clipboardData)===null||i===void 0?void 0:i.getData("text/plain");if(!n||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(n)||(/^www\./.test(n)&&(n="https://"+n),!_c.isActiveAt(e.state,r.from,1)))return!1;let s=ve(e.state),o=!1;return s.iterate({from:r.from,to:r.to,enter:a=>{(a.from>r.from||O4.test(a.name))&&(o=!0)},leave:a=>{a.to<r.to&&(o=!0)}}),o?!1:(e.dispatch({changes:[{from:r.from,insert:"["},{from:r.to,insert:`](${n})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}}),h4=36,u_=1,u4=2,Dn=3,Yu=4,f4=5,d4=6,p4=7,m4=8,g4=9,Q4=10,S4=11,$4=12,_4=13,v4=14,P4=15,y4=16,w4=17,f_=18,X4=19,hX=20,uX=21,d_=22,b4=23,x4=24;function Ad(t){return t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57}function k4(t){return t>=48&&t<=57||t>=97&&t<=102||t>=65&&t<=70}function fn(t,e,i){for(let r=!1;;){if(t.next<0)return;if(t.next==e&&!r){t.advance();return}r=i&&!r&&t.next==92,t.advance()}}function T4(t,e){e:for(;;){if(t.next<0)return;if(t.next==36){t.advance();for(let i=0;i<e.length;i++){if(t.next!=e.charCodeAt(i))continue e;t.advance()}if(t.next==36){t.advance();return}}else t.advance()}}function R4(t,e){let i="[{<(".indexOf(String.fromCharCode(e)),r=i<0?e:"]}>)".charCodeAt(i);for(;;){if(t.next<0)return;if(t.next==r&&t.peek(1)==39){t.advance(2);return}t.advance()}}function jd(t,e){for(;!(t.next!=95&&!Ad(t.next));)e!=null&&(e+=String.fromCharCode(t.next)),t.advance();return e}function C4(t){if(t.next==39||t.next==34||t.next==96){let e=t.next;t.advance(),fn(t,e,!1)}else jd(t)}function p_(t,e){for(;t.next==48||t.next==49;)t.advance();e&&t.next==e&&t.advance()}function m_(t,e){for(;;){if(t.next==46){if(e)break;e=!0}else if(t.next<48||t.next>57)break;t.advance()}if(t.next==69||t.next==101)for(t.advance(),(t.next==43||t.next==45)&&t.advance();t.next>=48&&t.next<=57;)t.advance()}function g_(t){for(;!(t.next<0||t.next==10);)t.advance()}function ln(t,e){for(let i=0;i<e.length;i++)if(e.charCodeAt(i)==t)return!0;return!1}const Zu=` \r
|
|
87
|
-
`;function fX(t,e,i){let r=Object.create(null);r.true=r.false=f4,r.null=r.unknown=d4;for(let n of t.split(" "))n&&(r[n]=hX);for(let n of e.split(" "))n&&(r[n]=uX);for(let n of(i||"").split(" "))n&&(r[n]=x4);return r}const Y4="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",Z4="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",Ld={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:fX(Z4,Y4)};function W4(t,e,i,r){let n={};for(let s in Ld)n[s]=(t.hasOwnProperty(s)?t:Ld)[s];return e&&(n.words=fX(e,i||"",r)),n}function dX(t){return new ye(e=>{var i;let{next:r}=e;if(e.advance(),ln(r,Zu)){for(;ln(e.next,Zu);)e.advance();e.acceptToken(h4)}else if(r==36&&t.doubleDollarQuotedStrings){let n=jd(e,"");e.next==36&&(e.advance(),T4(e,n),e.acceptToken(Dn))}else if(r==39||r==34&&t.doubleQuotedStrings)fn(e,r,t.backslashEscapes),e.acceptToken(Dn);else if(r==35&&t.hashComments||r==47&&e.next==47&&t.slashComments)g_(e),e.acceptToken(u_);else if(r==45&&e.next==45&&(!t.spaceAfterDashes||e.peek(1)==32))g_(e),e.acceptToken(u_);else if(r==47&&e.next==42){e.advance();for(let n=1;;){let s=e.next;if(e.next<0)break;if(e.advance(),s==42&&e.next==47){if(n--,e.advance(),!n)break}else s==47&&e.next==42&&(n++,e.advance())}e.acceptToken(u4)}else if((r==101||r==69)&&e.next==39)e.advance(),fn(e,39,!0),e.acceptToken(Dn);else if((r==110||r==78)&&e.next==39&&t.charSetCasts)e.advance(),fn(e,39,t.backslashEscapes),e.acceptToken(Dn);else if(r==95&&t.charSetCasts)for(let n=0;;n++){if(e.next==39&&n>1){e.advance(),fn(e,39,t.backslashEscapes),e.acceptToken(Dn);break}if(!Ad(e.next))break;e.advance()}else if(t.plsqlQuotingMechanism&&(r==113||r==81)&&e.next==39&&e.peek(1)>0&&!ln(e.peek(1),Zu)){let n=e.peek(1);e.advance(2),R4(e,n),e.acceptToken(Dn)}else if(ln(r,t.identifierQuotes)){const n=r==91?93:r;fn(e,n,!1),e.acceptToken(X4)}else if(r==40)e.acceptToken(p4);else if(r==41)e.acceptToken(m4);else if(r==123)e.acceptToken(g4);else if(r==125)e.acceptToken(Q4);else if(r==91)e.acceptToken(S4);else if(r==93)e.acceptToken($4);else if(r==59)e.acceptToken(_4);else if(t.unquotedBitLiterals&&r==48&&e.next==98)e.advance(),p_(e),e.acceptToken(d_);else if((r==98||r==66)&&(e.next==39||e.next==34)){const n=e.next;e.advance(),t.treatBitsAsBytes?(fn(e,n,t.backslashEscapes),e.acceptToken(b4)):(p_(e,n),e.acceptToken(d_))}else if(r==48&&(e.next==120||e.next==88)||(r==120||r==88)&&e.next==39){let n=e.next==39;for(e.advance();k4(e.next);)e.advance();n&&e.next==39&&e.advance(),e.acceptToken(Yu)}else if(r==46&&e.next>=48&&e.next<=57)m_(e,!0),e.acceptToken(Yu);else if(r==46)e.acceptToken(v4);else if(r>=48&&r<=57)m_(e,!1),e.acceptToken(Yu);else if(ln(r,t.operatorChars)){for(;ln(e.next,t.operatorChars);)e.advance();e.acceptToken(P4)}else if(ln(r,t.specialVar))e.next==r&&e.advance(),C4(e),e.acceptToken(w4);else if(r==58||r==44)e.acceptToken(y4);else if(Ad(r)){let n=jd(e,String.fromCharCode(r));e.acceptToken(e.next==46||e.peek(-n.length-1)==46?f_:(i=t.words[n.toLowerCase()])!==null&&i!==void 0?i:f_)}})}const pX=dX(Ld),U4=zt.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,pX],topRules:{Script:[0,25]},tokenPrec:0});function Dd(t){let e=t.cursor().moveTo(t.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function qa(t,e){let i=t.sliceString(e.from,e.to),r=/^([`'"\[])(.*)([`'"\]])$/.exec(i);return r?r[2]:i}function vc(t){return t&&(t.name=="Identifier"||t.name=="QuotedIdentifier")}function z4(t,e){if(e.name=="CompositeIdentifier"){let i=[];for(let r=e.firstChild;r;r=r.nextSibling)vc(r)&&i.push(qa(t,r));return i}return[qa(t,e)]}function Q_(t,e){for(let i=[];;){if(!e||e.name!=".")return i;let r=Dd(e);if(!vc(r))return i;i.unshift(qa(t,r)),e=Dd(r)}}function q4(t,e){let i=ve(t).resolveInner(e,-1),r=E4(t.doc,i);return i.name=="Identifier"||i.name=="QuotedIdentifier"||i.name=="Keyword"?{from:i.from,quoted:i.name=="QuotedIdentifier"?t.doc.sliceString(i.from,i.from+1):null,parents:Q_(t.doc,Dd(i)),aliases:r}:i.name=="."?{from:e,quoted:null,parents:Q_(t.doc,i),aliases:r}:{from:e,quoted:null,parents:[],empty:!0,aliases:r}}const V4=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function E4(t,e){let i;for(let n=e;!i;n=n.parent){if(!n)return null;n.name=="Statement"&&(i=n)}let r=null;for(let n=i.firstChild,s=!1,o=null;n;n=n.nextSibling){let a=n.name=="Keyword"?t.sliceString(n.from,n.to).toLowerCase():null,l=null;if(!s)s=a=="from";else if(a=="as"&&o&&vc(n.nextSibling))l=qa(t,n.nextSibling);else{if(a&&V4.has(a))break;o&&vc(n)&&(l=qa(t,n))}l&&(r||(r=Object.create(null)),r[l]=z4(t,o)),o=/Identifier$/.test(n.name)?n:null}return r}function A4(t,e,i){return i.map(r=>({...r,label:r.label[0]==t?r.label:t+r.label+e,apply:void 0}))}const j4=/^\w*$/,L4=/^[`'"\[]?\w*[`'"\]]?$/;function S_(t){return t.self&&typeof t.self.label=="string"}class Gm{constructor(e,i){this.idQuote=e,this.idCaseInsensitive=i,this.list=[],this.children=void 0}child(e){let i=this.children||(this.children=Object.create(null)),r=i[e];return r||(e&&!this.list.some(n=>n.label==e)&&this.list.push($_(e,"type",this.idQuote,this.idCaseInsensitive)),i[e]=new Gm(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let i=this.list.findIndex(r=>r.label==e.label);i>-1?this.list[i]=e:this.list.push(e)}addCompletions(e){for(let i of e)this.addCompletion(typeof i=="string"?$_(i,"property",this.idQuote,this.idCaseInsensitive):i)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):S_(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let i of Object.keys(e)){let r=e[i],n=null,s=i.replace(/\\?\./g,a=>a=="."?"\0":a).split("\0"),o=this;S_(r)&&(n=r.self,r=r.children);for(let a=0;a<s.length;a++)n&&a==s.length-1&&o.addCompletion(n),o=o.child(s[a].replace(/\\\./g,"."));o.addNamespace(r)}}}function $_(t,e,i,r){return new RegExp("^[a-z_][a-z_\\d]*$",r?"i":"").test(t)?{label:t,type:e}:{label:t,type:e,apply:i+t+mX(i)}}function mX(t){return t==="["?"]":t}function D4(t,e,i,r,n,s){var o;let a=((o=s==null?void 0:s.spec.identifierQuotes)===null||o===void 0?void 0:o[0])||'"',l=new Gm(a,!!(s!=null&&s.spec.caseInsensitiveIdentifiers)),O=n?l.child(n):null;return l.addNamespace(t),e&&(O||l).addCompletions(e),i&&l.addCompletions(i),O&&l.addCompletions(O.list),r&&l.addCompletions((O||l).child(r).list),c=>{let{parents:h,from:u,quoted:m,empty:S,aliases:Q}=q4(c.state,c.pos);if(S&&!c.explicit)return null;Q&&h.length==1&&(h=Q[h[0]]||h);let g=l;for(let f of h){for(;!g.children||!g.children[f];)if(g==l&&O)g=O;else if(g==O&&r)g=g.child(r);else return null;let p=g.maybeChild(f);if(!p)return null;g=p}let d=g.list;if(g==l&&Q&&(d=d.concat(Object.keys(Q).map(f=>({label:f,type:"constant"})))),m){let f=m[0],p=mX(f),$=c.state.sliceDoc(c.pos,c.pos+1)==p;return{from:u,to:$?c.pos+1:void 0,options:A4(f,p,d),validFor:L4}}else return{from:u,options:d,validFor:j4}}}function M4(t){return t==uX?"type":t==hX?"keyword":"variable"}function G4(t,e,i){let r=Object.keys(t).map(n=>i(e?n.toUpperCase():n,M4(t[n])));return eh(["QuotedIdentifier","String","LineComment","BlockComment","."],Ha(r))}let B4=U4.configure({props:[Jt.add({Statement:at()}),Vt.add({Statement(t,e){return{from:Math.min(t.from+100,e.doc.lineAt(t.from).to),to:t.to}},BlockComment(t){return{from:t.from+2,to:t.to-2}}}),qt({Keyword:y.keyword,Type:y.typeName,Builtin:y.standard(y.name),Bits:y.number,Bytes:y.string,Bool:y.bool,Null:y.null,Number:y.number,String:y.string,Identifier:y.name,QuotedIdentifier:y.special(y.string),SpecialVar:y.special(y.name),LineComment:y.lineComment,BlockComment:y.blockComment,Operator:y.operator,"Semi Punctuation":y.punctuation,"( )":y.paren,"{ }":y.brace,"[ ]":y.squareBracket})]});class Pc{constructor(e,i,r){this.dialect=e,this.language=i,this.spec=r}get extension(){return this.language.extension}configureLanguage(e,i){return new Pc(this.dialect,this.language.configure(e,i),this.spec)}static define(e){let i=W4(e,e.keywords,e.types,e.builtin),r=Ut.define({name:"sql",parser:B4.configure({tokenizers:[{from:pX,to:dX(i)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new Pc(i,r,e)}}function I4(t,e){return{label:t,type:e,boost:-1}}function N4(t,e=!1,i){return G4(t.dialect.words,e,i||I4)}function F4(t){return t.schema?D4(t.schema,t.tables,t.schemas,t.defaultTable,t.defaultSchema,t.dialect||Bm):()=>null}function H4(t){return t.schema?(t.dialect||Bm).language.data.of({autocomplete:F4(t)}):[]}function K4(t={}){let e=t.dialect||Bm;return new Ft(e.language,[H4(t),e.language.data.of({autocomplete:N4(e,t.upperCaseKeywords,t.keywordCompletion)})])}const Bm=Pc.define({});var J4=function(t,e){var i={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(i[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,r=Object.getOwnPropertySymbols(t);n<r.length;n++)e.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(t,r[n])&&(i[r[n]]=t[r[n]]);return i};const St=K.define({combine:t=>{const e=[];for(let i of t){if(!i)continue;const{create:r,gutters:n}=i,s=J4(i,["create","gutters"]);e.push(Object.assign(Object.assign({},s),{enabled:!0,gutters:n?n.filter(o=>Object.keys(o).length>0):void 0}))}return Xi(e,{enabled:e.length>0,displayText:"characters",eventHandlers:{},showOverlay:"always",gutters:[]})}}),Gt={PixelMultiplier:2,SizeRatio:4,MaxWidth:120},e3=N.theme({".cm-minimap-overlay-container":{position:"absolute",top:0,height:"100%",width:"100%","&.cm-minimap-overlay-mouse-over":{opacity:0,transition:"visibility 0s linear 300ms, opacity 300ms"},"&.cm-minimap-overlay-mouse-over:hover":{opacity:1,transition:"visibility 0s linear 0ms, opacity 300ms"},"&.cm-minimap-overlay-off":{display:"none"},"& .cm-minimap-overlay":{background:"rgb(121, 121, 121)",opacity:"0.2",position:"absolute",right:0,top:0,width:"100%",transition:"top 0s ease-in 0ms","&:hover":{opacity:"0.3"}},"&.cm-minimap-overlay-active":{opacity:1,visibility:"visible",transition:"visibility 0s linear 0ms, opacity 300ms","& .cm-minimap-overlay":{opacity:"0.4"}}}}),br=Gt.PixelMultiplier*Gt.SizeRatio,t3=Re.fromClass(class{constructor(t){this.view=t,this._isDragging=!1,t.state.facet(St).enabled&&this.create(t)}create(t){this.container=me("div",{class:"cm-minimap-overlay-container"}),this.dom=me("div",{class:"cm-minimap-overlay"}),this.container.appendChild(this.dom),this.container.addEventListener("mousedown",this.onMouseDown.bind(this)),window.addEventListener("mouseup",this.onMouseUp.bind(this)),window.addEventListener("mousemove",this.onMouseMove.bind(this));const e=t.dom.querySelector(".cm-minimap-inner");e&&e.appendChild(this.container),this.computeShowOverlay(),this.computeHeight(),this.computeTop()}remove(){this.container&&(this.container.removeEventListener("mousedown",this.onMouseDown),window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove),this.container.remove())}update(t){const e=t.startState.facet(St).enabled,i=t.state.facet(St).enabled;if(e&&!i){this.remove();return}!e&&i&&this.create(t.view),i&&(this.computeShowOverlay(),t.geometryChanged&&(this.computeHeight(),this.computeTop()))}computeHeight(){if(!this.dom)return;const t=this.view.dom.clientHeight/br;this.dom.style.height=t+"px"}computeTop(){if(!this._isDragging&&this.dom){const{clientHeight:t,scrollHeight:e,scrollTop:i}=this.view.scrollDOM,r=e-t,n=i/br,s=t/br,o=t-s;let a=i/r;isNaN(a)&&(a=0);const l=o*a,O=Math.min(l,n);this.dom.style.top=O+"px"}}computeShowOverlay(){if(!this.container)return;const{showOverlay:t}=this.view.state.facet(St);t==="mouse-over"?this.container.classList.add("cm-minimap-overlay-mouse-over"):this.container.classList.remove("cm-minimap-overlay-mouse-over");const{clientHeight:e,scrollHeight:i}=this.view.scrollDOM;e===i?this.container.classList.add("cm-minimap-overlay-off"):this.container.classList.remove("cm-minimap-overlay-off")}onMouseDown(t){if(!this.container||t.button===2)return;const{clientY:e,target:i}=t;if(i===this.dom){this._dragStartY=t.clientY,this._isDragging=!0,this.container.classList.add("cm-minimap-overlay-active");return}const{clientHeight:r,scrollHeight:n,scrollTop:s}=this.view.scrollDOM,o=i.getBoundingClientRect().top,a=(e-o)*br,l=s/(n-r),c=(r*br-r)*l,h=Math.max(0,s-c);this.view.scrollDOM.scrollTop=h+a-r/2}onMouseUp(t){this._isDragging&&this.container&&(this._dragStartY=void 0,this._isDragging=!1,this.container.classList.remove("cm-minimap-overlay-active"))}onMouseMove(t){if(!this._isDragging||!this.dom)return;if(t.preventDefault(),t.stopPropagation(),!this._dragStartY){this._dragStartY=t.clientY;return}const e=t.clientY-this._dragStartY,i=e<0,r=e>0;this._dragStartY=t.clientY;const n=this.dom.getBoundingClientRect().height,s=this.dom.getBoundingClientRect().y,o=s+n,a=parseFloat(this.dom.style.top),l=this.view.scrollDOM.scrollTop,O=this.view.scrollDOM.clientHeight,c=this.view.scrollDOM.scrollHeight,h=l===0,u=Math.round(l)>=Math.round(c-O);if(h&&i||h&&t.clientY<s||u&&r||u&&t.clientY>o)return;const m=this.view.scrollDOM.scrollHeight,S=this.view.scrollDOM.clientHeight,Q=(m-S)/br,g=S-S/br,d=a+e,f=d/g,p=(m-S)*f,$=d*br;this.view.scrollDOM.scrollTop=Math.max(p,$);const _=Math.min(Math.max(0,d),Math.min(g,Q));this.dom.style.top=_+"px"}destroy(){this.remove()}},{eventHandlers:{scroll(){requestAnimationFrame(()=>this.computeTop())}}}),i3=[e3,t3];class Im{constructor(e){this.map=new Map,this.view=e}get(e){return this.map.get(e)}set(e,i){this.map.set(e,i)}}function __(t){var e;if(!t.facet(St).enabled)return[];const i=[],r=t.doc.iterLines(),n=D5(t).iter();let s=0;for(r.next();!r.done;){const o=r.value;let a=s,l=a+o.length;for(;n.value&&n.to<a;)n.next();const{from:O,to:c}=n,h=a>=O&&a<c,u=l>O&&l<=c;if(h){let m=(e=i.pop())!==null&&e!==void 0?e:[],S=m.pop();S&&S.folded&&(S.to=c),S&&m.push(S),(!S||!S.folded)&&m.push({from:O,to:c,folded:!0}),u||m.push({from:c,to:l,folded:!1}),i.push(m)}else u?i.push([{from:a,to:O,folded:!1},{from:O,to:c,folded:!0}]):i.push([{from:a,to:l,folded:!1}]);s=l+1,r.next()}return i}const Ls=et.define({create:t=>__(t),update:(t,e)=>nh([e])||e.docChanged?__(e.state):t});function nh(t){return t.find(e=>e.effects.find(i=>i.is(Ia)||i.is(Ns)))}class r3 extends Im{constructor(e){super(e),this.count=void 0}shouldUpdate(e){if(!e.state.facet(St).enabled)return!1;if(e.docChanged)return!0;for(const i of e.transactions)for(const r of i.effects)if(r.is(km))return!0;return!!(nh(e.transactions)||this.count===void 0)}update(e){if(!this.shouldUpdate(e))return;this.map.clear();const i=e.state.field(Ls);this.count=rZ(e.state),mZ(e.state,(r,n,s)=>{const o=this.findLine(n,i),a=this.findLine(s,i);let l=r.severity;for(let O=o;O<=a;O++){const c=this.get(O);c&&(l=[l,c].sort(this.sort.bind(this)).slice(0,1)[0]),this.set(O,l)}})}drawLine(e,i){const{context:r,lineHeight:n,offsetX:s,offsetY:o}=e,a=this.get(i);a&&(r.globalAlpha=.65,r.beginPath(),r.rect(s,o,r.canvas.width-s,n),r.fillStyle=this.color(a),r.fill())}findLine(e,i){return i.findIndex(n=>{const s=n.slice(0,1)[0],o=n.slice(-1)[0];return!s||!o?!1:s.from<=e&&e<=o.to})+1}color(e){return e==="error"?"#d11":e==="warning"?"orange":"#999"}sort(e,i){return this.score(i)-this.score(e)}score(e){switch(e){case"error":return 3;case"warning":return 2;default:return 1}}}function n3(t){return new r3(t)}class s3 extends Im{constructor(e){super(e),this.getDrawInfo(),this._themeClasses=e.dom.classList.value}shouldUpdate(e){return e.state.facet(St).enabled?!!(e.docChanged||e.selectionSet||this._themeClasses!==this.view.dom.classList.value||nh(e.transactions)):!1}update(e){if(!this.shouldUpdate(e))return;this.map.clear(),this._themeClasses!==this.view.dom.classList.value&&(this._drawInfo=void 0,this._themeClasses=this.view.dom.classList.value);const{ranges:i}=e.state.selection;let r=0;for(const[n,s]of e.state.field(Ls).entries()){const o=[];let a=0;for(const O of s){do{if(r>=i.length||O.to<i[r].from)continue;if(i[r].from===i[r].to){r++;continue}const c=i[r],h={from:a+Math.max(O.from,c.from)-O.from,to:a+Math.min(O.to,c.to)-O.from,extends:c.to>O.to},u=o.slice(-1)[0];if(u&&u.to===h.from){let{to:m}=h;O.folded&&h.extends?m=h.from+1:O.folded&&!h.extends&&(m=u.to),o[o.length-1]=Object.assign(Object.assign({},u),{to:m,extends:h.extends})}else O.folded||o.push(h);if(h.extends)break;r++}while(r<i.length&&O.to>=i[r].from);a+=O.folded?1:O.to-O.from}if(o.length===0)continue;const l=n+1;this.map.set(l,o)}}drawLine(e,i){let{context:r,lineHeight:n,charWidth:s,offsetX:o,offsetY:a}=e;const l=this.get(i);if(l)for(const O of l){const c=o+O.from*s,h=(O.to-O.from)*s,u=r.canvas.width-c;O.extends&&(r.globalAlpha=.65,r.beginPath(),r.rect(c,a,u,n),r.fillStyle=this.getDrawInfo().backgroundColor,r.fill()),r.globalAlpha=1,r.beginPath(),r.rect(c,a,h,n),r.fillStyle=this.getDrawInfo().backgroundColor,r.fill()}}getDrawInfo(){if(this._drawInfo)return this._drawInfo;const e=document.createElement("span");e.setAttribute("class","cm-selectionBackground"),this.view.dom.appendChild(e);const r={backgroundColor:window.getComputedStyle(e).backgroundColor};return this._drawInfo=r,this.view.dom.removeChild(e),r}}function o3(t){return new s3(t)}class a3 extends Im{constructor(e){super(e),this._fontInfoMap=new Map,this._themeClasses=new Set(e.dom.classList.values()),e.state.facet(St).enabled&&this.updateImpl(e.state)}shouldUpdate(e){return!!(e.docChanged||e.state.facet(St)!==e.startState.facet(St)||this.themeChanged()||nh(e.transactions))}update(e){this.shouldUpdate(e)&&(this._highlightingCallbackId&&(typeof window.requestIdleCallback<"u"?cancelIdleCallback(this._highlightingCallbackId):clearTimeout(this._highlightingCallbackId)),this.updateImpl(e.state,e.changes))}updateImpl(e,i){var r;this.map.clear(),this._displayText=e.facet(St).displayText,this.themeChanged()&&this._fontInfoMap.clear();let n;if(this._previousTree&&i){const h=vi.addTree(this._previousTree),u=[];i.iterChangedRanges((m,S,Q,g)=>u.push({fromA:m,toA:S,fromB:Q,toB:g})),n=vi.applyChanges(h,u)}const s=e.doc.toString(),o=(r=e.facet(Qr))===null||r===void 0?void 0:r.parser,a=o?o.parse(s,n):void 0;this._previousTree=a;const l={style:h=>iC(e,h)};let O=[];if(a){const h=e.doc.lineAt(this.view.viewport.from).number,u=e.doc.lineAt(this.view.viewport.to).number,m=u-h,S=h/(e.doc.lines-m),{SizeRatio:Q,PixelMultiplier:g}=Gt,d=m*Q*g,f=S*d,p=Math.max(1,Math.floor(h-f)),$=Math.min(u+Math.floor(d-f),e.doc.lines);dd(a,l,(_,P,w)=>{O.push({from:_,to:P,tags:w})},e.doc.line(p).from,e.doc.line($).to)}this.updateMapImpl(e,O),O=[];const c=()=>{a&&(dd(a,l,(h,u,m)=>{O.push({from:h,to:u,tags:m})}),this.updateMapImpl(e,O),this._highlightingCallbackId=void 0)};this._highlightingCallbackId=typeof window.requestIdleCallback<"u"?requestIdleCallback(c):setTimeout(c)}updateMapImpl(e,i){this.map.clear();const r=e.doc.toString(),n=i.values();let s=n.next();for(const[o,a]of e.field(Ls).entries()){const l=[];for(const c of a){if(c.from===c.to)continue;if(c.folded){l.push({text:"…",tags:""});continue}let h=c.from;for(;!s.done&&s.value.from<c.to;){const{from:u,to:m,tags:S}=s.value;if(m<h){s=n.next();continue}u>h&&l.push({text:r.slice(h,u),tags:""});const Q=Math.max(u,c.from),g=Math.min(m,c.to);if(l.push({text:r.slice(Q,g),tags:S}),h=g,m>g)break;s=n.next()}h!==c.to&&l.push({text:r.slice(h,c.to),tags:""})}const O=o+1;this.map.set(O,l)}}measure(e){const{color:i,font:r,lineHeight:n}=this.getFontInfo("");return e.textBaseline="ideographic",e.fillStyle=i,e.font=r,{charWidth:e.measureText("_").width,lineHeight:n}}beforeDraw(){this._fontInfoMap.clear()}drawLine(e,i){const r=this.get(i);if(!r)return;let{context:n,charWidth:s,lineHeight:o,offsetX:a,offsetY:l}=e,O;n.textBaseline="ideographic";for(const c of r){const h=this.getFontInfo(c.tags);switch((!O||O.color!==h.color)&&(n.fillStyle=h.color),(!O||O.font!==h.font)&&(n.font=h.font),O=h,o=Math.max(o,h.lineHeight),this._displayText){case"characters":{n.fillText(c.text,a,l+o),a+=c.text.length*s;break}case"blocks":{const u=/\S+/g;let m;for(;(m=u.exec(c.text))!==null;){const S=a+m.index*s;let Q=(u.lastIndex-m.index)*s;if(S>n.canvas.width)break;S+Q>n.canvas.width&&(Q=n.canvas.width-S);const g=2/Gt.SizeRatio,d=o-g;n.fillStyle=h.color,n.globalAlpha=.65,n.beginPath(),n.rect(S,l,Q,d),n.fill()}a+=c.text.length*s;break}}}}getFontInfo(e){const i=this._fontInfoMap.get(e);if(i)return i;const r=me("span",{class:e}),n=me("div",{class:"cm-line",style:"display: none"},r);this.view.contentDOM.appendChild(n);const s=window.getComputedStyle(r),o=parseFloat(s.lineHeight)/Gt.SizeRatio,a={color:s.color,font:`${s.fontStyle} ${s.fontWeight} ${o}px ${s.fontFamily}`,lineHeight:o};return this._fontInfoMap.set(e,a),this.view.contentDOM.removeChild(n),a}themeChanged(){const e=this._themeClasses,i=new Set(this.view.dom.classList.values());if(this._themeClasses=i,!e||(e.delete("cm-focused"),i.delete("cm-focused"),e.size!==i.size))return!0;let r=!0;return e.forEach(n=>{i.has(n)||(r=!1)}),!r}}function l3(t){return new a3(t)}const gX=4;function O3(t,e,i){const r=t[i];r&&(e.context.fillStyle=r,e.context.globalAlpha=1,e.context.beginPath(),e.context.rect(e.offsetX,e.offsetY,gX,e.lineHeight),e.context.fill())}const c3=N.theme({"&":{height:"100%",overflowY:"auto"},"& .cm-minimap-gutter":{borderRight:0,flexShrink:0,left:"unset",position:"sticky",right:0,top:0},"& .cm-minimap-inner":{height:"100%",position:"absolute",right:0,top:0,overflowY:"hidden","& canvas":{display:"block"}},"& .cm-minimap-box-shadow":{boxShadow:"12px 0px 20px 5px #6c6c6c"}}),v_=6,h3=Re.fromClass(class{constructor(t){this.view=t,this.text=l3(t),this.selection=o3(t),this.diagnostic=n3(t),t.state.facet(Ro)&&this.create(t)}create(t){const e=t.state.facet(Ro);if(!e)throw Error("Expected nonnull");this.inner=me("div",{class:"cm-minimap-inner"}),this.canvas=me("canvas"),this.dom=e.create(t).dom,this.dom.classList.add("cm-gutters"),this.dom.classList.add("cm-minimap-gutter"),this.inner.appendChild(this.canvas),this.dom.appendChild(this.inner),this.view.scrollDOM.insertBefore(this.dom,this.view.contentDOM.nextSibling);for(const i in this.view.state.facet(St).eventHandlers){const r=this.view.state.facet(St).eventHandlers[i];r&&this.dom.addEventListener(i,n=>r(n,this.view))}}remove(){this.dom&&this.dom.remove()}update(t){const e=t.startState.facet(Ro),i=t.state.facet(Ro);if(e&&!i){this.remove();return}!e&&i&&this.create(t.view),i&&(this.text.update(t),this.selection.update(t),this.diagnostic.update(t),this.render())}getWidth(){const t=this.view.dom.clientWidth;if(t<=Gt.MaxWidth*v_){const e=t/(Gt.MaxWidth*v_);return Gt.MaxWidth*e}return Gt.MaxWidth}render(){if(!this.dom||!this.canvas||!this.inner)return;this.text.beforeDraw(),this.updateBoxShadow(),this.dom.style.width=this.getWidth()+"px",this.canvas.style.maxWidth=this.getWidth()+"px",this.canvas.width=this.getWidth()*Gt.PixelMultiplier;const t=this.view.dom.getBoundingClientRect().height;this.inner.style.minHeight=t+"px",this.canvas.height=t*Gt.PixelMultiplier,this.canvas.style.height=t+"px";const e=this.canvas.getContext("2d");if(!e)return;e.clearRect(0,0,this.canvas.width,this.canvas.height);const{charWidth:i,lineHeight:r}=this.text.measure(e);let{startIndex:n,endIndex:s,offsetY:o}=this.canvasStartAndEndIndex(e,r);const a=this.view.state.facet(St).gutters;for(let l=n;l<s;l++){const O=this.view.state.field(Ls);if(l>=O.length)break;const c={offsetX:0,offsetY:o,context:e,lineHeight:r,charWidth:i};if(a.length){c.offsetX+=2;for(let h of a)O3(h,c,l+1),c.offsetX+=gX;c.offsetX+=2}this.text.drawLine(c,l+1),this.selection.drawLine(c,l+1),this.diagnostic.drawLine(c,l+1),o+=r}e.restore()}canvasStartAndEndIndex(t,e){let{top:i,bottom:r}=this.view.documentPadding;i/=Gt.SizeRatio,r/=Gt.SizeRatio;const n=t.canvas.height,{clientHeight:s,scrollHeight:o,scrollTop:a}=this.view.scrollDOM;let l=a/(o-s);isNaN(l)&&(l=0);const O=this.view.state.field(Ls).length,c=i+r+O*e,h=Math.max(0,l*(c-n)),u=Math.max(0,i-h),m=Math.round(Math.max(0,h-i)/e),S=Math.round((n-u)/e);return{startIndex:m,endIndex:m+S,offsetY:u}}updateBoxShadow(){if(!this.canvas)return;const{clientWidth:t,scrollWidth:e,scrollLeft:i}=this.view.scrollDOM;t+i<e?this.canvas.classList.add("cm-minimap-box-shadow"):this.canvas.classList.remove("cm-minimap-box-shadow")}destroy(){this.remove()}},{eventHandlers:{scroll(){requestAnimationFrame(()=>this.render())}},provide:t=>N.scrollMargins.of(e=>{var i;const r=(i=e.plugin(t))===null||i===void 0?void 0:i.getWidth();return r?{right:r}:null})}),Ro=K.define({combine:t=>{var e;return(e=t.find(i=>i!==null))!==null&&e!==void 0?e:null},enables:t=>[[St.compute([t],e=>e.facet(t)),c3,Ls,h3,i3]]}),P_={js:un,jsx:un,ts:un,tsx:un,mjs:un,cjs:un,py:Q$,pyw:Q$,java:NU,c:jn,cpp:jn,cc:jn,cxx:jn,h:jn,hpp:jn,go:mq,rs:qz,json:$q,yml:Z$,yaml:Z$,md:h_,markdown:h_,css:ko,scss:ko,sass:ko,less:ko,sql:K4,html:To,htm:To,svg:To,xml:To};function u3(t){var i;const e=(i=t==null?void 0:t.split(".").pop())==null?void 0:i.toLowerCase();return P_[e]?[P_[e]()]:[]}const f3=ne.line({class:"cm-diff-added-line",attributes:{"data-diff-type":"added"}}),d3=ne.line({class:"cm-diff-removed-line",attributes:{"data-diff-type":"removed"}});function p3(t){return Re.fromClass(class{constructor(e){Oh(this,"decorations");this.decorations=this.buildDecorations(e,t)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=this.buildDecorations(e.view,t))}buildDecorations(e,i){if(!i||i.length===0)return ne.none;const r=new Fi,n=e.state.doc;for(let s=1;s<=n.lines;s++){const o=n.line(s),a=i[s-1];a&&(a.added?r.add(o.from,o.from,f3):a.removed&&r.add(o.from,o.from,d3))}return r.finish()}},{decorations:e=>e.decorations})}const m3=N.theme({"&":{backgroundColor:"#000000",color:"#e0e0e0",height:"100%"},".cm-gutters":{backgroundColor:"#0a0a0a",color:"#6b7280",border:"none",borderRight:"1px solid #1f1f1f"},".cm-activeLineGutter":{backgroundColor:"#1a1a1a"},".cm-activeLine":{backgroundColor:"rgba(255, 255, 255, 0.05)"},".cm-cursor":{borderLeftColor:"#22c55e"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:"rgba(34, 197, 94, 0.2)"},".cm-scroller":{fontFamily:"'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace",fontSize:"13px",lineHeight:"1.6",overflow:"auto"},".cm-content":{minHeight:"100%"},".cm-minimap-gutter":{background:"#0a0a0a",borderLeft:"1px solid #1f1f1f"},".cm-minimap-overlay-container":{cursor:"pointer"},".cm-minimap-overlay":{border:"1px solid rgba(34, 197, 94, 0.6)",background:"rgba(34, 197, 94, 0.2)",borderRadius:"2px",cursor:"grab",transition:"background 0.15s ease"},".cm-minimap-overlay:hover":{border:"1px solid rgba(34, 197, 94, 0.9)",background:"rgba(34, 197, 94, 0.35)"},".cm-minimap-overlay-container.cm-minimap-overlay-active .cm-minimap-overlay":{border:"1px solid rgba(34, 197, 94, 1)",background:"rgba(34, 197, 94, 0.4)",cursor:"grabbing"},".cm-diff-added-line":{backgroundColor:"rgba(34, 197, 94, 0.15)",borderLeft:"3px solid #22c55e"},".cm-diff-added-line .cm-gutterElement":{color:"#4ade80"},".cm-diff-removed-line":{backgroundColor:"rgba(239, 68, 68, 0.15)",borderLeft:"3px solid #ef4444"},".cm-diff-removed-line .cm-gutterElement":{color:"#f87171"}},{dark:!0}),g3=Fs.define([{tag:y.keyword,color:"#ff7b72"},{tag:[y.name,y.deleted,y.character,y.propertyName,y.macroName],color:"#ffa657"},{tag:[y.function(y.variableName),y.labelName],color:"#d2a8ff"},{tag:[y.color,y.constant(y.name),y.standard(y.name)],color:"#79c0ff"},{tag:[y.definition(y.name),y.separator],color:"#e0e0e0"},{tag:[y.typeName,y.className,y.number,y.changed,y.annotation,y.modifier,y.self,y.namespace],color:"#ffa657"},{tag:[y.operator,y.operatorKeyword,y.url,y.escape,y.regexp,y.link,y.special(y.string)],color:"#79c0ff"},{tag:[y.meta,y.comment],color:"#6b7280",fontStyle:"italic"},{tag:y.strong,fontWeight:"bold"},{tag:y.emphasis,fontStyle:"italic"},{tag:y.link,color:"#79c0ff",textDecoration:"underline"},{tag:y.heading,fontWeight:"bold",color:"#ffa657"},{tag:[y.atom,y.bool,y.special(y.variableName)],color:"#79c0ff"},{tag:[y.processingInstruction,y.string,y.inserted],color:"#a5d6ff"},{tag:y.invalid,color:"#f85149"}]),Q3=um(g3);function S3({content:t,diff:e,isDiff:i,filePath:r}){const n=ge.useRef(null),s=ge.useMemo(()=>{const a=[...u3(r),Q3,N.lineWrapping,Ro.compute(["doc"],l=>({create:O=>({dom:document.createElement("div")}),displayText:"characters",showOverlay:"always"}))];return i&&e&&e.length>0&&a.push(p3(e)),a},[r,i,e]),o=ge.useMemo(()=>i&&e?e.map(a=>a.content).join(`
|
|
88
|
-
`):t||"",[t,e,i]);return oe.jsx("div",{className:"code-viewer-codemirror",children:oe.jsx(Wy,{value:o,height:"100%",theme:
|
|
87
|
+
`;function fX(t,e,i){let r=Object.create(null);r.true=r.false=f4,r.null=r.unknown=d4;for(let n of t.split(" "))n&&(r[n]=hX);for(let n of e.split(" "))n&&(r[n]=uX);for(let n of(i||"").split(" "))n&&(r[n]=x4);return r}const Y4="array binary bit boolean char character clob date decimal double float int integer interval large national nchar nclob numeric object precision real smallint time timestamp varchar varying ",Z4="absolute action add after all allocate alter and any are as asc assertion at authorization before begin between both breadth by call cascade cascaded case cast catalog check close collate collation column commit condition connect connection constraint constraints constructor continue corresponding count create cross cube current current_date current_default_transform_group current_transform_group_for_type current_path current_role current_time current_timestamp current_user cursor cycle data day deallocate declare default deferrable deferred delete depth deref desc describe descriptor deterministic diagnostics disconnect distinct do domain drop dynamic each else elseif end end-exec equals escape except exception exec execute exists exit external fetch first for foreign found from free full function general get global go goto grant group grouping handle having hold hour identity if immediate in indicator initially inner inout input insert intersect into is isolation join key language last lateral leading leave left level like limit local localtime localtimestamp locator loop map match method minute modifies module month names natural nesting new next no none not of old on only open option or order ordinality out outer output overlaps pad parameter partial path prepare preserve primary prior privileges procedure public read reads recursive redo ref references referencing relative release repeat resignal restrict result return returns revoke right role rollback rollup routine row rows savepoint schema scroll search second section select session session_user set sets signal similar size some space specific specifictype sql sqlexception sqlstate sqlwarning start state static system_user table temporary then timezone_hour timezone_minute to trailing transaction translation treat trigger under undo union unique unnest until update usage user using value values view when whenever where while with without work write year zone ",Ld={backslashEscapes:!1,hashComments:!1,spaceAfterDashes:!1,slashComments:!1,doubleQuotedStrings:!1,doubleDollarQuotedStrings:!1,unquotedBitLiterals:!1,treatBitsAsBytes:!1,charSetCasts:!1,plsqlQuotingMechanism:!1,operatorChars:"*+-%<>!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:fX(Z4,Y4)};function W4(t,e,i,r){let n={};for(let s in Ld)n[s]=(t.hasOwnProperty(s)?t:Ld)[s];return e&&(n.words=fX(e,i||"",r)),n}function dX(t){return new ye(e=>{var i;let{next:r}=e;if(e.advance(),ln(r,Zu)){for(;ln(e.next,Zu);)e.advance();e.acceptToken(h4)}else if(r==36&&t.doubleDollarQuotedStrings){let n=jd(e,"");e.next==36&&(e.advance(),T4(e,n),e.acceptToken(Dn))}else if(r==39||r==34&&t.doubleQuotedStrings)fn(e,r,t.backslashEscapes),e.acceptToken(Dn);else if(r==35&&t.hashComments||r==47&&e.next==47&&t.slashComments)g_(e),e.acceptToken(u_);else if(r==45&&e.next==45&&(!t.spaceAfterDashes||e.peek(1)==32))g_(e),e.acceptToken(u_);else if(r==47&&e.next==42){e.advance();for(let n=1;;){let s=e.next;if(e.next<0)break;if(e.advance(),s==42&&e.next==47){if(n--,e.advance(),!n)break}else s==47&&e.next==42&&(n++,e.advance())}e.acceptToken(u4)}else if((r==101||r==69)&&e.next==39)e.advance(),fn(e,39,!0),e.acceptToken(Dn);else if((r==110||r==78)&&e.next==39&&t.charSetCasts)e.advance(),fn(e,39,t.backslashEscapes),e.acceptToken(Dn);else if(r==95&&t.charSetCasts)for(let n=0;;n++){if(e.next==39&&n>1){e.advance(),fn(e,39,t.backslashEscapes),e.acceptToken(Dn);break}if(!Ad(e.next))break;e.advance()}else if(t.plsqlQuotingMechanism&&(r==113||r==81)&&e.next==39&&e.peek(1)>0&&!ln(e.peek(1),Zu)){let n=e.peek(1);e.advance(2),R4(e,n),e.acceptToken(Dn)}else if(ln(r,t.identifierQuotes)){const n=r==91?93:r;fn(e,n,!1),e.acceptToken(X4)}else if(r==40)e.acceptToken(p4);else if(r==41)e.acceptToken(m4);else if(r==123)e.acceptToken(g4);else if(r==125)e.acceptToken(Q4);else if(r==91)e.acceptToken(S4);else if(r==93)e.acceptToken($4);else if(r==59)e.acceptToken(_4);else if(t.unquotedBitLiterals&&r==48&&e.next==98)e.advance(),p_(e),e.acceptToken(d_);else if((r==98||r==66)&&(e.next==39||e.next==34)){const n=e.next;e.advance(),t.treatBitsAsBytes?(fn(e,n,t.backslashEscapes),e.acceptToken(b4)):(p_(e,n),e.acceptToken(d_))}else if(r==48&&(e.next==120||e.next==88)||(r==120||r==88)&&e.next==39){let n=e.next==39;for(e.advance();k4(e.next);)e.advance();n&&e.next==39&&e.advance(),e.acceptToken(Yu)}else if(r==46&&e.next>=48&&e.next<=57)m_(e,!0),e.acceptToken(Yu);else if(r==46)e.acceptToken(v4);else if(r>=48&&r<=57)m_(e,!1),e.acceptToken(Yu);else if(ln(r,t.operatorChars)){for(;ln(e.next,t.operatorChars);)e.advance();e.acceptToken(P4)}else if(ln(r,t.specialVar))e.next==r&&e.advance(),C4(e),e.acceptToken(w4);else if(r==58||r==44)e.acceptToken(y4);else if(Ad(r)){let n=jd(e,String.fromCharCode(r));e.acceptToken(e.next==46||e.peek(-n.length-1)==46?f_:(i=t.words[n.toLowerCase()])!==null&&i!==void 0?i:f_)}})}const pX=dX(Ld),U4=zt.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"⚠ LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,pX],topRules:{Script:[0,25]},tokenPrec:0});function Dd(t){let e=t.cursor().moveTo(t.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function qa(t,e){let i=t.sliceString(e.from,e.to),r=/^([`'"\[])(.*)([`'"\]])$/.exec(i);return r?r[2]:i}function vc(t){return t&&(t.name=="Identifier"||t.name=="QuotedIdentifier")}function z4(t,e){if(e.name=="CompositeIdentifier"){let i=[];for(let r=e.firstChild;r;r=r.nextSibling)vc(r)&&i.push(qa(t,r));return i}return[qa(t,e)]}function Q_(t,e){for(let i=[];;){if(!e||e.name!=".")return i;let r=Dd(e);if(!vc(r))return i;i.unshift(qa(t,r)),e=Dd(r)}}function q4(t,e){let i=ve(t).resolveInner(e,-1),r=E4(t.doc,i);return i.name=="Identifier"||i.name=="QuotedIdentifier"||i.name=="Keyword"?{from:i.from,quoted:i.name=="QuotedIdentifier"?t.doc.sliceString(i.from,i.from+1):null,parents:Q_(t.doc,Dd(i)),aliases:r}:i.name=="."?{from:e,quoted:null,parents:Q_(t.doc,i),aliases:r}:{from:e,quoted:null,parents:[],empty:!0,aliases:r}}const V4=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function E4(t,e){let i;for(let n=e;!i;n=n.parent){if(!n)return null;n.name=="Statement"&&(i=n)}let r=null;for(let n=i.firstChild,s=!1,o=null;n;n=n.nextSibling){let a=n.name=="Keyword"?t.sliceString(n.from,n.to).toLowerCase():null,l=null;if(!s)s=a=="from";else if(a=="as"&&o&&vc(n.nextSibling))l=qa(t,n.nextSibling);else{if(a&&V4.has(a))break;o&&vc(n)&&(l=qa(t,n))}l&&(r||(r=Object.create(null)),r[l]=z4(t,o)),o=/Identifier$/.test(n.name)?n:null}return r}function A4(t,e,i){return i.map(r=>({...r,label:r.label[0]==t?r.label:t+r.label+e,apply:void 0}))}const j4=/^\w*$/,L4=/^[`'"\[]?\w*[`'"\]]?$/;function S_(t){return t.self&&typeof t.self.label=="string"}class Gm{constructor(e,i){this.idQuote=e,this.idCaseInsensitive=i,this.list=[],this.children=void 0}child(e){let i=this.children||(this.children=Object.create(null)),r=i[e];return r||(e&&!this.list.some(n=>n.label==e)&&this.list.push($_(e,"type",this.idQuote,this.idCaseInsensitive)),i[e]=new Gm(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let i=this.list.findIndex(r=>r.label==e.label);i>-1?this.list[i]=e:this.list.push(e)}addCompletions(e){for(let i of e)this.addCompletion(typeof i=="string"?$_(i,"property",this.idQuote,this.idCaseInsensitive):i)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):S_(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let i of Object.keys(e)){let r=e[i],n=null,s=i.replace(/\\?\./g,a=>a=="."?"\0":a).split("\0"),o=this;S_(r)&&(n=r.self,r=r.children);for(let a=0;a<s.length;a++)n&&a==s.length-1&&o.addCompletion(n),o=o.child(s[a].replace(/\\\./g,"."));o.addNamespace(r)}}}function $_(t,e,i,r){return new RegExp("^[a-z_][a-z_\\d]*$",r?"i":"").test(t)?{label:t,type:e}:{label:t,type:e,apply:i+t+mX(i)}}function mX(t){return t==="["?"]":t}function D4(t,e,i,r,n,s){var o;let a=((o=s==null?void 0:s.spec.identifierQuotes)===null||o===void 0?void 0:o[0])||'"',l=new Gm(a,!!(s!=null&&s.spec.caseInsensitiveIdentifiers)),O=n?l.child(n):null;return l.addNamespace(t),e&&(O||l).addCompletions(e),i&&l.addCompletions(i),O&&l.addCompletions(O.list),r&&l.addCompletions((O||l).child(r).list),c=>{let{parents:h,from:u,quoted:m,empty:S,aliases:Q}=q4(c.state,c.pos);if(S&&!c.explicit)return null;Q&&h.length==1&&(h=Q[h[0]]||h);let g=l;for(let f of h){for(;!g.children||!g.children[f];)if(g==l&&O)g=O;else if(g==O&&r)g=g.child(r);else return null;let p=g.maybeChild(f);if(!p)return null;g=p}let d=g.list;if(g==l&&Q&&(d=d.concat(Object.keys(Q).map(f=>({label:f,type:"constant"})))),m){let f=m[0],p=mX(f),$=c.state.sliceDoc(c.pos,c.pos+1)==p;return{from:u,to:$?c.pos+1:void 0,options:A4(f,p,d),validFor:L4}}else return{from:u,options:d,validFor:j4}}}function M4(t){return t==uX?"type":t==hX?"keyword":"variable"}function G4(t,e,i){let r=Object.keys(t).map(n=>i(e?n.toUpperCase():n,M4(t[n])));return eh(["QuotedIdentifier","String","LineComment","BlockComment","."],Ha(r))}let B4=U4.configure({props:[Jt.add({Statement:at()}),Vt.add({Statement(t,e){return{from:Math.min(t.from+100,e.doc.lineAt(t.from).to),to:t.to}},BlockComment(t){return{from:t.from+2,to:t.to-2}}}),qt({Keyword:y.keyword,Type:y.typeName,Builtin:y.standard(y.name),Bits:y.number,Bytes:y.string,Bool:y.bool,Null:y.null,Number:y.number,String:y.string,Identifier:y.name,QuotedIdentifier:y.special(y.string),SpecialVar:y.special(y.name),LineComment:y.lineComment,BlockComment:y.blockComment,Operator:y.operator,"Semi Punctuation":y.punctuation,"( )":y.paren,"{ }":y.brace,"[ ]":y.squareBracket})]});class Pc{constructor(e,i,r){this.dialect=e,this.language=i,this.spec=r}get extension(){return this.language.extension}configureLanguage(e,i){return new Pc(this.dialect,this.language.configure(e,i),this.spec)}static define(e){let i=W4(e,e.keywords,e.types,e.builtin),r=Ut.define({name:"sql",parser:B4.configure({tokenizers:[{from:pX,to:dX(i)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new Pc(i,r,e)}}function I4(t,e){return{label:t,type:e,boost:-1}}function N4(t,e=!1,i){return G4(t.dialect.words,e,i||I4)}function F4(t){return t.schema?D4(t.schema,t.tables,t.schemas,t.defaultTable,t.defaultSchema,t.dialect||Bm):()=>null}function H4(t){return t.schema?(t.dialect||Bm).language.data.of({autocomplete:F4(t)}):[]}function K4(t={}){let e=t.dialect||Bm;return new Ft(e.language,[H4(t),e.language.data.of({autocomplete:N4(e,t.upperCaseKeywords,t.keywordCompletion)})])}const Bm=Pc.define({});var J4=function(t,e){var i={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(i[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,r=Object.getOwnPropertySymbols(t);n<r.length;n++)e.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(t,r[n])&&(i[r[n]]=t[r[n]]);return i};const St=K.define({combine:t=>{const e=[];for(let i of t){if(!i)continue;const{create:r,gutters:n}=i,s=J4(i,["create","gutters"]);e.push(Object.assign(Object.assign({},s),{enabled:!0,gutters:n?n.filter(o=>Object.keys(o).length>0):void 0}))}return Xi(e,{enabled:e.length>0,displayText:"characters",eventHandlers:{},showOverlay:"always",gutters:[]})}}),Gt={PixelMultiplier:2,SizeRatio:4,MaxWidth:120},e3=N.theme({".cm-minimap-overlay-container":{position:"absolute",top:0,height:"100%",width:"100%","&.cm-minimap-overlay-mouse-over":{opacity:0,transition:"visibility 0s linear 300ms, opacity 300ms"},"&.cm-minimap-overlay-mouse-over:hover":{opacity:1,transition:"visibility 0s linear 0ms, opacity 300ms"},"&.cm-minimap-overlay-off":{display:"none"},"& .cm-minimap-overlay":{background:"rgb(121, 121, 121)",opacity:"0.2",position:"absolute",right:0,top:0,width:"100%",transition:"top 0s ease-in 0ms","&:hover":{opacity:"0.3"}},"&.cm-minimap-overlay-active":{opacity:1,visibility:"visible",transition:"visibility 0s linear 0ms, opacity 300ms","& .cm-minimap-overlay":{opacity:"0.4"}}}}),br=Gt.PixelMultiplier*Gt.SizeRatio,t3=Re.fromClass(class{constructor(t){this.view=t,this._isDragging=!1,t.state.facet(St).enabled&&this.create(t)}create(t){this.container=me("div",{class:"cm-minimap-overlay-container"}),this.dom=me("div",{class:"cm-minimap-overlay"}),this.container.appendChild(this.dom),this.container.addEventListener("mousedown",this.onMouseDown.bind(this)),window.addEventListener("mouseup",this.onMouseUp.bind(this)),window.addEventListener("mousemove",this.onMouseMove.bind(this));const e=t.dom.querySelector(".cm-minimap-inner");e&&e.appendChild(this.container),this.computeShowOverlay(),this.computeHeight(),this.computeTop()}remove(){this.container&&(this.container.removeEventListener("mousedown",this.onMouseDown),window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove),this.container.remove())}update(t){const e=t.startState.facet(St).enabled,i=t.state.facet(St).enabled;if(e&&!i){this.remove();return}!e&&i&&this.create(t.view),i&&(this.computeShowOverlay(),t.geometryChanged&&(this.computeHeight(),this.computeTop()))}computeHeight(){if(!this.dom)return;const t=this.view.dom.clientHeight/br;this.dom.style.height=t+"px"}computeTop(){if(!this._isDragging&&this.dom){const{clientHeight:t,scrollHeight:e,scrollTop:i}=this.view.scrollDOM,r=e-t,n=i/br,s=t/br,o=t-s;let a=i/r;isNaN(a)&&(a=0);const l=o*a,O=Math.min(l,n);this.dom.style.top=O+"px"}}computeShowOverlay(){if(!this.container)return;const{showOverlay:t}=this.view.state.facet(St);t==="mouse-over"?this.container.classList.add("cm-minimap-overlay-mouse-over"):this.container.classList.remove("cm-minimap-overlay-mouse-over");const{clientHeight:e,scrollHeight:i}=this.view.scrollDOM;e===i?this.container.classList.add("cm-minimap-overlay-off"):this.container.classList.remove("cm-minimap-overlay-off")}onMouseDown(t){if(!this.container||t.button===2)return;const{clientY:e,target:i}=t;if(i===this.dom){this._dragStartY=t.clientY,this._isDragging=!0,this.container.classList.add("cm-minimap-overlay-active");return}const{clientHeight:r,scrollHeight:n,scrollTop:s}=this.view.scrollDOM,o=i.getBoundingClientRect().top,a=(e-o)*br,l=s/(n-r),c=(r*br-r)*l,h=Math.max(0,s-c);this.view.scrollDOM.scrollTop=h+a-r/2}onMouseUp(t){this._isDragging&&this.container&&(this._dragStartY=void 0,this._isDragging=!1,this.container.classList.remove("cm-minimap-overlay-active"))}onMouseMove(t){if(!this._isDragging||!this.dom)return;if(t.preventDefault(),t.stopPropagation(),!this._dragStartY){this._dragStartY=t.clientY;return}const e=t.clientY-this._dragStartY,i=e<0,r=e>0;this._dragStartY=t.clientY;const n=this.dom.getBoundingClientRect().height,s=this.dom.getBoundingClientRect().y,o=s+n,a=parseFloat(this.dom.style.top),l=this.view.scrollDOM.scrollTop,O=this.view.scrollDOM.clientHeight,c=this.view.scrollDOM.scrollHeight,h=l===0,u=Math.round(l)>=Math.round(c-O);if(h&&i||h&&t.clientY<s||u&&r||u&&t.clientY>o)return;const m=this.view.scrollDOM.scrollHeight,S=this.view.scrollDOM.clientHeight,Q=(m-S)/br,g=S-S/br,d=a+e,f=d/g,p=(m-S)*f,$=d*br;this.view.scrollDOM.scrollTop=Math.max(p,$);const _=Math.min(Math.max(0,d),Math.min(g,Q));this.dom.style.top=_+"px"}destroy(){this.remove()}},{eventHandlers:{scroll(){requestAnimationFrame(()=>this.computeTop())}}}),i3=[e3,t3];class Im{constructor(e){this.map=new Map,this.view=e}get(e){return this.map.get(e)}set(e,i){this.map.set(e,i)}}function __(t){var e;if(!t.facet(St).enabled)return[];const i=[],r=t.doc.iterLines(),n=D5(t).iter();let s=0;for(r.next();!r.done;){const o=r.value;let a=s,l=a+o.length;for(;n.value&&n.to<a;)n.next();const{from:O,to:c}=n,h=a>=O&&a<c,u=l>O&&l<=c;if(h){let m=(e=i.pop())!==null&&e!==void 0?e:[],S=m.pop();S&&S.folded&&(S.to=c),S&&m.push(S),(!S||!S.folded)&&m.push({from:O,to:c,folded:!0}),u||m.push({from:c,to:l,folded:!1}),i.push(m)}else u?i.push([{from:a,to:O,folded:!1},{from:O,to:c,folded:!0}]):i.push([{from:a,to:l,folded:!1}]);s=l+1,r.next()}return i}const Ls=et.define({create:t=>__(t),update:(t,e)=>nh([e])||e.docChanged?__(e.state):t});function nh(t){return t.find(e=>e.effects.find(i=>i.is(Ia)||i.is(Ns)))}class r3 extends Im{constructor(e){super(e),this.count=void 0}shouldUpdate(e){if(!e.state.facet(St).enabled)return!1;if(e.docChanged)return!0;for(const i of e.transactions)for(const r of i.effects)if(r.is(km))return!0;return!!(nh(e.transactions)||this.count===void 0)}update(e){if(!this.shouldUpdate(e))return;this.map.clear();const i=e.state.field(Ls);this.count=rZ(e.state),mZ(e.state,(r,n,s)=>{const o=this.findLine(n,i),a=this.findLine(s,i);let l=r.severity;for(let O=o;O<=a;O++){const c=this.get(O);c&&(l=[l,c].sort(this.sort.bind(this)).slice(0,1)[0]),this.set(O,l)}})}drawLine(e,i){const{context:r,lineHeight:n,offsetX:s,offsetY:o}=e,a=this.get(i);a&&(r.globalAlpha=.65,r.beginPath(),r.rect(s,o,r.canvas.width-s,n),r.fillStyle=this.color(a),r.fill())}findLine(e,i){return i.findIndex(n=>{const s=n.slice(0,1)[0],o=n.slice(-1)[0];return!s||!o?!1:s.from<=e&&e<=o.to})+1}color(e){return e==="error"?"#d11":e==="warning"?"orange":"#999"}sort(e,i){return this.score(i)-this.score(e)}score(e){switch(e){case"error":return 3;case"warning":return 2;default:return 1}}}function n3(t){return new r3(t)}class s3 extends Im{constructor(e){super(e),this.getDrawInfo(),this._themeClasses=e.dom.classList.value}shouldUpdate(e){return e.state.facet(St).enabled?!!(e.docChanged||e.selectionSet||this._themeClasses!==this.view.dom.classList.value||nh(e.transactions)):!1}update(e){if(!this.shouldUpdate(e))return;this.map.clear(),this._themeClasses!==this.view.dom.classList.value&&(this._drawInfo=void 0,this._themeClasses=this.view.dom.classList.value);const{ranges:i}=e.state.selection;let r=0;for(const[n,s]of e.state.field(Ls).entries()){const o=[];let a=0;for(const O of s){do{if(r>=i.length||O.to<i[r].from)continue;if(i[r].from===i[r].to){r++;continue}const c=i[r],h={from:a+Math.max(O.from,c.from)-O.from,to:a+Math.min(O.to,c.to)-O.from,extends:c.to>O.to},u=o.slice(-1)[0];if(u&&u.to===h.from){let{to:m}=h;O.folded&&h.extends?m=h.from+1:O.folded&&!h.extends&&(m=u.to),o[o.length-1]=Object.assign(Object.assign({},u),{to:m,extends:h.extends})}else O.folded||o.push(h);if(h.extends)break;r++}while(r<i.length&&O.to>=i[r].from);a+=O.folded?1:O.to-O.from}if(o.length===0)continue;const l=n+1;this.map.set(l,o)}}drawLine(e,i){let{context:r,lineHeight:n,charWidth:s,offsetX:o,offsetY:a}=e;const l=this.get(i);if(l)for(const O of l){const c=o+O.from*s,h=(O.to-O.from)*s,u=r.canvas.width-c;O.extends&&(r.globalAlpha=.65,r.beginPath(),r.rect(c,a,u,n),r.fillStyle=this.getDrawInfo().backgroundColor,r.fill()),r.globalAlpha=1,r.beginPath(),r.rect(c,a,h,n),r.fillStyle=this.getDrawInfo().backgroundColor,r.fill()}}getDrawInfo(){if(this._drawInfo)return this._drawInfo;const e=document.createElement("span");e.setAttribute("class","cm-selectionBackground"),this.view.dom.appendChild(e);const r={backgroundColor:window.getComputedStyle(e).backgroundColor};return this._drawInfo=r,this.view.dom.removeChild(e),r}}function o3(t){return new s3(t)}class a3 extends Im{constructor(e){super(e),this._fontInfoMap=new Map,this._themeClasses=new Set(e.dom.classList.values()),e.state.facet(St).enabled&&this.updateImpl(e.state)}shouldUpdate(e){return!!(e.docChanged||e.state.facet(St)!==e.startState.facet(St)||this.themeChanged()||nh(e.transactions))}update(e){this.shouldUpdate(e)&&(this._highlightingCallbackId&&(typeof window.requestIdleCallback<"u"?cancelIdleCallback(this._highlightingCallbackId):clearTimeout(this._highlightingCallbackId)),this.updateImpl(e.state,e.changes))}updateImpl(e,i){var r;this.map.clear(),this._displayText=e.facet(St).displayText,this.themeChanged()&&this._fontInfoMap.clear();let n;if(this._previousTree&&i){const h=vi.addTree(this._previousTree),u=[];i.iterChangedRanges((m,S,Q,g)=>u.push({fromA:m,toA:S,fromB:Q,toB:g})),n=vi.applyChanges(h,u)}const s=e.doc.toString(),o=(r=e.facet(Qr))===null||r===void 0?void 0:r.parser,a=o?o.parse(s,n):void 0;this._previousTree=a;const l={style:h=>iC(e,h)};let O=[];if(a){const h=e.doc.lineAt(this.view.viewport.from).number,u=e.doc.lineAt(this.view.viewport.to).number,m=u-h,S=h/(e.doc.lines-m),{SizeRatio:Q,PixelMultiplier:g}=Gt,d=m*Q*g,f=S*d,p=Math.max(1,Math.floor(h-f)),$=Math.min(u+Math.floor(d-f),e.doc.lines);dd(a,l,(_,P,w)=>{O.push({from:_,to:P,tags:w})},e.doc.line(p).from,e.doc.line($).to)}this.updateMapImpl(e,O),O=[];const c=()=>{a&&(dd(a,l,(h,u,m)=>{O.push({from:h,to:u,tags:m})}),this.updateMapImpl(e,O),this._highlightingCallbackId=void 0)};this._highlightingCallbackId=typeof window.requestIdleCallback<"u"?requestIdleCallback(c):setTimeout(c)}updateMapImpl(e,i){this.map.clear();const r=e.doc.toString(),n=i.values();let s=n.next();for(const[o,a]of e.field(Ls).entries()){const l=[];for(const c of a){if(c.from===c.to)continue;if(c.folded){l.push({text:"…",tags:""});continue}let h=c.from;for(;!s.done&&s.value.from<c.to;){const{from:u,to:m,tags:S}=s.value;if(m<h){s=n.next();continue}u>h&&l.push({text:r.slice(h,u),tags:""});const Q=Math.max(u,c.from),g=Math.min(m,c.to);if(l.push({text:r.slice(Q,g),tags:S}),h=g,m>g)break;s=n.next()}h!==c.to&&l.push({text:r.slice(h,c.to),tags:""})}const O=o+1;this.map.set(O,l)}}measure(e){const{color:i,font:r,lineHeight:n}=this.getFontInfo("");return e.textBaseline="ideographic",e.fillStyle=i,e.font=r,{charWidth:e.measureText("_").width,lineHeight:n}}beforeDraw(){this._fontInfoMap.clear()}drawLine(e,i){const r=this.get(i);if(!r)return;let{context:n,charWidth:s,lineHeight:o,offsetX:a,offsetY:l}=e,O;n.textBaseline="ideographic";for(const c of r){const h=this.getFontInfo(c.tags);switch((!O||O.color!==h.color)&&(n.fillStyle=h.color),(!O||O.font!==h.font)&&(n.font=h.font),O=h,o=Math.max(o,h.lineHeight),this._displayText){case"characters":{n.fillText(c.text,a,l+o),a+=c.text.length*s;break}case"blocks":{const u=/\S+/g;let m;for(;(m=u.exec(c.text))!==null;){const S=a+m.index*s;let Q=(u.lastIndex-m.index)*s;if(S>n.canvas.width)break;S+Q>n.canvas.width&&(Q=n.canvas.width-S);const g=2/Gt.SizeRatio,d=o-g;n.fillStyle=h.color,n.globalAlpha=.65,n.beginPath(),n.rect(S,l,Q,d),n.fill()}a+=c.text.length*s;break}}}}getFontInfo(e){const i=this._fontInfoMap.get(e);if(i)return i;const r=me("span",{class:e}),n=me("div",{class:"cm-line",style:"display: none"},r);this.view.contentDOM.appendChild(n);const s=window.getComputedStyle(r),o=parseFloat(s.lineHeight)/Gt.SizeRatio,a={color:s.color,font:`${s.fontStyle} ${s.fontWeight} ${o}px ${s.fontFamily}`,lineHeight:o};return this._fontInfoMap.set(e,a),this.view.contentDOM.removeChild(n),a}themeChanged(){const e=this._themeClasses,i=new Set(this.view.dom.classList.values());if(this._themeClasses=i,!e||(e.delete("cm-focused"),i.delete("cm-focused"),e.size!==i.size))return!0;let r=!0;return e.forEach(n=>{i.has(n)||(r=!1)}),!r}}function l3(t){return new a3(t)}const gX=4;function O3(t,e,i){const r=t[i];r&&(e.context.fillStyle=r,e.context.globalAlpha=1,e.context.beginPath(),e.context.rect(e.offsetX,e.offsetY,gX,e.lineHeight),e.context.fill())}const c3=N.theme({"&":{height:"100%",overflowY:"auto"},"& .cm-minimap-gutter":{borderRight:0,flexShrink:0,left:"unset",position:"sticky",right:0,top:0},"& .cm-minimap-inner":{height:"100%",position:"absolute",right:0,top:0,overflowY:"hidden","& canvas":{display:"block"}},"& .cm-minimap-box-shadow":{boxShadow:"12px 0px 20px 5px #6c6c6c"}}),v_=6,h3=Re.fromClass(class{constructor(t){this.view=t,this.text=l3(t),this.selection=o3(t),this.diagnostic=n3(t),t.state.facet(Ro)&&this.create(t)}create(t){const e=t.state.facet(Ro);if(!e)throw Error("Expected nonnull");this.inner=me("div",{class:"cm-minimap-inner"}),this.canvas=me("canvas"),this.dom=e.create(t).dom,this.dom.classList.add("cm-gutters"),this.dom.classList.add("cm-minimap-gutter"),this.inner.appendChild(this.canvas),this.dom.appendChild(this.inner),this.view.scrollDOM.insertBefore(this.dom,this.view.contentDOM.nextSibling);for(const i in this.view.state.facet(St).eventHandlers){const r=this.view.state.facet(St).eventHandlers[i];r&&this.dom.addEventListener(i,n=>r(n,this.view))}}remove(){this.dom&&this.dom.remove()}update(t){const e=t.startState.facet(Ro),i=t.state.facet(Ro);if(e&&!i){this.remove();return}!e&&i&&this.create(t.view),i&&(this.text.update(t),this.selection.update(t),this.diagnostic.update(t),this.render())}getWidth(){const t=this.view.dom.clientWidth;if(t<=Gt.MaxWidth*v_){const e=t/(Gt.MaxWidth*v_);return Gt.MaxWidth*e}return Gt.MaxWidth}render(){if(!this.dom||!this.canvas||!this.inner)return;this.text.beforeDraw(),this.updateBoxShadow(),this.dom.style.width=this.getWidth()+"px",this.canvas.style.maxWidth=this.getWidth()+"px",this.canvas.width=this.getWidth()*Gt.PixelMultiplier;const t=this.view.dom.getBoundingClientRect().height;this.inner.style.minHeight=t+"px",this.canvas.height=t*Gt.PixelMultiplier,this.canvas.style.height=t+"px";const e=this.canvas.getContext("2d");if(!e)return;e.clearRect(0,0,this.canvas.width,this.canvas.height);const{charWidth:i,lineHeight:r}=this.text.measure(e);let{startIndex:n,endIndex:s,offsetY:o}=this.canvasStartAndEndIndex(e,r);const a=this.view.state.facet(St).gutters;for(let l=n;l<s;l++){const O=this.view.state.field(Ls);if(l>=O.length)break;const c={offsetX:0,offsetY:o,context:e,lineHeight:r,charWidth:i};if(a.length){c.offsetX+=2;for(let h of a)O3(h,c,l+1),c.offsetX+=gX;c.offsetX+=2}this.text.drawLine(c,l+1),this.selection.drawLine(c,l+1),this.diagnostic.drawLine(c,l+1),o+=r}e.restore()}canvasStartAndEndIndex(t,e){let{top:i,bottom:r}=this.view.documentPadding;i/=Gt.SizeRatio,r/=Gt.SizeRatio;const n=t.canvas.height,{clientHeight:s,scrollHeight:o,scrollTop:a}=this.view.scrollDOM;let l=a/(o-s);isNaN(l)&&(l=0);const O=this.view.state.field(Ls).length,c=i+r+O*e,h=Math.max(0,l*(c-n)),u=Math.max(0,i-h),m=Math.round(Math.max(0,h-i)/e),S=Math.round((n-u)/e);return{startIndex:m,endIndex:m+S,offsetY:u}}updateBoxShadow(){if(!this.canvas)return;const{clientWidth:t,scrollWidth:e,scrollLeft:i}=this.view.scrollDOM;t+i<e?this.canvas.classList.add("cm-minimap-box-shadow"):this.canvas.classList.remove("cm-minimap-box-shadow")}destroy(){this.remove()}},{eventHandlers:{scroll(){requestAnimationFrame(()=>this.render())}},provide:t=>N.scrollMargins.of(e=>{var i;const r=(i=e.plugin(t))===null||i===void 0?void 0:i.getWidth();return r?{right:r}:null})}),Ro=K.define({combine:t=>{var e;return(e=t.find(i=>i!==null))!==null&&e!==void 0?e:null},enables:t=>[[St.compute([t],e=>e.facet(t)),c3,Ls,h3,i3]]}),P_={js:un,jsx:un,ts:un,tsx:un,mjs:un,cjs:un,py:Q$,pyw:Q$,java:NU,c:jn,cpp:jn,cc:jn,cxx:jn,h:jn,hpp:jn,go:mq,rs:qz,json:$q,yml:Z$,yaml:Z$,md:h_,markdown:h_,css:ko,scss:ko,sass:ko,less:ko,sql:K4,html:To,htm:To,svg:To,xml:To};function u3(t){var i;const e=(i=t==null?void 0:t.split(".").pop())==null?void 0:i.toLowerCase();return P_[e]?[P_[e]()]:[]}const f3=re.line({class:"cm-diff-added-line",attributes:{"data-diff-type":"added"}}),d3=re.line({class:"cm-diff-removed-line",attributes:{"data-diff-type":"removed"}}),p3=re.mark({class:"cm-diff-added-mark"}),m3=re.mark({class:"cm-diff-removed-mark"});function g3(t){return Re.fromClass(class{constructor(e){Oh(this,"decorations");this.decorations=this.buildDecorations(e,t)}update(e){(e.docChanged||e.viewportChanged)&&(this.decorations=this.buildDecorations(e.view,t))}buildDecorations(e,i){if(!i||i.length===0)return re.none;const r=new Fi,n=e.state.doc;for(let s=1;s<=n.lines;s++){const o=n.line(s),a=i[s-1];a&&(a.added?(r.add(o.from,o.from,f3),o.length>0&&r.add(o.from,o.from+1,p3)):a.removed&&(r.add(o.from,o.from,d3),o.length>0&&r.add(o.from,o.from+1,m3)))}return r.finish()}},{decorations:e=>e.decorations})}const Q3=N.theme({"&":{backgroundColor:"#000000",color:"#e0e0e0",height:"100%"},".cm-gutters":{backgroundColor:"#0a0a0a",color:"#6b7280",border:"none",borderRight:"1px solid #1f1f1f"},".cm-activeLineGutter":{backgroundColor:"#1a1a1a"},".cm-activeLine":{backgroundColor:"rgba(255, 255, 255, 0.05)"},".cm-cursor":{borderLeftColor:"#22c55e"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:"rgba(34, 197, 94, 0.2)"},".cm-scroller":{fontFamily:"'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace",fontSize:"13px",lineHeight:"1.6",overflow:"auto"},".cm-content":{minHeight:"100%"},".cm-minimap-gutter":{background:"#0a0a0a",borderLeft:"1px solid #1f1f1f"},".cm-minimap-overlay-container":{cursor:"pointer"},".cm-minimap-overlay":{border:"1px solid rgba(34, 197, 94, 0.6)",background:"rgba(34, 197, 94, 0.2)",borderRadius:"2px",cursor:"grab",transition:"background 0.15s ease"},".cm-minimap-overlay:hover":{border:"1px solid rgba(34, 197, 94, 0.9)",background:"rgba(34, 197, 94, 0.35)"},".cm-minimap-overlay-container.cm-minimap-overlay-active .cm-minimap-overlay":{border:"1px solid rgba(34, 197, 94, 1)",background:"rgba(34, 197, 94, 0.4)",cursor:"grabbing"},".cm-diff-added-line":{backgroundColor:"rgba(34, 197, 94, 0.15)"},".cm-diff-added-mark":{color:"#4ade80",fontWeight:"bold"},".cm-diff-removed-line":{backgroundColor:"rgba(239, 68, 68, 0.15)"},".cm-diff-removed-mark":{color:"#f87171",fontWeight:"bold"}},{dark:!0}),S3=Fs.define([{tag:y.keyword,color:"#ff7b72"},{tag:[y.name,y.deleted,y.character,y.propertyName,y.macroName],color:"#ffa657"},{tag:[y.function(y.variableName),y.labelName],color:"#d2a8ff"},{tag:[y.color,y.constant(y.name),y.standard(y.name)],color:"#79c0ff"},{tag:[y.definition(y.name),y.separator],color:"#e0e0e0"},{tag:[y.typeName,y.className,y.number,y.changed,y.annotation,y.modifier,y.self,y.namespace],color:"#ffa657"},{tag:[y.operator,y.operatorKeyword,y.url,y.escape,y.regexp,y.link,y.special(y.string)],color:"#79c0ff"},{tag:[y.meta,y.comment],color:"#6b7280",fontStyle:"italic"},{tag:y.strong,fontWeight:"bold"},{tag:y.emphasis,fontStyle:"italic"},{tag:y.link,color:"#79c0ff",textDecoration:"underline"},{tag:y.heading,fontWeight:"bold",color:"#ffa657"},{tag:[y.atom,y.bool,y.special(y.variableName)],color:"#79c0ff"},{tag:[y.processingInstruction,y.string,y.inserted],color:"#a5d6ff"},{tag:y.invalid,color:"#f85149"}]),$3=um(S3);function _3({content:t,diff:e,isDiff:i,filePath:r}){const n=ge.useRef(null),s=ge.useMemo(()=>{const a=[...u3(r),$3,N.lineWrapping,Ro.compute(["doc"],l=>({create:O=>({dom:document.createElement("div")}),displayText:"characters",showOverlay:"always"}))];return i&&e&&e.length>0&&a.push(g3(e)),a},[r,i,e]),o=ge.useMemo(()=>i&&e?e.map(a=>a.added?"+"+a.content:a.removed?"-"+a.content:" "+a.content).join(`
|
|
88
|
+
`):t||"",[t,e,i]);return oe.jsx("div",{className:"code-viewer-codemirror",children:oe.jsx(Wy,{value:o,height:"100%",theme:Q3,extensions:s,editable:!1,basicSetup:{lineNumbers:!0,foldGutter:!1,highlightActiveLine:!0,highlightSelectionMatches:!1,bracketMatching:!0},onCreateEditor:a=>{n.current=a}})})}function v3(){const[t,e]=ge.useState([]),[i,r]=ge.useState([]),[n,s]=ge.useState(null),[o,a]=ge.useState("disconnected"),[l,O]=ge.useState(null),[c,h]=ge.useState(null),[u,m]=ge.useState(null),[S,Q]=ge.useState(!1),[g,d]=ge.useState(""),f=ge.useRef(null);ge.useEffect(()=>(p(),P(),document.addEventListener("click",$),document.addEventListener("keydown",_),()=>{document.removeEventListener("click",$),document.removeEventListener("keydown",_),f.current&&f.current.close()}),[]);async function p(){try{const X=window.location.port==="5173"?"5174":window.location.port,x=window.location.protocol==="https:"?"https:":"http:",C=await fetch(`${x}//${window.location.hostname}:${X}/api/status`);if(C.ok){const W=await C.json();if(h(W.version),m(W.latestVersion),Q(W.hasUpdate),W.projectRoot){const E=W.projectRoot.split(/[/\\]/);d(E[E.length-1]||W.projectRoot)}}}catch(X){console.error("Failed to fetch status:",X)}}function $(){O(null)}function _(X){n&&(X.ctrlKey&&X.key==="w"?(X.preventDefault(),Y(n)):X.ctrlKey&&X.key==="Tab"&&(X.preventDefault(),X.shiftKey?L():V()))}function P(){const X=window.location.protocol==="https:"?"wss:":"ws:",x=window.location.hostname,C=window.location.port==="5173"?"5174":window.location.port,W=`${X}//${x}:${C}/ws`,E=new WebSocket(W);E.onopen=()=>{console.log("Connected to Codex Lens"),a("connected")},E.onclose=()=>{console.log("Disconnected from Codex Lens"),a("disconnected"),setTimeout(P,3e3)},E.onerror=D=>{console.error("WebSocket error:",D)},E.onmessage=D=>{try{const te=JSON.parse(D.data);w(te)}catch(te){console.error("Failed to parse message:",te)}},f.current=E}function w(X){switch(X.type){case"file_change":b(X.data);break;case"file_tree":e(X.data);break;case"file_content":v(X.data);break;case"connected":console.log("Server confirmed connection");break;default:console.log("Unknown message type:",X.type)}}function v(X){const x=X.path.split(/[/\\]/).pop();r(C=>{const W=C.find(E=>E.path===X.path);if(W)return s(W.id),C;{const E={id:Date.now().toString(),path:X.path,name:x,content:X.content,diff:X.diff||null,isDiff:!!X.diff};return s(E.id),[...C,E]}})}function b(X){const x=X.path.split(/[/\\]/).pop();r(C=>{const W=C.find(E=>E.path===X.path);if(W){const E={...W,content:X.newContent,diff:X.diff,isDiff:!0};return s(W.id),C.map(D=>D.path===X.path?E:D)}else{const E={id:Date.now().toString(),path:X.path,name:x,content:X.newContent,diff:X.diff,isDiff:!0};return s(E.id),[...C,E]}})}function T(X){var C;const x=i.find(W=>W.path===X);if(x){s(x.id);return}((C=f.current)==null?void 0:C.readyState)===WebSocket.OPEN&&f.current.send(JSON.stringify({type:"open_file",data:X}))}function Y(X){r(x=>{const C=x.filter(W=>W.id!==X);if(n===X){const W=C.length>0?C[C.length-1].id:null;s(W)}return C})}function Z(X){r(x=>x.filter(C=>C.id===X)),s(X)}function R(){r([]),s(null)}function z(){r(X=>X.map(x=>({...x,diff:null,isDiff:!1})))}function V(){const X=i.findIndex(x=>x.id===n);X<i.length-1?s(i[X+1].id):i.length>0&&s(i[0].id)}function L(){const X=i.findIndex(x=>x.id===n);X>0?s(i[X-1].id):i.length>0&&s(i[i.length-1].id)}function G(X,x){X.preventDefault(),O({x:X.clientX,y:X.clientY,tabId:x})}const q=i.find(X=>X.id===n);return oe.jsxs("div",{className:"app-container",children:[oe.jsxs("div",{className:"top-bar",children:[oe.jsx("div",{className:"top-bar-left",children:oe.jsxs("span",{className:"top-bar-title",children:["当前工作区: ",g]})}),oe.jsx("div",{className:"top-bar-center",children:oe.jsx("button",{className:"task-btn task-btn-clear",onClick:z,title:"清空所有 diff 显示",children:"清空 diff"})}),oe.jsxs("div",{className:"top-bar-right",children:[oe.jsx("span",{className:"top-bar-title",children:"Codex 终端"}),oe.jsx("span",{className:`ws-status ${o}`}),oe.jsxs("span",{className:"version-info",children:[c&&oe.jsxs("span",{className:"version-number",children:["v",c]}),S&&u&&oe.jsx("span",{className:"update-badge",title:`可用版本: ${u}`,children:"更新可用"})]})]})]}),oe.jsxs("div",{className:"main-content",children:[oe.jsx(w3,{files:t,activeFile:(q==null?void 0:q.path)||null,onFileClick:T}),oe.jsxs("div",{className:"panel middle-panel",children:[oe.jsx(P3,{tabs:i,activeTabId:n,onTabClick:s,onTabClose:Y,onContextMenu:G}),oe.jsx("div",{className:"panel-content code-panel",children:q?oe.jsx(_3,{content:q.content,diff:q.diff,isDiff:q.isDiff,filePath:q.path}):oe.jsx("div",{className:"empty-state",children:"双击左侧文件查看内容..."})})]}),l&&oe.jsx(y3,{x:l.x,y:l.y,onClose:()=>O(null),onCloseTab:()=>{Y(l.tabId),O(null)},onCloseOtherTabs:()=>{Z(l.tabId),O(null)},onCloseAllTabs:()=>{R(),O(null)}}),oe.jsx("div",{className:"panel right-panel",children:oe.jsx("div",{className:"terminal-wrapper",children:oe.jsx(Kx,{})})})]})]})}function P3({tabs:t,activeTabId:e,onTabClick:i,onTabClose:r,onContextMenu:n}){return oe.jsx("div",{className:"tab-bar",children:t.map(s=>oe.jsxs("div",{className:`tab ${e===s.id?"active":""}`,onClick:()=>i(s.id),onContextMenu:o=>n(o,s.id),children:[oe.jsx("span",{className:"tab-name",children:s.name}),oe.jsx("button",{className:"tab-close",onClick:o=>{o.stopPropagation(),r(s.id)},children:"×"})]},s.id))})}function y3({x:t,y:e,onClose:i,onCloseTab:r,onCloseOtherTabs:n,onCloseAllTabs:s}){return oe.jsxs("div",{className:"context-menu",style:{left:t,top:e},onClick:o=>o.stopPropagation(),children:[oe.jsx("div",{className:"context-menu-item",onClick:r,children:"关闭"}),oe.jsx("div",{className:"context-menu-item",onClick:n,children:"关闭其他"}),oe.jsx("div",{className:"context-menu-item",onClick:s,children:"关闭所有"})]})}function w3({files:t,activeFile:e,onFileClick:i}){const[r,n]=ge.useState({}),[s,o]=ge.useState(null);function a(u){n(m=>({...m,[u]:!m[u]}))}function l(u,m){u.preventDefault(),u.stopPropagation(),o({x:u.clientX,y:u.clientY,item:m})}function O(){var u;(u=s==null?void 0:s.item)!=null&&u.path&&navigator.clipboard.writeText(s.item.path).then(()=>{console.log("Path copied:",s.item.path)}).catch(m=>{console.error("Failed to copy path:",m)}),o(null)}function c(){var u;(u=s==null?void 0:s.item)!=null&&u.path&&fetch("/api/open-in-explorer",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:s.item.path})}).catch(m=>{console.error("Failed to open in explorer:",m)}),o(null)}function h(u,m=0){return u.map((S,Q)=>{const g=S.type==="directory",d=r[S.path],f=8+m*16;return oe.jsxs(Wu.Fragment,{children:[oe.jsxs("div",{className:`file-item ${e===S.path?"active":""}`,onClick:()=>g?a(S.path):null,onDoubleClick:()=>!g&&i(S.path),onContextMenu:p=>l(p,S),style:{paddingLeft:`${f}px`},children:[oe.jsx("span",{className:"file-icon",children:g?d?"📂":"📁":X3(S.type)}),oe.jsx("span",{className:"file-name",children:S.name})]}),g&&d&&S.children&&h(S.children,m+1)]},S.path)})}return oe.jsxs("div",{className:"panel left-panel",onClick:()=>o(null),children:[oe.jsx("div",{className:"panel-content",children:oe.jsx("div",{className:"section",children:t.length===0?oe.jsx("div",{className:"empty-state",children:"等待文件变化..."}):h(t)})}),s&&oe.jsxs("div",{className:"file-context-menu",style:{left:s.x,top:s.y},onClick:u=>u.stopPropagation(),children:[oe.jsx("div",{className:"context-menu-item",onClick:O,children:"复制文件路径"}),oe.jsx("div",{className:"context-menu-item",onClick:c,children:"在文件资源管理器中打开"})]})]})}function X3(t){const e={".js":"📜",".jsx":"⚛️",".ts":"📘",".tsx":"⚛️",".py":"🐍",".json":"📋",".css":"🎨",".html":"🌐",".md":"📝",".txt":"📄",".yml":"⚙️",".yaml":"⚙️",".toml":"⚙️",".ini":"⚙️",".env":"🔐",".gitignore":"🙈",".dockerignore":"🐳",default:"📄"};return e[t]||e.default}const b3=document.getElementById("root"),x3=U1(b3);x3.render(oe.jsx(v3,{}));
|