=c.viewTo)){var g=c.view[Au(i,u)];if(g.node!=null){var E=g.changes||(g.changes=[]);Ue(E,f)==-1&&E.push(f)}}}function ko(i){i.display.viewFrom=i.display.viewTo=i.doc.first,i.display.view=[],i.display.viewOffset=0}function nh(i,u,f,c){var p=Au(i,u),g,E=i.display.view;if(!Ya||f==i.doc.first+i.doc.size)return{index:p,lineN:f};for(var O=i.display.viewFrom,N=0;N0){if(p==E.length-1)return null;g=O+E[p].size-u,p++}else g=O-u;u+=g,f+=g}for(;my(i.doc,f)!=f;){if(p==(c<0?0:E.length-1))return null;f+=c*E[p-(c<0?1:0)].size,p+=c}return{index:p,lineN:f}}function sB(i,u,f){var c=i.display,p=c.view;p.length==0||u>=c.viewTo||f<=c.viewFrom?(c.view=$p(i,u,f),c.viewFrom=u):(c.viewFrom>u?c.view=$p(i,u,c.viewFrom).concat(c.view):c.viewFromf&&(c.view=c.view.slice(0,Au(i,f)))),c.viewTo=f}function Bk(i){for(var u=i.display.view,f=0,c=0;c=i.display.viewTo||N.to().line0?E:i.defaultCharWidth())+"px"}if(c.other){var O=f.appendChild(j("div","\xA0","CodeMirror-cursor CodeMirror-secondarycursor"));O.style.display="",O.style.left=c.other.left+"px",O.style.top=c.other.top+"px",O.style.height=(c.other.bottom-c.other.top)*.85+"px"}}function ih(i,u){return i.top-u.top||i.left-u.left}function lB(i,u,f){var c=i.display,p=i.doc,g=document.createDocumentFragment(),E=Ok(i.display),O=E.left,N=Math.max(c.sizerWidth,Ou(i)-c.sizer.offsetLeft)-E.right,x=p.direction=="ltr";function V(ve,Oe,Fe,Re){Oe<0&&(Oe=0),Oe=Math.round(Oe),Re=Math.round(Re),g.appendChild(j("div",null,"CodeMirror-selected","position: absolute; left: "+ve+`px;
+ top: `+Oe+"px; width: "+(Fe==null?N-ve:Fe)+`px;
+ height: `+(Re-Oe)+"px"))}function K(ve,Oe,Fe){var Re=Ae(p,ve),Xe=Re.text.length,Pt,Rr;function $t(hr,Nn){return rh(i,W(ve,hr),"div",Re,Nn)}function Gn(hr,Nn,Wr){var Dr=Mk(i,Re,null,hr),vr=Nn=="ltr"==(Wr=="after")?"left":"right",ar=Wr=="after"?Dr.begin:Dr.end-(/\s/.test(Re.text.charAt(Dr.end-1))?2:1);return $t(ar,vr)[vr]}var An=Bn(Re,p.direction);return On(An,Oe||0,Fe==null?Xe:Fe,function(hr,Nn,Wr,Dr){var vr=Wr=="ltr",ar=$t(hr,vr?"left":"right"),Ln=$t(Nn-1,vr?"right":"left"),Xs=Oe==null&&hr==0,Lo=Fe==null&&Nn==Xe,rn=Dr==0,va=!An||Dr==An.length-1;if(Ln.top-ar.top<=3){var Fr=(x?Xs:Lo)&&rn,n0=(x?Lo:Xs)&&va,eo=Fr?O:(vr?ar:Ln).left,Ru=n0?N:(vr?Ln:ar).right;V(eo,ar.top,Ru-eo,ar.bottom)}else{var Fu,pn,Zs,i0;vr?(Fu=x&&Xs&&rn?O:ar.left,pn=x?N:Gn(hr,Wr,"before"),Zs=x?O:Gn(Nn,Wr,"after"),i0=x&&Lo&&va?N:Ln.right):(Fu=x?Gn(hr,Wr,"before"):O,pn=!x&&Xs&&rn?N:ar.right,Zs=!x&&Lo&&va?O:Ln.left,i0=x?Gn(Nn,Wr,"after"):N),V(Fu,ar.top,pn-Fu,ar.bottom),ar.bottom0?u.blinker=setInterval(function(){i.hasFocus()||qs(i),u.cursorDiv.style.visibility=(f=!f)?"":"hidden"},i.options.cursorBlinkRate):i.options.cursorBlinkRate<0&&(u.cursorDiv.style.visibility="hidden")}}function Uk(i){i.hasFocus()||(i.display.input.focus(),i.state.focused||Ry(i))}function Iy(i){i.state.delayingBlurEvent=!0,setTimeout(function(){i.state.delayingBlurEvent&&(i.state.delayingBlurEvent=!1,i.state.focused&&qs(i))},100)}function Ry(i,u){i.state.delayingBlurEvent&&!i.state.draggingText&&(i.state.delayingBlurEvent=!1),i.options.readOnly!="nocursor"&&(i.state.focused||(At(i,"focus",i,u),i.state.focused=!0,we(i.display.wrapper,"CodeMirror-focused"),!i.curOp&&i.display.selForContextMenu!=i.doc.sel&&(i.display.input.reset(),d&&setTimeout(function(){return i.display.input.reset(!0)},20)),i.display.input.receivedFocus()),xy(i))}function qs(i,u){i.state.delayingBlurEvent||(i.state.focused&&(At(i,"blur",i,u),i.state.focused=!1,z(i.display.wrapper,"CodeMirror-focused")),clearInterval(i.display.blinker),setTimeout(function(){i.state.focused||(i.display.shift=!1)},150))}function ah(i){for(var u=i.display,f=u.lineDiv.offsetTop,c=Math.max(0,u.scroller.getBoundingClientRect().top),p=u.lineDiv.getBoundingClientRect().top,g=0,E=0;E.005||X<-.005)&&(pi.display.sizerWidth){var ae=Math.ceil(V/Ms(i.display));ae>i.display.maxLineLength&&(i.display.maxLineLength=ae,i.display.maxLine=O.line,i.display.maxLineChanged=!0)}}}Math.abs(g)>2&&(u.scroller.scrollTop+=g)}function Gk(i){if(i.widgets)for(var u=0;u=E&&(g=fa(u,Ja(Ae(u,N))-i.wrapper.clientHeight),E=N)}return{from:g,to:Math.max(E,g+1)}}function cB(i,u){if(!zt(i,"scrollCursorIntoView")){var f=i.display,c=f.sizer.getBoundingClientRect(),p=null,g=f.wrapper.ownerDocument;if(u.top+c.top<0?p=!0:u.bottom+c.top>(g.defaultView.innerHeight||g.documentElement.clientHeight)&&(p=!1),p!=null&&!S){var E=j("div","\u200B",null,`position: absolute;
+ top: `+(u.top-f.viewOffset-eh(i.display))+`px;
+ height: `+(u.bottom-u.top+pa(i)+f.barHeight)+`px;
+ left: `+u.left+"px; width: "+Math.max(2,u.right-u.left)+"px;");i.display.lineSpace.appendChild(E),E.scrollIntoView(p),i.display.lineSpace.removeChild(E)}}}function fB(i,u,f,c){c==null&&(c=0);var p;!i.options.lineWrapping&&u==f&&(f=u.sticky=="before"?W(u.line,u.ch+1,"before"):u,u=u.ch?W(u.line,u.sticky=="before"?u.ch-1:u.ch,"after"):u);for(var g=0;g<5;g++){var E=!1,O=Wi(i,u),N=!f||f==u?O:Wi(i,f);p={left:Math.min(O.left,N.left),top:Math.min(O.top,N.top)-c,right:Math.max(O.left,N.left),bottom:Math.max(O.bottom,N.bottom)+c};var x=Fy(i,p),V=i.doc.scrollTop,K=i.doc.scrollLeft;if(x.scrollTop!=null&&(zc(i,x.scrollTop),Math.abs(i.doc.scrollTop-V)>1&&(E=!0)),x.scrollLeft!=null&&(Nu(i,x.scrollLeft),Math.abs(i.doc.scrollLeft-K)>1&&(E=!0)),!E)break}return p}function dB(i,u){var f=Fy(i,u);f.scrollTop!=null&&zc(i,f.scrollTop),f.scrollLeft!=null&&Nu(i,f.scrollLeft)}function Fy(i,u){var f=i.display,c=Ps(i.display);u.top<0&&(u.top=0);var p=i.curOp&&i.curOp.scrollTop!=null?i.curOp.scrollTop:f.scroller.scrollTop,g=_y(i),E={};u.bottom-u.top>g&&(u.bottom=u.top+g);var O=i.doc.height+Ey(f),N=u.topO-c;if(u.topp+g){var V=Math.min(u.top,(x?O:u.bottom)-g);V!=p&&(E.scrollTop=V)}var K=i.options.fixedGutter?0:f.gutters.offsetWidth,$=i.curOp&&i.curOp.scrollLeft!=null?i.curOp.scrollLeft:f.scroller.scrollLeft-K,X=Ou(i)-f.gutters.offsetWidth,ne=u.right-u.left>X;return ne&&(u.right=u.left+X),u.left<10?E.scrollLeft=0:u.left<$?E.scrollLeft=Math.max(0,u.left+K-(ne?0:10)):u.right>X+$-3&&(E.scrollLeft=u.right+(ne?0:10)-X),E}function jy(i,u){u!=null&&(uh(i),i.curOp.scrollTop=(i.curOp.scrollTop==null?i.doc.scrollTop:i.curOp.scrollTop)+u)}function Bs(i){uh(i);var u=i.getCursor();i.curOp.scrollToPos={from:u,to:u,margin:i.options.cursorScrollMargin}}function Hc(i,u,f){(u!=null||f!=null)&&uh(i),u!=null&&(i.curOp.scrollLeft=u),f!=null&&(i.curOp.scrollTop=f)}function pB(i,u){uh(i),i.curOp.scrollToPos=u}function uh(i){var u=i.curOp.scrollToPos;if(u){i.curOp.scrollToPos=null;var f=jk(i,u.from),c=jk(i,u.to);Qk(i,f,c,u.margin)}}function Qk(i,u,f,c){var p=Fy(i,{left:Math.min(u.left,f.left),top:Math.min(u.top,f.top)-c,right:Math.max(u.right,f.right),bottom:Math.max(u.bottom,f.bottom)+c});Hc(i,p.scrollLeft,p.scrollTop)}function zc(i,u){Math.abs(i.doc.scrollTop-u)<2||(r||My(i,{top:u}),Kk(i,u,!0),r&&My(i),Jc(i,100))}function Kk(i,u,f){u=Math.max(0,Math.min(i.display.scroller.scrollHeight-i.display.scroller.clientHeight,u)),!(i.display.scroller.scrollTop==u&&!f)&&(i.doc.scrollTop=u,i.display.scrollbars.setScrollTop(u),i.display.scroller.scrollTop!=u&&(i.display.scroller.scrollTop=u))}function Nu(i,u,f,c){u=Math.max(0,Math.min(u,i.display.scroller.scrollWidth-i.display.scroller.clientWidth)),!((f?u==i.doc.scrollLeft:Math.abs(i.doc.scrollLeft-u)<2)&&!c)&&(i.doc.scrollLeft=u,Jk(i),i.display.scroller.scrollLeft!=u&&(i.display.scroller.scrollLeft=u),i.display.scrollbars.setScrollLeft(u))}function Wc(i){var u=i.display,f=u.gutters.offsetWidth,c=Math.round(i.doc.height+Ey(i.display));return{clientHeight:u.scroller.clientHeight,viewHeight:u.wrapper.clientHeight,scrollWidth:u.scroller.scrollWidth,clientWidth:u.scroller.clientWidth,viewWidth:u.wrapper.clientWidth,barLeft:i.options.fixedGutter?f:0,docHeight:c,scrollHeight:c+pa(i)+u.barHeight,nativeBarWidth:u.nativeBarWidth,gutterWidth:f}}var Lu=function(i,u,f){this.cm=f;var c=this.vert=j("div",[j("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),p=this.horiz=j("div",[j("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");c.tabIndex=p.tabIndex=-1,i(c),i(p),ge(c,"scroll",function(){c.clientHeight&&u(c.scrollTop,"vertical")}),ge(p,"scroll",function(){p.clientWidth&&u(p.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,s&&l<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Lu.prototype.update=function(i){var u=i.scrollWidth>i.clientWidth+1,f=i.scrollHeight>i.clientHeight+1,c=i.nativeBarWidth;if(f){this.vert.style.display="block",this.vert.style.bottom=u?c+"px":"0";var p=i.viewHeight-(u?c:0);this.vert.firstChild.style.height=Math.max(0,i.scrollHeight-i.clientHeight+p)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(u){this.horiz.style.display="block",this.horiz.style.right=f?c+"px":"0",this.horiz.style.left=i.barLeft+"px";var g=i.viewWidth-i.barLeft-(f?c:0);this.horiz.firstChild.style.width=Math.max(0,i.scrollWidth-i.clientWidth+g)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&i.clientHeight>0&&(c==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:f?c:0,bottom:u?c:0}},Lu.prototype.setScrollLeft=function(i){this.horiz.scrollLeft!=i&&(this.horiz.scrollLeft=i),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Lu.prototype.setScrollTop=function(i){this.vert.scrollTop!=i&&(this.vert.scrollTop=i),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Lu.prototype.zeroWidthHack=function(){var i=k&&!L?"12px":"18px";this.horiz.style.height=this.vert.style.width=i,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new Pe,this.disableVert=new Pe},Lu.prototype.enableZeroWidthBar=function(i,u,f){i.style.visibility="";function c(){var p=i.getBoundingClientRect(),g=f=="vert"?document.elementFromPoint(p.right-1,(p.top+p.bottom)/2):document.elementFromPoint((p.right+p.left)/2,p.bottom-1);g!=i?i.style.visibility="hidden":u.set(1e3,c)}u.set(1e3,c)},Lu.prototype.clear=function(){var i=this.horiz.parentNode;i.removeChild(this.horiz),i.removeChild(this.vert)};var Yc=function(){};Yc.prototype.update=function(){return{bottom:0,right:0}},Yc.prototype.setScrollLeft=function(){},Yc.prototype.setScrollTop=function(){},Yc.prototype.clear=function(){};function Vs(i,u){u||(u=Wc(i));var f=i.display.barWidth,c=i.display.barHeight;Hk(i,u);for(var p=0;p<4&&f!=i.display.barWidth||c!=i.display.barHeight;p++)f!=i.display.barWidth&&i.options.lineWrapping&&ah(i),Hk(i,Wc(i)),f=i.display.barWidth,c=i.display.barHeight}function Hk(i,u){var f=i.display,c=f.scrollbars.update(u);f.sizer.style.paddingRight=(f.barWidth=c.right)+"px",f.sizer.style.paddingBottom=(f.barHeight=c.bottom)+"px",f.heightForcer.style.borderBottom=c.bottom+"px solid transparent",c.right&&c.bottom?(f.scrollbarFiller.style.display="block",f.scrollbarFiller.style.height=c.bottom+"px",f.scrollbarFiller.style.width=c.right+"px"):f.scrollbarFiller.style.display="",c.bottom&&i.options.coverGutterNextToScrollbar&&i.options.fixedGutter?(f.gutterFiller.style.display="block",f.gutterFiller.style.height=c.bottom+"px",f.gutterFiller.style.width=u.gutterWidth+"px"):f.gutterFiller.style.display=""}var zk={native:Lu,null:Yc};function Wk(i){i.display.scrollbars&&(i.display.scrollbars.clear(),i.display.scrollbars.addClass&&z(i.display.wrapper,i.display.scrollbars.addClass)),i.display.scrollbars=new zk[i.options.scrollbarStyle](function(u){i.display.wrapper.insertBefore(u,i.display.scrollbarFiller),ge(u,"mousedown",function(){i.state.focused&&setTimeout(function(){return i.display.input.focus()},0)}),u.setAttribute("cm-not-content","true")},function(u,f){f=="horizontal"?Nu(i,u):zc(i,u)},i),i.display.scrollbars.addClass&&we(i.display.wrapper,i.display.scrollbars.addClass)}var hB=0;function xu(i){i.curOp={cm:i,viewChanged:!1,startHeight:i.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++hB,markArrays:null},K3(i.curOp)}function Iu(i){var u=i.curOp;u&&z3(u,function(f){for(var c=0;c=f.viewTo)||f.maxLineChanged&&u.options.lineWrapping,i.update=i.mustUpdate&&new sh(u,i.mustUpdate&&{top:i.scrollTop,ensure:i.scrollToPos},i.forceUpdate)}function mB(i){i.updatedDisplay=i.mustUpdate&&Py(i.cm,i.update)}function yB(i){var u=i.cm,f=u.display;i.updatedDisplay&&ah(u),i.barMeasure=Wc(u),f.maxLineChanged&&!u.options.lineWrapping&&(i.adjustWidthTo=wk(u,f.maxLine,f.maxLine.text.length).left+3,u.display.sizerWidth=i.adjustWidthTo,i.barMeasure.scrollWidth=Math.max(f.scroller.clientWidth,f.sizer.offsetLeft+i.adjustWidthTo+pa(u)+u.display.barWidth),i.maxScrollLeft=Math.max(0,f.sizer.offsetLeft+i.adjustWidthTo-Ou(u))),(i.updatedDisplay||i.selectionChanged)&&(i.preparedSelection=f.input.prepareSelection())}function bB(i){var u=i.cm;i.adjustWidthTo!=null&&(u.display.sizer.style.minWidth=i.adjustWidthTo+"px",i.maxScrollLeft=i.display.viewTo)){var f=+new Date+i.options.workTime,c=qc(i,u.highlightFrontier),p=[];u.iter(c.line,Math.min(u.first+u.size,i.display.viewTo+500),function(g){if(c.line>=i.display.viewFrom){var E=g.styles,O=g.text.length>i.options.maxHighlightLength?za(u.mode,c.state):null,N=rk(i,g,c,!0);O&&(c.state=O),g.styles=N.styles;var x=g.styleClasses,V=N.classes;V?g.styleClasses=V:x&&(g.styleClasses=null);for(var K=!E||E.length!=g.styles.length||x!=V&&(!x||!V||x.bgClass!=V.bgClass||x.textClass!=V.textClass),$=0;!K&&$f)return Jc(i,i.options.workDelay),!0}),u.highlightFrontier=c.line,u.modeFrontier=Math.max(u.modeFrontier,c.line),p.length&&Un(i,function(){for(var g=0;g=f.viewFrom&&u.visible.to<=f.viewTo&&(f.updateLineNumbers==null||f.updateLineNumbers>=f.viewTo)&&f.renderedView==f.view&&Bk(i)==0)return!1;Xk(i)&&(ko(i),u.dims=wy(i));var p=c.first+c.size,g=Math.max(u.visible.from-i.options.viewportMargin,c.first),E=Math.min(p,u.visible.to+i.options.viewportMargin);f.viewFromE&&f.viewTo-E<20&&(E=Math.min(p,f.viewTo)),Ya&&(g=my(i.doc,g),E=gk(i.doc,E));var O=g!=f.viewFrom||E!=f.viewTo||f.lastWrapHeight!=u.wrapperHeight||f.lastWrapWidth!=u.wrapperWidth;sB(i,g,E),f.viewOffset=Ja(Ae(i.doc,f.viewFrom)),i.display.mover.style.top=f.viewOffset+"px";var N=Bk(i);if(!O&&N==0&&!u.force&&f.renderedView==f.view&&(f.updateLineNumbers==null||f.updateLineNumbers>=f.viewTo))return!1;var x=SB(i);return N>4&&(f.lineDiv.style.display="none"),kB(i,f.updateLineNumbers,u.dims),N>4&&(f.lineDiv.style.display=""),f.renderedView=f.view,DB(x),Q(f.cursorDiv),Q(f.selectionDiv),f.gutters.style.height=f.sizer.style.minHeight=0,O&&(f.lastWrapHeight=u.wrapperHeight,f.lastWrapWidth=u.wrapperWidth,Jc(i,400)),f.updateLineNumbers=null,!0}function Yk(i,u){for(var f=u.viewport,c=!0;;c=!1){if(!c||!i.options.lineWrapping||u.oldDisplayWidth==Ou(i)){if(f&&f.top!=null&&(f={top:Math.min(i.doc.height+Ey(i.display)-_y(i),f.top)}),u.visible=oh(i.display,i.doc,f),u.visible.from>=i.display.viewFrom&&u.visible.to<=i.display.viewTo)break}else c&&(u.visible=oh(i.display,i.doc,f));if(!Py(i,u))break;ah(i);var p=Wc(i);Kc(i),Vs(i,p),By(i,p),u.force=!1}u.signal(i,"update",i),(i.display.viewFrom!=i.display.reportedViewFrom||i.display.viewTo!=i.display.reportedViewTo)&&(u.signal(i,"viewportChange",i,i.display.viewFrom,i.display.viewTo),i.display.reportedViewFrom=i.display.viewFrom,i.display.reportedViewTo=i.display.viewTo)}function My(i,u){var f=new sh(i,u);if(Py(i,f)){ah(i),Yk(i,f);var c=Wc(i);Kc(i),Vs(i,c),By(i,c),f.finish()}}function kB(i,u,f){var c=i.display,p=i.options.lineNumbers,g=c.lineDiv,E=g.firstChild;function O(ne){var ae=ne.nextSibling;return d&&k&&i.display.currentWheelTarget==ne?ne.style.display="none":ne.parentNode.removeChild(ne),ae}for(var N=c.view,x=c.viewFrom,V=0;V-1&&(X=!1),Ek(i,K,x,f)),X&&(Q(K.lineNumber),K.lineNumber.appendChild(document.createTextNode(H(i.options,x)))),E=K.node.nextSibling}x+=K.size}for(;E;)E=O(E)}function qy(i){var u=i.gutters.offsetWidth;i.sizer.style.marginLeft=u+"px",Lr(i,"gutterChanged",i)}function By(i,u){i.display.sizer.style.minHeight=u.docHeight+"px",i.display.heightForcer.style.top=u.docHeight+"px",i.display.gutters.style.height=u.docHeight+i.display.barHeight+pa(i)+"px"}function Jk(i){var u=i.display,f=u.view;if(!(!u.alignWidgets&&(!u.gutters.firstChild||!i.options.fixedGutter))){for(var c=Ay(u)-u.scroller.scrollLeft+i.doc.scrollLeft,p=u.gutters.offsetWidth,g=c+"px",E=0;E=105&&(p.wrapper.style.clipPath="inset(0px)"),p.wrapper.setAttribute("translate","no"),s&&l<8&&(p.gutters.style.zIndex=-1,p.scroller.style.paddingRight=0),!d&&!(r&&m)&&(p.scroller.draggable=!0),i&&(i.appendChild?i.appendChild(p.wrapper):i(p.wrapper)),p.viewFrom=p.viewTo=u.first,p.reportedViewFrom=p.reportedViewTo=u.first,p.view=[],p.renderedView=null,p.externalMeasured=null,p.viewOffset=0,p.lastWrapHeight=p.lastWrapWidth=0,p.updateLineNumbers=null,p.nativeBarWidth=p.barHeight=p.barWidth=0,p.scrollbarsClipped=!1,p.lineNumWidth=p.lineNumInnerWidth=p.lineNumChars=null,p.alignWidgets=!1,p.cachedCharWidth=p.cachedTextHeight=p.cachedPaddingH=null,p.maxLine=null,p.maxLineLength=0,p.maxLineChanged=!1,p.wheelDX=p.wheelDY=p.wheelStartX=p.wheelStartY=null,p.shift=!1,p.selForContextMenu=null,p.activeTouch=null,p.gutterSpecs=Vy(c.gutters,c.lineNumbers),Zk(p),f.init(p)}var lh=0,Za=null;s?Za=-.53:r?Za=15:v?Za=-.7:A&&(Za=-1/3);function $k(i){var u=i.wheelDeltaX,f=i.wheelDeltaY;return u==null&&i.detail&&i.axis==i.HORIZONTAL_AXIS&&(u=i.detail),f==null&&i.detail&&i.axis==i.VERTICAL_AXIS?f=i.detail:f==null&&(f=i.wheelDelta),{x:u,y:f}}function CB(i){var u=$k(i);return u.x*=Za,u.y*=Za,u}function eO(i,u){v&&b==102&&(i.display.chromeScrollHack==null?i.display.sizer.style.pointerEvents="none":clearTimeout(i.display.chromeScrollHack),i.display.chromeScrollHack=setTimeout(function(){i.display.chromeScrollHack=null,i.display.sizer.style.pointerEvents=""},100));var f=$k(u),c=f.x,p=f.y,g=Za;u.deltaMode===0&&(c=u.deltaX,p=u.deltaY,g=1);var E=i.display,O=E.scroller,N=O.scrollWidth>O.clientWidth,x=O.scrollHeight>O.clientHeight;if(!!(c&&N||p&&x)){if(p&&k&&d){e:for(var V=u.target,K=E.view;V!=O;V=V.parentNode)for(var $=0;$=0&&re(i,c.to())<=0)return f}return-1};var bt=function(i,u){this.anchor=i,this.head=u};bt.prototype.from=function(){return Sr(this.anchor,this.head)},bt.prototype.to=function(){return ht(this.anchor,this.head)},bt.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Yi(i,u,f){var c=i&&i.options.selectionsMayTouch,p=u[f];u.sort(function($,X){return re($.from(),X.from())}),f=Ue(u,p);for(var g=1;g0:N>=0){var x=Sr(O.from(),E.from()),V=ht(O.to(),E.to()),K=O.empty()?E.from()==E.head:O.from()==O.head;g<=f&&--f,u.splice(--g,2,new bt(K?V:x,K?x:V))}}return new ni(u,f)}function Oo(i,u){return new ni([new bt(i,u||i)],0)}function Co(i){return i.text?W(i.from.line+i.text.length-1,ue(i.text).length+(i.text.length==1?i.from.ch:0)):i.to}function tO(i,u){if(re(i,u.from)<0)return i;if(re(i,u.to)<=0)return Co(u);var f=i.line+u.text.length-(u.to.line-u.from.line)-1,c=i.ch;return i.line==u.to.line&&(c+=Co(u).ch-u.to.ch),W(f,c)}function Uy(i,u){for(var f=[],c=0;c1&&i.remove(O.line+1,ne-1),i.insert(O.line+1,he)}Lr(i,"change",i,u)}function wo(i,u,f){function c(p,g,E){if(p.linked)for(var O=0;O1&&!i.done[i.done.length-2].ranges)return i.done.pop(),ue(i.done)}function uO(i,u,f,c){var p=i.history;p.undone.length=0;var g=+new Date,E,O;if((p.lastOp==c||p.lastOrigin==u.origin&&u.origin&&(u.origin.charAt(0)=="+"&&p.lastModTime>g-(i.cm?i.cm.options.historyEventDelay:500)||u.origin.charAt(0)=="*"))&&(E=NB(p,p.lastOp==c)))O=ue(E.changes),re(u.from,u.to)==0&&re(u.from,O.to)==0?O.to=Co(u):E.changes.push(Ky(i,u));else{var N=ue(p.done);for((!N||!N.ranges)&&fh(i.sel,p.done),E={changes:[Ky(i,u)],generation:p.generation},p.done.push(E);p.done.length>p.undoDepth;)p.done.shift(),p.done[0].ranges||p.done.shift()}p.done.push(f),p.generation=++p.maxGeneration,p.lastModTime=p.lastSelTime=g,p.lastOp=p.lastSelOp=c,p.lastOrigin=p.lastSelOrigin=u.origin,O||At(i,"historyAdded")}function LB(i,u,f,c){var p=u.charAt(0);return p=="*"||p=="+"&&f.ranges.length==c.ranges.length&&f.somethingSelected()==c.somethingSelected()&&new Date-i.history.lastSelTime<=(i.cm?i.cm.options.historyEventDelay:500)}function xB(i,u,f,c){var p=i.history,g=c&&c.origin;f==p.lastSelOp||g&&p.lastSelOrigin==g&&(p.lastModTime==p.lastSelTime&&p.lastOrigin==g||LB(i,g,ue(p.done),u))?p.done[p.done.length-1]=u:fh(u,p.done),p.lastSelTime=+new Date,p.lastSelOrigin=g,p.lastSelOp=f,c&&c.clearRedo!==!1&&oO(p.undone)}function fh(i,u){var f=ue(u);f&&f.ranges&&f.equals(i)||u.push(i)}function sO(i,u,f,c){var p=u["spans_"+i.id],g=0;i.iter(Math.max(i.first,f),Math.min(i.first+i.size,c),function(E){E.markedSpans&&((p||(p=u["spans_"+i.id]={}))[g]=E.markedSpans),++g})}function IB(i){if(!i)return null;for(var u,f=0;f-1&&(ue(O)[K]=x[K],delete x[K])}}return c}function Hy(i,u,f,c){if(c){var p=i.anchor;if(f){var g=re(u,p)<0;g!=re(f,p)<0?(p=u,u=f):g!=re(u,f)<0&&(u=f)}return new bt(p,u)}else return new bt(f||u,u)}function dh(i,u,f,c,p){p==null&&(p=i.cm&&(i.cm.display.shift||i.extend)),tn(i,new ni([Hy(i.sel.primary(),u,f,p)],0),c)}function cO(i,u,f){for(var c=[],p=i.cm&&(i.cm.display.shift||i.extend),g=0;g=u.ch:O.to>u.ch))){if(p&&(At(N,"beforeCursorEnter"),N.explicitlyCleared))if(g.markedSpans){--E;continue}else break;if(!N.atomic)continue;if(f){var K=N.find(c<0?1:-1),$=void 0;if((c<0?V:x)&&(K=gO(i,K,-c,K&&K.line==u.line?g:null)),K&&K.line==u.line&&($=re(K,f))&&(c<0?$<0:$>0))return Gs(i,K,u,c,p)}var X=N.find(c<0?-1:1);return(c<0?x:V)&&(X=gO(i,X,c,X.line==u.line?g:null)),X?Gs(i,X,u,c,p):null}}return u}function hh(i,u,f,c,p){var g=c||1,E=Gs(i,u,f,g,p)||!p&&Gs(i,u,f,g,!0)||Gs(i,u,f,-g,p)||!p&&Gs(i,u,f,-g,!0);return E||(i.cantEdit=!0,W(i.first,0))}function gO(i,u,f,c){return f<0&&u.ch==0?u.line>i.first?qe(i,W(u.line-1)):null:f>0&&u.ch==(c||Ae(i,u.line)).text.length?u.line=0;--p)bO(i,{from:c[p].from,to:c[p].to,text:p?[""]:u.text,origin:u.origin});else bO(i,u)}}function bO(i,u){if(!(u.text.length==1&&u.text[0]==""&&re(u.from,u.to)==0)){var f=Uy(i,u);uO(i,u,f,i.cm?i.cm.curOp.id:NaN),$c(i,u,f,vy(i,u));var c=[];wo(i,function(p,g){!g&&Ue(c,p.history)==-1&&(SO(p.history,u),c.push(p.history)),$c(p,u,null,vy(p,u))})}}function vh(i,u,f){var c=i.cm&&i.cm.state.suppressEdits;if(!(c&&!f)){for(var p=i.history,g,E=i.sel,O=u=="undo"?p.done:p.undone,N=u=="undo"?p.undone:p.done,x=0;x