| 31 | `)==i){if(l.ranges.length%Cr.text.length==0){T=[];for(var H=0;H<Cr.text.length;H++)T.push(m.splitLines(Cr.text[H]))}}else S.length==l.ranges.length&&n.options.pasteLinesPerSelection&&(T=ye(S,function(Le){return[Le]}));for(var V=n.curOp.updateInput,se=l.ranges.length-1;se>=0;se--){var te=l.ranges[se],pe=te.from(),we=te.to();te.empty()&&(a&&a>0?pe=fe(pe.line,pe.ch-a):n.state.overwrite&&!x?we=fe(we.line,Math.min(qe(m,we.line).text.length,we.ch+xe(S).length)):x&&Cr&&Cr.lineWise&&Cr.text.join(` |
| 32 | `)==S.join(` |
| 33 | `)&&(pe=we=fe(pe.line,0)));var Te={from:pe,to:we,text:T?T[se%T.length]:S,origin:u||(x?"paste":n.state.cutIncoming>y?"cut":"+input")};gs(n.doc,Te),Jt(n,"inputRead",n,Te)}i&&!x&&Im(n,i),fs(n),n.curOp.updateInput<2&&(n.curOp.updateInput=V),n.curOp.typing=!0,n.state.pasteIncoming=n.state.cutIncoming=-1}function $m(n,i){var a=n.clipboardData&&n.clipboardData.getData("Text");if(a)return n.preventDefault(),!i.isReadOnly()&&!i.options.disableInput&&i.hasFocus()&&Wn(i,function(){return sd(i,a,0,null,"paste")}),!0}function Im(n,i){if(!(!n.options.electricChars||!n.options.smartIndent))for(var a=n.doc.sel,l=a.ranges.length-1;l>=0;l--){var u=a.ranges[l];if(!(u.head.ch>100||l&&a.ranges[l-1].head.line==u.head.line)){var m=n.getModeAt(u.head),y=!1;if(m.electricChars){for(var x=0;x<m.electricChars.length;x++)if(i.indexOf(m.electricChars.charAt(x))>-1){y=Il(n,u.head.line,"smart");break}}else m.electricInput&&m.electricInput.test(qe(n.doc,u.head.line).text.slice(0,u.head.ch))&&(y=Il(n,u.head.line,"smart"));y&&Jt(n,"electricInput",n,u.head.line)}}}function Dm(n){for(var i=[],a=[],l=0;l<n.doc.sel.ranges.length;l++){var u=n.doc.sel.ranges[l].head.line,m={anchor:fe(u,0),head:fe(u+1,0)};a.push(m),i.push(n.getRange(m.anchor,m.head))}return{text:i,ranges:a}}function ld(n,i,a,l){n.setAttribute("autocorrect",a?"on":"off"),n.setAttribute("autocapitalize",l?"on":"off"),n.setAttribute("spellcheck",!!i)}function zm(){var n=k("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"),i=k("div",[n],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return g?n.style.width="1000px":n.setAttribute("wrap","off"),R&&(n.style.border="1px solid black"),i}function AS(n){var i=n.optionHandlers,a=n.helpers={};n.prototype={constructor:n,focus:function(){Pe(this).focus(),this.display.input.focus()},setOption:function(l,u){var m=this.options,y=m[l];m[l]==u&&l!="mode"||(m[l]=u,i.hasOwnProperty(l)&&Qt(this,i[l])(this,u,y),Pt(this,"optionChange",this,l))},getOption:function(l){return this.options[l]},getDoc:function(){return this.doc},addKeyMap:function(l,u){this.state.keyMaps[u?"push":"unshift"](bc(l))},removeKeyMap:function(l){for(var u=this.state.keyMaps,m=0;m<u.length;++m)if(u[m]==l||u[m].name==l)return u.splice(m,1),!0},addOverlay:vn(function(l,u){var m=l.token?l:n.getMode(this.options,l);if(m.startState)throw new Error("Overlays may not be stateful.");J(this.state.overlays,{mode:m,modeSpec:l,opaque:u&&u.opaque,priority:u&&u.priority||0},function(y){return y.priority}),this.state.modeGen++,_n(this)}),removeOverlay:vn(function(l){for(var u=this.state.overlays,m=0;m<u.length;++m){var y=u[m].modeSpec;if(y==l||typeof l=="string"&&y.name==l){u.splice(m,1),this.state.modeGen++,_n(this);return}}}),indentLine:vn(function(l,u,m){typeof u!="string"&&typeof u!="number"&&(u==null?u=this.options.smartIndent?"smart":"prev":u=u?"add":"subtract"),me(this.doc,l)&&Il(this,l,u,m)}),indentSelection:vn(function(l){for(var u=this.doc.sel.ranges,m=-1,y=0;y<u.length;y++){var x=u[y];if(x.empty())x.head.line>m&&(Il(this,x.head.line,l,!0),m=x.head.line,y==this.doc.sel.primIndex&&fs(this));else{var S=x.from(),T=x.to(),H=Math.max(m,S.line);m=Math.min(this.lastLine(),T.line-(T.ch?0:1))+1;for(var V=H;V<m;++V)Il(this,V,l);var se=this.doc.sel.ranges;S.ch==0&&u.length==se.length&&se[y].from().ch>0&&Jf(this.doc,y,new gt(S,se[y].to()),Q)}}}),getTokenAt:function(l,u){return Kp(this,l,u)},getLineTokens:function(l,u){return Kp(this,fe(l),u,!0)},getTokenTypeAt:function(l){l=tt(this.doc,l);var u=Up(this,qe(this.doc,l.line)),m=0,y=(u.length-1)/2,x=l.ch,S;if(x==0)S=u[2];else for(;;){var T=m+y>>1;if((T?u[T*2-1]:0)>=x)y=T;else if(u[T*2+1]<x)m=T+1;else{S=u[T*2+2];break}}var H=S?S.indexOf("overlay "):-1;return H<0?S:H==0?null:S.slice(0,H-1)},getModeAt:function(l){var u=this.doc.mode;return u.innerMode?n.innerMode(u,this.getTokenAt(l).state).mode:u},getHelper:function(l,u){return this.getHelpers(l,u)[0]},getHelpers:function(l,u){var m=[];if(!a.hasOwnProperty(u))return m;var y=a[u],x=this.getModeAt(l);if(typeof x[u]=="string")y[x[u]]&&m.push(y[x[u]]);else if(x[u])for(var S=0;S<x[u].length;S++){var T=y[x[u][S]];T&&m.push(T)}else x.helperType&&y[x.helperType]?m.push(y[x.helperType]):y[x.name]&&m.push(y[x.name]);for(var H=0;H<y._global.length;H++){var V=y._global[H];V.pred(x,this)&&ae(m,V.val)==-1&&m.push(V.val)}return m},getStateAfter:function(l,u){var m=this.doc;return l=Wp(m,l??m.first+m.size-1),ul(this,l+1,u).state},cursorCoords:function(l,u){var m,y=this.doc.sel.primary();return l==null?m=y.head:typeof l=="object"?m=tt(this.doc,l):m=l?y.from():y.to(),_r(this,m,u||"page")},charCoords:function(l,u){return ic(this,tt(this.doc,l),u||"page")},coordsChar:function(l,u){return l=Sg(this,l,u||"page"),Nf(this,l.left,l.top)},lineAtHeight:function(l,u){return l=Sg(this,{top:l,left:0},u||"page").top,U(this.doc,l+this.display.viewOffset)},heightAtLine:function(l,u,m){var y=!1,x;if(typeof l=="number"){var S=this.doc.first+this.doc.size-1;l<this.doc.first?l=this.doc.first:l>S&&(l=S,y=!0),x=qe(this.doc,l)}else x=l;return rc(this,x,{top:0,left:0},u||"page",m||y).top+(y?this.doc.height-si(x):0)},defaultTextHeight:function(){return as(this.display)},defaultCharWidth:function(){return cs(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(l,u,m,y,x){var S=this.display;l=_r(this,tt(this.doc,l));var T=l.bottom,H=l.left;if(u.style.position="absolute",u.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(u),S.sizer.appendChild(u),y=="over")T=l.top;else if(y=="above"||y=="near"){var V=Math.max(S.wrapper.clientHeight,this.doc.height),se=Math.max(S.sizer.clientWidth,S.lineSpace.clientWidth);(y=="above"||l.bottom+u.offsetHeight>V)&&l.top>u.offsetHeight?T=l.top-u.offsetHeight:l.bottom+u.offsetHeight<=V&&(T=l.bottom),H+u.offsetWidth>se&&(H=se-u.offsetWidth)}u.style.top=T+"px",u.style.left=u.style.right="",x=="right"?(H=S.sizer.clientWidth-u.offsetWidth,u.style.right="0px"):(x=="left"?H=0:x=="middle"&&(H=(S.sizer.clientWidth-u.offsetWidth)/2),u.style.left=H+"px"),m&&Tk(this,{left:H,top:T,right:H+u.offsetWidth,bottom:T+u.offsetHeight})},triggerOnKeyDown:vn(Cm),triggerOnKeyPress:vn(Am),triggerOnKeyUp:Em,triggerOnMouseDown:vn(Lm),execCommand:function(l){if(Ol.hasOwnProperty(l))return Ol[l].call(null,this)},triggerElectric:vn(function(l){Im(this,l)}),findPosH:function(l,u,m,y){var x=1;u<0&&(x=-1,u=-u);for(var S=tt(this.doc,l),T=0;T<u&&(S=ad(this.doc,S,x,m,y),!S.hitSide);++T);return S},moveH:vn(function(l,u){var m=this;this.extendSelectionsBy(function(y){return m.display.shift||m.doc.extend||y.empty()?ad(m.doc,y.head,l,u,m.options.rtlMoveVisually):l<0?y.from():y.to()},de)}),deleteH:vn(function(l,u){var m=this.doc.sel,y=this.doc;m.somethingSelected()?y.replaceSelection("",null,"+delete"):bs(this,function(x){var S=ad(y,x.head,l,u,!1);return l<0?{from:S,to:x.head}:{from:x.head,to:S}})}),findPosV:function(l,u,m,y){var x=1,S=y;u<0&&(x=-1,u=-u);for(var T=tt(this.doc,l),H=0;H<u;++H){var V=_r(this,T,"div");if(S==null?S=V.left:V.left=S,T=Fm(this,V,x,m),T.hitSide)break}return T},moveV:vn(function(l,u){var m=this,y=this.doc,x=[],S=!this.display.shift&&!y.extend&&y.sel.somethingSelected();if(y.extendSelectionsBy(function(H){if(S)return l<0?H.from():H.to();var V=_r(m,H.head,"div");H.goalColumn!=null&&(V.left=H.goalColumn),x.push(V.left);var se=Fm(m,V,l,u);return u=="page"&&H==y.sel.primary()&&Bf(m,ic(m,se,"div").top-V.top),se},de),x.length)for(var T=0;T<y.sel.ranges.length;T++)y.sel.ranges[T].goalColumn=x[T]}),findWordAt:function(l){var u=this.doc,m=qe(u,l.line).text,y=l.ch,x=l.ch;if(m){var S=this.getHelper(l,"wordChars");(l.sticky=="before"||x==m.length)&&y?--y:++x;for(var T=m.charAt(y),H=ct(T,S)?function(V){return ct(V,S)}:/\s/.test(T)?function(V){return/\s/.test(V)}:function(V){return!/\s/.test(V)&&!ct(V)};y>0&&H(m.charAt(y-1));)--y;for(;x<m.length&&H(m.charAt(x));)++x}return new gt(fe(l.line,y),fe(l.line,x))},toggleOverwrite:function(l){l!=null&&l==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?Se(this.display.cursorDiv,"CodeMirror-overwrite"):N(this.display.cursorDiv,"CodeMirror-overwrite"),Pt(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==be(je(this))},isReadOnly:function(){return!!(this.options.readOnly||this.doc.cantEdit)},scrollTo:vn(function(l,u){vl(this,l,u)}),getScrollInfo:function(){var l=this.display.scroller;return{left:l.scrollLeft,top:l.scrollTop,height:l.scrollHeight-qr(this)-this.display.barHeight,width:l.scrollWidth-qr(this)-this.display.barWidth,clientHeight:Ef(this),clientWidth:wo(this)}},scrollIntoView:vn(function(l,u){l==null?(l={from:this.doc.sel.primary().head,to:null},u==null&&(u=this.options.cursorScrollMargin)):typeof l=="number"?l={from:fe(l,0),to:null}:l.from==null&&(l={from:l,to:null}),l.to||(l.to=l.from),l.margin=u||0,l.from.line!=null?Ck(this,l):Og(this,l.from,l.to,l.margin)}),setSize:vn(function(l,u){var m=this,y=function(S){return typeof S=="number"||/^\d+$/.test(String(S))?S+"px":S};l!=null&&(this.display.wrapper.style.width=y(l)),u!=null&&(this.display.wrapper.style.height=y(u)),this.options.lineWrapping&&wg(this);var x=this.display.viewFrom;this.doc.iter(x,this.display.viewTo,function(S){if(S.widgets){for(var T=0;T<S.widgets.length;T++)if(S.widgets[T].noHScroll){Di(m,x,"widget");break}}++x}),this.curOp.forceUpdate=!0,Pt(this,"refresh",this)}),operation:function(l){return Wn(this,l)},startOperation:function(){return Co(this)},endOperation:function(){return Eo(this)},refresh:vn(function(){var l=this.display.cachedTextHeight;_n(this),this.curOp.forceUpdate=!0,gl(this),vl(this,this.doc.scrollLeft,this.doc.scrollTop),jf(this.display),(l==null||Math.abs(l-as(this.display))>.5||this.options.lineWrapping)&&$f(this),Pt(this,"refresh",this)}),swapDoc:vn(function(l){var u=this.doc;return u.cm=null,this.state.selectingText&&this.state.selectingText(),Vg(this,l),gl(this),this.display.input.reset(),vl(this,l.scrollLeft,l.scrollTop),this.curOp.forceScroll=!0,Jt(this,"swapDoc",this,u),u}),phrase:function(l){var u=this.options.phrases;return u&&Object.prototype.hasOwnProperty.call(u,l)?u[l]:l},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},yr(n),n.registerHelper=function(l,u,m){a.hasOwnProperty(l)||(a[l]=n[l]={_global:[]}),a[l][u]=m},n.registerGlobalHelper=function(l,u,m,y){n.registerHelper(l,u,y),a[l]._global.push({pred:m,val:y})}}function ad(n,i,a,l,u){var m=i,y=a,x=qe(n,i.line),S=u&&n.direction=="rtl"?-a:a;function T(){var De=i.line+S;return De<n.first||De>=n.first+n.size?!1:(i=new fe(De,i.ch,i.sticky),x=qe(n,De))}function H(De){var Me;if(l=="codepoint"){var ze=x.text.charCodeAt(i.ch+(a>0?0:-1));if(isNaN(ze))Me=null;else{var Ye=a>0?ze>=55296&&ze<56320:ze>=56320&&ze<57343;Me=new fe(i.line,Math.max(0,Math.min(x.text.length,i.ch+a*(Ye?2:1))),-a)}}else u?Me=cS(n.cm,x,i,a):Me=ed(x,i,a);if(Me==null)if(!De&&T())i=td(u,n.cm,x,i.line,S);else return!1;else i=Me;return!0}if(l=="char"||l=="codepoint")H();else if(l=="column")H(!0);else if(l=="word"||l=="group")for(var V=null,se=l=="group",te=n.cm&&n.cm.getHelper(i,"wordChars"),pe=!0;!(a<0&&!H(!pe));pe=!1){var we=x.text.charAt(i.ch)||` |
| 34 | `,Te=ct(we,te)?"w":se&&we==` |
| 35 | `?"n":!se||/\s/.test(we)?null:"p";if(se&&!pe&&!Te&&(Te="s"),V&&V!=Te){a<0&&(a=1,H(),i.sticky="after");break}if(Te&&(V=Te),a>0&&!H(!pe))break}var Le=mc(n,i,m,y,!0);return pt(m,Le)&&(Le.hitSide=!0),Le}function Fm(n,i,a,l){var u=n.doc,m=i.left,y;if(l=="page"){var x=Math.min(n.display.wrapper.clientHeight,Pe(n).innerHeight||u(n).documentElement.clientHeight),S=Math.max(x-.5*as(n.display),3);y=(a>0?i.bottom:i.top)+a*S}else l=="line"&&(y=a>0?i.bottom+3:i.top-3);for(var T;T=Nf(n,m,y),!!T.outside;){if(a<0?y<=0:y>=u.height){T.hitSide=!0;break}y+=a*5}return T}var yt=function(n){this.cm=n,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new le,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};yt.prototype.init=function(n){var i=this,a=this,l=a.cm,u=a.div=n.lineDiv;u.contentEditable=!0,ld(u,l.options.spellcheck,l.options.autocorrect,l.options.autocapitalize);function m(x){for(var S=x.target;S;S=S.parentNode){if(S==u)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(S.className))break}return!1}Xe(u,"paste",function(x){!m(x)||Rt(l,x)||$m(x,l)||p<=11&&setTimeout(Qt(l,function(){return i.updateFromDOM()}),20)}),Xe(u,"compositionstart",function(x){i.composing={data:x.data,done:!1}}),Xe(u,"compositionupdate",function(x){i.composing||(i.composing={data:x.data,done:!1})}),Xe(u,"compositionend",function(x){i.composing&&(x.data!=i.composing.data&&i.readFromDOMSoon(),i.composing.done=!0)}),Xe(u,"touchstart",function(){return a.forceCompositionEnd()}),Xe(u,"input",function(){i.composing||i.readFromDOMSoon()});function y(x){if(!(!m(x)||Rt(l,x))){if(l.somethingSelected())kc({lineWise:!1,text:l.getSelections()}),x.type=="cut"&&l.replaceSelection("",null,"cut");else if(l.options.lineWiseCopyCut){var S=Dm(l);kc({lineWise:!0,text:S.text}),x.type=="cut"&&l.operation(function(){l.setSelections(S.ranges,0,Q),l.replaceSelection("",null,"cut")})}else return;if(x.clipboardData){x.clipboardData.clearData();var T=Cr.text.join(` |
| 36 | `);if(x.clipboardData.setData("Text",T),x.clipboardData.getData("Text")==T){x.preventDefault();return}}var H=zm(),V=H.firstChild;ld(V),l.display.lineSpace.insertBefore(H,l.display.lineSpace.firstChild),V.value=Cr.text.join(` |
| 37 | `);var se=be(Fe(u));Ae(V),setTimeout(function(){l.display.lineSpace.removeChild(H),se.focus(),se==u&&a.showPrimarySelection()},50)}}Xe(u,"copy",y),Xe(u,"cut",y)},yt.prototype.screenReaderLabelChanged=function(n){n?this.div.setAttribute("aria-label",n):this.div.removeAttribute("aria-label")},yt.prototype.prepareSelection=function(){var n=Lg(this.cm,!1);return n.focus=be(Fe(this.div))==this.div,n},yt.prototype.showSelection=function(n,i){!n||!this.cm.display.view.length||((n.focus||i)&&this.showPrimarySelection(),this.showMultipleSelections(n))},yt.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},yt.prototype.showPrimarySelection=function(){var n=this.getSelection(),i=this.cm,a=i.doc.sel.primary(),l=a.from(),u=a.to();if(i.display.viewTo==i.display.viewFrom||l.line>=i.display.viewTo||u.line<i.display.viewFrom){n.removeAllRanges();return}var m=Sc(i,n.anchorNode,n.anchorOffset),y=Sc(i,n.focusNode,n.focusOffset);if(!(m&&!m.bad&&y&&!y.bad&&Ie(is(m,y),l)==0&&Ie(Sn(m,y),u)==0)){var x=i.display.view,S=l.line>=i.display.viewFrom&&Hm(i,l)||{node:x[0].measure.map[2],offset:0},T=u.line<i.display.viewTo&&Hm(i,u);if(!T){var H=x[x.length-1].measure,V=H.maps?H.maps[H.maps.length-1]:H.map;T={node:V[V.length-1],offset:V[V.length-2]-V[V.length-3]}}if(!S||!T){n.removeAllRanges();return}var se=n.rangeCount&&n.getRangeAt(0),te;try{te=B(S.node,S.offset,T.offset,T.node)}catch{}te&&(!s&&i.state.focused?(n.collapse(S.node,S.offset),te.collapsed||(n.removeAllRanges(),n.addRange(te))):(n.removeAllRanges(),n.addRange(te)),se&&n.anchorNode==null?n.addRange(se):s&&this.startGracePeriod()),this.rememberSelection()}},yt.prototype.startGracePeriod=function(){var n=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){n.gracePeriod=!1,n.selectionChanged()&&n.cm.operation(function(){return n.cm.curOp.selectionChanged=!0})},20)},yt.prototype.showMultipleSelections=function(n){C(this.cm.display.cursorDiv,n.cursors),C(this.cm.display.selectionDiv,n.selection)},yt.prototype.rememberSelection=function(){var n=this.getSelection();this.lastAnchorNode=n.anchorNode,this.lastAnchorOffset=n.anchorOffset,this.lastFocusNode=n.focusNode,this.lastFocusOffset=n.focusOffset},yt.prototype.selectionInEditor=function(){var n=this.getSelection();if(!n.rangeCount)return!1;var i=n.getRangeAt(0).commonAncestorContainer;return ce(this.div,i)},yt.prototype.focus=function(){this.cm.options.readOnly!="nocursor"&&((!this.selectionInEditor()||be(Fe(this.div))!=this.div)&&this.showSelection(this.prepareSelection(),!0),this.div.focus())},yt.prototype.blur=function(){this.div.blur()},yt.prototype.getField=function(){return this.div},yt.prototype.supportsTouch=function(){return!0},yt.prototype.receivedFocus=function(){var n=this,i=this;this.selectionInEditor()?setTimeout(function(){return n.pollSelection()},20):Wn(this.cm,function(){return i.cm.curOp.selectionChanged=!0});function a(){i.cm.state.focused&&(i.pollSelection(),i.polling.set(i.cm.options.pollInterval,a))}this.polling.set(this.cm.options.pollInterval,a)},yt.prototype.selectionChanged=function(){var n=this.getSelection();return n.anchorNode!=this.lastAnchorNode||n.anchorOffset!=this.lastAnchorOffset||n.focusNode!=this.lastFocusNode||n.focusOffset!=this.lastFocusOffset},yt.prototype.pollSelection=function(){if(!(this.readDOMTimeout!=null||this.gracePeriod||!this.selectionChanged())){var n=this.getSelection(),i=this.cm;if(I&&b&&this.cm.display.gutterSpecs.length&&LS(n.anchorNode)){this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),this.focus();return}if(!this.composing){this.rememberSelection();var a=Sc(i,n.anchorNode,n.anchorOffset),l=Sc(i,n.focusNode,n.focusOffset);a&&l&&Wn(i,function(){un(i.doc,Fi(a,l),Q),(a.bad||l.bad)&&(i.curOp.selectionChanged=!0)})}}},yt.prototype.pollContent=function(){this.readDOMTimeout!=null&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var n=this.cm,i=n.display,a=n.doc.sel.primary(),l=a.from(),u=a.to();if(l.ch==0&&l.line>n.firstLine()&&(l=fe(l.line-1,qe(n.doc,l.line-1).length)),u.ch==qe(n.doc,u.line).text.length&&u.line<n.lastLine()&&(u=fe(u.line+1,0)),l.line<i.viewFrom||u.line>i.viewTo-1)return!1;var m,y,x;l.line==i.viewFrom||(m=So(n,l.line))==0?(y=A(i.view[0].line),x=i.view[0].node):(y=A(i.view[m].line),x=i.view[m-1].node.nextSibling);var S=So(n,u.line),T,H;if(S==i.view.length-1?(T=i.viewTo-1,H=i.lineDiv.lastChild):(T=A(i.view[S+1].line)-1,H=i.view[S+1].node.previousSibling),!x)return!1;for(var V=n.doc.splitLines(MS(n,x,H,y,T)),se=ii(n.doc,fe(y,0),fe(T,qe(n.doc,T).text.length));V.length>1&&se.length>1;)if(xe(V)==xe(se))V.pop(),se.pop(),T--;else if(V[0]==se[0])V.shift(),se.shift(),y++;else break;for(var te=0,pe=0,we=V[0],Te=se[0],Le=Math.min(we.length,Te.length);te<Le&&we.charCodeAt(te)==Te.charCodeAt(te);)++te;for(var De=xe(V),Me=xe(se),ze=Math.min(De.length-(V.length==1?te:0),Me.length-(se.length==1?te:0));pe<ze&&De.charCodeAt(De.length-pe-1)==Me.charCodeAt(Me.length-pe-1);)++pe;if(V.length==1&&se.length==1&&y==l.line)for(;te&&te>l.ch&&De.charCodeAt(De.length-pe-1)==Me.charCodeAt(Me.length-pe-1);)te--,pe++;V[V.length-1]=De.slice(0,De.length-pe).replace(/^\u200b+/,""),V[0]=V[0].slice(te).replace(/\u200b+$/,"");var Ye=fe(y,te),Ue=fe(T,se.length?xe(se).length-pe:0);if(V.length>1||V[0]||Ie(Ye,Ue))return ms(n.doc,V,Ye,Ue,"+input"),!0},yt.prototype.ensurePolled=function(){this.forceCompositionEnd()},yt.prototype.reset=function(){this.forceCompositionEnd()},yt.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},yt.prototype.readFromDOMSoon=function(){var n=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(n.readDOMTimeout=null,n.composing)if(n.composing.done)n.composing=null;else return;n.updateFromDOM()},80))},yt.prototype.updateFromDOM=function(){var n=this;(this.cm.isReadOnly()||!this.pollContent())&&Wn(this.cm,function(){return _n(n.cm)})},yt.prototype.setUneditable=function(n){n.contentEditable="false"},yt.prototype.onKeyPress=function(n){n.charCode==0||this.composing||(n.preventDefault(),this.cm.isReadOnly()||Qt(this.cm,sd)(this.cm,String.fromCharCode(n.charCode==null?n.keyCode:n.charCode),0))},yt.prototype.readOnlyChanged=function(n){this.div.contentEditable=String(n!="nocursor")},yt.prototype.onContextMenu=function(){},yt.prototype.resetPosition=function(){},yt.prototype.needsContentAttribute=!0;function Hm(n,i){var a=Af(n,i.line);if(!a||a.hidden)return null;var l=qe(n.doc,i.line),u=gg(a,l,i.line),m=lt(l,n.doc.direction),y="left";if(m){var x=Bt(m,i.ch);y=x%2?"right":"left"}var S=yg(u.map,i.ch,y);return S.offset=S.collapse=="right"?S.end:S.start,S}function LS(n){for(var i=n;i;i=i.parentNode)if(/CodeMirror-gutter-wrapper/.test(i.className))return!0;return!1}function xs(n,i){return i&&(n.bad=!0),n}function MS(n,i,a,l,u){var m="",y=!1,x=n.doc.lineSeparator(),S=!1;function T(te){return function(pe){return pe.id==te}}function H(){y&&(m+=x,S&&(m+=x),y=S=!1)}function V(te){te&&(H(),m+=te)}function se(te){if(te.nodeType==1){var pe=te.getAttribute("cm-text");if(pe){V(pe);return}var we=te.getAttribute("cm-marker"),Te;if(we){var Le=n.findMarks(fe(l,0),fe(u+1,0),T(+we));Le.length&&(Te=Le[0].find(0))&&V(ii(n.doc,Te.from,Te.to).join(x));return}if(te.getAttribute("contenteditable")=="false")return;var De=/^(pre|div|p|li|table|br)$/i.test(te.nodeName);if(!/^br$/i.test(te.nodeName)&&te.textContent.length==0)return;De&&H();for(var Me=0;Me<te.childNodes.length;Me++)se(te.childNodes[Me]);/^(pre|p)$/i.test(te.nodeName)&&(S=!0),De&&(y=!0)}else te.nodeType==3&&V(te.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "))}for(;se(i),i!=a;)i=i.nextSibling,S=!1;return m}function Sc(n,i,a){var l;if(i==n.display.lineDiv){if(l=n.display.lineDiv.childNodes[a],!l)return xs(n.clipPos(fe(n.display.viewTo-1)),!0);i=null,a=0}else for(l=i;;l=l.parentNode){if(!l||l==n.display.lineDiv)return null;if(l.parentNode&&l.parentNode==n.display.lineDiv)break}for(var u=0;u<n.display.view.length;u++){var m=n.display.view[u];if(m.node==l)return NS(m,i,a)}}function NS(n,i,a){var l=n.text.firstChild,u=!1;if(!i||!ce(l,i))return xs(fe(A(n.line),0),!0);if(i==l&&(u=!0,i=l.childNodes[a],a=0,!i)){var m=n.rest?xe(n.rest):n.line;return xs(fe(A(m),m.text.length),u)}var y=i.nodeType==3?i:null,x=i;for(!y&&i.childNodes.length==1&&i.firstChild.nodeType==3&&(y=i.firstChild,a&&(a=y.nodeValue.length));x.parentNode!=l;)x=x.parentNode;var S=n.measure,T=S.maps;function H(Te,Le,De){for(var Me=-1;Me<(T?T.length:0);Me++)for(var ze=Me<0?S.map:T[Me],Ye=0;Ye<ze.length;Ye+=3){var Ue=ze[Ye+2];if(Ue==Te||Ue==Le){var st=A(Me<0?n.line:n.rest[Me]),St=ze[Ye]+De;return(De<0||Ue!=Te)&&(St=ze[Ye+(De?1:0)]),fe(st,St)}}}var V=H(y,x,a);if(V)return xs(V,u);for(var se=x.nextSibling,te=y?y.nodeValue.length-a:0;se;se=se.nextSibling){if(V=H(se,se.firstChild,0),V)return xs(fe(V.line,V.ch-te),u);te+=se.textContent.length}for(var pe=x.previousSibling,we=a;pe;pe=pe.previousSibling){if(V=H(pe,pe.firstChild,-1),V)return xs(fe(V.line,V.ch+we),u);we+=pe.textContent.length}}var Wt=function(n){this.cm=n,this.prevInput="",this.pollingFast=!1,this.polling=new le,this.hasSelection=!1,this.composing=null,this.resetting=!1};Wt.prototype.init=function(n){var i=this,a=this,l=this.cm;this.createField(n);var u=this.textarea;n.wrapper.insertBefore(this.wrapper,n.wrapper.firstChild),R&&(u.style.width="0px"),Xe(u,"input",function(){h&&p>=9&&i.hasSelection&&(i.hasSelection=null),a.poll()}),Xe(u,"paste",function(y){Rt(l,y)||$m(y,l)||(l.state.pasteIncoming=+new Date,a.fastPoll())});function m(y){if(!Rt(l,y)){if(l.somethingSelected())kc({lineWise:!1,text:l.getSelections()});else if(l.options.lineWiseCopyCut){var x=Dm(l);kc({lineWise:!0,text:x.text}),y.type=="cut"?l.setSelections(x.ranges,null,Q):(a.prevInput="",u.value=x.text.join(` |
| 38 | `),Ae(u))}else return;y.type=="cut"&&(l.state.cutIncoming=+new Date)}}Xe(u,"cut",m),Xe(u,"copy",m),Xe(n.scroller,"paste",function(y){if(!(li(n,y)||Rt(l,y))){if(!u.dispatchEvent){l.state.pasteIncoming=+new Date,a.focus();return}var x=new Event("paste");x.clipboardData=y.clipboardData,u.dispatchEvent(x)}}),Xe(n.lineSpace,"selectstart",function(y){li(n,y)||cn(y)}),Xe(u,"compositionstart",function(){var y=l.getCursor("from");a.composing&&a.composing.range.clear(),a.composing={start:y,range:l.markText(y,l.getCursor("to"),{className:"CodeMirror-composing"})}}),Xe(u,"compositionend",function(){a.composing&&(a.poll(),a.composing.range.clear(),a.composing=null)})},Wt.prototype.createField=function(n){this.wrapper=zm(),this.textarea=this.wrapper.firstChild;var i=this.cm.options;ld(this.textarea,i.spellcheck,i.autocorrect,i.autocapitalize)},Wt.prototype.screenReaderLabelChanged=function(n){n?this.textarea.setAttribute("aria-label",n):this.textarea.removeAttribute("aria-label")},Wt.prototype.prepareSelection=function(){var n=this.cm,i=n.display,a=n.doc,l=Lg(n);if(n.options.moveInputWithCursor){var u=_r(n,a.sel.primary().head,"div"),m=i.wrapper.getBoundingClientRect(),y=i.lineDiv.getBoundingClientRect();l.teTop=Math.max(0,Math.min(i.wrapper.clientHeight-10,u.top+y.top-m.top)),l.teLeft=Math.max(0,Math.min(i.wrapper.clientWidth-10,u.left+y.left-m.left))}return l},Wt.prototype.showSelection=function(n){var i=this.cm,a=i.display;C(a.cursorDiv,n.cursors),C(a.selectionDiv,n.selection),n.teTop!=null&&(this.wrapper.style.top=n.teTop+"px",this.wrapper.style.left=n.teLeft+"px")},Wt.prototype.reset=function(n){if(!(this.contextMenuPending||this.composing&&n)){var i=this.cm;if(this.resetting=!0,i.somethingSelected()){this.prevInput="";var a=i.getSelection();this.textarea.value=a,i.state.focused&&Ae(this.textarea),h&&p>=9&&(this.hasSelection=a)}else n||(this.prevInput=this.textarea.value="",h&&p>=9&&(this.hasSelection=null));this.resetting=!1}},Wt.prototype.getField=function(){return this.textarea},Wt.prototype.supportsTouch=function(){return!1},Wt.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!_||be(Fe(this.textarea))!=this.textarea))try{this.textarea.focus()}catch{}},Wt.prototype.blur=function(){this.textarea.blur()},Wt.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Wt.prototype.receivedFocus=function(){this.slowPoll()},Wt.prototype.slowPoll=function(){var n=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){n.poll(),n.cm.state.focused&&n.slowPoll()})},Wt.prototype.fastPoll=function(){var n=!1,i=this;i.pollingFast=!0;function a(){var l=i.poll();!l&&!n?(n=!0,i.polling.set(60,a)):(i.pollingFast=!1,i.slowPoll())}i.polling.set(20,a)},Wt.prototype.poll=function(){var n=this,i=this.cm,a=this.textarea,l=this.prevInput;if(this.contextMenuPending||this.resetting||!i.state.focused||Ri(a)&&!l&&!this.composing||i.isReadOnly()||i.options.disableInput||i.state.keySeq)return!1;var u=a.value;if(u==l&&!i.somethingSelected())return!1;if(h&&p>=9&&this.hasSelection===u||$&&/[\uf700-\uf7ff]/.test(u))return i.display.input.reset(),!1;if(i.doc.sel==i.display.selForContextMenu){var m=u.charCodeAt(0);if(m==8203&&!l&&(l=""),m==8666)return this.reset(),this.cm.execCommand("undo")}for(var y=0,x=Math.min(l.length,u.length);y<x&&l.charCodeAt(y)==u.charCodeAt(y);)++y;return Wn(i,function(){sd(i,u.slice(y),l.length-y,null,n.composing?"*compose":null),u.length>1e3||u.indexOf(` |