Produced by Araxis Merge on 5/9/2017 12:03:03 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | Tue May 9 16:03:03 2017 UTC | ||
| 2 | OSCIF_HEC_v1.4_Sprint23_build4_Apr_2017.zip\CRM_solutions\Managed\North52BPA_1_0_0_506_managed_2013_2015_2016..zip\WebResources | north52_javascriptcodemirror5C676016-F287-E511-9E96-00155DF5B00D | Thu May 4 22:29:30 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 0 | 0 |
| Changed | 0 | 0 |
| Inserted | 1 | 17 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | /* CodeMir ror - Mini fied & Bun dled | |||||
| 2 | Generat ed on 03/1 1/2015 wit h http://c odemirror. net/doc/co mpress.htm l | |||||
| 3 | Version : HEAD | |||||
| 4 | ||||||
| 5 | CodeMir ror Librar y: | |||||
| 6 | - codem irror.js | |||||
| 7 | Add-ons : | |||||
| 8 | - match brackets.j s | |||||
| 9 | - simpl e.js | |||||
| 10 | */ | |||||
| 11 | ||||||
| 12 | !function( a){if("obj ect"==type of exports &&"object" ==typeof m odule)modu le.exports =a();else{ if("functi on"==typeo f define&& define.amd )return de fine([],a) ;this.Code Mirror=a() }}(functio n(){"use s trict";fun ction x(a, b){if(!(th is instanc eof x))ret urn new x( a,b);this. options=b= b?lg(b):{} ,lg(Cd,b,! 1),K(b);va r c=b.valu e;"string" ==typeof c &&(c=new c f(c,b.mode ,null,b.li neSeparato r)),this.d oc=c;var d =new x.inp utStyles[b .inputStyl e](this),e =this.disp lay=new y( a,c,d);e.w rapper.Cod eMirror=th is,G(this) ,E(this),b .lineWrapp ing&&(this .display.w rapper.cla ssName+=" CodeMirror -wrap"),b. autofocus& &!p&&e.inp ut.focus() ,O(this),t his.state= {keyMaps:[ ],overlays :[],modeGe n:0,overwr ite:!1,del ayingBlurE vent:!1,fo cused:!1,s uppressEdi ts:!1,past eIncoming: !1,cutInco ming:!1,se lectingTex t:!1,dragg ingText:!1 ,highlight :new ag,ke ySeq:null, specialCha rs:null};v ar i=this; f&&11>g&&s etTimeout( function() {i.display .input.res et(!0)},20 ),rc(this) ,Fg(),Xb(t his),this. curOp.forc eUpdate=!0 ,gf(this,c ),b.autofo cus&&!p||i .hasFocus( )?setTimeo ut(mg(_c,t his),20):a d(this);fo r(var j in Dd)Dd.has OwnPropert y(j)&&Dd[j ](this,b[j ],Fd);T(th is),b.fini shInit&&b. finishInit (this);for (var k=0;k <Jd.length ;++k)Jd[k] (this);Zb( this),h&&b .lineWrapp ing&&"opti mizelegibi lity"==get ComputedSt yle(e.line Div).textR endering&& (e.lineDiv .style.tex tRendering ="auto")}f unction y( a,b,d){var e=this;th is.input=d ,e.scrollb arFiller=t g("div",nu ll,"CodeMi rror-scrol lbar-fille r"),e.scro llbarFille r.setAttri bute("cm-n ot-content ","true"), e.gutterFi ller=tg("d iv",null," CodeMirror -gutter-fi ller"),e.g utterFille r.setAttri bute("cm-n ot-content ","true"), e.lineDiv= tg("div",n ull,"CodeM irror-code "),e.selec tionDiv=tg ("div",nul l,null,"po sition: re lative; z- index: 1") ,e.cursorD iv=tg("div ",null,"Co deMirror-c ursors"),e .measure=t g("div",nu ll,"CodeMi rror-measu re"),e.lin eMeasure=t g("div",nu ll,"CodeMi rror-measu re"),e.lin eSpace=tg( "div",[e.m easure,e.l ineMeasure ,e.selecti onDiv,e.cu rsorDiv,e. lineDiv],n ull,"posit ion: relat ive; outli ne: none") ,e.mover=t g("div",[t g("div",[e .lineSpace ],"CodeMir ror-lines" )],null,"p osition: r elative"), e.sizer=tg ("div",[e. mover],"Co deMirror-s izer"),e.s izerWidth= null,e.hei ghtForcer= tg("div",n ull,null," position: absolute; height: "+ Xf+"px; wi dth: 1px;" ),e.gutter s=tg("div" ,null,"Cod eMirror-gu tters"),e. lineGutter =null,e.sc roller=tg( "div",[e.s izer,e.hei ghtForcer, e.gutters] ,"CodeMirr or-scroll" ),e.scroll er.setAttr ibute("tab Index","-1 "),e.wrapp er=tg("div ",[e.scrol lbarFiller ,e.gutterF iller,e.sc roller],"C odeMirror" ),f&&8>g&& (e.gutters .style.zIn dex=-1,e.s croller.st yle.paddin gRight=0), h||c&&p||( e.scroller .draggable =!0),a&&(a .appendChi ld?a.appen dChild(e.w rapper):a( e.wrapper) ),e.viewFr om=e.viewT o=b.first, e.reported ViewFrom=e .reportedV iewTo=b.fi rst,e.view =[],e.rend eredView=n ull,e.exte rnalMeasur ed=null,e. viewOffset =0,e.lastW rapHeight= e.lastWrap Width=0,e. updateLine Numbers=nu ll,e.nativ eBarWidth= e.barHeigh t=e.barWid th=0,e.scr ollbarsCli pped=!1,e. lineNumWid th=e.lineN umInnerWid th=e.lineN umChars=nu ll,e.align Widgets=!1 ,e.cachedC harWidth=e .cachedTex tHeight=e. cachedPadd ingH=null, e.maxLine= null,e.max LineLength =0,e.maxLi neChanged= !1,e.wheel DX=e.wheel DY=e.wheel StartX=e.w heelStartY =null,e.sh ift=!1,e.s elForConte xtMenu=nul l,e.active Touch=null ,d.init(e) }function z(a){a.doc .mode=x.ge tMode(a.op tions,a.do c.modeOpti on),A(a)}f unction A( a){a.doc.i ter(functi on(a){a.st ateAfter&& (a.stateAf ter=null), a.styles&& (a.styles= null)}),a. doc.fronti er=a.doc.f irst,kb(a, 100),a.sta te.modeGen ++,a.curOp &&kc(a)}fu nction B(a ){a.option s.lineWrap ping?(Bg(a .display.w rapper,"Co deMirror-w rap"),a.di splay.size r.style.mi nWidth="", a.display. sizerWidth =null):(Ag (a.display .wrapper," CodeMirror -wrap"),J( a)),D(a),k c(a),Hb(a) ,setTimeou t(function (){P(a)},1 00)}functi on C(a){va r b=Tb(a.d isplay),c= a.options. lineWrappi ng,d=c&&Ma th.max(5,a .display.s croller.cl ientWidth/ Ub(a.displ ay)-3);ret urn functi on(e){if(y e(a.doc,e) )return 0; var f=0;if (e.widgets )for(var g =0;g<e.wid gets.lengt h;g++)e.wi dgets[g].h eight&&(f+ =e.widgets [g].height );return c ?f+(Math.c eil(e.text .length/d) ||1)*b:f+b }}function D(a){var b=a.doc,c= C(a);b.ite r(function (a){var b= c(a);b!=a. height&&lf (a,b)})}fu nction E(a ){a.displa y.wrapper. className= a.display. wrapper.cl assName.re place(/\s* cm-s-\S+/g ,"")+a.opt ions.theme .replace(/ (^|\s)\s*/ g," cm-s-" ),Hb(a)}fu nction F(a ){G(a),kc( a),setTime out(functi on(){S(a)} ,20)}funct ion G(a){v ar b=a.dis play.gutte rs,c=a.opt ions.gutte rs;vg(b);f or(var d=0 ;d<c.lengt h;++d){var e=c[d],f= b.appendCh ild(tg("di v",null,"C odeMirror- gutter "+e ));"CodeMi rror-linen umbers"==e &&(a.displ ay.lineGut ter=f,f.st yle.width= (a.display .lineNumWi dth||1)+"p x")}b.styl e.display= d?"":"none ",H(a)}fun ction H(a) {var b=a.d isplay.gut ters.offse tWidth;a.d isplay.siz er.style.m arginLeft= b+"px"}fun ction I(a) {if(0==a.h eight)retu rn 0;for(v ar c,b=a.t ext.length ,d=a;c=re( d);){var e =c.find(0, !0);d=e.fr om.line,b+ =e.from.ch -e.to.ch}f or(d=a;c=s e(d);){var e=c.find( 0,!0);b-=d .text.leng th-e.from. ch,d=e.to. line,b+=d. text.lengt h-e.to.ch} return b}f unction J( a){var b=a .display,c =a.doc;b.m axLine=hf( c,c.first) ,b.maxLine Length=I(b .maxLine), b.maxLineC hanged=!0, c.iter(fun ction(a){v ar c=I(a); c>b.maxLin eLength&&( b.maxLineL ength=c,b. maxLine=a) })}functio n K(a){var b=hg(a.gu tters,"Cod eMirror-li nenumbers" );-1==b&&a .lineNumbe rs?a.gutte rs=a.gutte rs.concat( ["CodeMirr or-linenum bers"]):b> -1&&!a.lin eNumbers&& (a.gutters =a.gutters .slice(0), a.gutters. splice(b,1 ))}functio n L(a){var b=a.displ ay,c=b.gut ters.offse tWidth,d=M ath.round( a.doc.heig ht+pb(a.di splay));re turn{clien tHeight:b. scroller.c lientHeigh t,viewHeig ht:b.wrapp er.clientH eight,scro llWidth:b. scroller.s crollWidth ,clientWid th:b.scrol ler.client Width,view Width:b.wr apper.clie ntWidth,ba rLeft:a.op tions.fixe dGutter?c: 0,docHeigh t:d,scroll Height:d+r b(a)+b.bar Height,nat iveBarWidt h:b.native BarWidth,g utterWidth :c}}functi on M(a,b,c ){this.cm= c;var d=th is.vert=tg ("div",[tg ("div",nul l,null,"mi n-width: 1 px")],"Cod eMirror-vs crollbar") ,e=this.ho riz=tg("di v",[tg("di v",null,nu ll,"height : 100%; mi n-height: 1px")],"Co deMirror-h scrollbar" );a(d),a(e ),Lf(d,"sc roll",func tion(){d.c lientHeigh t&&b(d.scr ollTop,"ve rtical")}) ,Lf(e,"scr oll",funct ion(){e.cl ientWidth& &b(e.scrol lLeft,"hor izontal")} ),this.che ckedZeroWi dth=!1,f&& 8>g&&(this .horiz.sty le.minHeig ht=this.ve rt.style.m inWidth="1 8px")}func tion N(){} function O (a){a.disp lay.scroll bars&&(a.d isplay.scr ollbars.cl ear(),a.di splay.scro llbars.add Class&&Ag( a.display. wrapper,a. display.sc rollbars.a ddClass)), a.display. scrollbars =new x.scr ollbarMode l[a.option s.scrollba rStyle](fu nction(b){ a.display. wrapper.in sertBefore (b,a.displ ay.scrollb arFiller), Lf(b,"mous edown",fun ction(){a. state.focu sed&&setTi meout(func tion(){a.d isplay.inp ut.focus() },0)}),b.s etAttribut e("cm-not- content"," true")},fu nction(b,c ){"horizon tal"==c?Kc (a,b):Jc(a ,b)},a),a. display.sc rollbars.a ddClass&&B g(a.displa y.wrapper, a.display. scrollbars .addClass) }function P(a,b){b|| (b=L(a));v ar c=a.dis play.barWi dth,d=a.di splay.barH eight;Q(a, b);for(var e=0;4>e&& c!=a.displ ay.barWidt h||d!=a.di splay.barH eight;e++) c!=a.displ ay.barWidt h&&a.optio ns.lineWra pping&&aa( a),Q(a,L(a )),c=a.dis play.barWi dth,d=a.di splay.barH eight}func tion Q(a,b ){var c=a. display,d= c.scrollba rs.update( b);c.sizer .style.pad dingRight= (c.barWidt h=d.right) +"px",c.si zer.style. paddingBot tom=(c.bar Height=d.b ottom)+"px ",d.right& &d.bottom? (c.scrollb arFiller.s tyle.displ ay="block" ,c.scrollb arFiller.s tyle.heigh t=d.bottom +"px",c.sc rollbarFil ler.style. width=d.ri ght+"px"): c.scrollba rFiller.st yle.displa y="",d.bot tom&&a.opt ions.cover GutterNext ToScrollba r&&a.optio ns.fixedGu tter?(c.gu tterFiller .style.dis play="bloc k",c.gutte rFiller.st yle.height =d.bottom+ "px",c.gut terFiller. style.widt h=b.gutter Width+"px" ):c.gutter Filler.sty le.display =""}functi on R(a,b,c ){var d=c& &null!=c.t op?Math.ma x(0,c.top) :a.scrolle r.scrollTo p;d=Math.f loor(d-ob( a));var e= c&&null!=c .bottom?c. bottom:d+a .wrapper.c lientHeigh t,f=nf(b,d ),g=nf(b,e );if(c&&c. ensure){va r h=c.ensu re.from.li ne,i=c.ens ure.to.lin e;f>h?(f=h ,g=nf(b,of (hf(b,h))+ a.wrapper. clientHeig ht)):Math. min(i,b.la stLine())> =g&&(f=nf( b,of(hf(b, i))-a.wrap per.client Height),g= i)}return{ from:f,to: Math.max(g ,f+1)}}fun ction S(a) {var b=a.d isplay,c=b .view;if(b .alignWidg ets||b.gut ters.first Child&&a.o ptions.fix edGutter){ for(var d= V(b)-b.scr oller.scro llLeft+a.d oc.scrollL eft,e=b.gu tters.offs etWidth,f= d+"px",g=0 ;g<c.lengt h;g++)if(! c[g].hidde n){a.optio ns.fixedGu tter&&c[g] .gutter&&( c[g].gutte r.style.le ft=f);var h=c[g].ali gnable;if( h)for(var i=0;i<h.le ngth;i++)h [i].style. left=f}a.o ptions.fix edGutter&& (b.gutters .style.lef t=d+e+"px" )}}functio n T(a){if( !a.options .lineNumbe rs)return! 1;var b=a. doc,c=U(a. options,b. first+b.si ze-1),d=a. display;if (c.length! =d.lineNum Chars){var e=d.measu re.appendC hild(tg("d iv",[tg("d iv",c)],"C odeMirror- linenumber CodeMirro r-gutter-e lt")),f=e. firstChild .offsetWid th,g=e.off setWidth-f ;return d. lineGutter .style.wid th="",d.li neNumInner Width=Math .max(f,d.l ineGutter. offsetWidt h-g)+1,d.l ineNumWidt h=d.lineNu mInnerWidt h+g,d.line NumChars=d .lineNumIn nerWidth?c .length:-1 ,d.lineGut ter.style. width=d.li neNumWidth +"px",H(a) ,!0}return !1}functio n U(a,b){r eturn Stri ng(a.lineN umberForma tter(b+a.f irstLineNu mber))}fun ction V(a) {return a. scroller.g etBounding ClientRect ().left-a. sizer.getB oundingCli entRect(). left}funct ion W(a,b, c){var d=a .display;t his.viewpo rt=b,this. visible=R( d,a.doc,b) ,this.edit orIsHidden =!d.wrappe r.offsetWi dth,this.w rapperHeig ht=d.wrapp er.clientH eight,this .wrapperWi dth=d.wrap per.client Width,this .oldDispla yWidth=sb( a),this.fo rce=c,this .dims=ca(a ),this.eve nts=[]}fun ction X(a) {var b=a.d isplay;!b. scrollbars Clipped&&b .scroller. offsetWidt h&&(b.nati veBarWidth =b.scrolle r.offsetWi dth-b.scro ller.clien tWidth,b.h eightForce r.style.he ight=rb(a) +"px",b.si zer.style. marginBott om=-b.nati veBarWidth +"px",b.si zer.style. borderRigh tWidth=rb( a)+"px",b. scrollbars Clipped=!0 )}function Y(a,b){va r c=a.disp lay,d=a.do c;if(b.edi torIsHidde n)return m c(a),!1;if (!b.force& &b.visible .from>=c.v iewFrom&&b .visible.t o<=c.viewT o&&(null== c.updateLi neNumbers| |c.updateL ineNumbers >=c.viewTo )&&c.rende redView==c .view&&0== qc(a))retu rn!1;T(a)& &(mc(a),b. dims=ca(a) );var e=d. first+d.si ze,f=Math. max(b.visi ble.from-a .options.v iewportMar gin,d.firs t),g=Math. min(e,b.vi sible.to+a .options.v iewportMar gin);c.vie wFrom<f&&f -c.viewFro m<20&&(f=M ath.max(d. first,c.vi ewFrom)),c .viewTo>g& &c.viewTo- g<20&&(g=M ath.min(e, c.viewTo)) ,w&&(f=we( a.doc,f),g =xe(a.doc, g));var h= f!=c.viewF rom||g!=c. viewTo||c. lastWrapHe ight!=b.wr apperHeigh t||c.lastW rapWidth!= b.wrapperW idth;pc(a, f,g),c.vie wOffset=of (hf(a.doc, c.viewFrom )),a.displ ay.mover.s tyle.top=c .viewOffse t+"px";var i=qc(a);i f(!h&&0==i &&!b.force &&c.render edView==c. view&&(nul l==c.updat eLineNumbe rs||c.upda teLineNumb ers>=c.vie wTo))retur n!1;var j= yg();retur n i>4&&(c. lineDiv.st yle.displa y="none"), da(a,c.upd ateLineNum bers,b.dim s),i>4&&(c .lineDiv.s tyle.displ ay=""),c.r enderedVie w=c.view,j &&yg()!=j& &j.offsetH eight&&j.f ocus(),vg( c.cursorDi v),vg(c.se lectionDiv ),c.gutter s.style.he ight=c.siz er.style.m inHeight=0 ,h&&(c.las tWrapHeigh t=b.wrappe rHeight,c. lastWrapWi dth=b.wrap perWidth,k b(a,400)), c.updateLi neNumbers= null,!0}fu nction Z(a ,b){for(va r c=b.view port,d=!0; (d&&a.opti ons.lineWr apping&&b. oldDisplay Width!=sb( a)||(c&&nu ll!=c.top& &(c={top:M ath.min(a. doc.height +pb(a.disp lay)-tb(a) ,c.top)}), b.visible= R(a.displa y,a.doc,c) ,!(b.visib le.from>=a .display.v iewFrom&&b .visible.t o<=a.displ ay.viewTo) ))&&Y(a,b) ;d=!1){aa( a);var e=L (a);fb(a), _(a,e),P(a ,e)}b.sign al(a,"upda te",a),(a. display.vi ewFrom!=a. display.re portedView From||a.di splay.view To!=a.disp lay.report edViewTo)& &(b.signal (a,"viewpo rtChange", a,a.displa y.viewFrom ,a.display .viewTo),a .display.r eportedVie wFrom=a.di splay.view From,a.dis play.repor tedViewTo= a.display. viewTo)}fu nction $(a ,b){var c= new W(a,b) ;if(Y(a,c) ){aa(a),Z( a,c);var d =L(a);fb(a ),_(a,d),P (a,d),c.fi nish()}}fu nction _(a ,b){a.disp lay.sizer. style.minH eight=b.do cHeight+"p x";var c=b .docHeight +a.display .barHeight ;a.display .heightFor cer.style. top=c+"px" ,a.display .gutters.s tyle.heigh t=Math.max (c+rb(a),b .clientHei ght)+"px"} function a a(a){for(v ar b=a.dis play,c=b.l ineDiv.off setTop,d=0 ;d<b.view. length;d++ ){var h,e= b.view[d]; if(!e.hidd en){if(f&& 8>g){var i =e.node.of fsetTop+e. node.offse tHeight;h= i-c,c=i}el se{var j=e .node.getB oundingCli entRect(); h=j.bottom -j.top}var k=e.line. height-h;i f(2>h&&(h= Tb(b)),(k> .001||-.00 1>k)&&(lf( e.line,h), ba(e.line) ,e.rest))f or(var l=0 ;l<e.rest. length;l++ )ba(e.rest [l])}}}fun ction ba(a ){if(a.wid gets)for(v ar b=0;b<a .widgets.l ength;++b) a.widgets[ b].height= a.widgets[ b].node.of fsetHeight }function ca(a){for( var b=a.di splay,c={} ,d={},e=b. gutters.cl ientLeft,f =b.gutters .firstChil d,g=0;f;f= f.nextSibl ing,++g)c[ a.options. gutters[g] ]=f.offset Left+f.cli entLeft+e, d[a.option s.gutters[ g]]=f.clie ntWidth;re turn{fixed Pos:V(b),g utterTotal Width:b.gu tters.offs etWidth,gu tterLeft:c ,gutterWid th:d,wrapp erWidth:b. wrapper.cl ientWidth} }function da(a,b,c){ function i (b){var c= b.nextSibl ing;return h&&q&&a.d isplay.cur rentWheelT arget==b?b .style.dis play="none ":b.parent Node.remov eChild(b), c}for(var d=a.displa y,e=a.opti ons.lineNu mbers,f=d. lineDiv,g= f.firstChi ld,j=d.vie w,k=d.view From,l=0;l <j.length; l++){var m =j[l];if(m .hidden);e lse if(m.n ode&&m.nod e.parentNo de==f){for (;g!=m.nod e;)g=i(g); var o=e&&n ull!=b&&k> =b&&m.line Number;m.c hanges&&(h g(m.change s,"gutter" )>-1&&(o=! 1),ea(a,m, k,c)),o&&( vg(m.lineN umber),m.l ineNumber. appendChil d(document .createTex tNode(U(a. options,k) ))),g=m.no de.nextSib ling}else{ var n=ma(a ,m,k,c);f. insertBefo re(n,g)}k+ =m.size}fo r(;g;)g=i( g)}functio n ea(a,b,c ,d){for(va r e=0;e<b. changes.le ngth;e++){ var f=b.ch anges[e];" text"==f?i a(a,b):"gu tter"==f?k a(a,b,c,d) :"class"== f?ja(b):"w idget"==f& &la(a,b,d) }b.changes =null}func tion fa(a) {return a. node==a.te xt&&(a.nod e=tg("div" ,null,null ,"position : relative "),a.text. parentNode &&a.text.p arentNode. replaceChi ld(a.node, a.text),a. node.appen dChild(a.t ext),f&&8> g&&(a.node .style.zIn dex=2)),a. node}funct ion ga(a){ var b=a.bg Class?a.bg Class+" "+ (a.line.bg Class||"") :a.line.bg Class;if(b &&(b+=" Co deMirror-l inebackgro und"),a.ba ckground)b ?a.backgro und.classN ame=b:(a.b ackground. parentNode .removeChi ld(a.backg round),a.b ackground= null);else if(b){var c=fa(a);a .backgroun d=c.insert Before(tg( "div",null ,b),c.firs tChild)}}f unction ha (a,b){var c=a.displa y.external Measured;r eturn c&&c .line==b.l ine?(a.dis play.exter nalMeasure d=null,b.m easure=c.m easure,c.b uilt):Se(a ,b)}functi on ia(a,b) {var c=b.t ext.classN ame,d=ha(a ,b);b.text ==b.node&& (b.node=d. pre),b.tex t.parentNo de.replace Child(d.pr e,b.text), b.text=d.p re,d.bgCla ss!=b.bgCl ass||d.tex tClass!=b. textClass? (b.bgClass =d.bgClass ,b.textCla ss=d.textC lass,ja(b) ):c&&(b.te xt.classNa me=c)}func tion ja(a) {ga(a),a.l ine.wrapCl ass?fa(a). className= a.line.wra pClass:a.n ode!=a.tex t&&(a.node .className ="");var b =a.textCla ss?a.textC lass+" "+( a.line.tex tClass||"" ):a.line.t extClass;a .text.clas sName=b||" "}function ka(a,b,c, d){if(b.gu tter&&(b.n ode.remove Child(b.gu tter),b.gu tter=null) ,b.gutterB ackground& &(b.node.r emoveChild (b.gutterB ackground) ,b.gutterB ackground= null),b.li ne.gutterC lass){var e=fa(b);b. gutterBack ground=tg( "div",null ,"CodeMirr or-gutter- background "+b.line. gutterClas s,"left: " +(a.option s.fixedGut ter?d.fixe dPos:-d.gu tterTotalW idth)+"px; width: "+ d.gutterTo talWidth+" px"),e.ins ertBefore( b.gutterBa ckground,b .text)}var f=b.line. gutterMark ers;if(a.o ptions.lin eNumbers|| f){var e=f a(b),g=b.g utter=tg(" div",null, "CodeMirro r-gutter-w rapper","l eft: "+(a. options.fi xedGutter? d.fixedPos :-d.gutter TotalWidth )+"px");if (a.display .input.set Uneditable (g),e.inse rtBefore(g ,b.text),b .line.gutt erClass&&( g.classNam e+=" "+b.l ine.gutter Class),!a. options.li neNumbers| |f&&f["Cod eMirror-li nenumbers" ]||(b.line Number=g.a ppendChild (tg("div", U(a.option s,c),"Code Mirror-lin enumber Co deMirror-g utter-elt" ,"left: "+ d.gutterLe ft["CodeMi rror-linen umbers"]+" px; width: "+a.displ ay.lineNum InnerWidth +"px"))),f )for(var h =0;h<a.opt ions.gutte rs.length; ++h){var i =a.options .gutters[h ],j=f.hasO wnProperty (i)&&f[i]; j&&g.appen dChild(tg( "div",[j], "CodeMirro r-gutter-e lt","left: "+d.gutte rLeft[i]+" px; width: "+d.gutte rWidth[i]+ "px"))}}}f unction la (a,b,c){b. alignable& &(b.aligna ble=null); for(var e, d=b.node.f irstChild; d;d=e){var e=d.nextS ibling;"Co deMirror-l inewidget" ==d.classN ame&&b.nod e.removeCh ild(d)}na( a,b,c)}fun ction ma(a ,b,c,d){va r e=ha(a,b );return b .text=b.no de=e.pre,e .bgClass&& (b.bgClass =e.bgClass ),e.textCl ass&&(b.te xtClass=e. textClass) ,ja(b),ka( a,b,c,d),n a(a,b,d),b .node}func tion na(a, b,c){if(oa (a,b.line, b,c,!0),b. rest)for(v ar d=0;d<b .rest.leng th;d++)oa( a,b.rest[d ],b,c,!1)} function o a(a,b,c,d, e){if(b.wi dgets)for( var f=fa(c ),g=0,h=b. widgets;g< h.length;+ +g){var i= h[g],j=tg( "div",[i.n ode],"Code Mirror-lin ewidget"); i.handleMo useEvents| |j.setAttr ibute("cm- ignore-eve nts","true "),pa(i,j, c,d),a.dis play.input .setUnedit able(j),e& &i.above?f .insertBef ore(j,c.gu tter||c.te xt):f.appe ndChild(j) ,Rf(i,"red raw")}}fun ction pa(a ,b,c,d){if (a.noHScro ll){(c.ali gnable||(c .alignable =[])).push (b);var e= d.wrapperW idth;b.sty le.left=d. fixedPos+" px",a.cove rGutter||( e-=d.gutte rTotalWidt h,b.style. paddingLef t=d.gutter TotalWidth +"px"),b.s tyle.width =e+"px"}a. coverGutte r&&(b.styl e.zIndex=5 ,b.style.p osition="r elative",a .noHScroll ||(b.style .marginLef t=-d.gutte rTotalWidt h+"px"))}f unction sa (a){return qa(a.line ,a.ch)}fun ction ta(a ,b){return ra(a,b)<0 ?b:a}funct ion ua(a,b ){return r a(a,b)<0?a :b}functio n va(a){a. state.focu sed||(a.di splay.inpu t.focus(), _c(a))}fun ction wa(a ){return a .options.r eadOnly||a .doc.cantE dit}functi on ya(a,b, c,d,e){var f=a.doc;a .display.s hift=!1,d| |(d=f.sel) ;var g=a.s tate.paste Incoming|| "paste"==e ,h=f.split Lines(b),i =null;if(g &&d.ranges .length>1) if(xa&&xa. join("\n") ==b){if(d. ranges.len gth%xa.len gth==0){i= [];for(var j=0;j<xa. length;j++ )i.push(f. splitLines (xa[j]))}} else h.len gth==d.ran ges.length &&(i=ig(h, function(a ){return[a ]}));for(v ar j=d.ran ges.length -1;j>=0;j- -){var k=d .ranges[j] ,l=k.from( ),m=k.to() ;k.empty() &&(c&&c>0? l=qa(l.lin e,l.ch-c): a.state.ov erwrite&&! g&&(m=qa(m .line,Math .min(hf(f, m.line).te xt.length, m.ch+fg(h) .length))) );var n=a. curOp.upda teInput,o= {from:l,to :m,text:i? i[j%i.leng th]:h,orig in:e||(g?" paste":a.s tate.cutIn coming?"cu t":"+input ")};jd(a.d oc,o),Rf(a ,"inputRea d",a,o)}b& &!g&&Aa(a, b),vd(a),a .curOp.upd ateInput=n ,a.curOp.t yping=!0,a .state.pas teIncoming =a.state.c utIncoming =!1}functi on za(a,b) {var c=a.c lipboardDa ta&&a.clip boardData. getData("t ext/plain" );return c ?(a.preven tDefault() ,wa(b)||b. options.di sableInput ||ec(b,fun ction(){ya (b,c,0,nul l,"paste") }),!0):voi d 0}functi on Aa(a,b) {if(a.opti ons.electr icChars&&a .options.s martIndent )for(var c =a.doc.sel ,d=c.range s.length-1 ;d>=0;d--) {var e=c.r anges[d];i f(!(e.head .ch>100||d &&c.ranges [d-1].head .line==e.h ead.line)) {var f=a.g etModeAt(e .head),g=! 1;if(f.ele ctricChars ){for(var h=0;h<f.el ectricChar s.length;h ++)if(b.in dexOf(f.el ectricChar s.charAt(h ))>-1){g=x d(a,e.head .line,"sma rt");break }}else f.e lectricInp ut&&f.elec tricInput. test(hf(a. doc,e.head .line).tex t.slice(0, e.head.ch) )&&(g=xd(a ,e.head.li ne,"smart" ));g&&Rf(a ,"electric Input",a,e .head.line )}}}functi on Ba(a){f or(var b=[ ],c=[],d=0 ;d<a.doc.s el.ranges. length;d++ ){var e=a. doc.sel.ra nges[d].he ad.line,f= {anchor:qa (e,0),head :qa(e+1,0) };c.push(f ),b.push(a .getRange( f.anchor,f .head))}re turn{text: b,ranges:c }}function Ca(a){a.s etAttribut e("autocor rect","off "),a.setAt tribute("a utocapital ize","off" ),a.setAtt ribute("sp ellcheck", "false")}f unction Da (a){this.c m=a,this.p revInput=" ",this.pol lingFast=! 1,this.pol ling=new a g,this.ina ccurateSel ection=!1, this.hasSe lection=!1 ,this.comp osing=null }function Ea(){var a =tg("texta rea",null, null,"posi tion: abso lute; padd ing: 0; wi dth: 1px; height: 1e m; outline : none"),b =tg("div", [a],null," overflow: hidden; po sition: re lative; wi dth: 3px; height: 0p x;");retur n h?a.styl e.width="1 000px":a.s etAttribut e("wrap"," off"),o&&( a.style.bo rder="1px solid blac k"),Ca(a), b}function Fa(a){thi s.cm=a,thi s.lastAnch orNode=thi s.lastAnch orOffset=t his.lastFo cusNode=th is.lastFoc usOffset=n ull,this.p olling=new ag,this.g racePeriod =!1}functi on Ga(a,b) {var c=yb( a,b.line); if(!c||c.h idden)retu rn null;va r d=hf(a.d oc,b.line) ,e=vb(c,d, b.line),f= pf(d),g="l eft";if(f) {var h=ah( f,b.ch);g= h%2?"right ":"left"}v ar i=Cb(e. map,b.ch,g );return i .offset="r ight"==i.c ollapse?i. end:i.star t,i}functi on Ha(a,b) {return b& &(a.bad=!0 ),a}functi on Ia(a,b, c){var d;i f(b==a.dis play.lineD iv){if(d=a .display.l ineDiv.chi ldNodes[c] ,!d)return Ha(a.clip Pos(qa(a.d isplay.vie wTo-1)),!0 );b=null,c =0}else fo r(d=b;;d=d .parentNod e){if(!d|| d==a.displ ay.lineDiv )return nu ll;if(d.pa rentNode&& d.parentNo de==a.disp lay.lineDi v)break}fo r(var e=0; e<a.displa y.view.len gth;e++){v ar f=a.dis play.view[ e];if(f.no de==d)retu rn Ja(f,b, c)}}functi on Ja(a,b, c){functio n k(b,c,d) {for(var e =-1;e<(j?j .length:0) ;e++)for(v ar f=0>e?i .map:j[e], g=0;g<f.le ngth;g+=3) {var h=f[g +2];if(h== b||h==c){v ar k=mf(0> e?a.line:a .rest[e]), l=f[g]+d;r eturn(0>d| |h!=b)&&(l =f[g+(d?1: 0)]),qa(k, l)}}}var d =a.text.fi rstChild,e =!1;if(!b| |!xg(d,b)) return Ha( qa(mf(a.li ne),0),!0) ;if(b==d&& (e=!0,b=d. childNodes [c],c=0,!b )){var f=a .rest?fg(a .rest):a.l ine;return Ha(qa(mf( f),f.text. length),e) }var g=3== b.nodeType ?b:null,h= b;for(g||1 !=b.childN odes.lengt h||3!=b.fi rstChild.n odeType||( g=b.firstC hild,c&&(c =g.nodeVal ue.length) );h.parent Node!=d;)h =h.parentN ode;var i= a.measure, j=i.maps,l =k(g,h,c); if(l)retur n Ha(l,e); for(var m= h.nextSibl ing,n=g?g. nodeValue. length-c:0 ;m;m=m.nex tSibling){ if(l=k(m,m .firstChil d,0))retur n Ha(qa(l. line,l.ch- n),e);n+=m .textConte nt.length} for(var o= h.previous Sibling,n= c;o;o=o.pr eviousSibl ing){if(l= k(o,o.firs tChild,-1) )return Ha (qa(l.line ,l.ch+n),e );n+=m.tex tContent.l ength}}fun ction Ka(a ,b,c,d,e){ function i (a){return function( b){return b.id==a}}f unction j( b){if(1==b .nodeType) {var c=b.g etAttribut e("cm-text ");if(null !=c)return ""==c&&(c= b.textCont ent.replac e(/\u200b/ g,"")),voi d(f+=c);va r l,k=b.ge tAttribute ("cm-marke r");if(k){ var m=a.fi ndMarks(qa (d,0),qa(e +1,0),i(+k ));return void(m.len gth&&(l=m[ 0].find()) &&(f+=jf(a .doc,l.fro m,l.to).jo in(h)))}if ("false"== b.getAttri bute("cont enteditabl e"))return ;for(var n =0;n<b.chi ldNodes.le ngth;n++)j (b.childNo des[n]);/^ (pre|div|p )$/i.test( b.nodeName )&&(g=!0)} else if(3= =b.nodeTyp e){var o=b .nodeValue ;if(!o)ret urn;g&&(f+ =h,g=!1),f +=o}}for(v ar f="",g= !1,h=a.doc .lineSepar ator();j(b ),b!=c;)b= b.nextSibl ing;return f}functio n La(a,b){ this.range s=a,this.p rimIndex=b }function Ma(a,b){th is.anchor= a,this.hea d=b}functi on Na(a,b) {var c=a[b ];a.sort(f unction(a, b){return ra(a.from( ),b.from() )}),b=hg(a ,c);for(va r d=1;d<a. length;d++ ){var e=a[ d],f=a[d-1 ];if(ra(f. to(),e.fro m())>=0){v ar g=ua(f. from(),e.f rom()),h=t a(f.to(),e .to()),i=f .empty()?e .from()==e .head:f.fr om()==f.he ad;b>=d&&- -b,a.splic e(--d,2,ne w Ma(i?h:g ,i?g:h))}} return new La(a,b)}f unction Oa (a,b){retu rn new La( [new Ma(a, b||a)],0)} function P a(a,b){ret urn Math.m ax(a.first ,Math.min( b,a.first+ a.size-1)) }function Qa(a,b){if (b.line<a. first)retu rn qa(a.fi rst,0);var c=a.first +a.size-1; return b.l ine>c?qa(c ,hf(a,c).t ext.length ):Ra(b,hf( a,b.line). text.lengt h)}functio n Ra(a,b){ var c=a.ch ;return nu ll==c||c>b ?qa(a.line ,b):0>c?qa (a.line,0) :a}functio n Sa(a,b){ return b>= a.first&&b <a.first+a .size}func tion Ta(a, b){for(var c=[],d=0; d<b.length ;d++)c[d]= Qa(a,b[d]) ;return c} function U a(a,b,c,d) {if(a.cm&& a.cm.displ ay.shift|| a.extend){ var e=b.an chor;if(d) {var f=ra( c,e)<0;f!= ra(d,e)<0? (e=c,c=d): f!=ra(c,d) <0&&(c=d)} return new Ma(e,c)}r eturn new Ma(d||c,c) }function Va(a,b,c,d ){_a(a,new La([Ua(a, a.sel.prim ary(),b,c) ],0),d)}fu nction Wa( a,b,c){for (var d=[], e=0;e<a.se l.ranges.l ength;e++) d[e]=Ua(a, a.sel.rang es[e],b[e] ,null);var f=Na(d,a. sel.primIn dex);_a(a, f,c)}funct ion Xa(a,b ,c,d){var e=a.sel.ra nges.slice (0);e[b]=c ,_a(a,Na(e ,a.sel.pri mIndex),d) }function Ya(a,b,c,d ){_a(a,Oa( b,c),d)}fu nction Za( a,b){var c ={ranges:b .ranges,up date:funct ion(b){thi s.ranges=[ ];for(var c=0;c<b.le ngth;c++)t his.ranges [c]=new Ma (Qa(a,b[c] .anchor),Q a(a,b[c].h ead))}};re turn Pf(a, "beforeSel ectionChan ge",a,c),a .cm&&Pf(a. cm,"before SelectionC hange",a.c m,c),c.ran ges!=b.ran ges?Na(c.r anges,c.ra nges.lengt h-1):b}fun ction $a(a ,b,c){var d=a.histor y.done,e=f g(d);e&&e. ranges?(d[ d.length-1 ]=b,ab(a,b ,c)):_a(a, b,c)}funct ion _a(a,b ,c){ab(a,b ,c),wf(a,a .sel,a.cm? a.cm.curOp .id:NaN,c) }function ab(a,b,c){ (Vf(a,"bef oreSelecti onChange") ||a.cm&&Vf (a.cm,"bef oreSelecti onChange") )&&(b=Za(a ,b));var d =c&&c.bias ||(ra(b.pr imary().he ad,a.sel.p rimary().h ead)<0?-1: 1);bb(a,db (a,b,d,!0) ),c&&c.scr oll===!1|| !a.cm||vd( a.cm)}func tion bb(a, b){b.equal s(a.sel)|| (a.sel=b,a .cm&&(a.cm .curOp.upd ateInput=a .cm.curOp. selectionC hanged=!0, Uf(a.cm)), Rf(a,"curs orActivity ",a))}func tion cb(a) {bb(a,db(a ,a.sel,nul l,!1),Zf)} function d b(a,b,c,d) {for(var e ,f=0;f<b.r anges.leng th;f++){va r g=b.rang es[f],h=eb (a,g.ancho r,c,d),i=e b(a,g.head ,c,d);(e|| h!=g.ancho r||i!=g.he ad)&&(e||( e=b.ranges .slice(0,f )),e[f]=ne w Ma(h,i)) }return e? Na(e,b.pri mIndex):b} function e b(a,b,c,d) {var e=!1, f=b,g=c||1 ;a.cantEdi t=!1;a:for (;;){var h =hf(a,f.li ne);if(h.m arkedSpans )for(var i =0;i<h.mar kedSpans.l ength;++i) {var j=h.m arkedSpans [i],k=j.ma rker;if((n ull==j.fro m||(k.incl usiveLeft? j.from<=f. ch:j.from< f.ch))&&(n ull==j.to| |(k.inclus iveRight?j .to>=f.ch: j.to>f.ch) )){if(d&&( Pf(k,"befo reCursorEn ter"),k.ex plicitlyCl eared)){if (h.markedS pans){--i; continue}b reak}if(!k .atomic)co ntinue;var l=k.find( 0>g?-1:1); if(0==ra(l ,f)&&(l.ch +=g,l.ch<0 ?l=l.line> a.first?Qa (a,qa(l.li ne-1)):nul l:l.ch>h.t ext.length &&(l=l.lin e<a.first+ a.size-1?q a(l.line+1 ,0):null), !l)){if(e) return d?( a.cantEdit =!0,qa(a.f irst,0)):e b(a,b,c,!0 );e=!0,l=b ,g=-g}f=l; continue a }}return f }}function fb(a){a.d isplay.inp ut.showSel ection(a.d isplay.inp ut.prepare Selection( ))}functio n gb(a,b){ for(var c= a.doc,d={} ,e=d.curso rs=documen t.createDo cumentFrag ment(),f=d .selection =document. createDocu mentFragme nt(),g=0;g <c.sel.ran ges.length ;g++)if(b! ==!1||g!=c .sel.primI ndex){var h=c.sel.ra nges[g],i= h.empty(); (i||a.opti ons.showCu rsorWhenSe lecting)&& hb(a,h.hea d,e),i||ib (a,h,f)}re turn d}fun ction hb(a ,b,c){var d=Nb(a,b," div",null, null,!a.op tions.sing leCursorHe ightPerLin e),e=c.app endChild(t g("div","\ xa0","Code Mirror-cur sor"));if( e.style.le ft=d.left+ "px",e.sty le.top=d.t op+"px",e. style.heig ht=Math.ma x(0,d.bott om-d.top)* a.options. cursorHeig ht+"px",d. other){var f=c.appen dChild(tg( "div","\xa 0","CodeMi rror-curso r CodeMirr or-seconda rycursor") );f.style. display="" ,f.style.l eft=d.othe r.left+"px ",f.style. top=d.othe r.top+"px" ,f.style.h eight=.85* (d.other.b ottom-d.ot her.top)+" px"}}funct ion ib(a,b ,c){functi on j(a,b,c ,d){0>b&&( b=0),b=Mat h.round(b) ,d=Math.ro und(d),f.a ppendChild (tg("div", null,"Code Mirror-sel ected","po sition: ab solute; le ft: "+a+"p x; top: "+ b+"px; wid th: "+(nul l==c?i-a:c )+"px; hei ght: "+(d- b)+"px"))} function k (b,c,d){fu nction m(c ,d){return Mb(a,qa(b ,c),"div", f,d)}var k ,l,f=hf(e, b),g=f.tex t.length;r eturn Sg(p f(f),c||0, null==d?g: d,function (a,b,e){va r n,o,p,f= m(a,"left" );if(a==b) n=f,o=p=f. left;else{ if(n=m(b-1 ,"right"), "rtl"==e){ var q=f;f= n,n=q}o=f. left,p=n.r ight}null= =c&&0==a&& (o=h),n.to p-f.top>3& &(j(o,f.to p,null,f.b ottom),o=h ,f.bottom< n.top&&j(o ,f.bottom, null,n.top )),null==d &&b==g&&(p =i),(!k||f .top<k.top ||f.top==k .top&&f.le ft<k.left) &&(k=f),(! l||n.botto m>l.bottom ||n.bottom ==l.bottom &&n.right> l.right)&& (l=n),h+1> o&&(o=h),j (o,n.top,p -o,n.botto m)}),{star t:k,end:l} }var d=a.d isplay,e=a .doc,f=doc ument.crea teDocument Fragment() ,g=qb(a.di splay),h=g .left,i=Ma th.max(d.s izerWidth, sb(a)-d.si zer.offset Left)-g.ri ght,l=b.fr om(),m=b.t o();if(l.l ine==m.lin e)k(l.line ,l.ch,m.ch );else{var n=hf(e,l. line),o=hf (e,m.line) ,p=ue(n)== ue(o),q=k( l.line,l.c h,p?n.text .length+1: null).end, r=k(m.line ,p?0:null, m.ch).star t;p&&(q.to p<r.top-2? (j(q.right ,q.top,nul l,q.bottom ),j(h,r.to p,r.left,r .bottom)): j(q.right, q.top,r.le ft-q.right ,q.bottom) ),q.bottom <r.top&&j( h,q.bottom ,null,r.to p)}c.appen dChild(f)} function j b(a){if(a. state.focu sed){var b =a.display ;clearInte rval(b.bli nker);var c=!0;b.cur sorDiv.sty le.visibil ity="",a.o ptions.cur sorBlinkRa te>0?b.bli nker=setIn terval(fun ction(){b. cursorDiv. style.visi bility=(c= !c)?"":"hi dden"},a.o ptions.cur sorBlinkRa te):a.opti ons.cursor BlinkRate< 0&&(b.curs orDiv.styl e.visibili ty="hidden ")}}functi on kb(a,b) {a.doc.mod e.startSta te&&a.doc. frontier<a .display.v iewTo&&a.s tate.highl ight.set(b ,mg(lb,a)) }function lb(a){var b=a.doc;if (b.frontie r<b.first& &(b.fronti er=b.first ),!(b.fron tier>=a.di splay.view To)){var c =+new Date +a.options .workTime, d=Ld(b.mod e,nb(a,b.f rontier)), e=[];b.ite r(b.fronti er,Math.mi n(b.first+ b.size,a.d isplay.vie wTo+500),f unction(f) {if(b.fron tier>=a.di splay.view From){var g=f.styles ,h=f.text. length>a.o ptions.max HighlightL ength,i=Me (a,f,h?Ld( b.mode,d): d,!0);f.st yles=i.sty les;var j= f.styleCla sses,k=i.c lasses;k?f .styleClas ses=k:j&&( f.styleCla sses=null) ;for(var l =!g||g.len gth!=f.sty les.length ||j!=k&&(! j||!k||j.b gClass!=k. bgClass||j .textClass !=k.textCl ass),m=0;! l&&m<g.len gth;++m)l= g[m]!=f.st yles[m];l& &e.push(b. frontier), f.stateAft er=h?d:Ld( b.mode,d)} else f.tex t.length<= a.options. maxHighlig htLength&& Oe(a,f.tex t,d),f.sta teAfter=b. frontier%5 ==0?Ld(b.m ode,d):nul l;return++ b.frontier ,+new Date >c?(kb(a,a .options.w orkDelay), !0):void 0 }),e.lengt h&&ec(a,fu nction(){f or(var b=0 ;b<e.lengt h;b++)lc(a ,e[b],"tex t")})}}fun ction mb(a ,b,c){for( var d,e,f= a.doc,g=c? -1:b-(a.do c.mode.inn erMode?1e3 :100),h=b; h>g;--h){i f(h<=f.fir st)return f.first;va r i=hf(f,h -1);if(i.s tateAfter& &(!c||h<=f .frontier) )return h; var j=bg(i .text,null ,a.options .tabSize); (null==e|| d>j)&&(e=h -1,d=j)}re turn e}fun ction nb(a ,b,c){var d=a.doc,e= a.display; if(!d.mode .startStat e)return!0 ;var f=mb( a,b,c),g=f >d.first&& hf(d,f-1). stateAfter ;return g= g?Ld(d.mod e,g):Md(d. mode),d.it er(f,b,fun ction(c){O e(a,c.text ,g);var h= f==b-1||f% 5==0||f>=e .viewFrom& &f<e.viewT o;c.stateA fter=h?Ld( d.mode,g): null,++f}) ,c&&(d.fro ntier=f),g }function ob(a){retu rn a.lineS pace.offse tTop}funct ion pb(a){ return a.m over.offse tHeight-a. lineSpace. offsetHeig ht}functio n qb(a){if (a.cachedP addingH)re turn a.cac hedPadding H;var b=wg (a.measure ,tg("pre", "x")),c=wi ndow.getCo mputedStyl e?window.g etComputed Style(b):b .currentSt yle,d={lef t:parseInt (c.padding Left),righ t:parseInt (c.padding Right)};re turn isNaN (d.left)|| isNaN(d.ri ght)||(a.c achedPaddi ngH=d),d}f unction rb (a){return Xf-a.disp lay.native BarWidth}f unction sb (a){return a.display .scroller. clientWidt h-rb(a)-a. display.ba rWidth}fun ction tb(a ){return a .display.s croller.cl ientHeight -rb(a)-a.d isplay.bar Height}fun ction ub(a ,b,c){var d=a.option s.lineWrap ping,e=d&& sb(a);if(! b.measure. heights||d &&b.measur e.width!=e ){var f=b. measure.he ights=[];i f(d){b.mea sure.width =e;for(var g=b.text. firstChild .getClient Rects(),h= 0;h<g.leng th-1;h++){ var i=g[h] ,j=g[h+1]; Math.abs(i .bottom-j. bottom)>2& &f.push((i .bottom+j. top)/2-c.t op)}}f.pus h(c.bottom -c.top)}}f unction vb (a,b,c){if (a.line==b )return{ma p:a.measur e.map,cach e:a.measur e.cache};f or(var d=0 ;d<a.rest. length;d++ )if(a.rest [d]==b)ret urn{map:a. measure.ma ps[d],cach e:a.measur e.caches[d ]};for(var d=0;d<a.r est.length ;d++)if(mf (a.rest[d] )>c)return {map:a.mea sure.maps[ d],cache:a .measure.c aches[d],b efore:!0}} function w b(a,b){b=u e(b);var c =mf(b),d=a .display.e xternalMea sured=new ic(a.doc,b ,c);d.line N=c;var e= d.built=Se (a,d);retu rn d.text= e.pre,wg(a .display.l ineMeasure ,e.pre),d} function x b(a,b,c,d) {return Ab (a,zb(a,b) ,c,d)}func tion yb(a, b){if(b>=a .display.v iewFrom&&b <a.display .viewTo)re turn a.dis play.view[ nc(a,b)];v ar c=a.dis play.exter nalMeasure d;return c &&b>=c.lin eN&&b<c.li neN+c.size ?c:void 0} function z b(a,b){var c=mf(b),d =yb(a,c);d &&!d.text? d=null:d&& d.changes& &(ea(a,d,c ,ca(a)),a. curOp.forc eUpdate=!0 ),d||(d=wb (a,b));var e=vb(d,b, c);return{ line:b,vie w:d,rect:n ull,map:e. map,cache: e.cache,be fore:e.bef ore,hasHei ghts:!1}}f unction Ab (a,b,c,d,e ){b.before &&(c=-1);v ar g,f=c+( d||"");ret urn b.cach e.hasOwnPr operty(f)? g=b.cache[ f]:(b.rect ||(b.rect= b.view.tex t.getBound ingClientR ect()),b.h asHeights| |(ub(a,b.v iew,b.rect ),b.hasHei ghts=!0),g =Db(a,b,c, d),g.bogus ||(b.cache [f]=g)),{l eft:g.left ,right:g.r ight,top:e ?g.rtop:g. top,bottom :e?g.rbott om:g.botto m}}functio n Cb(a,b,c ){for(var d,e,f,g,h= 0;h<a.leng th;h+=3){v ar i=a[h], j=a[h+1];i f(i>b?(e=0 ,f=1,g="le ft"):j>b?( e=b-i,f=e+ 1):(h==a.l ength-3||b ==j&&a[h+3 ]>b)&&(f=j -i,e=f-1,b >=j&&(g="r ight")),nu ll!=e){if( d=a[h+2],i ==j&&c==(d .insertLef t?"left":" right")&&( g=c),"left "==c&&0==e )for(;h&&a [h-2]==a[h -3]&&a[h-1 ].insertLe ft;)d=a[(h -=3)+2],g= "left";if( "right"==c &&e==j-i)f or(;h<a.le ngth-3&&a[ h+3]==a[h+ 4]&&!a[h+5 ].insertLe ft;)d=a[(h +=3)+2],g= "right";br eak}}retur n{node:d,s tart:e,end :f,collaps e:g,coverS tart:i,cov erEnd:j}}f unction Db (a,b,c,d){ var l,e=Cb (b.map,c,d ),h=e.node ,i=e.start ,j=e.end,k =e.collaps e;if(3==h. nodeType){ for(var m= 0;4>m;m++) {for(;i&&s g(b.line.t ext.charAt (e.coverSt art+i));)- -i; | |||||
| 13 | for(;e.cov erStart+j< e.coverEnd &&sg(b.lin e.text.cha rAt(e.cove rStart+j)) ;)++j;if(f &&9>g&&0== i&&j==e.co verEnd-e.c overStart) l=h.parent Node.getBo undingClie ntRect();e lse if(f&& a.options. lineWrappi ng){var n= ug(h,i,j). getClientR ects();l=n .length?n[ "right"==d ?n.length- 1:0]:Bb}el se l=ug(h, i,j).getBo undingClie ntRect()|| Bb;if(l.le ft||l.righ t||0==i)br eak;j=i,i- =1,k="righ t"}f&&11>g &&(l=Eb(a. display.me asure,l))} else{i>0&& (k=d="righ t");var n; l=a.option s.lineWrap ping&&(n=h .getClient Rects()).l ength>1?n[ "right"==d ?n.length- 1:0]:h.get BoundingCl ientRect() }if(f&&9>g &&!i&&(!l| |!l.left&& !l.right)) {var o=h.p arentNode. getClientR ects()[0]; l=o?{left: o.left,rig ht:o.left+ Ub(a.displ ay),top:o. top,bottom :o.bottom} :Bb}for(va r p=l.top- b.rect.top ,q=l.botto m-b.rect.t op,r=(p+q) /2,s=b.vie w.measure. heights,m= 0;m<s.leng th-1&&!(r< s[m]);m++) ;var t=m?s [m-1]:0,u= s[m],v={le ft:("right "==k?l.rig ht:l.left) -b.rect.le ft,right:( "left"==k? l.left:l.r ight)-b.re ct.left,to p:t,bottom :u};return l.left||l .right||(v .bogus=!0) ,a.options .singleCur sorHeightP erLine||(v .rtop=p,v. rbottom=q) ,v}functio n Eb(a,b){ if(!window .screen||n ull==scree n.logicalX DPI||scree n.logicalX DPI==scree n.deviceXD PI||!Qg(a) )return b; var c=scre en.logical XDPI/scree n.deviceXD PI,d=scree n.logicalY DPI/screen .deviceYDP I;return{l eft:b.left *c,right:b .right*c,t op:b.top*d ,bottom:b. bottom*d}} function F b(a){if(a. measure&&( a.measure. cache={},a .measure.h eights=nul l,a.rest)) for(var b= 0;b<a.rest .length;b+ +)a.measur e.caches[b ]={}}funct ion Gb(a){ a.display. externalMe asure=null ,vg(a.disp lay.lineMe asure);for (var b=0;b <a.display .view.leng th;b++)Fb( a.display. view[b])}f unction Hb (a){Gb(a), a.display. cachedChar Width=a.di splay.cach edTextHeig ht=a.displ ay.cachedP addingH=nu ll,a.optio ns.lineWra pping||(a. display.ma xLineChang ed=!0),a.d isplay.lin eNumChars= null}funct ion Ib(){r eturn wind ow.pageXOf fset||(doc ument.docu mentElemen t||documen t.body).sc rollLeft}f unction Jb (){return window.pag eYOffset|| (document. documentEl ement||doc ument.body ).scrollTo p}function Kb(a,b,c, d){if(b.wi dgets)for( var e=0;e< b.widgets. length;++e )if(b.widg ets[e].abo ve){var f= Ce(b.widge ts[e]);c.t op+=f,c.bo ttom+=f}if ("line"==d )return c; d||(d="loc al");var g =of(b);if( "local"==d ?g+=ob(a.d isplay):g- =a.display .viewOffse t,"page"== d||"window "==d){var h=a.displa y.lineSpac e.getBound ingClientR ect();g+=h .top+("win dow"==d?0: Jb());var i=h.left+( "window"== d?0:Ib()); c.left+=i, c.right+=i }return c. top+=g,c.b ottom+=g,c }function Lb(a,b,c){ if("div"== c)return b ;var d=b.l eft,e=b.to p;if("page "==c)d-=Ib (),e-=Jb() ;else if(" local"==c| |!c){var f =a.display .sizer.get BoundingCl ientRect() ;d+=f.left ,e+=f.top} var g=a.di splay.line Space.getB oundingCli entRect(); return{lef t:d-g.left ,top:e-g.t op}}functi on Mb(a,b, c,d,e){ret urn d||(d= hf(a.doc,b .line)),Kb (a,d,xb(a, d,b.ch,e), c)}functio n Nb(a,b,c ,d,e,f){fu nction g(b ,g){var h= Ab(a,e,b,g ?"right":" left",f);r eturn g?h. left=h.rig ht:h.right =h.left,Kb (a,d,h,c)} function h (a,b){var c=i[b],d=c .level%2;r eturn a==T g(c)&&b&&c .level<i[b -1].level? (c=i[--b], a=Ug(c)-(c .level%2?0 :1),d=!0): a==Ug(c)&& b<i.length -1&&c.leve l<i[b+1].l evel&&(c=i [++b],a=Tg (c)-c.leve l%2,d=!1), d&&a==c.to &&a>c.from ?g(a-1):g( a,d)}d=d|| hf(a.doc,b .line),e|| (e=zb(a,d) );var i=pf (d),j=b.ch ;if(!i)ret urn g(j);v ar k=ah(i, j),l=h(j,k );return n ull!=_g&&( l.other=h( j,_g)),l}f unction Ob (a,b){var c=0,b=Qa(a .doc,b);a. options.li neWrapping ||(c=Ub(a. display)*b .ch);var d =hf(a.doc, b.line),e= of(d)+ob(a .display); return{lef t:c,right: c,top:e,bo ttom:e+d.h eight}}fun ction Pb(a ,b,c,d){va r e=qa(a,b );return e .xRel=d,c& &(e.outsid e=!0),e}fu nction Qb( a,b,c){var d=a.doc;i f(c+=a.dis play.viewO ffset,0>c) return Pb( d.first,0, !0,-1);var e=nf(d,c) ,f=d.first +d.size-1; if(e>f)ret urn Pb(d.f irst+d.siz e-1,hf(d,f ).text.len gth,!0,1); 0>b&&(b=0) ;for(var g =hf(d,e);; ){var h=Rb (a,g,e,b,c ),i=se(g), j=i&&i.fin d(0,!0);if (!i||!(h.c h>j.from.c h||h.ch==j .from.ch&& h.xRel>0)) return h;e =mf(g=j.to .line)}}fu nction Rb( a,b,c,d,e) {function j(d){var e =Nb(a,qa(c ,d),"line" ,b,i);retu rn g=!0,f> e.bottom?e .left-h:f< e.top?e.le ft+h:(g=!1 ,e.left)}v ar f=e-of( b),g=!1,h= 2*a.displa y.wrapper. clientWidt h,i=zb(a,b ),k=pf(b), l=b.text.l ength,m=Vg (b),n=Wg(b ),o=j(m),p =g,q=j(n), r=g;if(d>q )return Pb (c,n,r,1); for(;;){if (k?n==m||n ==ch(b,m,1 ):1>=n-m){ for(var s= o>d||q-d>= d-o?m:n,t= d-(s==m?o: q);sg(b.te xt.charAt( s));)++s;v ar u=Pb(c, s,s==m?p:r ,-1>t?-1:t >1?1:0);re turn u}var v=Math.ce il(l/2),w= m+v;if(k){ w=m;for(va r x=0;v>x; ++x)w=ch(b ,w,1)}var y=j(w);y>d ?(n=w,q=y, (r=g)&&(q+ =1e3),l=v) :(m=w,o=y, p=g,l-=v)} }function Tb(a){if(n ull!=a.cac hedTextHei ght)return a.cachedT extHeight; if(null==S b){Sb=tg(" pre");for( var b=0;49 >b;++b)Sb. appendChil d(document .createTex tNode("x") ),Sb.appen dChild(tg( "br"));Sb. appendChil d(document .createTex tNode("x") )}wg(a.mea sure,Sb);v ar c=Sb.of fsetHeight /50;return c>3&&(a.c achedTextH eight=c),v g(a.measur e),c||1}fu nction Ub( a){if(null !=a.cached CharWidth) return a.c achedCharW idth;var b =tg("span" ,"xxxxxxxx xx"),c=tg( "pre",[b]) ;wg(a.meas ure,c);var d=b.getBo undingClie ntRect(),e =(d.right- d.left)/10 ;return e> 2&&(a.cach edCharWidt h=e),e||10 }function Xb(a){a.cu rOp={cm:a, viewChange d:!1,start Height:a.d oc.height, forceUpdat e:!1,updat eInput:nul l,typing:! 1,changeOb js:null,cu rsorActivi tyHandlers :null,curs orActivity Called:0,s electionCh anged:!1,u pdateMaxLi ne:!1,scro llLeft:nul l,scrollTo p:null,scr ollToPos:n ull,focus: !1,id:++Wb },Vb?Vb.op s.push(a.c urOp):a.cu rOp.ownsGr oup=Vb={op s:[a.curOp ],delayedC allbacks:[ ]}}functio n Yb(a){va r b=a.dela yedCallbac ks,c=0;do{ for(;c<b.l ength;c++) b[c].call( null);for( var d=0;d< a.ops.leng th;d++){va r e=a.ops[ d];if(e.cu rsorActivi tyHandlers )for(;e.cu rsorActivi tyCalled<e .cursorAct ivityHandl ers.length ;)e.cursor ActivityHa ndlers[e.c ursorActiv ityCalled+ +].call(nu ll,e.cm)}} while(c<b. length)}fu nction Zb( a){var b=a .curOp,c=b .ownsGroup ;if(c)try{ Yb(c)}fina lly{Vb=nul l;for(var d=0;d<c.op s.length;d ++)c.ops[d ].cm.curOp =null;$b(c )}}functio n $b(a){fo r(var b=a. ops,c=0;c< b.length;c ++)_b(b[c] );for(var c=0;c<b.le ngth;c++)a c(b[c]);fo r(var c=0; c<b.length ;c++)bc(b[ c]);for(va r c=0;c<b. length;c++ )cc(b[c]); for(var c= 0;c<b.leng th;c++)dc( b[c])}func tion _b(a) {var b=a.c m,c=b.disp lay;X(b),a .updateMax Line&&J(b) ,a.mustUpd ate=a.view Changed||a .forceUpda te||null!= a.scrollTo p||a.scrol lToPos&&(a .scrollToP os.from.li ne<c.viewF rom||a.scr ollToPos.t o.line>=c. viewTo)||c .maxLineCh anged&&b.o ptions.lin eWrapping, a.update=a .mustUpdat e&&new W(b ,a.mustUpd ate&&{top: a.scrollTo p,ensure:a .scrollToP os},a.forc eUpdate)}f unction ac (a){a.upda tedDisplay =a.mustUpd ate&&Y(a.c m,a.update )}function bc(a){var b=a.cm,c= b.display; a.updatedD isplay&&aa (b),a.barM easure=L(b ),c.maxLin eChanged&& !b.options .lineWrapp ing&&(a.ad justWidthT o=xb(b,c.m axLine,c.m axLine.tex t.length). left+3,b.d isplay.siz erWidth=a. adjustWidt hTo,a.barM easure.scr ollWidth=M ath.max(c. scroller.c lientWidth ,c.sizer.o ffsetLeft+ a.adjustWi dthTo+rb(b )+b.displa y.barWidth ),a.maxScr ollLeft=Ma th.max(0,c .sizer.off setLeft+a. adjustWidt hTo-sb(b)) ),(a.updat edDisplay| |a.selecti onChanged) &&(a.prepa redSelecti on=c.input .prepareSe lection()) }function cc(a){var b=a.cm;nul l!=a.adjus tWidthTo&& (b.display .sizer.sty le.minWidt h=a.adjust WidthTo+"p x",a.maxSc rollLeft<b .doc.scrol lLeft&&Kc( b,Math.min (b.display .scroller. scrollLeft ,a.maxScro llLeft),!0 ),b.displa y.maxLineC hanged=!1) ,a.prepare dSelection &&b.displa y.input.sh owSelectio n(a.prepar edSelectio n),a.updat edDisplay& &_(b,a.bar Measure),( a.updatedD isplay||a. startHeigh t!=b.doc.h eight)&&P( b,a.barMea sure),a.se lectionCha nged&&jb(b ),b.state. focused&&a .updateInp ut&&b.disp lay.input. reset(a.ty ping),!a.f ocus||a.fo cus!=yg()| |document. hasFocus&& !document. hasFocus() ||va(a.cm) }function dc(a){var b=a.cm,c=b .display,d =b.doc;if( a.updatedD isplay&&Z( b,a.update ),null==c. wheelStart X||null==a .scrollTop &&null==a. scrollLeft &&!a.scrol lToPos||(c .wheelStar tX=c.wheel StartY=nul l),null==a .scrollTop ||c.scroll er.scrollT op==a.scro llTop&&!a. forceScrol l||(d.scro llTop=Math .max(0,Mat h.min(c.sc roller.scr ollHeight- c.scroller .clientHei ght,a.scro llTop)),c. scrollbars .setScroll Top(d.scro llTop),c.s croller.sc rollTop=d. scrollTop) ,null==a.s crollLeft| |c.scrolle r.scrollLe ft==a.scro llLeft&&!a .forceScro ll||(d.scr ollLeft=Ma th.max(0,M ath.min(c. scroller.s crollWidth -sb(b),a.s crollLeft) ),c.scroll bars.setSc rollLeft(d .scrollLef t),c.scrol ler.scroll Left=d.scr ollLeft,S( b)),a.scro llToPos){v ar e=rd(b, Qa(d,a.scr ollToPos.f rom),Qa(d, a.scrollTo Pos.to),a. scrollToPo s.margin); a.scrollTo Pos.isCurs or&&b.stat e.focused& &qd(b,e)}v ar f=a.may beHiddenMa rkers,g=a. maybeUnhid denMarkers ;if(f)for( var h=0;h< f.length;+ +h)f[h].li nes.length ||Pf(f[h], "hide");if (g)for(var h=0;h<g.l ength;++h) g[h].lines .length&&P f(g[h],"un hide");c.w rapper.off setHeight& &(d.scroll Top=b.disp lay.scroll er.scrollT op),a.chan geObjs&&Pf (b,"change s",b,a.cha ngeObjs),a .update&&a .update.fi nish()}fun ction ec(a ,b){if(a.c urOp)retur n b();Xb(a );try{retu rn b()}fin ally{Zb(a) }}function fc(a,b){r eturn func tion(){if( a.curOp)re turn b.app ly(a,argum ents);Xb(a );try{retu rn b.apply (a,argumen ts)}finall y{Zb(a)}}} function g c(a){retur n function (){if(this .curOp)ret urn a.appl y(this,arg uments);Xb (this);try {return a. apply(this ,arguments )}finally{ Zb(this)}} }function hc(a){retu rn functio n(){var b= this.cm;if (!b||b.cur Op)return a.apply(th is,argumen ts);Xb(b); try{return a.apply(t his,argume nts)}final ly{Zb(b)}} }function ic(a,b,c){ this.line= b,this.res t=ve(b),th is.size=th is.rest?mf (fg(this.r est))-c+1: 1,this.nod e=this.tex t=null,thi s.hidden=y e(a,b)}fun ction jc(a ,b,c){for( var e,d=[] ,f=b;c>f;f =e){var g= new ic(a.d oc,hf(a.do c,f),f);e= f+g.size,d .push(g)}r eturn d}fu nction kc( a,b,c,d){n ull==b&&(b =a.doc.fir st),null== c&&(c=a.do c.first+a. doc.size), d||(d=0);v ar e=a.dis play;if(d& &c<e.viewT o&&(null== e.updateLi neNumbers| |e.updateL ineNumbers >b)&&(e.up dateLineNu mbers=b),a .curOp.vie wChanged=! 0,b>=e.vie wTo)w&&we( a.doc,b)<e .viewTo&&m c(a);else if(c<=e.vi ewFrom)w&& xe(a.doc,c +d)>e.view From?mc(a) :(e.viewFr om+=d,e.vi ewTo+=d);e lse if(b<= e.viewFrom &&c>=e.vie wTo)mc(a); else if(b< =e.viewFro m){var f=o c(a,c,c+d, 1);f?(e.vi ew=e.view. slice(f.in dex),e.vie wFrom=f.li neN,e.view To+=d):mc( a)}else if (c>=e.view To){var f= oc(a,b,b,- 1);f?(e.vi ew=e.view. slice(0,f. index),e.v iewTo=f.li neN):mc(a) }else{var g=oc(a,b,b ,-1),h=oc( a,c,c+d,1) ;g&&h?(e.v iew=e.view .slice(0,g .index).co ncat(jc(a, g.lineN,h. lineN)).co ncat(e.vie w.slice(h. index)),e. viewTo+=d) :mc(a)}var i=e.exter nalMeasure d;i&&(c<i. lineN?i.li neN+=d:b<i .lineN+i.s ize&&(e.ex ternalMeas ured=null) )}function lc(a,b,c) {a.curOp.v iewChanged =!0;var d= a.display, e=a.displa y.external Measured;i f(e&&b>=e. lineN&&b<e .lineN+e.s ize&&(d.ex ternalMeas ured=null) ,!(b<d.vie wFrom||b>= d.viewTo)) {var f=d.v iew[nc(a,b )];if(null !=f.node){ var g=f.ch anges||(f. changes=[] );-1==hg(g ,c)&&g.pus h(c)}}}fun ction mc(a ){a.displa y.viewFrom =a.display .viewTo=a. doc.first, a.display. view=[],a. display.vi ewOffset=0 }function nc(a,b){if (b>=a.disp lay.viewTo )return nu ll;if(b-=a .display.v iewFrom,0> b)return n ull;for(va r c=a.disp lay.view,d =0;d<c.len gth;d++)if (b-=c[d].s ize,0>b)re turn d}fun ction oc(a ,b,c,d){va r f,e=nc(a ,b),g=a.di splay.view ;if(!w||c= =a.doc.fir st+a.doc.s ize)return {index:e,l ineN:c};fo r(var h=0, i=a.displa y.viewFrom ;e>h;h++)i +=g[h].siz e;if(i!=b) {if(d>0){i f(e==g.len gth-1)retu rn null;f= i+g[e].siz e-b,e++}el se f=i-b;b +=f,c+=f}f or(;we(a.d oc,c)!=c;) {if(e==(0> d?0:g.leng th-1))retu rn null;c+ =d*g[e-(0> d?1:0)].si ze,e+=d}re turn{index :e,lineN:c }}function pc(a,b,c) {var d=a.d isplay,e=d .view;0==e .length||b >=d.viewTo ||c<=d.vie wFrom?(d.v iew=jc(a,b ,c),d.view From=b):(d .viewFrom> b?d.view=j c(a,b,d.vi ewFrom).co ncat(d.vie w):d.viewF rom<b&&(d. view=d.vie w.slice(nc (a,b))),d. viewFrom=b ,d.viewTo< c?d.view=d .view.conc at(jc(a,d. viewTo,c)) :d.viewTo> c&&(d.view =d.view.sl ice(0,nc(a ,c)))),d.v iewTo=c}fu nction qc( a){for(var b=a.displ ay.view,c= 0,d=0;d<b. length;d++ ){var e=b[ d];e.hidde n||e.node& &!e.change s||++c}ret urn c}func tion rc(a) {function e(){b.acti veTouch&&( c=setTimeo ut(functio n(){b.acti veTouch=nu ll},1e3),d =b.activeT ouch,d.end =+new Date )}function h(a){if(1 !=a.touche s.length)r eturn!1;va r b=a.touc hes[0];ret urn b.radi usX<=1&&b. radiusY<=1 }function i(a,b){if( null==b.le ft)return! 0;var c=b. left-a.lef t,d=b.top- a.top;retu rn c*c+d*d >400}var b =a.display ;Lf(b.scro ller,"mous edown",fc( a,wc)),f&& 11>g?Lf(b. scroller," dblclick", fc(a,funct ion(b){if( !Tf(a,b)){ var c=vc(a ,b);if(c&& !Dc(a,b)&& !uc(a.disp lay,b)){Ff (b);var d= a.findWord At(c);Va(a .doc,d.anc hor,d.head )}}})):Lf( b.scroller ,"dblclick ",function (b){Tf(a,b )||Ff(b)}) ,u||Lf(b.s croller,"c ontextmenu ",function (b){bd(a,b )});var c, d={end:0}; Lf(b.scrol ler,"touch start",fun ction(a){i f(!h(a)){c learTimeou t(c);var e =+new Date ;b.activeT ouch={star t:e,moved: !1,prev:e- d.end<=300 ?d:null},1 ==a.touche s.length&& (b.activeT ouch.left= a.touches[ 0].pageX,b .activeTou ch.top=a.t ouches[0]. pageY)}}), Lf(b.scrol ler,"touch move",func tion(){b.a ctiveTouch &&(b.activ eTouch.mov ed=!0)}),L f(b.scroll er,"touche nd",functi on(c){var d=b.active Touch;if(d &&!uc(b,c) &&null!=d. left&&!d.m oved&&new Date-d.sta rt<300){va r g,f=a.co ordsChar(b .activeTou ch,"page") ;g=!d.prev ||i(d,d.pr ev)?new Ma (f,f):!d.p rev.prev|| i(d,d.prev .prev)?a.f indWordAt( f):new Ma( qa(f.line, 0),Qa(a.do c,qa(f.lin e+1,0))),a .setSelect ion(g.anch or,g.head) ,a.focus() ,Ff(c)}e() }),Lf(b.sc roller,"to uchcancel" ,e),Lf(b.s croller,"s croll",fun ction(){b. scroller.c lientHeigh t&&(Jc(a,b .scroller. scrollTop) ,Kc(a,b.sc roller.scr ollLeft,!0 ),Pf(a,"sc roll",a))} ),Lf(b.scr oller,"mou sewheel",f unction(b) {Oc(a,b)}) ,Lf(b.scro ller,"DOMM ouseScroll ",function (b){Oc(a,b )}),Lf(b.w rapper,"sc roll",func tion(){b.w rapper.scr ollTop=b.w rapper.scr ollLeft=0} ),b.dragFu nctions={e nter:funct ion(b){Tf( a,b)||If(b )},over:fu nction(b){ Tf(a,b)||( Hc(a,b),If (b))},star t:function (b){Gc(a,b )},drop:fc (a,Fc),lea ve:functio n(){Ic(a)} };var j=b. input.getF ield();Lf( j,"keyup", function(b ){Yc.call( a,b)}),Lf( j,"keydown ",fc(a,Wc) ),Lf(j,"ke ypress",fc (a,Zc)),Lf (j,"focus" ,mg(_c,a)) ,Lf(j,"blu r",mg(ad,a ))}functio n sc(a,b,c ){var d=c& &c!=x.Init ;if(!b!=!d ){var e=a. display.dr agFunction s,f=b?Lf:O f;f(a.disp lay.scroll er,"dragst art",e.sta rt),f(a.di splay.scro ller,"drag enter",e.e nter),f(a. display.sc roller,"dr agover",e. over),f(a. display.sc roller,"dr agleave",e .leave),f( a.display. scroller," drop",e.dr op)}}funct ion tc(a){ var b=a.di splay;(b.l astWrapHei ght!=b.wra pper.clien tHeight||b .lastWrapW idth!=b.wr apper.clie ntWidth)&& (b.cachedC harWidth=b .cachedTex tHeight=b. cachedPadd ingH=null, b.scrollba rsClipped= !1,a.setSi ze())}func tion uc(a, b){for(var c=Jf(b);c !=a.wrappe r;c=c.pare ntNode)if( !c||1==c.n odeType&&" true"==c.g etAttribut e("cm-igno re-events" )||c.paren tNode==a.s izer&&c!=a .mover)ret urn!0}func tion vc(a, b,c,d){var e=a.displ ay;if(!c&& "true"==Jf (b).getAtt ribute("cm -not-conte nt"))retur n null;var f,g,h=e.l ineSpace.g etBounding ClientRect ();try{f=b .clientX-h .left,g=b. clientY-h. top}catch( b){return null}var j ,i=Qb(a,f, g);if(d&&1 ==i.xRel&& (j=hf(a.do c,i.line). text).leng th==i.ch){ var k=bg(j ,j.length, a.options. tabSize)-j .length;i= qa(i.line, Math.max(0 ,Math.roun d((f-qb(a. display).l eft)/Ub(a. display))- k))}return i}functio n wc(a){va r b=this,c =b.display ;if(!(c.ac tiveTouch& &c.input.s upportsTou ch()||Tf(b ,a))){if(c .shift=a.s hiftKey,uc (c,a))retu rn void(h| |(c.scroll er.draggab le=!1,setT imeout(fun ction(){c. scroller.d raggable=! 0},100))); if(!Dc(b,a )){var d=v c(b,a);swi tch(window .focus(),K f(a)){case 1:b.state .selecting Text?b.sta te.selecti ngText(a): d?zc(b,a,d ):Jf(a)==c .scroller& &Ff(a);bre ak;case 2: h&&(b.stat e.lastMidd leDown=+ne w Date),d& &Va(b.doc, d),setTime out(functi on(){c.inp ut.focus() },20),Ff(a );break;ca se 3:u?bd( b,a):$c(b) }}}}functi on zc(a,b, c){f?setTi meout(mg(v a,a),0):a. curOp.focu s=yg();var e,d=+new Date;yc&&y c.time>d-4 00&&0==ra( yc.pos,c)? e="triple" :xc&&xc.ti me>d-400&& 0==ra(xc.p os,c)?(e=" double",yc ={time:d,p os:c}):(e= "single",x c={time:d, pos:c});va r i,g=a.do c.sel,h=q? b.metaKey: b.ctrlKey; a.options. dragDrop&& Hg&&!wa(a) &&"single" ==e&&(i=g. contains(c ))>-1&&(ra ((i=g.rang es[i]).fro m(),c)<0|| c.xRel>0)& &(ra(i.to( ),c)>0||c. xRel<0)?Ac (a,b,c,h): Bc(a,b,c,e ,h)}functi on Ac(a,b, c,d){var e =a.display ,i=+new Da te,j=fc(a, function(k ){h&&(e.sc roller.dra ggable=!1) ,a.state.d raggingTex t=!1,Of(do cument,"mo useup",j), Of(e.scrol ler,"drop" ,j),Math.a bs(b.clien tX-k.clien tX)+Math.a bs(b.clien tY-k.clien tY)<10&&(F f(k),!d&&+ new Date-2 00<i&&Va(a .doc,c),h| |f&&9==g?s etTimeout( function() {document. body.focus (),e.input .focus()}, 20):e.inpu t.focus()) });h&&(e.s croller.dr aggable=!0 ),a.state. draggingTe xt=j,e.scr oller.drag Drop&&e.sc roller.dra gDrop(),Lf (document, "mouseup", j),Lf(e.sc roller,"dr op",j)}fun ction Bc(a ,b,c,d,e){ function o (b){if(0!= ra(n,b))if (n=b,"rect "==d){for( var e=[],f =a.options .tabSize,k =bg(hf(g,c .line).tex t,c.ch,f), l=bg(hf(g, b.line).te xt,b.ch,f) ,m=Math.mi n(k,l),o=M ath.max(k, l),p=Math. min(c.line ,b.line),q =Math.min( a.lastLine (),Math.ma x(c.line,b .line));q> =p;p++){va r r=hf(g,p ).text,s=c g(r,m,f);m ==o?e.push (new Ma(qa (p,s),qa(p ,s))):r.le ngth>s&&e. push(new M a(qa(p,s), qa(p,cg(r, o,f))))}e. length||e. push(new M a(c,c)),_a (g,Na(j.ra nges.slice (0,i).conc at(e),i),{ origin:"*m ouse",scro ll:!1}),a. scrollInto View(b)}el se{var t=h ,u=t.ancho r,v=b;if(" single"!=d ){if("doub le"==d)var w=a.findW ordAt(b);e lse var w= new Ma(qa( b.line,0), Qa(g,qa(b. line+1,0)) );ra(w.anc hor,u)>0?( v=w.head,u =ua(t.from (),w.ancho r)):(v=w.a nchor,u=ta (t.to(),w. head))}var e=j.range s.slice(0) ;e[i]=new Ma(Qa(g,u) ,v),_a(g,N a(e,i),$f) }}function r(b){var c=++q,e=vc (a,b,!0,"r ect"==d);i f(e)if(0!= ra(e,n)){a .curOp.foc us=yg(),o( e);var h=R (f,g);(e.l ine>=h.to| |e.line<h. from)&&set Timeout(fc (a,functio n(){q==c&& r(b)}),150 )}else{var i=b.clien tY<p.top?- 20:b.clien tY>p.botto m?20:0;i&& setTimeout (fc(a,func tion(){q== c&&(f.scro ller.scrol lTop+=i,r( b))}),50)} }function s(b){a.sta te.selecti ngText=!1, q=1/0,Ff(b ),f.input. focus(),Of (document, "mousemove ",t),Of(do cument,"mo useup",u), g.history. lastSelOri gin=null}v ar f=a.dis play,g=a.d oc;Ff(b);v ar h,i,j=g .sel,k=j.r anges;if(e &&!b.shift Key?(i=g.s el.contain s(c),h=i>- 1?k[i]:new Ma(c,c)): (h=g.sel.p rimary(),i =g.sel.pri mIndex),b. altKey)d=" rect",e||( h=new Ma(c ,c)),c=vc( a,b,!0,!0) ,i=-1;else if("doubl e"==d){var l=a.findW ordAt(c);h =a.display .shift||g. extend?Ua( g,h,l.anch or,l.head) :l}else if ("triple"= =d){var m= new Ma(qa( c.line,0), Qa(g,qa(c. line+1,0)) );h=a.disp lay.shift| |g.extend? Ua(g,h,m.a nchor,m.he ad):m}else h=Ua(g,h, c);e?-1==i ?(i=k.leng th,_a(g,Na (k.concat( [h]),i),{s croll:!1,o rigin:"*mo use"})):k. length>1&& k[i].empty ()&&"singl e"==d&&!b. shiftKey?( _a(g,Na(k. slice(0,i) .concat(k. slice(i+1) ),0),{scro ll:!1,orig in:"*mouse "}),j=g.se l):Xa(g,i, h,$f):(i=0 ,_a(g,new La([h],0), $f),j=g.se l);var n=c ,p=f.wrapp er.getBoun dingClient Rect(),q=0 ,t=fc(a,fu nction(a){ Kf(a)?r(a) :s(a)}),u= fc(a,s);a. state.sele ctingText= u,Lf(docum ent,"mouse move",t),L f(document ,"mouseup" ,u)}functi on Cc(a,b, c,d){try{v ar e=b.cli entX,f=b.c lientY}cat ch(b){retu rn!1}if(e> =Math.floo r(a.displa y.gutters. getBoundin gClientRec t().right) )return!1; d&&Ff(b);v ar g=a.dis play,h=g.l ineDiv.get BoundingCl ientRect() ;if(f>h.bo ttom||!Vf( a,c))retur n Hf(b);f- =h.top-g.v iewOffset; for(var i= 0;i<a.opti ons.gutter s.length;+ +i){var j= g.gutters. childNodes [i];if(j&& j.getBound ingClientR ect().righ t>=e){var k=nf(a.doc ,f),l=a.op tions.gutt ers[i];ret urn Pf(a,c ,a,k,l,b), Hf(b)}}}fu nction Dc( a,b){retur n Cc(a,b," gutterClic k",!0)}fun ction Fc(a ){var b=th is;if(Ic(b ),!Tf(b,a) &&!uc(b.di splay,a)){ Ff(a),f&&( Ec=+new Da te);var c= vc(b,a,!0) ,d=a.dataT ransfer.fi les;if(c&& !wa(b))if( d&&d.lengt h&&window. FileReader &&window.F ile)for(va r e=d.leng th,g=Array (e),h=0,i= function(a ,d){if(!b. options.al lowDropFil eTypes||-1 !=hg(b.opt ions.allow DropFileTy pes,a.type )){var f=n ew FileRea der;f.onlo ad=fc(b,fu nction(){v ar a=f.res ult;if(/[\ x00-\x08\x 0e-\x1f]{2 }/.test(a) &&(a=""),g [d]=a,++h= =e){c=Qa(b .doc,c);va r i={from: c,to:c,tex t:b.doc.sp litLines(g .join(b.do c.lineSepa rator())), origin:"pa ste"};jd(b .doc,i),$a (b.doc,Oa( c,dd(i)))} }),f.readA sText(a)}} ,j=0;e>j;+ +j)i(d[j], j);else{if (b.state.d raggingTex t&&b.doc.s el.contain s(c)>-1)re turn b.sta te.draggin gText(a),v oid setTim eout(funct ion(){b.di splay.inpu t.focus()} ,20);try{v ar g=a.dat aTransfer. getData("T ext");if(g ){if(b.sta te.draggin gText&&!(q ?a.altKey: a.ctrlKey) )var k=b.l istSelecti ons();if(a b(b.doc,Oa (c,c)),k)f or(var j=0 ;j<k.lengt h;++j)pd(b .doc,"",k[ j].anchor, k[j].head, "drag");b. replaceSel ection(g," around","p aste"),b.d isplay.inp ut.focus() }}catch(a) {}}}}funct ion Gc(a,b ){if(f&&(! a.state.dr aggingText ||+new Dat e-Ec<100)) return voi d If(b);if (!Tf(a,b)& &!uc(a.dis play,b)&&( b.dataTran sfer.setDa ta("Text", a.getSelec tion()),b. dataTransf er.setDrag Image&&!l) ){var c=tg ("img",nul l,null,"po sition: fi xed; left: 0; top: 0 ;");c.src= "data:imag e/gif;base 64,R0lGODl hAQABAAAAA CH5BAEKAAE ALAAAAAABA AEAAAICTAE AOw==",k&& (c.width=c .height=1, a.display. wrapper.ap pendChild( c),c._top= c.offsetTo p),b.dataT ransfer.se tDragImage (c,0,0),k& &c.parentN ode.remove Child(c)}} function H c(a,b){var c=vc(a,b) ;if(c){var d=documen t.createDo cumentFrag ment();hb( a,c,d),a.d isplay.dra gCursor||( a.display. dragCursor =tg("div", null,"Code Mirror-cur sors CodeM irror-drag cursors"), a.display. lineSpace. insertBefo re(a.displ ay.dragCur sor,a.disp lay.cursor Div)),wg(a .display.d ragCursor, d)}}functi on Ic(a){a .display.d ragCursor& &(a.displa y.lineSpac e.removeCh ild(a.disp lay.dragCu rsor),a.di splay.drag Cursor=nul l)}functio n Jc(a,b){ Math.abs(a .doc.scrol lTop-b)<2| |(a.doc.sc rollTop=b, c||$(a,{to p:b}),a.di splay.scro ller.scrol lTop!=b&&( a.display. scroller.s crollTop=b ),a.displa y.scrollba rs.setScro llTop(b),c &&$(a),kb( a,100))}fu nction Kc( a,b,c){(c? b==a.doc.s crollLeft: Math.abs(a .doc.scrol lLeft-b)<2 )||(b=Math .min(b,a.d isplay.scr oller.scro llWidth-a. display.sc roller.cli entWidth), a.doc.scro llLeft=b,S (a),a.disp lay.scroll er.scrollL eft!=b&&(a .display.s croller.sc rollLeft=b ),a.displa y.scrollba rs.setScro llLeft(b)) }function Oc(a,b){va r d=Nc(b), e=d.x,f=d. y,g=a.disp lay,i=g.sc roller,j=i .scrollWid th>i.clien tWidth,l=i .scrollHei ght>i.clie ntHeight;i f(e&&j||f& &l){if(f&& q&&h)a:for (var m=b.t arget,n=g. view;m!=i; m=m.parent Node)for(v ar o=0;o<n .length;o+ +)if(n[o]. node==m){a .display.c urrentWhee lTarget=m; break a}if (e&&!c&&!k &&null!=Mc )return f& &l&&Jc(a,M ath.max(0, Math.min(i .scrollTop +f*Mc,i.sc rollHeight -i.clientH eight))),K c(a,Math.m ax(0,Math. min(i.scro llLeft+e*M c,i.scroll Width-i.cl ientWidth) )),(!f||f& &l)&&Ff(b) ,void(g.wh eelStartX= null);if(f &&null!=Mc ){var p=f* Mc,r=a.doc .scrollTop ,s=r+g.wra pper.clien tHeight;0> p?r=Math.m ax(0,r+p-5 0):s=Math. min(a.doc. height,s+p +50),$(a,{ top:r,bott om:s})}20> Lc&&(null= =g.wheelSt artX?(g.wh eelStartX= i.scrollLe ft,g.wheel StartY=i.s crollTop,g .wheelDX=e ,g.wheelDY =f,setTime out(functi on(){if(nu ll!=g.whee lStartX){v ar a=i.scr ollLeft-g. wheelStart X,b=i.scro llTop-g.wh eelStartY, c=b&&g.whe elDY&&b/g. wheelDY||a &&g.wheelD X&&a/g.whe elDX;g.whe elStartX=g .wheelStar tY=null,c& &(Mc=(Mc*L c+c)/(Lc+1 ),++Lc)}}, 200)):(g.w heelDX+=e, g.wheelDY+ =f))}}func tion Pc(a, b,c){if("s tring"==ty peof b&&(b =Nd[b],!b) )return!1; a.display. input.ensu rePolled() ;var d=a.d isplay.shi ft,e=!1;tr y{wa(a)&&( a.state.su ppressEdit s=!0),c&&( a.display. shift=!1), e=b(a)!=Yf }finally{a .display.s hift=d,a.s tate.suppr essEdits=! 1}return e }function Qc(a,b,c){ for(var d= 0;d<a.stat e.keyMaps. length;d++ ){var e=Qd (b,a.state .keyMaps[d ],c,a);if( e)return e }return a. options.ex traKeys&&Q d(b,a.opti ons.extraK eys,c,a)|| Qd(b,a.opt ions.keyMa p,c,a)}fun ction Sc(a ,b,c,d){va r e=a.stat e.keySeq;i f(e){if(Rd (b))return "handled"; Rc.set(50, function() {a.state.k eySeq==e&& (a.state.k eySeq=null ,a.display .input.res et())}),b= e+" "+b}va r f=Qc(a,b ,d);return "multi"==f &&(a.state .keySeq=b) ,"handled" ==f&&Rf(a, "keyHandle d",a,b,c), ("handled" ==f||"mult i"==f)&&(F f(c),jb(a) ),e&&!f&&/ \'$/.test( b)?(Ff(c), !0):!!f}fu nction Tc( a,b){var c =Sd(b,!0); return c?b .shiftKey& &!a.state. keySeq?Sc( a,"Shift-" +c,b,funct ion(b){ret urn Pc(a,b ,!0)})||Sc (a,c,b,fun ction(b){r eturn("str ing"==type of b?/^go[ A-Z]/.test (b):b.moti on)?Pc(a,b ):void 0}) :Sc(a,c,b, function(b ){return P c(a,b)}):! 1}function Uc(a,b,c) {return Sc (a,"'"+c+" '",b,funct ion(b){ret urn Pc(a,b ,!0)})}fun ction Wc(a ){var b=th is;if(b.cu rOp.focus= yg(),!Tf(b ,a)){f&&11 >g&&27==a. keyCode&&( a.returnVa lue=!1);va r c=a.keyC ode;b.disp lay.shift= 16==c||a.s hiftKey;va r d=Tc(b,a );k&&(Vc=d ?c:null,!d &&88==c&&! Og&&(q?a.m etaKey:a.c trlKey)&&b .replaceSe lection("" ,null,"cut ")),18!=c| |/\bCodeMi rror-cross hair\b/.te st(b.displ ay.lineDiv .className )||Xc(b)}} function X c(a){funct ion c(a){1 8!=a.keyCo de&&a.altK ey||(Ag(b, "CodeMirro r-crosshai r"),Of(doc ument,"key up",c),Of( document," mouseover" ,c))}var b =a.display .lineDiv;B g(b,"CodeM irror-cros shair"),Lf (document, "keyup",c) ,Lf(docume nt,"mouseo ver",c)}fu nction Yc( a){16==a.k eyCode&&(t his.doc.se l.shift=!1 ),Tf(this, a)}functio n Zc(a){va r b=this;i f(!(uc(b.d isplay,a)| |Tf(b,a)|| a.ctrlKey& &!a.altKey ||q&&a.met aKey)){var c=a.keyCo de,d=a.cha rCode;if(k &&c==Vc)re turn Vc=nu ll,void Ff (a);if(!k| |a.which&& !(a.which< 10)||!Tc(b ,a)){var e =String.fr omCharCode (null==d?c :d);Uc(b,a ,e)||b.dis play.input .onKeyPres s(a)}}}fun ction $c(a ){a.state. delayingBl urEvent=!0 ,setTimeou t(function (){a.state .delayingB lurEvent&& (a.state.d elayingBlu rEvent=!1, ad(a))},10 0)}functio n _c(a){a. state.dela yingBlurEv ent&&(a.st ate.delayi ngBlurEven t=!1),"noc ursor"!=a. options.re adOnly&&(a .state.foc used||(Pf( a,"focus", a),a.state .focused=! 0,Bg(a.dis play.wrapp er,"CodeMi rror-focus ed"),a.cur Op||a.disp lay.selFor ContextMen u==a.doc.s el||(a.dis play.input .reset(),h &&setTimeo ut(functio n(){a.disp lay.input. reset(!0)} ,20)),a.di splay.inpu t.received Focus()),j b(a))}func tion ad(a) {a.state.d elayingBlu rEvent||(a .state.foc used&&(Pf( a,"blur",a ),a.state. focused=!1 ,Ag(a.disp lay.wrappe r,"CodeMir ror-focuse d")),clear Interval(a .display.b linker),se tTimeout(f unction(){ a.state.fo cused||(a. display.sh ift=!1)},1 50))}funct ion bd(a,b ){uc(a.dis play,b)||c d(a,b)||Tf (a,b,"cont extmenu")| |a.display .input.onC ontextMenu (b)}functi on cd(a,b) {return Vf (a,"gutter ContextMen u")?Cc(a,b ,"gutterCo ntextMenu" ,!1):!1}fu nction ed( a,b){if(ra (a,b.from) <0)return a;if(ra(a, b.to)<=0)r eturn dd(b );var c=a. line+b.tex t.length-( b.to.line- b.from.lin e)-1,d=a.c h;return a .line==b.t o.line&&(d +=dd(b).ch -b.to.ch), qa(c,d)}fu nction fd( a,b){for(v ar c=[],d= 0;d<a.sel. ranges.len gth;d++){v ar e=a.sel .ranges[d] ;c.push(ne w Ma(ed(e. anchor,b), ed(e.head, b)))}retur n Na(c,a.s el.primInd ex)}functi on gd(a,b, c){return a.line==b. line?qa(c. line,a.ch- b.ch+c.ch) :qa(c.line +(a.line-b .line),a.c h)}functio n hd(a,b,c ){for(var d=[],e=qa( a.first,0) ,f=e,g=0;g <b.length; g++){var h =b[g],i=gd (h.from,e, f),j=gd(dd (h),e,f);i f(e=h.to,f =j,"around "==c){var k=a.sel.ra nges[g],l= ra(k.head, k.anchor)< 0;d[g]=new Ma(l?j:i, l?i:j)}els e d[g]=new Ma(i,i)}r eturn new La(d,a.sel .primIndex )}function id(a,b,c) {var d={ca nceled:!1, from:b.fro m,to:b.to, text:b.tex t,origin:b .origin,ca ncel:funct ion(){this .canceled= !0}};retur n c&&(d.up date=funct ion(b,c,d, e){b&&(thi s.from=Qa( a,b)),c&&( this.to=Qa (a,c)),d&& (this.text =d),void 0 !==e&&(thi s.origin=e )}),Pf(a," beforeChan ge",a,d),a .cm&&Pf(a. cm,"before Change",a. cm,d),d.ca nceled?nul l:{from:d. from,to:d. to,text:d. text,origi n:d.origin }}function jd(a,b,c) {if(a.cm){ if(!a.cm.c urOp)retur n fc(a.cm, jd)(a,b,c) ;if(a.cm.s tate.suppr essEdits)r eturn}if(! (Vf(a,"bef oreChange" )||a.cm&&V f(a.cm,"be foreChange "))||(b=id (a,b,!0))) {var d=v&& !c&&ke(a,b .from,b.to );if(d)for (var e=d.l ength-1;e> =0;--e)kd( a,{from:d[ e].from,to :d[e].to,t ext:e?[""] :b.text}); else kd(a, b)}}functi on kd(a,b) {if(1!=b.t ext.length ||""!=b.te xt[0]||0!= ra(b.from, b.to)){var c=fd(a,b) ;uf(a,b,c, a.cm?a.cm. curOp.id:N aN),nd(a,b ,c,he(a,b) );var d=[] ;ff(a,func tion(a,c){ c||-1!=hg( d,a.histor y)||(Ef(a. history,b) ,d.push(a. history)), nd(a,b,nul l,he(a,b)) })}}functi on ld(a,b, c){if(!a.c m||!a.cm.s tate.suppr essEdits){ for(var e, d=a.histor y,f=a.sel, g="undo"== b?d.done:d .undone,h= "undo"==b? d.undone:d .done,i=0; i<g.length &&(e=g[i], c?!e.range s||e.equal s(a.sel):e .ranges);i ++);if(i!= g.length){ for(d.last Origin=d.l astSelOrig in=null;e= g.pop(),e. ranges;){i f(xf(e,h), c&&!e.equa ls(a.sel)) return voi d _a(a,e,{ clearRedo: !1});f=e}v ar j=[];xf (f,h),h.pu sh({change s:j,genera tion:d.gen eration}), d.generati on=e.gener ation||++d .maxGenera tion;for(v ar k=Vf(a, "beforeCha nge")||a.c m&&Vf(a.cm ,"beforeCh ange"),i=e .changes.l ength-1;i> =0;--i){va r l=e.chan ges[i];if( l.origin=b ,k&&!id(a, l,!1))retu rn void(g. length=0); j.push(rf( a,l));var m=i?fd(a,l ):fg(g);nd (a,l,m,je( a,l)),!i&& a.cm&&a.cm .scrollInt oView({fro m:l.from,t o:dd(l)}); var n=[];f f(a,functi on(a,b){b| |-1!=hg(n, a.history) ||(Ef(a.hi story,l),n .push(a.hi story)),nd (a,l,null, je(a,l))}) }}}}functi on md(a,b) {if(0!=b&& (a.first+= b,a.sel=ne w La(ig(a. sel.ranges ,function( a){return new Ma(qa( a.anchor.l ine+b,a.an chor.ch),q a(a.head.l ine+b,a.he ad.ch))}), a.sel.prim Index),a.c m)){kc(a.c m,a.first, a.first-b, b);for(var c=a.cm.di splay,d=c. viewFrom;d <c.viewTo; d++)lc(a.c m,d,"gutte r")}}funct ion nd(a,b ,c,d){if(a .cm&&!a.cm .curOp)ret urn fc(a.c m,nd)(a,b, c,d);if(b. to.line<a. first)retu rn void md (a,b.text. length-1-( b.to.line- b.from.lin e));if(!(b .from.line >a.lastLin e())){if(b .from.line <a.first){ var e=b.te xt.length- 1-(a.first -b.from.li ne);md(a,e ),b={from: qa(a.first ,0),to:qa( b.to.line+ e,b.to.ch) ,text:[fg( b.text)],o rigin:b.or igin}}var f=a.lastLi ne();b.to. line>f&&(b ={from:b.f rom,to:qa( f,hf(a,f). text.lengt h),text:[b .text[0]], origin:b.o rigin}),b. removed=jf (a,b.from, b.to),c||( c=fd(a,b)) ,a.cm?od(a .cm,b,d):$ e(a,b,d),a b(a,c,Zf)} }function od(a,b,c){ var d=a.do c,e=a.disp lay,f=b.fr om,g=b.to, h=!1,i=f.l ine;a.opti ons.lineWr apping||(i =mf(ue(hf( d,f.line)) ),d.iter(i ,g.line+1, function(a ){return a ==e.maxLin e?(h=!0,!0 ):void 0}) ),d.sel.co ntains(b.f rom,b.to)> -1&&Uf(a), $e(d,b,c,C (a)),a.opt ions.lineW rapping||( d.iter(i,f .line+b.te xt.length, function(a ){var b=I( a);b>e.max LineLength &&(e.maxLi ne=a,e.max LineLength =b,e.maxLi neChanged= !0,h=!1)}) ,h&&(a.cur Op.updateM axLine=!0) ),d.fronti er=Math.mi n(d.fronti er,f.line) ,kb(a,400) ;var j=b.t ext.length -(g.line-f .line)-1;b .full?kc(a ):f.line!= g.line||1! =b.text.le ngth||Ze(a .doc,b)?kc (a,f.line, g.line+1,j ):lc(a,f.l ine,"text" );var k=Vf (a,"change s"),l=Vf(a ,"change") ;if(l||k){ var m={fro m:f,to:g,t ext:b.text ,removed:b .removed,o rigin:b.or igin};l&&R f(a,"chang e",a,m),k& &(a.curOp. changeObjs ||(a.curOp .changeObj s=[])).pus h(m)}a.dis play.selFo rContextMe nu=null}fu nction pd( a,b,c,d,e) {if(d||(d= c),ra(d,c) <0){var f= d;d=c,c=f} "string"== typeof b&& (b=a.split Lines(b)), jd(a,{from :c,to:d,te xt:b,origi n:e})}func tion qd(a, b){if(!Tf( a,"scrollC ursorIntoV iew")){var c=a.displ ay,d=c.siz er.getBoun dingClient Rect(),e=n ull;if(b.t op+d.top<0 ?e=!0:b.bo ttom+d.top >(window.i nnerHeight ||document .documentE lement.cli entHeight) &&(e=!1),n ull!=e&&!n ){var f=tg ("div","\u 200b",null ,"position : absolute ; top: "+( b.top-c.vi ewOffset-o b(a.displa y))+"px; h eight: "+( b.bottom-b .top+rb(a) +c.barHeig ht)+"px; l eft: "+b.l eft+"px; w idth: 2px; ");a.displ ay.lineSpa ce.appendC hild(f),f. scrollInto View(e),a. display.li neSpace.re moveChild( f)}}}funct ion rd(a,b ,c,d){null ==d&&(d=0) ;for(var e =0;5>e;e++ ){var f=!1 ,g=Nb(a,b) ,h=c&&c!=b ?Nb(a,c):g ,i=td(a,Ma th.min(g.l eft,h.left ),Math.min (g.top,h.t op)-d,Math .max(g.lef t,h.left), Math.max(g .bottom,h. bottom)+d) ,j=a.doc.s crollTop,k =a.doc.scr ollLeft;if (null!=i.s crollTop&& (Jc(a,i.sc rollTop),M ath.abs(a. doc.scroll Top-j)>1&& (f=!0)),nu ll!=i.scro llLeft&&(K c(a,i.scro llLeft),Ma th.abs(a.d oc.scrollL eft-k)>1&& (f=!0)),!f )break}ret urn g}func tion sd(a, b,c,d,e){v ar f=td(a, b,c,d,e);n ull!=f.scr ollTop&&Jc (a,f.scrol lTop),null !=f.scroll Left&&Kc(a ,f.scrollL eft)}funct ion td(a,b ,c,d,e){va r f=a.disp lay,g=Tb(a .display); 0>c&&(c=0) ;var h=a.c urOp&&null !=a.curOp. scrollTop? a.curOp.sc rollTop:f. scroller.s crollTop,i =tb(a),j={ };e-c>i&&( e=c+i);var k=a.doc.h eight+pb(f ),l=g>c,m= e>k-g;if(h >c)j.scrol lTop=l?0:c ;else if(e >h+i){var n=Math.min (c,(m?k:e) -i);n!=h&& (j.scrollT op=n)}var o=a.curOp& &null!=a.c urOp.scrol lLeft?a.cu rOp.scroll Left:f.scr oller.scro llLeft,p=s b(a)-(a.op tions.fixe dGutter?f. gutters.of fsetWidth: 0),q=d-b>p ;return q& &(d=b+p),1 0>b?j.scro llLeft=0:o >b?j.scrol lLeft=Math .max(0,b-( q?0:10)):d >p+o-3&&(j .scrollLef t=d+(q?0:1 0)-p),j}fu nction ud( a,b,c){(nu ll!=b||nul l!=c)&&wd( a),null!=b &&(a.curOp .scrollLef t=(null==a .curOp.scr ollLeft?a. doc.scroll Left:a.cur Op.scrollL eft)+b),nu ll!=c&&(a. curOp.scro llTop=(nul l==a.curOp .scrollTop ?a.doc.scr ollTop:a.c urOp.scrol lTop)+c)}f unction vd (a){wd(a); var b=a.ge tCursor(), c=b,d=b;a. options.li neWrapping ||(c=b.ch? qa(b.line, b.ch-1):b, d=qa(b.lin e,b.ch+1)) ,a.curOp.s crollToPos ={from:c,t o:d,margin :a.options .cursorScr ollMargin, isCursor:! 0}}functio n wd(a){va r b=a.curO p.scrollTo Pos;if(b){ a.curOp.sc rollToPos= null;var c =Ob(a,b.fr om),d=Ob(a ,b.to),e=t d(a,Math.m in(c.left, d.left),Ma th.min(c.t op,d.top)- b.margin,M ath.max(c. right,d.ri ght),Math. max(c.bott om,d.botto m)+b.margi n);a.scrol lTo(e.scro llLeft,e.s crollTop)} }function xd(a,b,c,d ){var f,e= a.doc;null ==c&&(c="a dd"),"smar t"==c&&(e. mode.inden t?f=nb(a,b ):c="prev" );var g=a. options.ta bSize,h=hf (e,b),i=bg (h.text,nu ll,g);h.st ateAfter&& (h.stateAf ter=null); var k,j=h. text.match (/^\s*/)[0 ];if(d||/\ S/.test(h. text)){ | |||||
| 14 | if("smart" ==c&&(k=e. mode.inden t(f,h.text .slice(j.l ength),h.t ext),k==Yf ||k>150)){ if(!d)retu rn;c="prev "}}else k= 0,c="not"; "prev"==c? k=b>e.firs t?bg(hf(e, b-1).text, null,g):0: "add"==c?k =i+a.optio ns.indentU nit:"subtr act"==c?k= i-a.option s.indentUn it:"number "==typeof c&&(k=i+c) ,k=Math.ma x(0,k);var l="",m=0; if(a.optio ns.indentW ithTabs)fo r(var n=Ma th.floor(k /g);n;--n) m+=g,l+=" ";if (k>m&&(l+= eg(k-m)),l !=j)return pd(e,l,qa (b,0),qa(b ,j.length) ,"+input") ,h.stateAf ter=null,! 0;for(var n=0;n<e.se l.ranges.l ength;n++) {var o=e.s el.ranges[ n];if(o.he ad.line==b &&o.head.c h<j.length ){var m=qa (b,j.lengt h);Xa(e,n, new Ma(m,m ));break}} }function yd(a,b,c,d ){var e=b, f=b;return "number"== typeof b?f =hf(a,Pa(a ,b)):e=mf( b),null==e ?null:(d(f ,e)&&a.cm& &lc(a.cm,e ,c),f)}fun ction zd(a ,b){for(va r c=a.doc. sel.ranges ,d=[],e=0; e<c.length ;e++){for( var f=b(c[ e]);d.leng th&&ra(f.f rom,fg(d). to)<=0;){v ar g=d.pop ();if(ra(g .from,f.fr om)<0){f.f rom=g.from ;break}}d. push(f)}ec (a,functio n(){for(va r b=d.leng th-1;b>=0; b--)pd(a.d oc,"",d[b] .from,d[b] .to,"+dele te");vd(a) })}functio n Ad(a,b,c ,d,e){func tion k(){v ar b=f+c;r eturn b<a. first||b>= a.first+a. size?j=!1: (f=b,i=hf( a,b))}func tion l(a){ var b=(e?c h:dh)(i,g, c,!0);if(n ull==b){if (a||!k())r eturn j=!1 ;g=e?(0>c? Wg:Vg)(i): 0>c?i.text .length:0} else g=b;r eturn!0}va r f=b.line ,g=b.ch,h= c,i=hf(a,f ),j=!0;if( "char"==d) l();else i f("column" ==d)l(!0); else if("w ord"==d||" group"==d) for(var m= null,n="gr oup"==d,o= a.cm&&a.cm .getHelper (b,"wordCh ars"),p=!0 ;!(0>c)||l (!p);p=!1) {var q=i.t ext.charAt (g)||"\n", r=pg(q,o)? "w":n&&"\n "==q?"n":! n||/\s/.te st(q)?null :"p";if(!n ||p||r||(r ="s"),m&&m !=r){0>c&& (c=1,l()); break}if(r &&(m=r),c> 0&&!l(!p)) break}var s=eb(a,qa( f,g),h,!0) ;return j| |(s.hitSid e=!0),s}fu nction Bd( a,b,c,d){v ar g,e=a.d oc,f=b.lef t;if("page "==d){var h=Math.min (a.display .wrapper.c lientHeigh t,window.i nnerHeight ||document .documentE lement.cli entHeight) ;g=b.top+c *(h-(0>c?1 .5:.5)*Tb( a.display) )}else"lin e"==d&&(g= c>0?b.bott om+3:b.top -3);for(;; ){var i=Qb (a,f,g);if (!i.outsid e)break;if (0>c?0>=g: g>=e.heigh t){i.hitSi de=!0;brea k}g+=5*c}r eturn i}fu nction Ed( a,b,c,d){x .defaults[ a]=b,c&&(D d[a]=d?fun ction(a,b, d){d!=Fd&& c(a,b,d)}: c)}functio n Pd(a){fo r(var c,d, e,f,b=a.sp lit(/-(?!$ )/),a=b[b. length-1], g=0;g<b.le ngth-1;g++ ){var h=b[ g];if(/^(c md|meta|m) $/i.test(h ))f=!0;els e if(/^a(l t)?$/i.tes t(h))c=!0; else if(/^ (c|ctrl|co ntrol)$/i. test(h))d= !0;else{if (!/^s(hift )$/i.test( h))throw n ew Error(" Unrecogniz ed modifie r name: "+ h);e=!0}}r eturn c&&( a="Alt-"+a ),d&&(a="C trl-"+a),f &&(a="Cmd- "+a),e&&(a ="Shift-"+ a),a}funct ion Td(a){ return"str ing"==type of a?Od[a] :a}functio n Xd(a,b,c ,d,e){if(d &&d.shared )return Zd (a,b,c,d,e );if(a.cm& &!a.cm.cur Op)return fc(a.cm,Xd )(a,b,c,d, e);var f=n ew Wd(a,e) ,g=ra(b,c) ;if(d&&lg( d,f,!1),g> 0||0==g&&f .clearWhen Empty!==!1 )return f; if(f.repla cedWith&&( f.collapse d=!0,f.wid getNode=tg ("span",[f .replacedW ith],"Code Mirror-wid get"),d.ha ndleMouseE vents||f.w idgetNode. setAttribu te("cm-ign ore-events ","true"), d.insertLe ft&&(f.wid getNode.in sertLeft=! 0)),f.coll apsed){if( te(a,b.lin e,b,c,f)|| b.line!=c. line&&te(a ,c.line,b, c,f))throw new Error ("Insertin g collapse d marker p artially o verlapping an existi ng one");w =!0}f.addT oHistory&& uf(a,{from :b,to:c,or igin:"mark Text"},a.s el,NaN);va r j,h=b.li ne,i=a.cm; if(a.iter( h,c.line+1 ,function( a){i&&f.co llapsed&&! i.options. lineWrappi ng&&ue(a)= =i.display .maxLine&& (j=!0),f.c ollapsed&& h!=b.line& &lf(a,0),e e(a,new be (f,h==b.li ne?b.ch:nu ll,h==c.li ne?c.ch:nu ll)),++h}) ,f.collaps ed&&a.iter (b.line,c. line+1,fun ction(b){y e(a,b)&&lf (b,0)}),f. clearOnEnt er&&Lf(f," beforeCurs orEnter",f unction(){ f.clear()} ),f.readOn ly&&(v=!0, (a.history .done.leng th||a.hist ory.undone .length)&& a.clearHis tory()),f. collapsed& &(f.id=++V d,f.atomic =!0),i){if (j&&(i.cur Op.updateM axLine=!0) ,f.collaps ed)kc(i,b. line,c.lin e+1);else if(f.class Name||f.ti tle||f.sta rtStyle||f .endStyle| |f.css)for (var k=b.l ine;k<=c.l ine;k++)lc (i,k,"text ");f.atomi c&&cb(i.do c),Rf(i,"m arkerAdded ",i,f)}ret urn f}func tion Zd(a, b,c,d,e){d =lg(d),d.s hared=!1;v ar f=[Xd(a ,b,c,d,e)] ,g=f[0],h= d.widgetNo de;return ff(a,funct ion(a){h&& (d.widgetN ode=h.clon eNode(!0)) ,f.push(Xd (a,Qa(a,b) ,Qa(a,c),d ,e));for(v ar i=0;i<a .linked.le ngth;++i)i f(a.linked [i].isPare nt)return; g=fg(f)}), new Yd(f,g )}function $d(a){ret urn a.find Marks(qa(a .first,0), a.clipPos( qa(a.lastL ine())),fu nction(a){ return a.p arent})}fu nction _d( a,b){for(v ar c=0;c<b .length;c+ +){var d=b [c],e=d.fi nd(),f=a.c lipPos(e.f rom),g=a.c lipPos(e.t o);if(ra(f ,g)){var h =Xd(a,f,g, d.primary, d.primary. type);d.ma rkers.push (h),h.pare nt=d}}}fun ction ae(a ){for(var b=0;b<a.le ngth;b++){ var c=a[b] ,d=[c.prim ary.doc];f f(c.primar y.doc,func tion(a){d. push(a)}); for(var e= 0;e<c.mark ers.length ;e++){var f=c.marker s[e];-1==h g(d,f.doc) &&(f.paren t=null,c.m arkers.spl ice(e--,1) )}}}functi on be(a,b, c){this.ma rker=a,thi s.from=b,t his.to=c}f unction ce (a,b){if(a )for(var c =0;c<a.len gth;++c){v ar d=a[c]; if(d.marke r==b)retur n d}}funct ion de(a,b ){for(var c,d=0;d<a. length;++d )a[d]!=b&& (c||(c=[]) ).push(a[d ]);return c}function ee(a,b){a .markedSpa ns=a.marke dSpans?a.m arkedSpans .concat([b ]):[b],b.m arker.atta chLine(a)} function f e(a,b,c){i f(a)for(va r e,d=0;d< a.length;+ +d){var f= a[d],g=f.m arker,h=nu ll==f.from ||(g.inclu siveLeft?f .from<=b:f .from<b);i f(h||f.fro m==b&&"boo kmark"==g. type&&(!c| |!f.marker .insertLef t)){var i= null==f.to ||(g.inclu siveRight? f.to>=b:f. to>b);(e|| (e=[])).pu sh(new be( g,f.from,i ?null:f.to ))}}return e}functio n ge(a,b,c ){if(a)for (var e,d=0 ;d<a.lengt h;++d){var f=a[d],g= f.marker,h =null==f.t o||(g.incl usiveRight ?f.to>=b:f .to>b);if( h||f.from= =b&&"bookm ark"==g.ty pe&&(!c||f .marker.in sertLeft)) {var i=nul l==f.from| |(g.inclus iveLeft?f. from<=b:f. from<b);(e ||(e=[])). push(new b e(g,i?null :f.from-b, null==f.to ?null:f.to -b))}}retu rn e}funct ion he(a,b ){if(b.ful l)return n ull;var c= Sa(a,b.fro m.line)&&h f(a,b.from .line).mar kedSpans,d =Sa(a,b.to .line)&&hf (a,b.to.li ne).marked Spans;if(! c&&!d)retu rn null;va r e=b.from .ch,f=b.to .ch,g=0==r a(b.from,b .to),h=fe( c,e,g),i=g e(d,f,g),j =1==b.text .length,k= fg(b.text) .length+(j ?e:0);if(h )for(var l =0;l<h.len gth;++l){v ar m=h[l]; if(null==m .to){var n =ce(i,m.ma rker);n?j& &(m.to=nul l==n.to?nu ll:n.to+k) :m.to=e}}i f(i)for(va r l=0;l<i. length;++l ){var m=i[ l];if(null !=m.to&&(m .to+=k),nu ll==m.from ){var n=ce (h,m.marke r);n||(m.f rom=k,j&&( h||(h=[])) .push(m))} else m.fro m+=k,j&&(h ||(h=[])). push(m)}h& &(h=ie(h)) ,i&&i!=h&& (i=ie(i)); var o=[h]; if(!j){var q,p=b.tex t.length-2 ;if(p>0&&h )for(var l =0;l<h.len gth;++l)nu ll==h[l].t o&&(q||(q= [])).push( new be(h[l ].marker,n ull,null)) ;for(var l =0;p>l;++l )o.push(q) ;o.push(i) }return o} function i e(a){for(v ar b=0;b<a .length;++ b){var c=a [b];null!= c.from&&c. from==c.to &&c.marker .clearWhen Empty!==!1 &&a.splice (b--,1)}re turn a.len gth?a:null }function je(a,b){va r c=Af(a,b ),d=he(a,b );if(!c)re turn d;if( !d)return c;for(var e=0;e<c.le ngth;++e){ var f=c[e] ,g=d[e];if (f&&g)a:fo r(var h=0; h<g.length ;++h){for( var i=g[h] ,j=0;j<f.l ength;++j) if(f[j].ma rker==i.ma rker)conti nue a;f.pu sh(i)}else g&&(c[e]= g)}return c}function ke(a,b,c) {var d=nul l;if(a.ite r(b.line,c .line+1,fu nction(a){ if(a.marke dSpans)for (var b=0;b <a.markedS pans.lengt h;++b){var c=a.marke dSpans[b]. marker;!c. readOnly|| d&&-1!=hg( d,c)||(d|| (d=[])).pu sh(c)}}),! d)return n ull;for(va r e=[{from :b,to:c}], f=0;f<d.le ngth;++f)f or(var g=d [f],h=g.fi nd(0),i=0; i<e.length ;++i){var j=e[i];if( !(ra(j.to, h.from)<0| |ra(j.from ,h.to)>0)) {var k=[i, 1],l=ra(j. from,h.fro m),m=ra(j. to,h.to);( 0>l||!g.in clusiveLef t&&!l)&&k. push({from :j.from,to :h.from}), (m>0||!g.i nclusiveRi ght&&!m)&& k.push({fr om:h.to,to :j.to}),e. splice.app ly(e,k),i+ =k.length- 1}}return e}function le(a){var b=a.marke dSpans;if( b){for(var c=0;c<b.l ength;++c) b[c].marke r.detachLi ne(a);a.ma rkedSpans= null}}func tion me(a, b){if(b){f or(var c=0 ;c<b.lengt h;++c)b[c] .marker.at tachLine(a );a.marked Spans=b}}f unction ne (a){return a.inclusi veLeft?-1: 0}function oe(a){ret urn a.incl usiveRight ?1:0}funct ion pe(a,b ){var c=a. lines.leng th-b.lines .length;if (0!=c)retu rn c;var d =a.find(), e=b.find() ,f=ra(d.fr om,e.from) ||ne(a)-ne (b);if(f)r eturn-f;va r g=ra(d.t o,e.to)||o e(a)-oe(b) ;return g? g:b.id-a.i d}function qe(a,b){v ar d,c=w&& a.markedSp ans;if(c)f or(var e,f =0;f<c.len gth;++f)e= c[f],e.mar ker.collap sed&&null= =(b?e.from :e.to)&&(! d||pe(d,e. marker)<0) &&(d=e.mar ker);retur n d}functi on re(a){r eturn qe(a ,!0)}funct ion se(a){ return qe( a,!1)}func tion te(a, b,c,d,e){v ar f=hf(a, b),g=w&&f. markedSpan s;if(g)for (var h=0;h <g.length; ++h){var i =g[h];if(i .marker.co llapsed){v ar j=i.mar ker.find(0 ),k=ra(j.f rom,c)||ne (i.marker) -ne(e),l=r a(j.to,d)| |oe(i.mark er)-oe(e); if(!(k>=0& &0>=l||0>= k&&l>=0)&& (0>=k&&(ra (j.to,c)>0 ||i.marker .inclusive Right&&e.i nclusiveLe ft)||k>=0& &(ra(j.fro m,d)<0||i. marker.inc lusiveLeft &&e.inclus iveRight)) )return!0} }}function ue(a){for (var b;b=r e(a);)a=b. find(-1,!0 ).line;ret urn a}func tion ve(a) {for(var b ,c;b=se(a) ;)a=b.find (1,!0).lin e,(c||(c=[ ])).push(a );return c }function we(a,b){va r c=hf(a,b ),d=ue(c); return c== d?b:mf(d)} function x e(a,b){if( b>a.lastLi ne())retur n b;var d, c=hf(a,b); if(!ye(a,c ))return b ;for(;d=se (c);)c=d.f ind(1,!0). line;retur n mf(c)+1} function y e(a,b){var c=w&&b.ma rkedSpans; if(c)for(v ar d,e=0;e <c.length; ++e)if(d=c [e],d.mark er.collaps ed){if(nul l==d.from) return!0;i f(!d.marke r.widgetNo de&&0==d.f rom&&d.mar ker.inclus iveLeft&&z e(a,b,d))r eturn!0}}f unction ze (a,b,c){if (null==c.t o){var d=c .marker.fi nd(1,!0);r eturn ze(a ,d.line,ce (d.line.ma rkedSpans, c.marker)) }if(c.mark er.inclusi veRight&&c .to==b.tex t.length)r eturn!0;fo r(var e,f= 0;f<b.mark edSpans.le ngth;++f)i f(e=b.mark edSpans[f] ,e.marker. collapsed& &!e.marker .widgetNod e&&e.from= =c.to&&(nu ll==e.to|| e.to!=c.fr om)&&(e.ma rker.inclu siveLeft|| c.marker.i nclusiveRi ght)&&ze(a ,b,e))retu rn!0}funct ion Be(a,b ,c){of(b)< (a.curOp&& a.curOp.sc rollTop||a .doc.scrol lTop)&&ud( a,null,c)} function C e(a){if(nu ll!=a.heig ht)return a.height;v ar b=a.doc .cm;if(!b) return 0;i f(!xg(docu ment.body, a.node)){v ar c="posi tion: rela tive;";a.c overGutter &&(c+="mar gin-left: -"+b.displ ay.gutters .offsetWid th+"px;"), a.noHScrol l&&(c+="wi dth: "+b.d isplay.wra pper.clien tWidth+"px ;"),wg(b.d isplay.mea sure,tg("d iv",[a.nod e],null,c) )}return a .height=a. node.offse tHeight}fu nction De( a,b,c,d){v ar e=new A e(a,c,d),f =a.cm;retu rn f&&e.no HScroll&&( f.display. alignWidge ts=!0),yd( a,b,"widge t",functio n(b){var c =b.widgets ||(b.widge ts=[]);if( null==e.in sertAt?c.p ush(e):c.s plice(Math .min(c.len gth-1,Math .max(0,e.i nsertAt)), 0,e),e.lin e=b,f&&!ye (a,b)){var d=of(b)<a .scrollTop ;lf(b,b.he ight+Ce(e) ),d&&ud(f, null,e.hei ght),f.cur Op.forceUp date=!0}re turn!0}),e }function Fe(a,b,c,d ){a.text=b ,a.stateAf ter&&(a.st ateAfter=n ull),a.sty les&&(a.st yles=null) ,null!=a.o rder&&(a.o rder=null) ,le(a),me( a,c);var e =d?d(a):1; e!=a.heigh t&&lf(a,e) }function Ge(a){a.pa rent=null, le(a)}func tion He(a, b){if(a)fo r(;;){var c=a.match( /(?:^|\s+) line-(back ground-)?( \S+)/);if( !c)break;a =a.slice(0 ,c.index)+ a.slice(c. index+c[0] .length);v ar d=c[1]? "bgClass": "textClass ";null==b[ d]?b[d]=c[ 2]:new Reg Exp("(?:^| s)"+c[2]+" (?:$|s)"). test(b[d]) ||(b[d]+=" "+c[2])}r eturn a}fu nction Ie( a,b){if(a. blankLine) return a.b lankLine(b );if(a.inn erMode){va r c=x.inne rMode(a,b) ;return c. mode.blank Line?c.mod e.blankLin e(c.state) :void 0}}f unction Je (a,b,c,d){ for(var e= 0;10>e;e++ ){d&&(d[0] =x.innerMo de(a,c).mo de);var f= a.token(b, c);if(b.po s>b.start) return f}t hrow new E rror("Mode "+a.name+ " failed t o advance stream.")} function K e(a,b,c,d) {function e(a){retur n{start:k. start,end: k.pos,stri ng:k.curre nt(),type: h||null,st ate:a?Ld(f .mode,j):j }}var h,f= a.doc,g=f. mode;b=Qa( f,b);var l ,i=hf(f,b. line),j=nb (a,b.line, c),k=new U d(i.text,a .options.t abSize);fo r(d&&(l=[] );(d||k.po s<b.ch)&&! k.eol();)k .start=k.p os,h=Je(g, k,j),d&&l. push(e(!0) );return d ?l:e()}fun ction Le(a ,b,c,d,e,f ,g){var h= c.flattenS pans;null= =h&&(h=a.o ptions.fla ttenSpans) ;var l,i=0 ,j=null,k= new Ud(b,a .options.t abSize),m= a.options. addModeCla ss&&[null] ;for(""==b &&He(Ie(c, d),f);!k.e ol();){if( k.pos>a.op tions.maxH ighlightLe ngth?(h=!1 ,g&&Oe(a,b ,d,k.pos), k.pos=b.le ngth,l=nul l):l=He(Je (c,k,d,m), f),m){var n=m[0].nam e;n&&(l="m -"+(l?n+" "+l:n))}if (!h||j!=l) {for(;i<k. start;)i=M ath.min(k. start,i+5e 4),e(i,j); j=l}k.star t=k.pos}fo r(;i<k.pos ;){var o=M ath.min(k. pos,i+5e4) ;e(o,j),i= o}}functio n Me(a,b,c ,d){var e= [a.state.m odeGen],f= {};Le(a,b. text,a.doc .mode,c,fu nction(a,b ){e.push(a ,b)},f,d); for(var g= 0;g<a.stat e.overlays .length;++ g){var h=a .state.ove rlays[g],i =1,j=0;Le( a,b.text,h .mode,!0,f unction(a, b){for(var c=i;a>j;) {var d=e[i ];d>a&&e.s plice(i,1, a,e[i+1],d ),i+=2,j=M ath.min(a, d)}if(b)if (h.opaque) e.splice(c ,i-c,a,"cm -overlay " +b),i=c+2; else for(; i>c;c+=2){ var f=e[c+ 1];e[c+1]= (f?f+" ":" ")+"cm-ove rlay "+b}} ,f)}return {styles:e, classes:f. bgClass||f .textClass ?f:null}}f unction Ne (a,b,c){if (!b.styles ||b.styles [0]!=a.sta te.modeGen ){var d=nb (a,mf(b)), e=Me(a,b,b .text.leng th>a.optio ns.maxHigh lightLengt h?Ld(a.doc .mode,d):d );b.stateA fter=d,b.s tyles=e.st yles,e.cla sses?b.sty leClasses= e.classes: b.styleCla sses&&(b.s tyleClasse s=null),c= ==a.doc.fr ontier&&a. doc.fronti er++}retur n b.styles }function Oe(a,b,c,d ){var e=a. doc.mode,f =new Ud(b, a.options. tabSize);f or(f.start =f.pos=d|| 0,""==b&&I e(e,c);!f. eol();)Je( e,f,c),f.s tart=f.pos }function Re(a,b){if (!a||/^\s* $/.test(a) )return nu ll;var c=b .addModeCl ass?Qe:Pe; return c[a ]||(c[a]=a .replace(/ \S+/g,"cm- $&"))}func tion Se(a, b){var c=t g("span",n ull,null,h ?"padding- right: .1p x":null),d ={pre:tg(" pre",[c]," CodeMirror -line"),co ntent:c,co l:0,pos:0, cm:a,split Spaces:(f| |h)&&a.get Option("li neWrapping ")};b.meas ure={};for (var e=0;e <=(b.rest? b.rest.len gth:0);e++ ){var i,g= e?b.rest[e -1]:b.line ;d.pos=0,d .addToken= Ue,Lg(a.di splay.meas ure)&&(i=p f(g))&&(d. addToken=W e(d.addTok en,i)),d.m ap=[];var j=b!=a.dis play.exter nalMeasure d&&mf(g);Y e(g,d,Ne(a ,g,j)),g.s tyleClasse s&&(g.styl eClasses.b gClass&&(d .bgClass=C g(g.styleC lasses.bgC lass,d.bgC lass||"")) ,g.styleCl asses.text Class&&(d. textClass= Cg(g.style Classes.te xtClass,d. textClass| |""))),0== d.map.leng th&&d.map. push(0,0,d .content.a ppendChild (Jg(a.disp lay.measur e))),0==e? (b.measure .map=d.map ,b.measure .cache={}) :((b.measu re.maps||( b.measure. maps=[])). push(d.map ),(b.measu re.caches| |(b.measur e.caches=[ ])).push({ }))}return h&&/\bcm- tab\b/.tes t(d.conten t.lastChil d.classNam e)&&(d.con tent.class Name="cm-t ab-wrap-ha ck"),Pf(a, "renderLin e",a,b.lin e,d.pre),d .pre.class Name&&(d.t extClass=C g(d.pre.cl assName,d. textClass| |"")),d}fu nction Te( a){var b=t g("span"," \u2022","c m-invalidc har");retu rn b.title ="\\u"+a.c harCodeAt( 0).toStrin g(16),b.se tAttribute ("aria-lab el",b.titl e),b}funct ion Ue(a,b ,c,d,e,h,i ){if(b){va r j=a.spli tSpaces?b. replace(/ {3,}/g,Ve) :b,k=a.cm. state.spec ialChars,l =!1;if(k.t est(b))for (var m=doc ument.crea teDocument Fragment() ,n=0;;){k. lastIndex= n;var o=k. exec(b),p= o?o.index- n:b.length -n;if(p){v ar q=docum ent.create TextNode(j .slice(n,n +p));f&&9> g?m.append Child(tg(" span",[q]) ):m.append Child(q),a .map.push( a.pos,a.po s+p,q),a.c ol+=p,a.po s+=p}if(!o )break;if( n+=p+1," "==o[0]){v ar r=a.cm. options.ta bSize,s=r- a.col%r,q= m.appendCh ild(tg("sp an",eg(s), "cm-tab")) ;q.setAttr ibute("rol e","presen tation"),q .setAttrib ute("cm-te xt"," "),a.col+= s}else if( "\r"==o[0] ||"\n"==o[ 0]){var q= m.appendCh ild(tg("sp an","\r"== o[0]?"\u24 0d":"\u242 4","cm-inv alidchar") );q.setAtt ribute("cm -text",o[0 ]),a.col+= 1}else{var q=a.cm.op tions.spec ialCharPla ceholder(o [0]);q.set Attribute( "cm-text", o[0]),f&&9 >g?m.appen dChild(tg( "span",[q] )):m.appen dChild(q), a.col+=1}a .map.push( a.pos,a.po s+1,q),a.p os++}else{ a.col+=b.l ength;var m=document .createTex tNode(j);a .map.push( a.pos,a.po s+b.length ,m),f&&9>g &&(l=!0),a .pos+=b.le ngth}if(c| |d||e||l|| i){var t=c ||"";d&&(t +=d),e&&(t +=e);var u =tg("span" ,[m],t,i); return h&& (u.title=h ),a.conten t.appendCh ild(u)}a.c ontent.app endChild(m )}}functio n Ve(a){fo r(var b=" ",c=0;c<a. length-2;+ +c)b+=c%2? " ":"\xa0" ;return b+ =" "}funct ion We(a,b ){return f unction(c, d,e,f,g,h, i){e=e?e+" cm-force- border":"c m-force-bo rder";for( var j=c.po s,k=j+d.le ngth;;){fo r(var l=0; l<b.length ;l++){var m=b[l];if( m.to>j&&m. from<=j)br eak}if(m.t o>=k)retur n a(c,d,e, f,g,h,i);a (c,d.slice (0,m.to-j) ,e,f,null, h,i),f=nul l,d=d.slic e(m.to-j), j=m.to}}}f unction Xe (a,b,c,d){ var e=!d&& c.widgetNo de;e&&a.ma p.push(a.p os,a.pos+b ,e),!d&&a. cm.display .input.nee dsContentA ttribute&& (e||(e=a.c ontent.app endChild(d ocument.cr eateElemen t("span")) ),e.setAtt ribute("cm -marker",c .id)),e&&( a.cm.displ ay.input.s etUneditab le(e),a.co ntent.appe ndChild(e) ),a.pos+=b }function Ye(a,b,c){ var d=a.ma rkedSpans, e=a.text,f =0;if(d)fo r(var k,l, n,o,p,q,r, h=e.length ,i=0,g=1,j ="",m=0;;) {if(m==i){ n=o=p=q=l= "",r=null, m=1/0;for( var s=[],t =0;t<d.len gth;++t){v ar u=d[t], v=u.marker ;"bookmark "==v.type& &u.from==i &&v.widget Node?s.pus h(v):u.fro m<=i&&(nul l==u.to||u .to>i||v.c ollapsed&& u.to==i&&u .from==i)? (null!=u.t o&&u.to!=i &&m>u.to&& (m=u.to,o= ""),v.clas sName&&(n+ =" "+v.cla ssName),v. css&&(l=v. css),v.sta rtStyle&&u .from==i&& (p+=" "+v. startStyle ),v.endSty le&&u.to== m&&(o+=" " +v.endStyl e),v.title &&!q&&(q=v .title),v. collapsed& &(!r||pe(r .marker,v) <0)&&(r=u) ):u.from>i &&m>u.from &&(m=u.fro m)}if(r&&( r.from||0) ==i){if(Xe (b,(null== r.to?h+1:r .to)-i,r.m arker,null ==r.from), null==r.to )return;r. to==i&&(r= !1)}if(!r& &s.length) for(var t= 0;t<s.leng th;++t)Xe( b,0,s[t])} if(i>=h)br eak;for(va r w=Math.m in(h,m);;) {if(j){var x=i+j.len gth;if(!r) {var y=x>w ?j.slice(0 ,w-i):j;b. addToken(b ,y,k?k+n:n ,p,i+y.len gth==m?o:" ",q,l)}if( x>=w){j=j. slice(w-i) ,i=w;break }i=x,p=""} j=e.slice( f,f=c[g++] ),k=Re(c[g ++],b.cm.o ptions)}}e lse for(va r g=1;g<c. length;g+= 2)b.addTok en(b,e.sli ce(f,f=c[g ]),Re(c[g+ 1],b.cm.op tions))}fu nction Ze( a,b){retur n 0==b.fro m.ch&&0==b .to.ch&&"" ==fg(b.tex t)&&(!a.cm ||a.cm.opt ions.whole LineUpdate Before)}fu nction $e( a,b,c,d){f unction e( a){return c?c[a]:nul l}function f(a,c,e){ Fe(a,c,e,d ),Rf(a,"ch ange",a,b) }function g(a,b){for (var c=a,f =[];b>c;++ c)f.push(n ew Ee(j[c] ,e(c),d)); return f}v ar h=b.fro m,i=b.to,j =b.text,k= hf(a,h.lin e),l=hf(a, i.line),m= fg(j),n=e( j.length-1 ),o=i.line -h.line;if (b.full)a. insert(0,g (0,j.lengt h)),a.remo ve(j.lengt h,a.size-j .length);e lse if(Ze( a,b)){var p=g(0,j.le ngth-1);f( l,l.text,n ),o&&a.rem ove(h.line ,o),p.leng th&&a.inse rt(h.line, p)}else if (k==l)if(1 ==j.length )f(k,k.tex t.slice(0, h.ch)+m+k. text.slice (i.ch),n); else{var p =g(1,j.len gth-1);p.p ush(new Ee (m+k.text. slice(i.ch ),n,d)),f( k,k.text.s lice(0,h.c h)+j[0],e( 0)),a.inse rt(h.line+ 1,p)}else if(1==j.le ngth)f(k,k .text.slic e(0,h.ch)+ j[0]+l.tex t.slice(i. ch),e(0)), a.remove(h .line+1,o) ;else{f(k, k.text.sli ce(0,h.ch) +j[0],e(0) ),f(l,m+l. text.slice (i.ch),n); var p=g(1, j.length-1 );o>1&&a.r emove(h.li ne+1,o-1), a.insert(h .line+1,p) }Rf(a,"cha nge",a,b)} function _ e(a){this. lines=a,th is.parent= null;for(v ar b=0,c=0 ;b<a.lengt h;++b)a[b] .parent=th is,c+=a[b] .height;th is.height= c}function af(a){thi s.children =a;for(var b=0,c=0,d =0;d<a.len gth;++d){v ar e=a[d]; b+=e.chunk Size(),c+= e.height,e .parent=th is}this.si ze=b,this. height=c,t his.parent =null}func tion ff(a, b,c){funct ion d(a,e, f){if(a.li nked)for(v ar g=0;g<a .linked.le ngth;++g){ var h=a.li nked[g];if (h.doc!=e) {var i=f&& h.sharedHi st;(!c||i) &&(b(h.doc ,i),d(h.do c,a,i))}}} d(a,null,! 0)}functio n gf(a,b){ if(b.cm)th row new Er ror("This document i s already in use."); a.doc=b,b. cm=a,D(a), z(a),a.opt ions.lineW rapping||J (a),a.opti ons.mode=b .modeOptio n,kc(a)}fu nction hf( a,b){if(b- =a.first,0 >b||b>=a.s ize)throw new Error( "There is no line "+ (b+a.first )+" in the document. ");for(var c=a;!c.li nes;)for(v ar d=0;;++ d){var e=c .children[ d],f=e.chu nkSize();i f(f>b){c=e ;break}b-= f}return c .lines[b]} function j f(a,b,c){v ar d=[],e= b.line;ret urn a.iter (b.line,c. line+1,fun ction(a){v ar f=a.tex t;e==c.lin e&&(f=f.sl ice(0,c.ch )),e==b.li ne&&(f=f.s lice(b.ch) ),d.push(f ),++e}),d} function k f(a,b,c){v ar d=[];re turn a.ite r(b,c,func tion(a){d. push(a.tex t)}),d}fun ction lf(a ,b){var c= b-a.height ;if(c)for( var d=a;d; d=d.parent )d.height+ =c}functio n mf(a){if (null==a.p arent)retu rn null;fo r(var b=a. parent,c=h g(b.lines, a),d=b.par ent;d;b=d, d=d.parent )for(var e =0;d.child ren[e]!=b; ++e)c+=d.c hildren[e] .chunkSize ();return c+b.first} function n f(a,b){var c=a.first ;a:do{for( var d=0;d< a.children .length;++ d){var e=a .children[ d],f=e.hei ght;if(f>b ){a=e;cont inue a}b-= f,c+=e.chu nkSize()}r eturn c}wh ile(!a.lin es);for(va r d=0;d<a. lines.leng th;++d){va r g=a.line s[d],h=g.h eight;if(h >b)break;b -=h}return c+d}funct ion of(a){ a=ue(a);fo r(var b=0, c=a.parent ,d=0;d<c.l ines.lengt h;++d){var e=c.lines [d];if(e== a)break;b+ =e.height} for(var f= c.parent;f ;c=f,f=c.p arent)for( var d=0;d< f.children .length;++ d){var g=f .children[ d];if(g==c )break;b+= g.height}r eturn b}fu nction pf( a){var b=a .order;ret urn null== b&&(b=a.or der=eh(a.t ext)),b}fu nction qf( a){this.do ne=[],this .undone=[] ,this.undo Depth=1/0, this.lastM odTime=thi s.lastSelT ime=0,this .lastOp=th is.lastSel Op=null,th is.lastOri gin=this.l astSelOrig in=null,th is.generat ion=this.m axGenerati on=a||1}fu nction rf( a,b){var c ={from:sa( b.from),to :dd(b),tex t:jf(a,b.f rom,b.to)} ;return yf (a,c,b.fro m.line,b.t o.line+1), ff(a,funct ion(a){yf( a,c,b.from .line,b.to .line+1)}, !0),c}func tion sf(a) {for(;a.le ngth;){var b=fg(a);i f(!b.range s)break;a. pop()}}fun ction tf(a ,b){return b?(sf(a.d one),fg(a. done)):a.d one.length &&!fg(a.do ne).ranges ?fg(a.done ):a.done.l ength>1&&! a.done[a.d one.length -2].ranges ?(a.done.p op(),fg(a. done)):voi d 0}functi on uf(a,b, c,d){var e =a.history ;e.undone. length=0;v ar g,f=+ne w Date;if( (e.lastOp= =d||e.last Origin==b. origin&&b. origin&&(" +"==b.orig in.charAt( 0)&&a.cm&& e.lastModT ime>f-a.cm .options.h istoryEven tDelay||"* "==b.origi n.charAt(0 )))&&(g=tf (e,e.lastO p==d))){va r h=fg(g.c hanges);0= =ra(b.from ,b.to)&&0= =ra(b.from ,h.to)?h.t o=dd(b):g. changes.pu sh(rf(a,b) )}else{var i=fg(e.do ne);for(i& &i.ranges| |xf(a.sel, e.done),g= {changes:[ rf(a,b)],g eneration: e.generati on},e.done .push(g);e .done.leng th>e.undoD epth;)e.do ne.shift() ,e.done[0] .ranges||e .done.shif t()}e.done .push(c),e .generatio n=++e.maxG eneration, e.lastModT ime=e.last SelTime=f, e.lastOp=e .lastSelOp =d,e.lastO rigin=e.la stSelOrigi n=b.origin ,h||Pf(a," historyAdd ed")}funct ion vf(a,b ,c,d){var e=b.charAt (0);return "*"==e||"+ "==e&&c.ra nges.lengt h==d.range s.length&& c.somethin gSelected( )==d.somet hingSelect ed()&&new Date-a.his tory.lastS elTime<=(a .cm?a.cm.o ptions.his toryEventD elay:500)} function w f(a,b,c,d) {var e=a.h istory,f=d &&d.origin ;c==e.last SelOp||f&& e.lastSelO rigin==f&& (e.lastMod Time==e.la stSelTime& &e.lastOri gin==f||vf (a,f,fg(e. done),b))? e.done[e.d one.length -1]=b:xf(b ,e.done),e .lastSelTi me=+new Da te,e.lastS elOrigin=f ,e.lastSel Op=c,d&&d. clearRedo! ==!1&&sf(e .undone)}f unction xf (a,b){var c=fg(b);c& &c.ranges& &c.equals( a)||b.push (a)}functi on yf(a,b, c,d){var e =b["spans_ "+a.id],f= 0;a.iter(M ath.max(a. first,c),M ath.min(a. first+a.si ze,d),func tion(c){c. markedSpan s&&((e||(e =b["spans_ "+a.id]={} ))[f]=c.ma rkedSpans) ,++f})}fun ction zf(a ){if(!a)re turn null; for(var c, b=0;b<a.le ngth;++b)a [b].marker .explicitl yCleared?c ||(c=a.sli ce(0,b)):c &&c.push(a [b]);retur n c?c.leng th?c:null: a}function Af(a,b){v ar c=b["sp ans_"+a.id ];if(!c)re turn null; for(var d= 0,e=[];d<b .text.leng th;++d)e.p ush(zf(c[d ]));return e}functio n Bf(a,b,c ){for(var d=0,e=[];d <a.length; ++d){var f =a[d];if(f .ranges)e. push(c?La. prototype. deepCopy.c all(f):f); else{var g =f.changes ,h=[];e.pu sh({change s:h});for( var i=0;i< g.length;+ +i){var k, j=g[i];if( h.push({fr om:j.from, to:j.to,te xt:j.text} ),b)for(va r l in j)( k=l.match( /^spans_(\ d+)$/))&&h g(b,Number (k[1]))>-1 &&(fg(h)[l ]=j[l],del ete j[l])} }}return e }function Cf(a,b,c,d ){c<a.line ?a.line+=d :b<a.line& &(a.line=b ,a.ch=0)}f unction Df (a,b,c,d){ for(var e= 0;e<a.leng th;++e){va r f=a[e],g =!0;if(f.r anges){f.c opied||(f= a[e]=f.dee pCopy(),f. copied=!0) ;for(var h =0;h<f.ran ges.length ;h++)Cf(f. ranges[h]. anchor,b,c ,d),Cf(f.r anges[h].h ead,b,c,d) }else{for( var h=0;h< f.changes. length;++h ){var i=f. changes[h] ;if(c<i.fr om.line)i. from=qa(i. from.line+ d,i.from.c h),i.to=qa (i.to.line +d,i.to.ch );else if( b<=i.to.li ne){g=!1;b reak}}g||( a.splice(0 ,e+1),e=0) }}}functio n Ef(a,b){ var c=b.fr om.line,d= b.to.line, e=b.text.l ength-(d-c )-1;Df(a.d one,c,d,e) ,Df(a.undo ne,c,d,e)} function H f(a){retur n null!=a. defaultPre vented?a.d efaultPrev ented:0==a .returnVal ue}functio n Jf(a){re turn a.tar get||a.src Element}fu nction Kf( a){var b=a .which;ret urn null== b&&(1&a.bu tton?b=1:2 &a.button? b=3:4&a.bu tton&&(b=2 )),q&&a.ct rlKey&&1== b&&(b=3),b }function Nf(a,b,c){ var d=a._h andlers&&a ._handlers [b];return c?d&&d.le ngth>0?d.s lice():Mf: d||Mf}func tion Rf(a, b){functio n f(a){ret urn functi on(){a.app ly(null,d) }}var c=Nf (a,b,!1);i f(c.length ){var e,d= Array.prot otype.slic e.call(arg uments,2); Vb?e=Vb.de layedCallb acks:Qf?e= Qf:(e=Qf=[ ],setTimeo ut(Sf,0)); for(var g= 0;g<c.leng th;++g)e.p ush(f(c[g] ))}}functi on Sf(){va r a=Qf;Qf= null;for(v ar b=0;b<a .length;++ b)a[b]()}f unction Tf (a,b,c){re turn"strin g"==typeof b&&(b={ty pe:b,preve ntDefault: function() {this.defa ultPrevent ed=!0}}),P f(a,c||b.t ype,a,b),H f(b)||b.co demirrorIg nore}funct ion Uf(a){ var b=a._h andlers&&a ._handlers .cursorAct ivity;if(b )for(var c =a.curOp.c ursorActiv ityHandler s||(a.curO p.cursorAc tivityHand lers=[]),d =0;d<b.len gth;++d)-1 ==hg(c,b[d ])&&c.push (b[d])}fun ction Vf(a ,b){return Nf(a,b).l ength>0}fu nction Wf( a){a.proto type.on=fu nction(a,b ){Lf(this, a,b)},a.pr ototype.of f=function (a,b){Of(t his,a,b)}} function a g(){this.i d=null}fun ction eg(a ){for(;dg. length<=a; )dg.push(f g(dg)+" ") ;return dg [a]}functi on fg(a){r eturn a[a. length-1]} function h g(a,b){for (var c=0;c <a.length; ++c)if(a[c ]==b)retur n c;return -1}functio n ig(a,b){ for(var c= [],d=0;d<a .length;d+ +)c[d]=b(a [d],d);ret urn c}func tion jg(){ }function kg(a,b){va r c;return Object.cr eate?c=Obj ect.create (a):(jg.pr ototype=a, c=new jg), b&&lg(b,c) ,c}functio n lg(a,b,c ){b||(b={} );for(var d in a)!a. hasOwnProp erty(d)||c ===!1&&b.h asOwnPrope rty(d)||(b [d]=a[d]); return b}f unction mg (a){var b= Array.prot otype.slic e.call(arg uments,1); return fun ction(){re turn a.app ly(null,b) }}function pg(a,b){r eturn b?b. source.ind exOf("\\w" )>-1&&og(a )?!0:b.tes t(a):og(a) }function qg(a){for( var b in a )if(a.hasO wnProperty (b)&&a[b]) return!1;r eturn!0}fu nction sg( a){return a.charCode At(0)>=768 &&rg.test( a)}functio n tg(a,b,c ,d){var e= document.c reateEleme nt(a);if(c &&(e.class Name=c),d& &(e.style. cssText=d) ,"string"= =typeof b) e.appendCh ild(docume nt.createT extNode(b) );else if( b)for(var f=0;f<b.le ngth;++f)e .appendChi ld(b[f]);r eturn e}fu nction vg( a){for(var b=a.child Nodes.leng th;b>0;--b )a.removeC hild(a.fir stChild);r eturn a}fu nction wg( a,b){retur n vg(a).ap pendChild( b)}functio n yg(){for (var a=doc ument.acti veElement; a&&a.root& &a.root.ac tiveElemen t;)a=a.roo t.activeEl ement;retu rn a}funct ion zg(a){ return new RegExp("( ^|\\s)"+a+ "(?:$|\\s) \\s*")}fun ction Cg(a ,b){for(va r c=a.spli t(" "),d=0 ;d<c.lengt h;d++)c[d] &&!zg(c[d] ).test(b)& &(b+=" "+c [d]);retur n b}functi on Dg(a){i f(document .body.getE lementsByC lassName)f or(var b=d ocument.bo dy.getElem entsByClas sName("Cod eMirror"), c=0;c<b.le ngth;c++){ var d=b[c] .CodeMirro r;d&&a(d)} }function Fg(){Eg||( Gg(),Eg=!0 )}function Gg(){var a;Lf(windo w,"resize" ,function( ){null==a& &(a=setTim eout(funct ion(){a=nu ll,Dg(tc)} ,100))}),L f(window," blur",func tion(){Dg( ad)})}func tion Jg(a) {if(null== Ig){var b= tg("span", "\u200b"); wg(a,tg("s pan",[b,do cument.cre ateTextNod e("x")])), 0!=a.first Child.offs etHeight&& (Ig=b.offs etWidth<=1 &&b.offset Height>2&& !(f&&8>g)) }var c=Ig? tg("span", "\u200b"): tg("span", "\xa0",nul l,"display : inline-b lock; widt h: 1px; ma rgin-right : -1px");r eturn c.se tAttribute ("cm-text" ,""),c}fun ction Lg(a ){if(null! =Kg)return Kg;var b= wg(a,docum ent.create TextNode(" A\u062eA") ),c=ug(b,0 ,1).getBou ndingClien tRect();if (!c||c.lef t==c.right )return!1; var d=ug(b ,1,2).getB oundingCli entRect(); return Kg= d.right-c. right<3}fu nction Qg( a){if(null !=Pg)retur n Pg;var b =wg(a,tg(" span","x") ),c=b.getB oundingCli entRect(), d=ug(b,0,1 ).getBound ingClientR ect();retu rn Pg=Math .abs(c.lef t-d.left)> 1}function Sg(a,b,c, d){if(!a)r eturn d(b, c,"ltr");f or(var e=! 1,f=0;f<a. length;++f ){var g=a[ f];(g.from <c&&g.to>b ||b==c&&g. to==b)&&(d (Math.max( g.from,b), Math.min(g .to,c),1== g.level?"r tl":"ltr") ,e=!0)}e|| d(b,c,"ltr ")}functio n Tg(a){re turn a.lev el%2?a.to: a.from}fun ction Ug(a ){return a .level%2?a .from:a.to }function Vg(a){var b=pf(a);re turn b?Tg( b[0]):0}fu nction Wg( a){var b=p f(a);retur n b?Ug(fg( b)):a.text .length}fu nction Xg( a,b){var c =hf(a.doc, b),d=ue(c) ;d!=c&&(b= mf(d));var e=pf(d),f =e?e[0].le vel%2?Wg(d ):Vg(d):0; return qa( b,f)}funct ion Yg(a,b ){for(var c,d=hf(a.d oc,b);c=se (d);)d=c.f ind(1,!0). line,b=nul l;var e=pf (d),f=e?e[ 0].level%2 ?Vg(d):Wg( d):d.text. length;ret urn qa(nul l==b?mf(d) :b,f)}func tion Zg(a, b){var c=X g(a,b.line ),d=hf(a.d oc,c.line) ,e=pf(d);i f(!e||0==e [0].level) {var f=Mat h.max(0,d. text.searc h(/\S/)),g =b.line==c .line&&b.c h<=f&&b.ch ;return qa (c.line,g? 0:f)}retur n c}functi on $g(a,b, c){var d=a [0].level; return b== d?!0:c==d? !1:c>b}fun ction ah(a ,b){_g=nul l;for(var d,c=0;c<a. length;++c ){var e=a[ c];if(e.fr om<b&&e.to >b)return c;if(e.fro m==b||e.to ==b){if(nu ll!=d)retu rn $g(a,e. level,a[d] .level)?(e .from!=e.t o&&(_g=d), c):(e.from !=e.to&&(_ g=c),d);d= c}}return d}function bh(a,b,c, d){if(!d)r eturn b+c; do b+=c;wh ile(b>0&&s g(a.text.c harAt(b))) ;return b} function c h(a,b,c,d) {var e=pf( a);if(!e)r eturn dh(a ,b,c,d);fo r(var f=ah (e,b),g=e[ f],h=bh(a, b,g.level% 2?-c:c,d); ;){if(h>g. from&&h<g. to)return h;if(h==g. from||h==g .to)return ah(e,h)== f?h:(g=e[f +=c],c>0== g.level%2? g.to:g.fro m);if(g=e[ f+=c],!g)r eturn null ;h=c>0==g. level%2?bh (a,g.to,-1 ,d):bh(a,g .from,1,d) }}function dh(a,b,c, d){var e=b +c;if(d)fo r(;e>0&&sg (a.text.ch arAt(e));) e+=c;retur n 0>e||e>a .text.leng th?null:e} var a=navi gator.user Agent,b=na vigator.pl atform,c=/ gecko\/\d/ i.test(a), d=/MSIE \d /.test(a), e=/Trident \/(?:[7-9] |\d{2,})\. .*rv:(\d+) /.exec(a), f=d||e,g=f &&(d?docum ent.docume ntMode||6: e[1]),h=/W ebKit\//.t est(a),i=h &&/Qt\/\d+ \.\d+/.tes t(a),j=/Ch rome\//.te st(a),k=/O pera\//.te st(a),l=/A pple Compu ter/.test( navigator. vendor),m= /Mac OS X 1\d\D([8-9 ]|\d\d)\D/ .test(a),n =/PhantomJ S/.test(a) ,o=/AppleW ebKit/.tes t(a)&&/Mob ile\/\w+/. test(a),p= o||/Androi d|webOS|Bl ackBerry|O pera Mini| Opera Mobi |IEMobile/ i.test(a), q=o||/Mac/ .test(b),r =/win/i.te st(b),s=k& &a.match(/ Version\/( \d*\.\d*)/ );s&&(s=Nu mber(s[1]) ),s&&s>=15 &&(k=!1,h= !0);var t= q&&(i||k&& (null==s|| 12.11>s)), u=c||f&&g> =9,v=!1,w= !1;M.proto type=lg({u pdate:func tion(a){va r b=a.scro llWidth>a. clientWidt h+1,c=a.sc rollHeight >a.clientH eight+1,d= a.nativeBa rWidth;if( c){this.ve rt.style.d isplay="bl ock",this. vert.style .bottom=b? d+"px":"0" ;var e=a.v iewHeight- (b?d:0);th is.vert.fi rstChild.s tyle.heigh t=Math.max (0,a.scrol lHeight-a. clientHeig ht+e)+"px" }else this .vert.styl e.display= "",this.ve rt.firstCh ild.style. height="0" ;if(b){thi s.horiz.st yle.displa y="block", this.horiz .style.rig ht=c?d+"px ":"0",this .horiz.sty le.left=a. barLeft+"p x";var f=a .viewWidth -a.barLeft -(c?d:0);t his.horiz. firstChild .style.wid th=a.scrol lWidth-a.c lientWidth +f+"px"}el se this.ho riz.style. display="" ,this.hori z.firstChi ld.style.w idth="0";r eturn!this .checkedZe roWidth&&a .clientHei ght>0&&(0= =d&&this.z eroWidthHa ck(),this. checkedZer oWidth=!0) ,{right:c? d:0,bottom :b?d:0}},s etScrollLe ft:functio n(a){this. horiz.scro llLeft!=a& &(this.hor iz.scrollL eft=a),thi s.disableH oriz&&this .enableZer oWidthBar( this.horiz ,this.disa bleHoriz)} ,setScroll Top:functi on(a){this .vert.scro llTop!=a&& (this.vert .scrollTop =a),this.d isableVert &&this.ena bleZeroWid thBar(this .vert,this .disableVe rt)},zeroW idthHack:f unction(){ var a=q&&! m?"12px":" 18px";this .horiz.sty le.height= this.vert. style.widt h=a,this.h oriz.style .pointerEv ents=this. vert.style .pointerEv ents="none ",this.dis ableHoriz= new ag,thi s.disableV ert=new ag },enableZe roWidthBar :function( a,b){funct ion c(){va r d=a.getB oundingCli entRect(), e=document .elementFr omPoint(d. left+1,d.b ottom-1);e !=a?a.styl e.pointerE vents="non e":b.set(1 e3,c)}a.st yle.pointe rEvents="a uto",b.set (1e3,c)},c lear:funct ion(){var a=this.hor iz.parentN ode;a.remo veChild(th is.horiz), a.removeCh ild(this.v ert)}},M.p rototype), N.prototyp e=lg({upda te:functio n(){return {bottom:0, right:0}}, setScrollL eft:functi on(){},set ScrollTop: function() {},clear:f unction(){ }},N.proto type),x.sc rollbarMod el={"nativ e":M,"null ":N},W.pro totype.sig nal=functi on(a,b){Vf (a,b)&&thi s.events.p ush(argume nts)},W.pr ototype.fi nish=funct ion(){for( var a=0;a< this.event s.length;a ++)Pf.appl y(null,thi s.events[a ])};var qa =x.Pos=fun ction(a,b) {return th is instanc eof qa?(th is.line=a, void(this. ch=b)):new qa(a,b)}, ra=x.cmpPo s=function (a,b){retu rn a.line- b.line||a. ch-b.ch},x a=null;Da. prototype= lg({init:f unction(a) {function h(a){if(c. somethingS elected()) xa=c.getSe lections() ,b.inaccur ateSelecti on&&(b.pre vInput="", b.inaccura teSelectio n=!1,e.val ue=xa.join ("\n"),gg( e));else{i f(!c.optio ns.lineWis eCopyCut)r eturn;var d=Ba(c);xa =d.text,"c ut"==a.typ e?c.setSel ections(d. ranges,nul l,Zf):(b.p revInput=" ",e.value= d.text.joi n("\n"),gg (e))}"cut" ==a.type&& (c.state.c utIncoming =!0)}var b =this,c=th is.cm,d=th is.wrapper =Ea(),e=th is.textare a=d.firstC hild;a.wra pper.inser tBefore(d, a.wrapper. firstChild ), | |||||
| 15 | o&&(e.styl e.width="0 px"),Lf(e, "input",fu nction(){f &&g>=9&&b. hasSelecti on&&(b.has Selection= null),b.po ll()}),Lf( e,"paste", function(a ){return z a(a,c)?!0: (c.state.p asteIncomi ng=!0,void b.fastPol l())}),Lf( e,"cut",h) ,Lf(e,"cop y",h),Lf(a .scroller, "paste",fu nction(d){ uc(a,d)||( c.state.pa steIncomin g=!0,b.foc us())}),Lf (a.lineSpa ce,"select start",fun ction(b){u c(a,b)||Ff (b)}),Lf(e ,"composit ionstart", function() {var a=c.g etCursor(" from");b.c omposing&& b.composin g.range.cl ear(),b.co mposing={s tart:a,ran ge:c.markT ext(a,c.ge tCursor("t o"),{class Name:"Code Mirror-com posing"})} }),Lf(e,"c omposition end",funct ion(){b.co mposing&&( b.poll(),b .composing .range.cle ar(),b.com posing=nul l)})},prep areSelecti on:functio n(){var a= this.cm,b= a.display, c=a.doc,d= gb(a);if(a .options.m oveInputWi thCursor){ var e=Nb(a ,c.sel.pri mary().hea d,"div"),f =b.wrapper .getBoundi ngClientRe ct(),g=b.l ineDiv.get BoundingCl ientRect() ;d.teTop=M ath.max(0, Math.min(b .wrapper.c lientHeigh t-10,e.top +g.top-f.t op)),d.teL eft=Math.m ax(0,Math. min(b.wrap per.client Width-10,e .left+g.le ft-f.left) )}return d },showSele ction:func tion(a){va r b=this.c m,c=b.disp lay;wg(c.c ursorDiv,a .cursors), wg(c.selec tionDiv,a. selection) ,null!=a.t eTop&&(thi s.wrapper. style.top= a.teTop+"p x",this.wr apper.styl e.left=a.t eLeft+"px" )},reset:f unction(a) {if(!this. contextMen uPending){ var b,c,d= this.cm,e= d.doc;if(d .something Selected() ){this.pre vInput=""; var h=e.se l.primary( );b=Og&&(h .to().line -h.from(). line>100|| (c=d.getSe lection()) .length>1e 3);var i=b ?"-":c||d. getSelecti on();this. textarea.v alue=i,d.s tate.focus ed&&gg(thi s.textarea ),f&&g>=9& &(this.has Selection= i)}else a| |(this.pre vInput=thi s.textarea .value="", f&&g>=9&&( this.hasSe lection=nu ll));this. inaccurate Selection= b}},getFie ld:functio n(){return this.text area},supp ortsTouch: function() {return!1} ,focus:fun ction(){if ("nocursor "!=this.cm .options.r eadOnly&&( !p||yg()!= this.texta rea))try{t his.textar ea.focus() }catch(a){ }},blur:fu nction(){t his.textar ea.blur()} ,resetPosi tion:funct ion(){this .wrapper.s tyle.top=t his.wrappe r.style.le ft=0},rece ivedFocus: function() {this.slow Poll()},sl owPoll:fun ction(){va r a=this;a .pollingFa st||a.poll ing.set(th is.cm.opti ons.pollIn terval,fun ction(){a. poll(),a.c m.state.fo cused&&a.s lowPoll()} )},fastPol l:function (){functio n c(){var d=b.poll() ;d||a?(b.p ollingFast =!1,b.slow Poll()):(a =!0,b.poll ing.set(60 ,c))}var a =!1,b=this ;b.polling Fast=!0,b. polling.se t(20,c)},p oll:functi on(){var a =this.cm,b =this.text area,c=thi s.prevInpu t;if(this. contextMen uPending|| !a.state.f ocused||Ng (b)&&!c&&! this.compo sing||wa(a )||a.optio ns.disable Input||a.s tate.keySe q)return!1 ;var d=b.v alue;if(d= =c&&!a.som ethingSele cted())ret urn!1;if(f &&g>=9&&th is.hasSele ction===d| |q&&/[\uf7 00-\uf7ff] /.test(d)) return a.d isplay.inp ut.reset() ,!1;if(a.d oc.sel==a. display.se lForContex tMenu){var e=d.charC odeAt(0);i f(8203!=e| |c||(c="\u 200b"),866 6==e)retur n this.res et(),this. cm.execCom mand("undo ")}for(var h=0,i=Mat h.min(c.le ngth,d.len gth);i>h&& c.charCode At(h)==d.c harCodeAt( h);)++h;va r j=this;r eturn ec(a ,function( ){ya(a,d.s lice(h),c. length-h,n ull,j.comp osing?"*co mpose":nul l),d.lengt h>1e3||d.i ndexOf("\n ")>-1?b.va lue=j.prev Input="":j .prevInput =d,j.compo sing&&(j.c omposing.r ange.clear (),j.compo sing.range =a.markTex t(j.compos ing.start, a.getCurso r("to"),{c lassName:" CodeMirror -composing "}))}),!0} ,ensurePol led:functi on(){this. pollingFas t&&this.po ll()&&(thi s.pollingF ast=!1)},o nKeyPress: function() {f&&g>=9&& (this.hasS election=n ull),this. fastPoll() },onContex tMenu:func tion(a){fu nction o() {if(null!= e.selectio nStart){va r a=c.some thingSelec ted(),f="\ u200b"+(a? e.value:"" );e.value= "\u21da",e .value=f,b .prevInput =a?"":"\u2 00b",e.sel ectionStar t=1,e.sele ctionEnd=f .length,d. selForCont extMenu=c. doc.sel}}f unction p( ){if(b.con textMenuPe nding=!1,b .wrapper.s tyle.posit ion="relat ive",e.sty le.cssText =m,f&&9>g& &d.scrollb ars.setScr ollTop(d.s croller.sc rollTop=j) ,null!=e.s electionSt art){(!f|| f&&9>g)&&o ();var a=0 ,h=functio n(){d.selF orContextM enu==c.doc .sel&&0==e .selection Start&&e.s electionEn d>0&&"\u20 0b"==b.pre vInput?fc( c,Nd.selec tAll)(c):a ++<10?d.de tectingSel ectAll=set Timeout(h, 500):d.inp ut.reset() };d.detect ingSelectA ll=setTime out(h,200) }}var b=th is,c=b.cm, d=c.displa y,e=b.text area,i=vc( c,a),j=d.s croller.sc rollTop;if (i&&!k){va r l=c.opti ons.resetS electionOn ContextMen u;l&&-1==c .doc.sel.c ontains(i) &&fc(c,_a) (c.doc,Oa( i),Zf);var m=e.style .cssText;i f(b.wrappe r.style.po sition="ab solute",e. style.cssT ext="posit ion: fixed ; width: 3 0px; heigh t: 30px; t op: "+(a.c lientY-5)+ "px; left: "+(a.clie ntX-5)+"px ; z-index: 1000; bac kground: " +(f?"rgba( 255, 255, 255, .05)" :"transpar ent")+"; o utline: no ne; border -width: 0; outline: none; over flow: hidd en; opacit y: .05; fi lter: alph a(opacity= 5);",h)var n=window. scrollY;if (d.input.f ocus(),h&& window.scr ollTo(null ,n),d.inpu t.reset(), c.somethin gSelected( )||(e.valu e=b.prevIn put=" "),b .contextMe nuPending= !0,d.selFo rContextMe nu=c.doc.s el,clearTi meout(d.de tectingSel ectAll),f& &g>=9&&o() ,u){If(a); var q=func tion(){Of( window,"mo useup",q), setTimeout (p,20)};Lf (window,"m ouseup",q) }else setT imeout(p,5 0)}},readO nlyChanged :function( a){a||this .reset()}, setUnedita ble:jg,nee dsContentA ttribute:! 1},Da.prot otype),Fa. prototype= lg({init:f unction(a) {function e(a){if(c. somethingS elected()) xa=c.getSe lections() ,"cut"==a. type&&c.re placeSelec tion("",nu ll,"cut"); else{if(!c .options.l ineWiseCop yCut)retur n;var b=Ba (c);xa=b.t ext,"cut"= =a.type&&c .operation (function( ){c.setSel ections(b. ranges,0,Z f),c.repla ceSelectio n("",null, "cut")})}i f(a.clipbo ardData&&! o)a.preven tDefault() ,a.clipboa rdData.cle arData(),a .clipboard Data.setDa ta("text/p lain",xa.j oin("\n")) ;else{var d=Ea(),e=d .firstChil d;c.displa y.lineSpac e.insertBe fore(d,c.d isplay.lin eSpace.fir stChild),e .value=xa. join("\n") ;var f=doc ument.acti veElement; gg(e),setT imeout(fun ction(){c. display.li neSpace.re moveChild( d),f.focus ()},50)}}v ar b=this, c=b.cm,d=b .div=a.lin eDiv;Ca(d) ,Lf(d,"pas te",functi on(a){za(a ,c)}),Lf(d ,"composit ionstart", function(a ){var d=a. data;if(b. composing= {sel:c.doc .sel,data: d,startDat a:d},d){va r e=c.doc. sel.primar y(),f=c.ge tLine(e.he ad.line),g =f.indexOf (d,Math.ma x(0,e.head .ch-d.leng th));g>-1& &g<=e.head .ch&&(b.co mposing.se l=Oa(qa(e. head.line, g),qa(e.he ad.line,g+ d.length)) )}}),Lf(d, "compositi onupdate", function(a ){b.compos ing.data=a .data}),Lf (d,"compos itionend", function(a ){var c=b. composing; c&&(a.data ==c.startD ata||/\u20 0b/.test(a .data)||(c .data=a.da ta),setTim eout(funct ion(){c.ha ndled||b.a pplyCompos ition(c),b .composing ==c&&(b.co mposing=nu ll)},50))} ),Lf(d,"to uchstart", function() {b.forceCo mpositionE nd()}),Lf( d,"input", function() {b.composi ng||(wa(c) ||!b.pollC ontent())& &ec(b.cm,f unction(){ kc(c)})}), Lf(d,"copy ",e),Lf(d, "cut",e)}, prepareSel ection:fun ction(){va r a=gb(thi s.cm,!1);r eturn a.fo cus=this.c m.state.fo cused,a},s howSelecti on:functio n(a){a&&th is.cm.disp lay.view.l ength&&(a. focus&&thi s.showPrim arySelecti on(),this. showMultip leSelectio ns(a))},sh owPrimaryS election:f unction(){ var a=wind ow.getSele ction(),b= this.cm.do c.sel.prim ary(),d=Ia (this.cm,a .anchorNod e,a.anchor Offset),e= Ia(this.cm ,a.focusNo de,a.focus Offset);if (!d||d.bad ||!e||e.ba d||0!=ra(u a(d,e),b.f rom())||0! =ra(ta(d,e ),b.to())) {var f=Ga( this.cm,b. from()),g= Ga(this.cm ,b.to());i f(f||g){va r h=this.c m.display. view,i=a.r angeCount& &a.getRang eAt(0);if( f){if(!g){ var j=h[h. length-1]. measure,k= j.maps?j.m aps[j.maps .length-1] :j.map;g={ node:k[k.l ength-1],o ffset:k[k. length-2]- k[k.length -3]}}}else f={node:h [0].measur e.map[2],o ffset:0};t ry{var l=u g(f.node,f .offset,g. offset,g.n ode)}catch (m){}l&&(a .removeAll Ranges(),a .addRange( l),i&&null ==a.anchor Node?a.add Range(i):c &&this.sta rtGracePer iod()),thi s.remember Selection( )}}},start GracePerio d:function (){var a=t his;clearT imeout(thi s.gracePer iod),this. gracePerio d=setTimeo ut(functio n(){a.grac ePeriod=!1 ,a.selecti onChanged( )&&a.cm.op eration(fu nction(){a .cm.curOp. selectionC hanged=!0} )},20)},sh owMultiple Selections :function( a){wg(this .cm.displa y.cursorDi v,a.cursor s),wg(this .cm.displa y.selectio nDiv,a.sel ection)},r ememberSel ection:fun ction(){va r a=window .getSelect ion();this .lastAncho rNode=a.an chorNode,t his.lastAn chorOffset =a.anchorO ffset,this .lastFocus Node=a.foc usNode,thi s.lastFocu sOffset=a. focusOffse t},selecti onInEditor :function( ){var a=wi ndow.getSe lection(); if(!a.rang eCount)ret urn!1;var b=a.getRan geAt(0).co mmonAncest orContaine r;return x g(this.div ,b)},focus :function( ){"nocurso r"!=this.c m.options. readOnly&& this.div.f ocus()},bl ur:functio n(){this.d iv.blur()} ,getField: function() {return th is.div},su pportsTouc h:function (){return! 0},receive dFocus:fun ction(){fu nction b() {a.cm.stat e.focused& &(a.pollSe lection(), a.polling. set(a.cm.o ptions.pol lInterval, b))}var a= this;this. selectionI nEditor()? this.pollS election() :ec(this.c m,function (){a.cm.cu rOp.select ionChanged =!0}),this .polling.s et(this.cm .options.p ollInterva l,b)},sele ctionChang ed:functio n(){var a= window.get Selection( );return a .anchorNod e!=this.la stAnchorNo de||a.anch orOffset!= this.lastA nchorOffse t||a.focus Node!=this .lastFocus Node||a.fo cusOffset! =this.last FocusOffse t},pollSel ection:fun ction(){if (!this.com posing&&!t his.graceP eriod&&thi s.selectio nChanged() ){var a=wi ndow.getSe lection(), b=this.cm; this.remem berSelecti on();var c =Ia(b,a.an chorNode,a .anchorOff set),d=Ia( b,a.focusN ode,a.focu sOffset);c &&d&&ec(b, function() {_a(b.doc, Oa(c,d),Zf ),(c.bad|| d.bad)&&(b .curOp.sel ectionChan ged=!0)})} },pollCont ent:functi on(){var a =this.cm,b =a.display ,c=a.doc.s el.primary (),d=c.fro m(),e=c.to ();if(d.li ne<b.viewF rom||e.lin e>b.viewTo -1)return! 1;var f;if (d.line==b .viewFrom| |0==(f=nc( a,d.line)) )var g=mf( b.view[0]. line),h=b. view[0].no de;else va r g=mf(b.v iew[f].lin e),h=b.vie w[f-1].nod e.nextSibl ing;var i= nc(a,e.lin e);if(i==b .view.leng th-1)var j =b.viewTo- 1,k=b.line Div.lastCh ild;else v ar j=mf(b. view[i+1]. line)-1,k= b.view[i+1 ].node.pre viousSibli ng;for(var l=a.doc.s plitLines( Ka(a,h,k,g ,j)),m=jf( a.doc,qa(g ,0),qa(j,h f(a.doc,j) .text.leng th));l.len gth>1&&m.l ength>1;)i f(fg(l)==f g(m))l.pop (),m.pop() ,j--;else{ if(l[0]!=m [0])break; l.shift(), m.shift(), g++}for(va r n=0,o=0, p=l[0],q=m [0],r=Math .min(p.len gth,q.leng th);r>n&&p .charCodeA t(n)==q.ch arCodeAt(n );)++n;for (var s=fg( l),t=fg(m) ,u=Math.mi n(s.length -(1==l.len gth?n:0),t .length-(1 ==m.length ?n:0));u>o &&s.charCo deAt(s.len gth-o-1)== t.charCode At(t.lengt h-o-1);)++ o;l[l.leng th-1]=s.sl ice(0,s.le ngth-o),l[ 0]=l[0].sl ice(n);var v=qa(g,n) ,w=qa(j,m. length?fg( m).length- o:0);retur n l.length >1||l[0]|| ra(v,w)?(p d(a.doc,l, v,w,"+inpu t"),!0):vo id 0},ensu rePolled:f unction(){ this.force Compositio nEnd()},re set:functi on(){this. forceCompo sitionEnd( )},forceCo mpositionE nd:functio n(){this.c omposing&& !this.comp osing.hand led&&(this .applyComp osition(th is.composi ng),this.c omposing.h andled=!0, this.div.b lur(),this .div.focus ())},apply Compositio n:function (a){wa(thi s.cm)?fc(t his.cm,kc) (this.cm): a.data&&a. data!=a.st artData&&f c(this.cm, ya)(this.c m,a.data,0 ,a.sel)},s etUneditab le:functio n(a){a.con tentEditab le="false" },onKeyPre ss:functio n(a){a.pre ventDefaul t(),wa(thi s.cm)||fc( this.cm,ya )(this.cm, String.fro mCharCode( null==a.ch arCode?a.k eyCode:a.c harCode),0 )},readOnl yChanged:f unction(a) {this.div. contentEdi table=Stri ng("nocurs or"!=a)},o nContextMe nu:jg,rese tPosition: jg,needsCo ntentAttri bute:!0},F a.prototyp e),x.input Styles={te xtarea:Da, contentedi table:Fa}, La.prototy pe={primar y:function (){return this.range s[this.pri mIndex]},e quals:func tion(a){if (a==this)r eturn!0;if (a.primInd ex!=this.p rimIndex|| a.ranges.l ength!=thi s.ranges.l ength)retu rn!1;for(v ar b=0;b<t his.ranges .length;b+ +){var c=t his.ranges [b],d=a.ra nges[b];if (0!=ra(c.a nchor,d.an chor)||0!= ra(c.head, d.head))re turn!1}ret urn!0},dee pCopy:func tion(){for (var a=[], b=0;b<this .ranges.le ngth;b++)a [b]=new Ma (sa(this.r anges[b].a nchor),sa( this.range s[b].head) );return n ew La(a,th is.primInd ex)},somet hingSelect ed:functio n(){for(va r a=0;a<th is.ranges. length;a++ )if(!this. ranges[a]. empty())re turn!0;ret urn!1},con tains:func tion(a,b){ b||(b=a);f or(var c=0 ;c<this.ra nges.lengt h;c++){var d=this.ra nges[c];if (ra(b,d.fr om())>=0&& ra(a,d.to( ))<=0)retu rn c}retur n-1}},Ma.p rototype={ from:funct ion(){retu rn ua(this .anchor,th is.head)}, to:functio n(){return ta(this.a nchor,this .head)},em pty:functi on(){retur n this.hea d.line==th is.anchor. line&&this .head.ch== this.ancho r.ch}};var Sb,xc,yc, Bb={left:0 ,right:0,t op:0,botto m:0},Vb=nu ll,Wb=0,Ec =0,Lc=0,Mc =null;f?Mc =-.53:c?Mc =15:j?Mc=- .7:l&&(Mc= -1/3);var Nc=functio n(a){var b =a.wheelDe ltaX,c=a.w heelDeltaY ;return nu ll==b&&a.d etail&&a.a xis==a.HOR IZONTAL_AX IS&&(b=a.d etail),nul l==c&&a.de tail&&a.ax is==a.VERT ICAL_AXIS? c=a.detail :null==c&& (c=a.wheel Delta),{x: b,y:c}};x. wheelEvent Pixels=fun ction(a){v ar b=Nc(a) ;return b. x*=Mc,b.y* =Mc,b};var Rc=new ag ,Vc=null,d d=x.change End=functi on(a){retu rn a.text? qa(a.from. line+a.tex t.length-1 ,fg(a.text ).length+( 1==a.text. length?a.f rom.ch:0)) :a.to};x.p rototype={ constructo r:x,focus: function() {window.fo cus(),this .display.i nput.focus ()},setOpt ion:functi on(a,b){va r c=this.o ptions,d=c [a];(c[a]! =b||"mode" ==a)&&(c[a ]=b,Dd.has OwnPropert y(a)&&fc(t his,Dd[a]) (this,b,d) )},getOpti on:functio n(a){retur n this.opt ions[a]},g etDoc:func tion(){ret urn this.d oc},addKey Map:functi on(a,b){th is.state.k eyMaps[b?" push":"uns hift"](Td( a))},remov eKeyMap:fu nction(a){ for(var b= this.state .keyMaps,c =0;c<b.len gth;++c)if (b[c]==a|| b[c].name= =a)return b.splice(c ,1),!0},ad dOverlay:g c(function (a,b){var c=a.token? a:x.getMod e(this.opt ions,a);if (c.startSt ate)throw new Error( "Overlays may not be stateful. ");this.st ate.overla ys.push({m ode:c,mode Spec:a,opa que:b&&b.o paque}),th is.state.m odeGen++,k c(this)}), removeOver lay:gc(fun ction(a){f or(var b=t his.state. overlays,c =0;c<b.len gth;++c){v ar d=b[c]. modeSpec;i f(d==a||"s tring"==ty peof a&&d. name==a)re turn b.spl ice(c,1),t his.state. modeGen++, void kc(th is)}}),ind entLine:gc (function( a,b,c){"st ring"!=typ eof b&&"nu mber"!=typ eof b&&(b= null==b?th is.options .smartInde nt?"smart" :"prev":b? "add":"sub tract"),Sa (this.doc, a)&&xd(thi s,a,b,c)}) ,indentSel ection:gc( function(a ){for(var b=this.doc .sel.range s,c=-1,d=0 ;d<b.lengt h;d++){var e=b[d];if (e.empty() )e.head.li ne>c&&(xd( this,e.hea d.line,a,! 0),c=e.hea d.line,d== this.doc.s el.primInd ex&&vd(thi s));else{v ar f=e.fro m(),g=e.to (),h=Math. max(c,f.li ne);c=Math .min(this. lastLine() ,g.line-(g .ch?0:1))+ 1;for(var i=h;c>i;++ i)xd(this, i,a);var j =this.doc. sel.ranges ;0==f.ch&& b.length== j.length&& j[d].from( ).ch>0&&Xa (this.doc, d,new Ma(f ,j[d].to() ),Zf)}}}), getTokenAt :function( a,b){retur n Ke(this, a,b)},getL ineTokens: function(a ,b){return Ke(this,q a(a),b,!0) },getToken TypeAt:fun ction(a){a =Qa(this.d oc,a);var f,b=Ne(thi s,hf(this. doc,a.line )),c=0,d=( b.length-1 )/2,e=a.ch ;if(0==e)f =b[2];else for(;;){v ar g=c+d>> 1;if((g?b[ 2*g-1]:0)> =e)d=g;els e{if(!(b[2 *g+1]<e)){ f=b[2*g+2] ;break}c=g +1}}var h= f?f.indexO f("cm-over lay "):-1; return 0>h ?f:0==h?nu ll:f.slice (0,h-1)},g etModeAt:f unction(a) {var b=thi s.doc.mode ;return b. innerMode? x.innerMod e(b,this.g etTokenAt( a).state). mode:b},ge tHelper:fu nction(a,b ){return t his.getHel pers(a,b)[ 0]},getHel pers:funct ion(a,b){v ar c=[];if (!Kd.hasOw nProperty( b))return c;var d=Kd [b],e=this .getModeAt (a);if("st ring"==typ eof e[b])d [e[b]]&&c. push(d[e[b ]]);else i f(e[b])for (var f=0;f <e[b].leng th;f++){va r g=d[e[b] [f]];g&&c. push(g)}el se e.helpe rType&&d[e .helperTyp e]?c.push( d[e.helper Type]):d[e .name]&&c. push(d[e.n ame]);for( var f=0;f< d._global. length;f++ ){var h=d. _global[f] ;h.pred(e, this)&&-1= =hg(c,h.va l)&&c.push (h.val)}re turn c},ge tStateAfte r:function (a,b){var c=this.doc ;return a= Pa(c,null= =a?c.first +c.size-1: a),nb(this ,a+1,b)},c ursorCoord s:function (a,b){var c,d=this.d oc.sel.pri mary();ret urn c=null ==a?d.head :"object"= =typeof a? Qa(this.do c,a):a?d.f rom():d.to (),Nb(this ,c,b||"pag e")},charC oords:func tion(a,b){ return Mb( this,Qa(th is.doc,a), b||"page") },coordsCh ar:functio n(a,b){ret urn a=Lb(t his,a,b||" page"),Qb( this,a.lef t,a.top)}, lineAtHeig ht:functio n(a,b){ret urn a=Lb(t his,{top:a ,left:0},b ||"page"). top,nf(thi s.doc,a+th is.display .viewOffse t)},height AtLine:fun ction(a,b) {var d,c=! 1;if("numb er"==typeo f a){var e =this.doc. first+this .doc.size- 1;a<this.d oc.first?a =this.doc. first:a>e& &(a=e,c=!0 ),d=hf(thi s.doc,a)}e lse d=a;re turn Kb(th is,d,{top: 0,left:0}, b||"page") .top+(c?th is.doc.hei ght-of(d): 0)},defaul tTextHeigh t:function (){return Tb(this.di splay)},de faultCharW idth:funct ion(){retu rn Ub(this .display)} ,setGutter Marker:gc( function(a ,b,c){retu rn yd(this .doc,a,"gu tter",func tion(a){va r d=a.gutt erMarkers| |(a.gutter Markers={} );return d [b]=c,!c&& qg(d)&&(a. gutterMark ers=null), !0})}),cle arGutter:g c(function (a){var b= this,c=b.d oc,d=c.fir st;c.iter( function(c ){c.gutter Markers&&c .gutterMar kers[a]&&( c.gutterMa rkers[a]=n ull,lc(b,d ,"gutter") ,qg(c.gutt erMarkers) &&(c.gutte rMarkers=n ull)),++d} )}),lineIn fo:functio n(a){if("n umber"==ty peof a){if (!Sa(this. doc,a))ret urn null;v ar b=a;if( a=hf(this. doc,a),!a) return nul l}else{var b=mf(a);i f(null==b) return nul l}return{l ine:b,hand le:a,text: a.text,gut terMarkers :a.gutterM arkers,tex tClass:a.t extClass,b gClass:a.b gClass,wra pClass:a.w rapClass,w idgets:a.w idgets}},g etViewport :function( ){return{f rom:this.d isplay.vie wFrom,to:t his.displa y.viewTo}} ,addWidget :function( a,b,c,d,e) {var f=thi s.display; a=Nb(this, Qa(this.do c,a));var g=a.bottom ,h=a.left; if(b.style .position= "absolute" ,b.setAttr ibute("cm- ignore-eve nts","true "),this.di splay.inpu t.setUnedi table(b),f .sizer.app endChild(b ),"over"== d)g=a.top; else if("a bove"==d|| "near"==d) {var i=Mat h.max(f.wr apper.clie ntHeight,t his.doc.he ight),j=Ma th.max(f.s izer.clien tWidth,f.l ineSpace.c lientWidth );("above" ==d||a.bot tom+b.offs etHeight>i )&&a.top>b .offsetHei ght?g=a.to p-b.offset Height:a.b ottom+b.of fsetHeight <=i&&(g=a. bottom),h+ b.offsetWi dth>j&&(h= j-b.offset Width)}b.s tyle.top=g +"px",b.st yle.left=b .style.rig ht="","rig ht"==e?(h= f.sizer.cl ientWidth- b.offsetWi dth,b.styl e.right="0 px"):("lef t"==e?h=0: "middle"== e&&(h=(f.s izer.clien tWidth-b.o ffsetWidth )/2),b.sty le.left=h+ "px"),c&&s d(this,h,g ,h+b.offse tWidth,g+b .offsetHei ght)},trig gerOnKeyDo wn:gc(Wc), triggerOnK eyPress:gc (Zc),trigg erOnKeyUp: Yc,execCom mand:funct ion(a){ret urn Nd.has OwnPropert y(a)?Nd[a] .call(null ,this):voi d 0},trigg erElectric :gc(functi on(a){Aa(t his,a)}),f indPosH:fu nction(a,b ,c,d){var e=1;0>b&&( e=-1,b=-b) ;for(var f =0,g=Qa(th is.doc,a); b>f&&(g=Ad (this.doc, g,e,c,d),! g.hitSide) ;++f);retu rn g},move H:gc(funct ion(a,b){v ar c=this; c.extendSe lectionsBy (function( d){return c.display. shift||c.d oc.extend| |d.empty() ?Ad(c.doc, d.head,a,b ,c.options .rtlMoveVi sually):0> a?d.from() :d.to()},_ f)}),delet eH:gc(func tion(a,b){ var c=this .doc.sel,d =this.doc; c.somethin gSelected( )?d.replac eSelection ("",null," +delete"): zd(this,fu nction(c){ var e=Ad(d ,c.head,a, b,!1);retu rn 0>a?{fr om:e,to:c. head}:{fro m:c.head,t o:e}})}),f indPosV:fu nction(a,b ,c,d){var e=1,f=d;0> b&&(e=-1,b =-b);for(v ar g=0,h=Q a(this.doc ,a);b>g;++ g){var i=N b(this,h," div");if(n ull==f?f=i .left:i.le ft=f,h=Bd( this,i,e,c ),h.hitSid e)break}re turn h},mo veV:gc(fun ction(a,b) {var c=thi s,d=this.d oc,e=[],f= !c.display .shift&&!d .extend&&d .sel.somet hingSelect ed();if(d. extendSele ctionsBy(f unction(g) {if(f)retu rn 0>a?g.f rom():g.to ();var h=N b(c,g.head ,"div");nu ll!=g.goal Column&&(h .left=g.go alColumn), e.push(h.l eft);var i =Bd(c,h,a, b);return" page"==b&& g==d.sel.p rimary()&& ud(c,null, Mb(c,i,"di v").top-h. top),i},_f ),e.length )for(var g =0;g<d.sel .ranges.le ngth;g++)d .sel.range s[g].goalC olumn=e[g] }),findWor dAt:functi on(a){var b=this.doc ,c=hf(b,a. line).text ,d=a.ch,e= a.ch;if(c) {var f=thi s.getHelpe r(a,"wordC hars");(a. xRel<0||e= =c.length) &&d?--d:++ e;for(var g=c.charAt (d),h=pg(g ,f)?functi on(a){retu rn pg(a,f) }:/\s/.tes t(g)?funct ion(a){ret urn/\s/.te st(a)}:fun ction(a){r eturn!/\s/ .test(a)&& !pg(a)};d> 0&&h(c.cha rAt(d-1)); )--d;for(; e<c.length &&h(c.char At(e));)++ e}return n ew Ma(qa(a .line,d),q a(a.line,e ))},toggle Overwrite: function(a ){(null==a ||a!=this. state.over write)&&(( this.state .overwrite =!this.sta te.overwri te)?Bg(thi s.display. cursorDiv, "CodeMirro r-overwrit e"):Ag(thi s.display. cursorDiv, "CodeMirro r-overwrit e"),Pf(thi s,"overwri teToggle", this,this. state.over write))},h asFocus:fu nction(){r eturn this .display.i nput.getFi eld()==yg( )},scrollT o:gc(funct ion(a,b){( null!=a||n ull!=b)&&w d(this),nu ll!=a&&(th is.curOp.s crollLeft= a),null!=b &&(this.cu rOp.scroll Top=b)}),g etScrollIn fo:functio n(){var a= this.displ ay.scrolle r;return{l eft:a.scro llLeft,top :a.scrollT op,height: a.scrollHe ight-rb(th is)-this.d isplay.bar Height,wid th:a.scrol lWidth-rb( this)-this .display.b arWidth,cl ientHeight :tb(this), clientWidt h:sb(this) }},scrollI ntoView:gc (function( a,b){if(nu ll==a?(a={ from:this. doc.sel.pr imary().he ad,to:null },null==b& &(b=this.o ptions.cur sorScrollM argin)):"n umber"==ty peof a?a={ from:qa(a, 0),to:null }:null==a. from&&(a={ from:a,to: null}),a.t o||(a.to=a .from),a.m argin=b||0 ,null!=a.f rom.line)w d(this),th is.curOp.s crollToPos =a;else{va r c=td(thi s,Math.min (a.from.le ft,a.to.le ft),Math.m in(a.from. top,a.to.t op)-a.marg in,Math.ma x(a.from.r ight,a.to. right),Mat h.max(a.fr om.bottom, a.to.botto m)+a.margi n);this.sc rollTo(c.s crollLeft, c.scrollTo p)}}),setS ize:gc(fun ction(a,b) {function d(a){retur n"number"= =typeof a| |/^\d+$/.t est(String (a))?a+"px ":a}var c= this;null! =a&&(c.dis play.wrapp er.style.w idth=d(a)) ,null!=b&& (c.display .wrapper.s tyle.heigh t=d(b)),c. options.li neWrapping &&Gb(this) ;var e=c.d isplay.vie wFrom;c.do c.iter(e,c .display.v iewTo,func tion(a){if (a.widgets )for(var b =0;b<a.wid gets.lengt h;b++)if(a .widgets[b ].noHScrol l){lc(c,e, "widget"); break}++e} ),c.curOp. forceUpdat e=!0,Pf(c, "refresh", this)}),op eration:fu nction(a){ return ec( this,a)},r efresh:gc( function() {var a=thi s.display. cachedText Height;kc( this),this .curOp.for ceUpdate=! 0,Hb(this) ,this.scro llTo(this. doc.scroll Left,this. doc.scroll Top),H(thi s),(null== a||Math.ab s(a-Tb(thi s.display) )>.5)&&D(t his),Pf(th is,"refres h",this)}) ,swapDoc:g c(function (a){var b= this.doc;r eturn b.cm =null,gf(t his,a),Hb( this),this .display.i nput.reset (),this.sc rollTo(a.s crollLeft, a.scrollTo p),this.cu rOp.forceS croll=!0,R f(this,"sw apDoc",thi s,b),b}),g etInputFie ld:functio n(){return this.disp lay.input. getField() },getWrapp erElement: function() {return th is.display .wrapper}, getScrolle rElement:f unction(){ return thi s.display. scroller}, getGutterE lement:fun ction(){re turn this. display.gu tters}},Wf (x);var Cd =x.default s={},Dd=x. optionHand lers={},Fd =x.Init={t oString:fu nction(){r eturn"Code Mirror.Ini t"}};Ed("v alue","",f unction(a, b){a.setVa lue(b)},!0 ),Ed("mode ",null,fun ction(a,b) {a.doc.mod eOption=b, z(a)},!0), Ed("indent Unit",2,z, !0),Ed("in dentWithTa bs",!1),Ed ("smartInd ent",!0),E d("tabSize ",4,functi on(a){A(a) ,Hb(a),kc( a)},!0),Ed ("lineSepa rator",nul l,function (a,b){if(a .doc.lineS ep=b,b){va r c=[],d=a .doc.first ;a.doc.ite r(function (a){for(va r e=0;;){v ar f=a.tex t.indexOf( b,e);if(-1 ==f)break; e=f+b.leng th,c.push( qa(d,f))}d ++});for(v ar e=c.len gth-1;e>=0 ;e--)pd(a. doc,b,c[e] ,qa(c[e].l ine,c[e].c h+b.length ))}}),Ed(" specialCha rs",/[\t\u 0000-\u001 9\u00ad\u2 00b-\u200f \u2028\u20 29\ufeff]/ g,function (a,b,c){a. state.spec ialChars=n ew RegExp( b.source+( b.test(" ")?" ":"| "),"g"), c!=x.Init& &a.refresh ()}),Ed("s pecialChar Placeholde r",Te,func tion(a){a. refresh()} ,!0),Ed("e lectricCha rs",!0),Ed ("inputSty le",p?"con tenteditab le":"texta rea",funct ion(){thro w new Erro r("inputSt yle can no t (yet) be changed i n a runnin g editor") },!0),Ed(" rtlMoveVis ually",!r) ,Ed("whole LineUpdate Before",!0 ),Ed("them e","defaul t",functio n(a){E(a), F(a)},!0), Ed("keyMap ","default ",function (a,b,c){va r d=Td(b), e=c!=x.Ini t&&Td(c);e &&e.detach &&e.detach (a,d),d.at tach&&d.at tach(a,e|| null)}),Ed ("extraKey s",null),E d("lineWra pping",!1, B,!0),Ed(" gutters",[ ],function (a){K(a.op tions),F(a )},!0),Ed( "fixedGutt er",!0,fun ction(a,b) {a.display .gutters.s tyle.left= b?V(a.disp lay)+"px": "0",a.refr esh()},!0) ,Ed("cover GutterNext ToScrollba r",!1,func tion(a){P( a)},!0),Ed ("scrollba rStyle","n ative",fun ction(a){O (a),P(a),a .display.s crollbars. setScrollT op(a.doc.s crollTop), a.display. scrollbars .setScroll Left(a.doc .scrollLef t)},!0),Ed ("lineNumb ers",!1,fu nction(a){ K(a.option s),F(a)},! 0),Ed("fir stLineNumb er",1,F,!0 ),Ed("line NumberForm atter",fun ction(a){r eturn a},F ,!0),Ed("s howCursorW henSelecti ng",!1,fb, !0),Ed("re setSelecti onOnContex tMenu",!0) ,Ed("lineW iseCopyCut ",!0),Ed(" readOnly", !1,functio n(a,b){"no cursor"==b ?(ad(a),a. display.in put.blur() ,a.display .disabled= !0):a.disp lay.disabl ed=!1,a.di splay.inpu t.readOnly Changed(b) }),Ed("dis ableInput" ,!1,functi on(a,b){b| |a.display .input.res et()},!0), Ed("dragDr op",!0,sc) ,Ed("allow DropFileTy pes",null) ,Ed("curso rBlinkRate ",530),Ed( "cursorScr ollMargin" ,0),Ed("cu rsorHeight ",1,fb,!0) ,Ed("singl eCursorHei ghtPerLine ",!0,fb,!0 ),Ed("work Time",100) ,Ed("workD elay",100) ,Ed("flatt enSpans",! 0,A,!0),Ed ("addModeC lass",!1,A ,!0),Ed("p ollInterva l",100),Ed ("undoDept h",200,fun ction(a,b) {a.doc.his tory.undoD epth=b}),E d("history EventDelay ",1250),Ed ("viewport Margin",10 ,function( a){a.refre sh()},!0), Ed("maxHig hlightLeng th",1e4,A, !0),Ed("mo veInputWit hCursor",! 0,function (a,b){b||a .display.i nput.reset Position() }),Ed("tab index",nul l,function (a,b){a.di splay.inpu t.getField ().tabInde x=b||""}), Ed("autofo cus",null) ;var Gd=x. modes={},H d=x.mimeMo des={};x.d efineMode= function(a ,b){x.defa ults.mode| |"null"==a ||(x.defau lts.mode=a ),argument s.length>2 &&(b.depen dencies=Ar ray.protot ype.slice. call(argum ents,2)),G d[a]=b},x. defineMIME =function( a,b){Hd[a] =b},x.reso lveMode=fu nction(a){ if("string "==typeof a&&Hd.hasO wnProperty (a))a=Hd[a ];else if( a&&"string "==typeof a.name&&Hd .hasOwnPro perty(a.na me)){var b =Hd[a.name ];"string" ==typeof b &&(b={name :b}),a=kg( b,a),a.nam e=b.name}e lse if("st ring"==typ eof a&&/^[ \w\-]+\/[\ w\-]+\+xml $/.test(a) )return x. resolveMod e("applica tion/xml") ;return"st ring"==typ eof a?{nam e:a}:a||{n ame:"null" }},x.getMo de=functio n(a,b){var b=x.resol veMode(b), c=Gd[b.nam e];if(!c)r eturn x.ge tMode(a,"t ext/plain" );var d=c( a,b);if(Id .hasOwnPro perty(b.na me)){var e =Id[b.name ];for(var f in e)e.h asOwnPrope rty(f)&&(d .hasOwnPro perty(f)&& (d["_"+f]= d[f]),d[f] =e[f])}if( d.name=b.n ame,b.help erType&&(d .helperTyp e=b.helper Type),b.mo deProps)fo r(var f in b.modePro ps)d[f]=b. modeProps[ f];return d},x.defin eMode("nul l",functio n(){return {token:fun ction(a){a .skipToEnd ()}}}),x.d efineMIME( "text/plai n","null") ;var Id=x. modeExtens ions={};x. extendMode =function( a,b){var c =Id.hasOwn Property(a )?Id[a]:Id [a]={};lg( b,c)},x.de fineExtens ion=functi on(a,b){x. prototype[ a]=b},x.de fineDocExt ension=fun ction(a,b) {cf.protot ype[a]=b}, x.defineOp tion=Ed;va r Jd=[];x. defineInit Hook=funct ion(a){Jd. push(a)};v ar Kd=x.he lpers={};x .registerH elper=func tion(a,b,c ){Kd.hasOw nProperty( a)||(Kd[a] =x[a]={_gl obal:[]}), Kd[a][b]=c },x.regist erGlobalHe lper=funct ion(a,b,c, d){x.regis terHelper( a,b,d),Kd[ a]._global .push({pre d:c,val:d} )};var Ld= x.copyStat e=function (a,b){if(b ===!0)retu rn b;if(a. copyState) return a.c opyState(b );var c={} ;for(var d in b){var e=b[d];e instanceof Array&&(e =e.concat( [])),c[d]= e}return c },Md=x.sta rtState=fu nction(a,b ,c){return a.startSt ate?a.star tState(b,c ):!0};x.in nerMode=fu nction(a,b ){for(;a.i nnerMode;) {var c=a.i nnerMode(b );if(!c||c .mode==a)b reak;b=c.s tate,a=c.m ode}return c||{mode: a,state:b} };var Nd=x .commands= {selectAll :function( a){a.setSe lection(qa (a.firstLi ne(),0),qa (a.lastLin e()),Zf)}, singleSele ction:func tion(a){a. setSelecti on(a.getCu rsor("anch or"),a.get Cursor("he ad"),Zf)}, killLine:f unction(a) {zd(a,func tion(b){if (b.empty() ){var c=hf (a.doc,b.h ead.line). text.lengt h;return b .head.ch== c&&b.head. line<a.las tLine()?{f rom:b.head ,to:qa(b.h ead.line+1 ,0)}:{from :b.head,to :qa(b.head .line,c)}} return{fro m:b.from() ,to:b.to() }})},delet eLine:func tion(a){zd (a,functio n(b){retur n{from:qa( b.from().l ine,0),to: Qa(a.doc,q a(b.to().l ine+1,0))} })},delLin eLeft:func tion(a){zd (a,functio n(a){retur n{from:qa( a.from().l ine,0),to: a.from()}} )},delWrap pedLineLef t:function (a){zd(a,f unction(b) {var c=a.c harCoords( b.head,"di v").top+5, d=a.coords Char({left :0,top:c}, "div");ret urn{from:d ,to:b.from ()}})},del WrappedLin eRight:fun ction(a){z d(a,functi on(b){var c=a.charCo ords(b.hea d,"div").t op+5,d=a.c oordsChar( {left:a.di splay.line Div.offset Width+100, top:c},"di v");return {from:b.fr om(),to:d} })},undo:f unction(a) {a.undo()} ,redo:func tion(a){a. redo()},un doSelectio n:function (a){a.undo Selection( )},redoSel ection:fun ction(a){a .redoSelec tion()},go DocStart:f unction(a) {a.extendS election(q a(a.firstL ine(),0))} ,goDocEnd: function(a ){a.extend Selection( qa(a.lastL ine()))},g oLineStart :function( a){a.exten dSelection sBy(functi on(b){retu rn Xg(a,b. head.line) },{origin: "+move",bi as:1})},go LineStartS mart:funct ion(a){a.e xtendSelec tionsBy(fu nction(b){ return Zg( a,b.head)} ,{origin:" +move",bia s:1})},goL ineEnd:fun ction(a){a .extendSel ectionsBy( function(b ){return Y g(a,b.head .line)},{o rigin:"+mo ve",bias:- 1})},goLin eRight:fun ction(a){a .extendSel ectionsBy( function(b ){var c=a. charCoords (b.head,"d iv").top+5 ;return a. coordsChar ({left:a.d isplay.lin eDiv.offse tWidth+100 ,top:c},"d iv")},_f)} ,goLineLef t:function (a){a.exte ndSelectio nsBy(funct ion(b){var c=a.charC oords(b.he ad,"div"). top+5;retu rn a.coord sChar({lef t:0,top:c} ,"div")},_ f)},goLine LeftSmart: function(a ){a.extend Selections By(functio n(b){var c =a.charCoo rds(b.head ,"div").to p+5,d=a.co ordsChar({ left:0,top :c},"div") ;return d. ch<a.getLi ne(d.line) .search(/\ S/)?Zg(a,b .head):d}, _f)},goLin eUp:functi on(a){a.mo veV(-1,"li ne")},goLi neDown:fun ction(a){a .moveV(1," line")},go PageUp:fun ction(a){a .moveV(-1, "page")},g oPageDown: function(a ){a.moveV( 1,"page")} ,goCharLef t:function (a){a.move H(-1,"char ")},goChar Right:func tion(a){a. moveH(1,"c har")},goC olumnLeft: function(a ){a.moveH( -1,"column ")},goColu mnRight:fu nction(a){ a.moveH(1, "column")} ,goWordLef t:function (a){a.move H(-1,"word ")},goGrou pRight:fun ction(a){a .moveH(1," group")},g oGroupLeft :function( a){a.moveH (-1,"group ")},goWord Right:func tion(a){a. moveH(1,"w ord")},del CharBefore :function( a){a.delet eH(-1,"cha r")},delCh arAfter:fu nction(a){ a.deleteH( 1,"char")} ,delWordBe fore:funct ion(a){a.d eleteH(-1, "word")},d elWordAfte r:function (a){a.dele teH(1,"wor d")},delGr oupBefore: function(a ){a.delete H(-1,"grou p")},delGr oupAfter:f unction(a) {a.deleteH (1,"group" )},indentA uto:functi on(a){a.in dentSelect ion("smart ")},indent More:funct ion(a){a.i ndentSelec tion("add" )},indentL ess:functi on(a){a.in dentSelect ion("subtr act")},ins ertTab:fun ction(a){a .replaceSe lection(" ")}, insertSoft Tab:functi on(a){for( var b=[],c =a.listSel ections(), d=a.option s.tabSize, e=0;e<c.le ngth;e++){ var f=c[e] .from(),g= bg(a.getLi ne(f.line) ,f.ch,d);b .push(new Array(d-g% d+1).join( " "))}a.re placeSelec tions(b)}, defaultTab :function( a){a.somet hingSelect ed()?a.ind entSelecti on("add"): a.execComm and("inser tTab")},tr ansposeCha rs:functio n(a){ec(a, function() {for(var b =a.listSel ections(), c=[],d=0;d <b.length; d++){var e =b[d].head ,f=hf(a.do c,e.line). text;if(f) if(e.ch==f .length&&( e=new qa(e .line,e.ch -1)),e.ch> 0)e=new qa (e.line,e. ch+1),a.re placeRange (f.charAt( e.ch-1)+f. charAt(e.c h-2),qa(e. line,e.ch- 2),e,"+tra nspose");e lse if(e.l ine>a.doc. first){var g=hf(a.do c,e.line-1 ).text;g&& a.replaceR ange(f.cha rAt(0)+a.d oc.lineSep arator()+g .charAt(g. length-1), qa(e.line- 1,g.length -1),qa(e.l ine,1),"+t ranspose") }c.push(ne w Ma(e,e)) }a.setSele ctions(c)} )},newline AndIndent: function(a ){ec(a,fun ction(){fo r(var b=a. listSelect ions().len gth,c=0;b> c;c++){var d=a.listS elections( )[c];a.rep laceRange( a.doc.line Separator( ),d.anchor ,d.head,"+ input"),a. indentLine (d.from(). line+1,nul l,!0)}vd(a )})},toggl eOverwrite :function( a){a.toggl eOverwrite ()}},Od=x. keyMap={}; Od.basic={ Left:"goCh arLeft",Ri ght:"goCha rRight",Up :"goLineUp ",Down:"go LineDown", End:"goLin eEnd",Home :"goLineSt artSmart", PageUp:"go PageUp",Pa geDown:"go PageDown", Delete:"de lCharAfter ",Backspac e:"delChar Before","S hift-Backs pace":"del CharBefore ",Tab:"def aultTab"," Shift-Tab" :"indentAu to",Enter: "newlineAn dIndent",I nsert:"tog gleOverwri te",Esc:"s ingleSelec tion"},Od. pcDefault= {"Ctrl-A": "selectAll ","Ctrl-D" :"deleteLi ne","Ctrl- Z":"undo", "Shift-Ctr l-Z":"redo ","Ctrl-Y" :"redo","C trl-Home": "goDocStar t","Ctrl-E nd":"goDoc End","Ctrl -Up":"goLi neUp","Ctr l-Down":"g oLineDown" ,"Ctrl-Lef t":"goGrou pLeft","Ct rl-Right": "goGroupRi ght","Alt- Left":"goL ineStart", "Alt-Right ":"goLineE nd","Ctrl- Backspace" :"delGroup Before","C trl-Delete ":"delGrou pAfter","C trl-S":"sa ve","Ctrl- F":"find", "Ctrl-G":" findNext", "Shift-Ctr l-G":"find Prev","Shi ft-Ctrl-F" :"replace" ,"Shift-Ct rl-R":"rep laceAll"," Ctrl-[":"i ndentLess" ,"Ctrl-]": "indentMor e","Ctrl-U ":"undoSel ection","S hift-Ctrl- U":"redoSe lection"," Alt-U":"re doSelectio n",fallthr ough:"basi c"},Od.ema csy={"Ctrl -F":"goCha rRight","C trl-B":"go CharLeft", "Ctrl-P":" goLineUp", "Ctrl-N":" goLineDown ","Alt-F": "goWordRig ht","Alt-B ":"goWordL eft","Ctrl -A":"goLin eStart","C trl-E":"go LineEnd"," Ctrl-V":"g oPageDown" ,"Shift-Ct rl-V":"goP ageUp","Ct rl-D":"del CharAfter" ,"Ctrl-H": "delCharBe fore","Alt -D":"delWo rdAfter"," Alt-Backsp ace":"delW ordBefore" ,"Ctrl-K": "killLine" ,"Ctrl-T": "transpose Chars"},Od .macDefaul t={ | |||||
| 16 | "Cmd-A":"s electAll", "Cmd-D":"d eleteLine" ,"Cmd-Z":" undo","Shi ft-Cmd-Z": "redo","Cm d-Y":"redo ","Cmd-Hom e":"goDocS tart","Cmd -Up":"goDo cStart","C md-End":"g oDocEnd"," Cmd-Down": "goDocEnd" ,"Alt-Left ":"goGroup Left","Alt -Right":"g oGroupRigh t","Cmd-Le ft":"goLin eLeft","Cm d-Right":" goLineRigh t","Alt-Ba ckspace":" delGroupBe fore","Ctr l-Alt-Back space":"de lGroupAfte r","Alt-De lete":"del GroupAfter ","Cmd-S": "save","Cm d-F":"find ","Cmd-G": "findNext" ,"Shift-Cm d-G":"find Prev","Cmd -Alt-F":"r eplace","S hift-Cmd-A lt-F":"rep laceAll"," Cmd-[":"in dentLess", "Cmd-]":"i ndentMore" ,"Cmd-Back space":"de lWrappedLi neLeft","C md-Delete" :"delWrapp edLineRigh t","Cmd-U" :"undoSele ction","Sh ift-Cmd-U" :"redoSele ction","Ct rl-Up":"go DocStart", "Ctrl-Down ":"goDocEn d",fallthr ough:["bas ic","emacs y"]},Od["d efault"]=q ?Od.macDef ault:Od.pc Default,x. normalizeK eyMap=func tion(a){va r b={};for (var c in a)if(a.has OwnPropert y(c)){var d=a[c];if( /^(name|fa llthrough| (de|at)tac h)$/.test( c))continu e;if("..." ==d){delet e a[c];con tinue}for( var e=ig(c .split(" " ),Pd),f=0; f<e.length ;f++){var g,h;f==e.l ength-1?(h =e.join(" "),g=d):(h =e.slice(0 ,f+1).join (" "),g=". ..");var i =b[h];if(i ){if(i!=g) throw new Error("Inc onsistent bindings f or "+h)}el se b[h]=g} delete a[c ]}for(var j in b)a[j ]=b[j];ret urn a};var Qd=x.look upKey=func tion(a,b,c ,d){b=Td(b );var e=b. call?b.cal l(a,d):b[a ];if(e===! 1)return"n othing";if ("..."===e )return"mu lti";if(nu ll!=e&&c(e ))return"h andled";if (b.fallthr ough){if(" [object Ar ray]"!=Obj ect.protot ype.toStri ng.call(b. fallthroug h))return Qd(a,b.fal lthrough,c ,d);for(va r f=0;f<b. fallthroug h.length;f ++){var g= Qd(a,b.fal lthrough[f ],c,d);if( g)return g }}},Rd=x.i sModifierK ey=functio n(a){var b ="string"= =typeof a? a:Rg[a.key Code];retu rn"Ctrl"== b||"Alt"== b||"Shift" ==b||"Mod" ==b},Sd=x. keyName=fu nction(a,b ){if(k&&34 ==a.keyCod e&&a["char "])return! 1;var c=Rg [a.keyCode ],d=c;retu rn null==d ||a.altGra phKey?!1:( a.altKey&& "Alt"!=c&& (d="Alt-"+ d),(t?a.me taKey:a.ct rlKey)&&"C trl"!=c&&( d="Ctrl-"+ d),(t?a.ct rlKey:a.me taKey)&&"C md"!=c&&(d ="Cmd-"+d) ,!b&&a.shi ftKey&&"Sh ift"!=c&&( d="Shift-" +d),d)};x. fromTextAr ea=functio n(a,b){fun ction d(){ a.value=i. getValue() }if(b=b?lg (b):{},b.v alue=a.val ue,!b.tabi ndex&&a.ta bIndex&&(b .tabindex= a.tabIndex ),!b.place holder&&a. placeholde r&&(b.plac eholder=a. placeholde r),null==b .autofocus ){var c=yg ();b.autof ocus=c==a| |null!=a.g etAttribut e("autofoc us")&&c==d ocument.bo dy}if(a.fo rm&&(Lf(a. form,"subm it",d),!b. leaveSubmi tMethodAlo ne)){var e =a.form,f= e.submit;t ry{var g=e .submit=fu nction(){d (),e.submi t=f,e.subm it(),e.sub mit=g}}cat ch(h){}}b. finishInit =function( b){b.save= d,b.getTex tArea=func tion(){ret urn a},b.t oTextArea= function() {b.toTextA rea=isNaN, d(),a.pare ntNode.rem oveChild(b .getWrappe rElement() ),a.style. display="" ,a.form&&( Of(a.form, "submit",d ),"functio n"==typeof a.form.su bmit&&(a.f orm.submit =f))}},a.s tyle.displ ay="none"; var i=x(fu nction(b){ a.parentNo de.insertB efore(b,a. nextSiblin g)},b);ret urn i};var Ud=x.Stri ngStream=f unction(a, b){this.po s=this.sta rt=0,this. string=a,t his.tabSiz e=b||8,thi s.lastColu mnPos=this .lastColum nValue=0,t his.lineSt art=0};Ud. prototype= {eol:funct ion(){retu rn this.po s>=this.st ring.lengt h},sol:fun ction(){re turn this. pos==this. lineStart} ,peek:func tion(){ret urn this.s tring.char At(this.po s)||void 0 },next:fun ction(){re turn this. pos<this.s tring.leng th?this.st ring.charA t(this.pos ++):void 0 },eat:func tion(a){va r b=this.s tring.char At(this.po s);if("str ing"==type of a)var c =b==a;else var c=b&& (a.test?a. test(b):a( b));return c?(++this .pos,b):vo id 0},eatW hile:funct ion(a){for (var b=thi s.pos;this .eat(a);); return thi s.pos>b},e atSpace:fu nction(){f or(var a=t his.pos;/[ \s\u00a0]/ .test(this .string.ch arAt(this. pos));)++t his.pos;re turn this. pos>a},ski pToEnd:fun ction(){th is.pos=thi s.string.l ength},ski pTo:functi on(a){var b=this.str ing.indexO f(a,this.p os);return b>-1?(thi s.pos=b,!0 ):void 0}, backUp:fun ction(a){t his.pos-=a },column:f unction(){ return thi s.lastColu mnPos<this .start&&(t his.lastCo lumnValue= bg(this.st ring,this. start,this .tabSize,t his.lastCo lumnPos,th is.lastCol umnValue), this.lastC olumnPos=t his.start) ,this.last ColumnValu e-(this.li neStart?bg (this.stri ng,this.li neStart,th is.tabSize ):0)},inde ntation:fu nction(){r eturn bg(t his.string ,null,this .tabSize)- (this.line Start?bg(t his.string ,this.line Start,this .tabSize): 0)},match: function(a ,b,c){if(" string"!=t ypeof a){v ar f=this. string.sli ce(this.po s).match(a );return f &&f.index> 0?null:(f& &b!==!1&&( this.pos+= f[0].lengt h),f)}var d=function (a){return c?a.toLow erCase():a },e=this.s tring.subs tr(this.po s,a.length );return d (e)==d(a)? (b!==!1&&( this.pos+= a.length), !0):void 0 },current: function() {return th is.string. slice(this .start,thi s.pos)},hi deFirstCha rs:functio n(a,b){thi s.lineStar t+=a;try{r eturn b()} finally{th is.lineSta rt-=a}}};v ar Vd=0,Wd =x.TextMar ker=functi on(a,b){th is.lines=[ ],this.typ e=b,this.d oc=a,this. id=++Vd};W f(Wd),Wd.p rototype.c lear=funct ion(){if(! this.expli citlyClear ed){var a= this.doc.c m,b=a&&!a. curOp;if(b &&Xb(a),Vf (this,"cle ar")){var c=this.fin d();c&&Rf( this,"clea r",c.from, c.to)}for( var d=null ,e=null,f= 0;f<this.l ines.lengt h;++f){var g=this.li nes[f],h=c e(g.marked Spans,this );a&&!this .collapsed ?lc(a,mf(g ),"text"): a&&(null!= h.to&&(e=m f(g)),null !=h.from&& (d=mf(g))) ,g.markedS pans=de(g. markedSpan s,h),null= =h.from&&t his.collap sed&&!ye(t his.doc,g) &&a&&lf(g, Tb(a.displ ay))}if(a& &this.coll apsed&&!a. options.li neWrapping )for(var f =0;f<this. lines.leng th;++f){va r i=ue(thi s.lines[f] ),j=I(i);j >a.display .maxLineLe ngth&&(a.d isplay.max Line=i,a.d isplay.max LineLength =j,a.displ ay.maxLine Changed=!0 )}null!=d& &a&&this.c ollapsed&& kc(a,d,e+1 ),this.lin es.length= 0,this.exp licitlyCle ared=!0,th is.atomic& &this.doc. cantEdit&& (this.doc. cantEdit=! 1,a&&cb(a. doc)),a&&R f(a,"marke rCleared", a,this),b& &Zb(a),thi s.parent&& this.paren t.clear()} },Wd.proto type.find= function(a ,b){null== a&&"bookma rk"==this. type&&(a=1 );for(var c,d,e=0;e< this.lines .length;++ e){var f=t his.lines[ e],g=ce(f. markedSpan s,this);if (null!=g.f rom&&(c=qa (b?f:mf(f) ,g.from),- 1==a))retu rn c;if(nu ll!=g.to&& (d=qa(b?f: mf(f),g.to ),1==a))re turn d}ret urn c&&{fr om:c,to:d} },Wd.proto type.chang ed=functio n(){var a= this.find( -1,!0),b=t his,c=this .doc.cm;a& &c&&ec(c,f unction(){ var d=a.li ne,e=mf(a. line),f=yb (c,e);if(f &&(Fb(f),c .curOp.sel ectionChan ged=c.curO p.forceUpd ate=!0),c. curOp.upda teMaxLine= !0,!ye(b.d oc,d)&&nul l!=b.heigh t){var g=b .height;b. height=nul l;var h=Ce (b)-g;h&&l f(d,d.heig ht+h)}})}, Wd.prototy pe.attachL ine=functi on(a){if(! this.lines .length&&t his.doc.cm ){var b=th is.doc.cm. curOp;b.ma ybeHiddenM arkers&&-1 !=hg(b.may beHiddenMa rkers,this )||(b.mayb eUnhiddenM arkers||(b .maybeUnhi ddenMarker s=[])).pus h(this)}th is.lines.p ush(a)},Wd .prototype .detachLin e=function (a){if(thi s.lines.sp lice(hg(th is.lines,a ),1),!this .lines.len gth&&this. doc.cm){va r b=this.d oc.cm.curO p;(b.maybe HiddenMark ers||(b.ma ybeHiddenM arkers=[]) ).push(thi s)}};var V d=0,Yd=x.S haredTextM arker=func tion(a,b){ this.marke rs=a,this. primary=b; for(var c= 0;c<a.leng th;++c)a[c ].parent=t his};Wf(Yd ),Yd.proto type.clear =function( ){if(!this .explicitl yCleared){ this.expli citlyClear ed=!0;for( var a=0;a< this.marke rs.length; ++a)this.m arkers[a]. clear();Rf (this,"cle ar")}},Yd. prototype. find=funct ion(a,b){r eturn this .primary.f ind(a,b)}; var Ae=x.L ineWidget= function(a ,b,c){if(c )for(var d in c)c.ha sOwnProper ty(d)&&(th is[d]=c[d] );this.doc =a,this.no de=b};Wf(A e),Ae.prot otype.clea r=function (){var a=t his.doc.cm ,b=this.li ne.widgets ,c=this.li ne,d=mf(c) ;if(null!= d&&b){for( var e=0;e< b.length;+ +e)b[e]==t his&&b.spl ice(e--,1) ;b.length| |(c.widget s=null);va r f=Ce(thi s);lf(c,Ma th.max(0,c .height-f) ),a&&ec(a, function() {Be(a,c,-f ),lc(a,d," widget")}) }},Ae.prot otype.chan ged=functi on(){var a =this.heig ht,b=this. doc.cm,c=t his.line;t his.height =null;var d=Ce(this) -a;d&&(lf( c,c.height +d),b&&ec( b,function (){b.curOp .forceUpda te=!0,Be(b ,c,d)}))}; var Ee=x.L ine=functi on(a,b,c){ this.text= a,me(this, b),this.he ight=c?c(t his):1};Wf (Ee),Ee.pr ototype.li neNo=funct ion(){retu rn mf(this )};var Pe= {},Qe={};_ e.prototyp e={chunkSi ze:functio n(){return this.line s.length}, removeInne r:function (a,b){for( var c=a,d= a+b;d>c;++ c){var e=t his.lines[ c];this.he ight-=e.he ight,Ge(e) ,Rf(e,"del ete")}this .lines.spl ice(a,b)}, collapse:f unction(a) {a.push.ap ply(a,this .lines)},i nsertInner :function( a,b,c){thi s.height+= c,this.lin es=this.li nes.slice( 0,a).conca t(b).conca t(this.lin es.slice(a ));for(var d=0;d<b.l ength;++d) b[d].paren t=this},it erN:functi on(a,b,c){ for(var d= a+b;d>a;++ a)if(c(thi s.lines[a] ))return!0 }},af.prot otype={chu nkSize:fun ction(){re turn this. size},remo veInner:fu nction(a,b ){this.siz e-=b;for(v ar c=0;c<t his.childr en.length; ++c){var d =this.chil dren[c],e= d.chunkSiz e();if(e>a ){var f=Ma th.min(b,e -a),g=d.he ight;if(d. removeInne r(a,f),thi s.height-= g-d.height ,e==f&&(th is.childre n.splice(c --,1),d.pa rent=null) ,0==(b-=f) )break;a=0 }else a-=e }if(this.s ize-b<25&& (this.chil dren.lengt h>1||!(thi s.children [0]instanc eof _e))){ var h=[];t his.collap se(h),this .children= [new _e(h) ],this.chi ldren[0].p arent=this }},collaps e:function (a){for(va r b=0;b<th is.childre n.length;+ +b)this.ch ildren[b]. collapse(a )},insertI nner:funct ion(a,b,c) {this.size +=b.length ,this.heig ht+=c;for( var d=0;d< this.child ren.length ;++d){var e=this.chi ldren[d],f =e.chunkSi ze();if(f> =a){if(e.i nsertInner (a,b,c),e. lines&&e.l ines.lengt h>50){for( ;e.lines.l ength>50;) {var g=e.l ines.splic e(e.lines. length-25, 25),h=new _e(g);e.he ight-=h.he ight,this. children.s plice(d+1, 0,h),h.par ent=this}t his.maybeS pill()}bre ak}a-=f}}, maybeSpill :function( ){if(!(thi s.children .length<=1 0)){var a= this;do{va r b=a.chil dren.splic e(a.childr en.length- 5,5),c=new af(b);if( a.parent){ a.size-=c. size,a.hei ght-=c.hei ght;var e= hg(a.paren t.children ,a);a.pare nt.childre n.splice(e +1,0,c)}el se{var d=n ew af(a.ch ildren);d. parent=a,a .children= [d,c],a=d} c.parent=a .parent}wh ile(a.chil dren.lengt h>10);a.pa rent.maybe Spill()}}, iterN:func tion(a,b,c ){for(var d=0;d<this .children. length;++d ){var e=th is.childre n[d],f=e.c hunkSize() ;if(f>a){v ar g=Math. min(b,f-a) ;if(e.iter N(a,g,c))r eturn!0;if (0==(b-=g) )break;a=0 }else a-=f }}};var bf =0,cf=x.Do c=function (a,b,c,d){ if(!(this instanceof cf))retur n new cf(a ,b,c,d);nu ll==c&&(c= 0),af.call (this,[new _e([new E e("",null) ])]),this. first=c,th is.scrollT op=this.sc rollLeft=0 ,this.cant Edit=!1,th is.cleanGe neration=1 ,this.fron tier=c;var e=qa(c,0) ;this.sel= Oa(e),this .history=n ew qf(null ),this.id= ++bf,this. modeOption =b,this.li neSep=d,"s tring"==ty peof a&&(a =this.spli tLines(a)) ,$e(this,{ from:e,to: e,text:a}) ,_a(this,O a(e),Zf)}; cf.prototy pe=kg(af.p rototype,{ constructo r:cf,iter: function(a ,b,c){c?th is.iterN(a -this.firs t,b-a,c):t his.iterN( this.first ,this.firs t+this.siz e,a)},inse rt:functio n(a,b){for (var c=0,d =0;d<b.len gth;++d)c+ =b[d].heig ht;this.in sertInner( a-this.fir st,b,c)},r emove:func tion(a,b){ this.remov eInner(a-t his.first, b)},getVal ue:functio n(a){var b =kf(this,t his.first, this.first +this.size );return a ===!1?b:b. join(a||th is.lineSep arator())} ,setValue: hc(functio n(a){var b =qa(this.f irst,0),c= this.first +this.size -1;jd(this ,{from:b,t o:qa(c,hf( this,c).te xt.length) ,text:this .splitLine s(a),origi n:"setValu e",full:!0 },!0),_a(t his,Oa(b)) }),replace Range:func tion(a,b,c ,d){b=Qa(t his,b),c=c ?Qa(this,c ):b,pd(thi s,a,b,c,d) },getRange :function( a,b,c){var d=jf(this ,Qa(this,a ),Qa(this, b));return c===!1?d: d.join(c|| this.lineS eparator() )},getLine :function( a){var b=t his.getLin eHandle(a) ;return b& &b.text},g etLineHand le:functio n(a){retur n Sa(this, a)?hf(this ,a):void 0 },getLineN umber:func tion(a){re turn mf(a) },getLineH andleVisua lStart:fun ction(a){r eturn"numb er"==typeo f a&&(a=hf (this,a)), ue(a)},lin eCount:fun ction(){re turn this. size},firs tLine:func tion(){ret urn this.f irst},last Line:funct ion(){retu rn this.fi rst+this.s ize-1},cli pPos:funct ion(a){ret urn Qa(thi s,a)},getC ursor:func tion(a){va r c,b=this .sel.prima ry();retur n c=null== a||"head"= =a?b.head: "anchor"== a?b.anchor :"end"==a| |"to"==a|| a===!1?b.t o():b.from ()},listSe lections:f unction(){ return thi s.sel.rang es},someth ingSelecte d:function (){return this.sel.s omethingSe lected()}, setCursor: hc(functio n(a,b,c){Y a(this,Qa( this,"numb er"==typeo f a?qa(a,b ||0):a),nu ll,c)}),se tSelection :hc(functi on(a,b,c){ Ya(this,Qa (this,a),Q a(this,b|| a),c)}),ex tendSelect ion:hc(fun ction(a,b, c){Va(this ,Qa(this,a ),b&&Qa(th is,b),c)}) ,extendSel ections:hc (function( a,b){Wa(th is,Ta(this ,a,b))}),e xtendSelec tionsBy:hc (function( a,b){Wa(th is,ig(this .sel.range s,a),b)}), setSelecti ons:hc(fun ction(a,b, c){if(a.le ngth){for( var d=0,e= [];d<a.len gth;d++)e[ d]=new Ma( Qa(this,a[ d].anchor) ,Qa(this,a [d].head)) ;null==b&& (b=Math.mi n(a.length -1,this.se l.primInde x)),_a(thi s,Na(e,b), c)}}),addS election:h c(function (a,b,c){va r d=this.s el.ranges. slice(0);d .push(new Ma(Qa(this ,a),Qa(thi s,b||a))), _a(this,Na (d,d.lengt h-1),c)}), getSelecti on:functio n(a){for(v ar c,b=thi s.sel.rang es,d=0;d<b .length;d+ +){var e=j f(this,b[d ].from(),b [d].to()); c=c?c.conc at(e):e}re turn a===! 1?c:c.join (a||this.l ineSeparat or())},get Selections :function( a){for(var b=[],c=th is.sel.ran ges,d=0;d< c.length;d ++){var e= jf(this,c[ d].from(), c[d].to()) ;a!==!1&&( e=e.join(a ||this.lin eSeparator ())),b[d]= e}return b },replaceS election:f unction(a, b,c){for(v ar d=[],e= 0;e<this.s el.ranges. length;e++ )d[e]=a;th is.replace Selections (d,b,c||"+ input")},r eplaceSele ctions:hc( function(a ,b,c){for( var d=[],e =this.sel, f=0;f<e.ra nges.lengt h;f++){var g=e.range s[f];d[f]= {from:g.fr om(),to:g. to(),text: this.split Lines(a[f] ),origin:c }}for(var h=b&&"end" !=b&&hd(th is,d,b),f= d.length-1 ;f>=0;f--) jd(this,d[ f]);h?$a(t his,h):thi s.cm&&vd(t his.cm)}), undo:hc(fu nction(){l d(this,"un do")}),red o:hc(funct ion(){ld(t his,"redo" )}),undoSe lection:hc (function( ){ld(this, "undo",!0) }),redoSel ection:hc( function() {ld(this," redo",!0)} ),setExten ding:funct ion(a){thi s.extend=a },getExten ding:funct ion(){retu rn this.ex tend},hist orySize:fu nction(){f or(var a=t his.histor y,b=0,c=0, d=0;d<a.do ne.length; d++)a.done [d].ranges ||++b;for( var d=0;d< a.undone.l ength;d++) a.undone[d ].ranges|| ++c;return {undo:b,re do:c}},cle arHistory: function() {this.hist ory=new qf (this.hist ory.maxGen eration)}, markClean: function() {this.clea nGeneratio n=this.cha ngeGenerat ion(!0)},c hangeGener ation:func tion(a){re turn a&&(t his.histor y.lastOp=t his.histor y.lastSelO p=this.his tory.lastO rigin=null ),this.his tory.gener ation},isC lean:funct ion(a){ret urn this.h istory.gen eration==( a||this.cl eanGenerat ion)},getH istory:fun ction(){re turn{done: Bf(this.hi story.done ),undone:B f(this.his tory.undon e)}},setHi story:func tion(a){va r b=this.h istory=new qf(this.h istory.max Generation );b.done=B f(a.done.s lice(0),nu ll,!0),b.u ndone=Bf(a .undone.sl ice(0),nul l,!0)},add LineClass: hc(functio n(a,b,c){r eturn yd(t his,a,"gut ter"==b?"g utter":"cl ass",funct ion(a){var d="text"= =b?"textCl ass":"back ground"==b ?"bgClass" :"gutter"= =b?"gutter Class":"wr apClass";i f(a[d]){if (zg(c).tes t(a[d]))re turn!1;a[d ]+=" "+c}e lse a[d]=c ;return!0} )}),remove LineClass: hc(functio n(a,b,c){r eturn yd(t his,a,"gut ter"==b?"g utter":"cl ass",funct ion(a){var d="text"= =b?"textCl ass":"back ground"==b ?"bgClass" :"gutter"= =b?"gutter Class":"wr apClass",e =a[d];if(! e)return!1 ;if(null== c)a[d]=nul l;else{var f=e.match (zg(c));if (!f)return !1;var g=f .index+f[0 ].length;a [d]=e.slic e(0,f.inde x)+(f.inde x&&g!=e.le ngth?" ":" ")+e.slice (g)||null} return!0}) }),addLine Widget:hc( function(a ,b,c){retu rn De(this ,a,b,c)}), removeLine Widget:fun ction(a){a .clear()}, markText:f unction(a, b,c){retur n Xd(this, Qa(this,a) ,Qa(this,b ),c,c&&c.t ype||"rang e")},setBo okmark:fun ction(a,b) {var c={re placedWith :b&&(null= =b.nodeTyp e?b.widget :b),insert Left:b&&b. insertLeft ,clearWhen Empty:!1,s hared:b&&b .shared,ha ndleMouseE vents:b&&b .handleMou seEvents}; return a=Q a(this,a), Xd(this,a, a,c,"bookm ark")},fin dMarksAt:f unction(a) {a=Qa(this ,a);var b= [],c=hf(th is,a.line) .markedSpa ns;if(c)fo r(var d=0; d<c.length ;++d){var e=c[d];(nu ll==e.from ||e.from<= a.ch)&&(nu ll==e.to|| e.to>=a.ch )&&b.push( e.marker.p arent||e.m arker)}ret urn b},fin dMarks:fun ction(a,b, c){a=Qa(th is,a),b=Qa (this,b);v ar d=[],e= a.line;ret urn this.i ter(a.line ,b.line+1, function(f ){var g=f. markedSpan s;if(g)for (var h=0;h <g.length; h++){var i =g[h];e==a .line&&a.c h>i.to||nu ll==i.from &&e!=a.lin e||e==b.li ne&&i.from >b.ch||c&& !c(i.marke r)||d.push (i.marker. parent||i. marker)}++ e}),d},get AllMarks:f unction(){ var a=[];r eturn this .iter(func tion(b){va r c=b.mark edSpans;if (c)for(var d=0;d<c.l ength;++d) null!=c[d] .from&&a.p ush(c[d].m arker)}),a },posFromI ndex:funct ion(a){var b,c=this. first;retu rn this.it er(functio n(d){var e =d.text.le ngth+1;ret urn e>a?(b =a,!0):(a- =e,void++c )}),Qa(thi s,qa(c,b)) },indexFro mPos:funct ion(a){a=Q a(this,a); var b=a.ch ;return a. line<this. first||a.c h<0?0:(thi s.iter(thi s.first,a. line,funct ion(a){b+= a.text.len gth+1}),b) },copy:fun ction(a){v ar b=new c f(kf(this, this.first ,this.firs t+this.siz e),this.mo deOption,t his.first, this.lineS ep);return b.scrollT op=this.sc rollTop,b. scrollLeft =this.scro llLeft,b.s el=this.se l,b.extend =!1,a&&(b. history.un doDepth=th is.history .undoDepth ,b.setHist ory(this.g etHistory( ))),b},lin kedDoc:fun ction(a){a ||(a={});v ar b=this. first,c=th is.first+t his.size;n ull!=a.fro m&&a.from> b&&(b=a.fr om),null!= a.to&&a.to <c&&(c=a.t o);var d=n ew cf(kf(t his,b,c),a .mode||thi s.modeOpti on,b,this. lineSep);r eturn a.sh aredHist&& (d.history =this.hist ory),(this .linked||( this.linke d=[])).pus h({doc:d,s haredHist: a.sharedHi st}),d.lin ked=[{doc: this,isPar ent:!0,sha redHist:a. sharedHist }],_d(d,$d (this)),d} ,unlinkDoc :function( a){if(a in stanceof x &&(a=a.doc ),this.lin ked)for(va r b=0;b<th is.linked. length;++b ){var c=th is.linked[ b];if(c.do c==a){this .linked.sp lice(b,1), a.unlinkDo c(this),ae ($d(this)) ;break}}if (a.history ==this.his tory){var d=[a.id];f f(a,functi on(a){d.pu sh(a.id)}, !0),a.hist ory=new qf (null),a.h istory.don e=Bf(this. history.do ne,d),a.hi story.undo ne=Bf(this .history.u ndone,d)}} ,iterLinke dDocs:func tion(a){ff (this,a)}, getMode:fu nction(){r eturn this .mode},get Editor:fun ction(){re turn this. cm},splitL ines:funct ion(a){ret urn this.l ineSep?a.s plit(this. lineSep):M g(a)},line Separator: function() {return th is.lineSep ||"\n"}}), cf.prototy pe.eachLin e=cf.proto type.iter; var df="it er insert remove cop y getEdito r construc tor".split (" ");for( var ef in cf.prototy pe)cf.prot otype.hasO wnProperty (ef)&&hg(d f,ef)<0&&( x.prototyp e[ef]=func tion(a){re turn funct ion(){retu rn a.apply (this.doc, arguments) }}(cf.prot otype[ef]) );Wf(cf);v ar Ff=x.e_ preventDef ault=funct ion(a){a.p reventDefa ult?a.prev entDefault ():a.retur nValue=!1} ,Gf=x.e_st opPropagat ion=functi on(a){a.st opPropagat ion?a.stop Propagatio n():a.canc elBubble=! 0},If=x.e_ stop=funct ion(a){Ff( a),Gf(a)}, Lf=x.on=fu nction(a,b ,c){if(a.a ddEventLis tener)a.ad dEventList ener(b,c,! 1);else if (a.attachE vent)a.att achEvent(" on"+b,c);e lse{var d= a._handler s||(a._han dlers={}), e=d[b]||(d [b]=[]);e. push(c)}}, Mf=[],Of=x .off=funct ion(a,b,c) {if(a.remo veEventLis tener)a.re moveEventL istener(b, c,!1);else if(a.deta chEvent)a. detachEven t("on"+b,c );else for (var d=Nf( a,b,!1),e= 0;e<d.leng th;++e)if( d[e]==c){d .splice(e, 1);break}} ,Pf=x.sign al=functio n(a,b){var c=Nf(a,b, !0);if(c.l ength)for( var d=Arra y.prototyp e.slice.ca ll(argumen ts,2),e=0; e<c.length ;++e)c[e]. apply(null ,d)},Qf=nu ll,Xf=30,Y f=x.Pass={ toString:f unction(){ return"Cod eMirror.Pa ss"}},Zf={ scroll:!1} ,$f={origi n:"*mouse" },_f={orig in:"+move" };ag.proto type.set=f unction(a, b){clearTi meout(this .id),this. id=setTime out(b,a)}; var bg=x.c ountColumn =function( a,b,c,d,e) {null==b&& (b=a.searc h(/[^\s\u0 0a0]/),-1= =b&&(b=a.l ength));fo r(var f=d| |0,g=e||0; ;){var h=a .indexOf(" ",f) ;if(0>h||h >=b)return g+(b-f);g +=h-f,g+=c -g%c,f=h+1 }},cg=x.fi ndColumn=f unction(a, b,c){for(v ar d=0,e=0 ;;){var f= a.indexOf( " ",d);- 1==f&&(f=a .length);v ar g=f-d;i f(f==a.len gth||e+g>= b)return d +Math.min( g,b-e);if( e+=f-d,e+= c-e%c,d=f+ 1,e>=b)ret urn d}},dg =[""],gg=f unction(a) {a.select( )};o?gg=fu nction(a){ a.selectio nStart=0,a .selection End=a.valu e.length}: f&&(gg=fun ction(a){t ry{a.selec t()}catch( b){}});var ug,ng=/[\ u00df\u058 7\u0590-\u 05f4\u0600 -\u06ff\u3 040-\u309f \u30a0-\u3 0ff\u3400- \u4db5\u4e 00-\u9fcc\ uac00-\ud7 af]/,og=x. isWordChar =function( a){return/ \w/.test(a )||a>"\x80 "&&(a.toUp perCase()! =a.toLower Case()||ng .test(a))} ,rg=/[\u03 00-\u036f\ u0483-\u04 89\u0591-\ u05bd\u05b f\u05c1\u0 5c2\u05c4\ u05c5\u05c 7\u0610-\u 061a\u064b -\u065e\u0 670\u06d6- \u06dc\u06 de-\u06e4\ u06e7\u06e 8\u06ea-\u 06ed\u0711 \u0730-\u0 74a\u07a6- \u07b0\u07 eb-\u07f3\ u0816-\u08 19\u081b-\ u0823\u082 5-\u0827\u 0829-\u082 d\u0900-\u 0902\u093c \u0941-\u0 948\u094d\ u0951-\u09 55\u0962\u 0963\u0981 \u09bc\u09 be\u09c1-\ u09c4\u09c d\u09d7\u0 9e2\u09e3\ u0a01\u0a0 2\u0a3c\u0 a41\u0a42\ u0a47\u0a4 8\u0a4b-\u 0a4d\u0a51 \u0a70\u0a 71\u0a75\u 0a81\u0a82 \u0abc\u0a c1-\u0ac5\ u0ac7\u0ac 8\u0acd\u0 ae2\u0ae3\ u0b01\u0b3 c\u0b3e\u0 b3f\u0b41- \u0b44\u0b 4d\u0b56\u 0b57\u0b62 \u0b63\u0b 82\u0bbe\u 0bc0\u0bcd \u0bd7\u0c 3e-\u0c40\ u0c46-\u0c 48\u0c4a-\ u0c4d\u0c5 5\u0c56\u0 c62\u0c63\ u0cbc\u0cb f\u0cc2\u0 cc6\u0ccc\ u0ccd\u0cd 5\u0cd6\u0 ce2\u0ce3\ u0d3e\u0d4 1-\u0d44\u 0d4d\u0d57 \u0d62\u0d 63\u0dca\u 0dcf\u0dd2 -\u0dd4\u0 dd6\u0ddf\ u0e31\u0e3 4-\u0e3a\u 0e47-\u0e4 e\u0eb1\u0 eb4-\u0eb9 \u0ebb\u0e bc\u0ec8-\ u0ecd\u0f1 8\u0f19\u0 f35\u0f37\ u0f39\u0f7 1-\u0f7e\u 0f80-\u0f8 4\u0f86\u0 f87\u0f90- \u0f97\u0f 99-\u0fbc\ u0fc6\u102 d-\u1030\u 1032-\u103 7\u1039\u1 03a\u103d\ u103e\u105 8\u1059\u1 05e-\u1060 \u1071-\u1 074\u1082\ u1085\u108 6\u108d\u1 09d\u135f\ u1712-\u17 14\u1732-\ u1734\u175 2\u1753\u1 772\u1773\ u17b7-\u17 bd\u17c6\u 17c9-\u17d 3\u17dd\u1 80b-\u180d \u18a9\u19 20-\u1922\ u1927\u192 8\u1932\u1 939-\u193b \u1a17\u1a 18\u1a56\u 1a58-\u1a5 e\u1a60\u1 a62\u1a65- \u1a6c\u1a 73-\u1a7c\ u1a7f\u1b0 0-\u1b03\u 1b34\u1b36 -\u1b3a\u1 b3c\u1b42\ u1b6b-\u1b 73\u1b80\u 1b81\u1ba2 -\u1ba5\u1 ba8\u1ba9\ u1c2c-\u1c 33\u1c36\u 1c37\u1cd0 -\u1cd2\u1 cd4-\u1ce0 \u1ce2-\u1 ce8\u1ced\ u1dc0-\u1d e6\u1dfd-\ u1dff\u200 c\u200d\u2 0d0-\u20f0 \u2cef-\u2 cf1\u2de0- \u2dff\u30 2a-\u302f\ u3099\u309 a\ua66f-\u a672\ua67c \ua67d\ua6 f0\ua6f1\u a802\ua806 \ua80b\ua8 25\ua826\u a8c4\ua8e0 -\ua8f1\ua 926-\ua92d \ua947-\ua 951\ua980- \ua982\ua9 b3\ua9b6-\ ua9b9\ua9b c\uaa29-\u aa2e\uaa31 \uaa32\uaa 35\uaa36\u aa43\uaa4c \uaab0\uaa b2-\uaab4\ uaab7\uaab 8\uaabe\ua abf\uaac1\ uabe5\uabe 8\uabed\ud c00-\udfff \ufb1e\ufe 00-\ufe0f\ ufe20-\ufe 26\uff9e\u ff9f]/;ug= document.c reateRange ?function( a,b,c,d){v ar e=docum ent.create Range();re turn e.set End(d||a,c ),e.setSta rt(a,b),e} :function( a,b,c){var d=documen t.body.cre ateTextRan ge();try{d .moveToEle mentText(a .parentNod e)}catch(e ){return d }return d. collapse(! 0),d.moveE nd("charac ter",c),d. moveStart( "character ",b),d};va r xg=x.con tains=func tion(a,b){ if(3==b.no deType&&(b =b.parentN ode),a.con tains)retu rn a.conta ins(b);do if(11==b.n odeType&&( b=b.host), b==a)retur n!0;while( b=b.parent Node)};f&& 11>g&&(yg= function() {try{retur n document .activeEle ment}catch (a){return document. body}});va r Ig,Kg,Ag =x.rmClass =function( a,b){var c =a.classNa me,d=zg(b) .exec(c);i f(d){var e =c.slice(d .index+d[0 ].length); a.classNam e=c.slice( 0,d.index) +(e?d[1]+e :"")}},Bg= x.addClass =function( a,b){var c =a.classNa me;zg(b).t est(c)||(a .className +=(c?" ":" ")+b)},Eg= !1,Hg=func tion(){if( f&&9>g)ret urn!1;var a=tg("div" );return"d raggable"i n a||"drag Drop"in a} (),Mg=x.sp litLines=3 !="\n\nb". split(/\n/ ).length?f unction(a) {for(var b =0,c=[],d= a.length;d >=b;){var e=a.indexO f("\n",b); -1==e&&(e= a.length); var f=a.sl ice(b,"\r" ==a.charAt (e-1)?e-1: e),g=f.ind exOf("\r") ;-1!=g?(c. push(f.sli ce(0,g)),b +=g+1):(c. push(f),b= e+1)}retur n c}:funct ion(a){ret urn a.spli t(/\r\n?|\ n/)},Ng=wi ndow.getSe lection?fu nction(a){ try{return a.selecti onStart!=a .selection End}catch( b){return! 1}}:functi on(a){try{ var b=a.ow nerDocumen t.selectio n.createRa nge()}catc h(c){}retu rn b&&b.pa rentElemen t()==a?0!= b.compareE ndPoints(" StartToEnd ",b):!1},O g=function (){var a=t g("div");r eturn"onco py"in a?!0 :(a.setAtt ribute("on copy","ret urn;"),"fu nction"==t ypeof a.on copy)}(),P g=null,Rg= x.keyNames ={3:"Enter ",8:"Backs pace",9:"T ab",13:"En ter",16:"S hift",17:" Ctrl",18:" Alt",19:"P ause",20:" CapsLock", 27:"Esc",3 2:"Space", 33:"PageUp ",34:"Page Down",35:" End",36:"H ome",37:"L eft",38:"U p",39:"Rig ht",40:"Do wn",44:"Pr intScrn",4 5:"Insert" ,46:"Delet e",59:";", 61:"=",91: "Mod",92:" Mod",93:"M od",106:"* ",107:"=", 109:"-",11 0:".",111: "/",127:"D elete",173 :"-",186:" ;",187:"=" ,188:",",1 89:"-",190 :".",191:" /",192:"`" ,219:"[",2 20:"\\",22 1:"]",222: "'",63232: "Up",63233 :"Down",63 234:"Left" ,63235:"Ri ght",63272 :"Delete", 63273:"Hom e",63275:" End",63276 :"PageUp", 63277:"Pag eDown",633 02:"Insert "};!functi on(){for(v ar a=0;10> a;a++)Rg[a +48]=Rg[a+ 96]=String (a);for(va r a=65;90> =a;a++)Rg[ a]=String. fromCharCo de(a);for( var a=1;12 >=a;a++)Rg [a+111]=Rg [a+63235]= "F"+a}();v ar _g,eh=f unction(){ function c (c){return 247>=c?a. charAt(c): c>=1424&&1 524>=c?"R" :c>=1536&& 1773>=c?b. charAt(c-1 536):c>=17 74&&2220>= c?"r":c>=8 192&&8203> =c?"w":820 4==c?"b":" L"}functio n j(a,b,c) {this.leve l=a,this.f rom=b,this .to=c}var a="bbbbbbb bbtstwsbbb bbbbbbbbbb bssstwNN%% %NNNNNN,N, N111111111 1NNNNNNNLL LLLLLLLLLL LLLLLLLLLL LLLLNNNNNN LLLLLLLLLL LLLLLLLLLL LLLLLLNNNN bbbbbbsbbb bbbbbbbbbb bbbbbbbbbb bbb,N%%%%N NNNLNNNNN% %11NLNNN1L NNNNNLLLLL LLLLLLLLLL LLLLLLLLNL LLLLLLLLLL LLLLLLLLLL LLLLLLLLLL N",b="rrrr rrrrrrrr,r NNmmmmmmrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rmmmmmmmmm mmmmmrrrrr rrnnnnnnnn nn%nnrrrmr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr rrrrrrrrrr mmmmmmmmmm mmmmmmmmmN mmmm",d=/[ \u0590-\u0 5f4\u0600- \u06ff\u07 00-\u08ac] /,e=/[stwN ]/,f=/[LRr ]/,g=/[Lb1 n]/,h=/[1n ]/,i="L";r eturn func tion(a){if (!d.test(a ))return!1 ;for(var m ,b=a.lengt h,k=[],l=0 ;b>l;++l)k .push(m=c( a.charCode At(l)));fo r(var l=0, n=i;b>l;++ l){var m=k [l];"m"==m ?k[l]=n:n= m}for(var l=0,o=i;b> l;++l){var m=k[l];"1 "==m&&"r"= =o?k[l]="n ":f.test(m )&&(o=m,"r "==m&&(k[l ]="R"))}fo r(var l=1, n=k[0];b-1 >l;++l){va r m=k[l];" +"==m&&"1" ==n&&"1"== k[l+1]?k[l ]="1":","! =m||n!=k[l +1]||"1"!= n&&"n"!=n| |(k[l]=n), n=m}for(va r l=0;b>l; ++l){var m =k[l];if(" ,"==m)k[l] ="N";else if("%"==m) {for(var p =l+1;b>p&& "%"==k[p]; ++p);for(v ar q=l&&"! "==k[l-1]| |b>p&&"1"= =k[p]?"1": "N",r=l;p> r;++r)k[r] =q;l=p-1}} for(var l= 0,o=i;b>l; ++l){var m =k[l];"L"= =o&&"1"==m ?k[l]="L": f.test(m)& &(o=m)}for (var l=0;b >l;++l)if( e.test(k[l ])){for(va r p=l+1;b> p&&e.test( k[p]);++p) ;for(var s ="L"==(l?k [l-1]:i),t ="L"==(b>p ?k[p]:i),q =s||t?"L": "R",r=l;p> r;++r)k[r] =q;l=p-1}f or(var v,u =[],l=0;b> l;)if(g.te st(k[l])){ var w=l;fo r(++l;b>l& &g.test(k[ l]);++l);u .push(new j(0,w,l))} else{var x =l,y=u.len gth;for(++ l;b>l&&"L" !=k[l];++l );for(var r=x;l>r;)i f(h.test(k [r])){r>x& &u.splice( y,0,new j( 1,x,r));va r z=r;for( ++r;l>r&&h .test(k[r] );++r);u.s plice(y,0, new j(2,z, r)),x=r}el se++r;l>x& &u.splice( y,0,new j( 1,x,l))}re turn 1==u[ 0].level&& (v=a.match (/^\s+/))& &(u[0].fro m=v[0].len gth,u.unsh ift(new j( 0,0,v[0].l ength))),1 ==fg(u).le vel&&(v=a. match(/\s+ $/))&&(fg( u).to-=v[0 ].length,u .push(new j(0,b-v[0] .length,b) )),2==u[0] .level&&u. unshift(ne w j(1,u[0] .to,u[0].t o)),u[0].l evel!=fg(u ).level&&u .push(new j(u[0].lev el,b,b)),u }}();retur n x.versio n="5.8.1", x}),functi on(a){"obj ect"==type of exports &&"object" ==typeof m odule?a(re quire("../ ../lib/cod emirror")) :"function "==typeof define&&de fine.amd?d efine([".. /../lib/co demirror"] ,a):a(Code Mirror)}(f unction(a) {function e(a,b,e,g) {var h=a.g etLineHand le(b.line) ,i=b.ch-1, j=i>=0&&d[ h.text.cha rAt(i)]||d [h.text.ch arAt(++i)] ;if(!j)ret urn null;v ar k=">"== j.charAt(1 )?1:-1;if( e&&k>0!=(i ==b.ch))re turn null; var l=a.ge tTokenType At(c(b.lin e,i+1)),m= f(a,c(b.li ne,i+(k>0? 1:0)),k,l| |null,g);r eturn null ==m?null:{ from:c(b.l ine,i),to: m&&m.pos,m atch:m&&m. ch==j.char At(0),forw ard:k>0}}f unction f( a,b,e,f,g) {for(var h =g&&g.maxS canLineLen gth||1e4,i =g&&g.maxS canLines|| 1e3,j=[],k =g&&g.brac ketRegex?g .bracketRe gex:/[(){} [\]]/,l=e> 0?Math.min (b.line+i, a.lastLine ()+1):Math .max(a.fir stLine()-1 ,b.line-i) ,m=b.line; m!=l;m+=e) {var n=a.g etLine(m); if(n){var o=e>0?0:n. length-1,p =e>0?n.len gth:-1;if( !(n.length >h))for(m= =b.line&&( o=b.ch-(0> e?1:0));o! =p;o+=e){v ar q=n.cha rAt(o);if( k.test(q)& &(void 0== =f||a.getT okenTypeAt (c(m,o+1)) ==f)){var r=d[q];if( ">"==r.cha rAt(1)==e> 0)j.push(q );else{if( !j.length) return{pos :c(m,o),ch :q};j.pop( )}}}}}retu rn m-e==(e >0?a.lastL ine():a.fi rstLine()) ?!1:null}f unction g( a,d,f){for (var g=a.s tate.match Brackets.m axHighligh tLineLengt h||1e3,h=[ ],i=a.list Selections (),j=0;j<i .length;j+ +){var k=i [j].empty( )&&e(a,i[j ].head,!1, f);if(k&&a .getLine(k .from.line ).length<= g){var l=k .match?"Co deMirror-m atchingbra cket":"Cod eMirror-no nmatchingb racket";h. push(a.mar kText(k.fr om,c(k.fro m.line,k.f rom.ch+1), {className :l})),k.to &&a.getLin e(k.to.lin e).length< =g&&h.push (a.markTex t(k.to,c(k .to.line,k .to.ch+1), {className :l}))}}if( h.length){ b&&a.state .focused&& a.focus(); var m=func tion(){a.o peration(f unction(){ for(var a= 0;a<h.leng th;a++)h[a ].clear()} )};if(!d)r eturn m;se tTimeout(m ,800)}}fun ction i(a) {a.operati on(functio n(){h&&(h( ),h=null), h=g(a,!1,a .state.mat chBrackets )})}var b= /MSIE \d/. test(navig ator.userA gent)&&(nu ll==docume nt.documen tMode||doc ument.docu mentMode<8 ),c=a.Pos, d={"(":")> ",")":"(<" ,"[":"]>", "]":"[<"," {":"}>","} ":"{<"},h= null;a.def ineOption( "matchBrac kets",!1,f unction(b, c,d){d&&d! =a.Init&&b .off("curs orActivity ",i),c&&(b .state.mat chBrackets ="object"= =typeof c? c:{},b.on( "cursorAct ivity",i)) }),a.defin eExtension ("matchBra ckets",fun ction(){g( this,!0)}) ,a.defineE xtension(" findMatchi ngBracket" ,function( a,b,c){ret urn e(this ,a,b,c)}), a.defineEx tension("s canForBrac ket",funct ion(a,b,c, d){return f(this,a,b ,c,d)})}), function(a ){"object" ==typeof e xports&&"o bject"==ty peof modul e?a(requir e("../../l ib/codemir ror")):"fu nction"==t ypeof defi ne&&define .amd?defin e(["../../ lib/codemi rror"],a): a(CodeMirr or)}(funct ion(a){"us e strict"; function b (a,b){if(! a.hasOwnPr operty(b)) throw new Error("Und efined sta te "+b+"in simple mo de")}funct ion c(a,b) {if(!a)ret urn/(?:)/; var c="";r eturn a in stanceof R egExp?(a.i gnoreCase& &(c="i"),a =a.source) :a=String( a),new Reg Exp((b===! 1?"":"^")+ "(?:"+a+") ",c)}funct ion d(a){i f(!a)retur n null;if( "string"== typeof a)r eturn a.re place(/\./ g," ");for (var b=[], c=0;c<a.le ngth;c++)b .push(a[c] &&a[c].rep lace(/\./g ," "));ret urn b}func tion e(a,e ){(a.next| |a.push)&& b(e,a.next ||a.push), this.regex =c(a.regex ),this.tok en=d(a.tok en),this.d ata=a}func tion f(a,b ){return f unction(c, d){if(d.pe nding){var e=d.pendi ng.shift() ;return 0= =d.pending .length&&( d.pending= null),c.po s+=e.text. length,e.t oken}if(d. local){if( d.local.en d&&c.match (d.local.e nd)){var f =d.local.e ndToken||n ull;return d.local=d .localStat e=null,f}v ar g,f=d.l ocal.mode. token(c,d. localState );return d .local.end Scan&&(g=d .local.end Scan.exec( c.current( )))&&(c.po s=c.start+ g.index),f }for(var i =a[d.state ],j=0;j<i. length;j++ ){var k=i[ j],l=(!k.d ata.sol||c .sol())&&c .match(k.r egex);if(l ){if(k.dat a.next?d.s tate=k.dat a.next:k.d ata.push?( (d.stack|| (d.stack=[ ])).push(d .state),d. state=k.da ta.push):k .data.pop& &d.stack&& d.stack.le ngth&&(d.s tate=d.sta ck.pop()), k.data.mod e&&h(b,d,k .data.mode ,k.token), k.data.ind ent&&d.ind ent.push(c .indentati on()+b.ind entUnit),k .data.dede nt&&d.inde nt.pop(),l .length>2) {d.pending =[];for(va r m=2;m<l. length;m++ )l[m]&&d.p ending.pus h({text:l[ m],token:k .token[m-1 ]});return c.backUp( l[0].lengt h-(l[1]?l[ 1].length: 0)),k.toke n[0]}retur n k.token& &k.token.j oin?k.toke n[0]:k.tok en}}return c.next(), null}}func tion g(a,b ){if(a===b )return!0; if(!a||"ob ject"!=typ eof a||!b| |"object"! =typeof b) return!1;v ar c=0;for (var d in a)if(a.has OwnPropert y(d)){if(! b.hasOwnPr operty(d)| |!g(a[d],b [d]))retur n!1;c++}fo r(var d in b)b.hasOw nProperty( d)&&c--;re turn 0==c} function h (b,d,e,f){ var h;if(e .persisten t)for(var i=d.persis tentStates ;i&&!h;i=i .next)(e.s pec?g(e.sp ec,i.spec) :e.mode==i .mode)&&(h =i);var j= h?h.mode:e .mode||a.g etMode(b,e .spec),k=h ?h.state:a .startStat e(j);e.per sistent&&! h&&(d.pers istentStat es={mode:j ,spec:e.sp ec,state:k ,next:d.pe rsistentSt ates}),d.l ocalState= k,d.local= {mode:j,en d:e.end&&c (e.end),en dScan:e.en d&&e.force End!==!1&& c(e.end,!1 ),endToken :f&&f.join ?f[f.lengt h-1]:f}}fu nction i(a ,b){for(va r c=0;c<b. length;c++ )if(b[c]== =a)return! 0}function j(b,c){re turn funct ion(d,e,f) {if(d.loca l&&d.local .mode.inde nt)return d.local.mo de.indent( d.localSta te,e,f);if (null==d.i ndent||d.l ocal||c.do ntIndentSt ates&&i(d. state,c.do ntIndentSt ates)>-1)r eturn a.Pa ss;var g=d .indent.le ngth-1,h=b [d.state]; a:for(;;){ for(var j= 0;j<h.leng th;j++){va r k=h[j];i f(k.data.d edent&&k.d ata.dedent IfLineStar t!==!1){va r l=k.rege x.exec(e); if(l&&l[0] ){g--,(k.n ext||k.pus h)&&(h=b[k .next||k.p ush]),e=e. slice(l[0] .length);c ontinue a} }}break}re turn 0>g?0 :d.indent[ g]}}a.defi neSimpleMo de=functio n(b,c){a.d efineMode( b,function (b){return a.simpleM ode(b,c)}) },a.simple Mode=funct ion(c,d){b (d,"start" );var g={} ,h=d.meta| |{},i=!1;f or(var k i n d)if(k!= h&&d.hasOw nProperty( k))for(var l=g[k]=[] ,m=d[k],n= 0;n<m.leng th;n++){va r o=m[n];l .push(new e(o,d)),(o .indent||o .dedent)&& (i=!0)}var p={startS tate:funct ion(){retu rn{state:" start",pen ding:null, local:null ,localStat e:null,ind ent:i?[]:n ull}},copy State:func tion(b){va r c={state :b.state,p ending:b.p ending, | |||||
| 17 | local:b.lo cal,localS tate:null, indent:b.i ndent&&b.i ndent.slic e(0)};b.lo calState&& (c.localSt ate=a.copy State(b.lo cal.mode,b .localStat e)),b.stac k&&(c.stac k=b.stack. slice(0)); for(var d= b.persiste ntStates;d ;d=d.next) c.persiste ntStates={ mode:d.mod e,spec:d.s pec,state: d.state==b .localStat e?c.localS tate:a.cop yState(d.m ode,d.stat e),next:c. persistent States};re turn c},to ken:f(g,c) ,innerMode :function( a){return a.local&&{ mode:a.loc al.mode,st ate:a.loca lState}},i ndent:j(g, h)};if(h)f or(var q i n h)h.hasO wnProperty (q)&&(p[q] =h[q]);ret urn p}}); |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.