2015-10-15 13:01:16 +03:00
/ * *
2016-02-25 15:08:37 -06:00
* simplemde v1 . 10.1
2015-10-15 13:01:16 +03:00
* Copyright Next Step Webs , Inc .
* @ link https : //github.com/NextStepWebs/simplemde-markdown-editor
* @ license MIT
* /
2016-06-05 00:31:05 +01:00
! function ( e ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = e ( ) ; else if ( "function" == typeof define && define . amd ) define ( [ ] , e ) ; else { var t ; t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this , t . SimpleMDE = e ( ) } } ( function ( ) { var e ; return function t ( e , n , r ) { function i ( l , a ) { if ( ! n [ l ] ) { if ( ! e [ l ] ) { var s = "function" == typeof require && require ; if ( ! a && s ) return s ( l , ! 0 ) ; if ( o ) return o ( l , ! 0 ) ; var c = new Error ( "Cannot find module '" + l + "'" ) ; throw c . code = "MODULE_NOT_FOUND" , c } var u = n [ l ] = { exports : { } } ; e [ l ] [ 0 ] . call ( u . exports , function ( t ) { var n = e [ l ] [ 1 ] [ t ] ; return i ( n ? n : t ) } , u , u . exports , t , e , n , r ) } return n [ l ] . exports } for ( var o = "function" == typeof require && require , l = 0 ; l < r . length ; l ++ ) i ( r [ l ] ) ; return i } ( { 1 : [ function ( e , t , n ) { ( function ( n ) { Typo = n . Typo = e ( "/Users/ruisaraiva/Development/simplemde-markdown-editor/node_modules/codemirror-spell-checker/src/js/typo.js" ) , CodeMirror = n . CodeMirror = e ( "codemirror" ) ; ( function ( e , t , n ) { var r , i = 0 , o = ! 1 , l = ! 1 , a = "" , s = "" ; CodeMirror . defineMode ( "spell-checker" , function ( e , t ) { if ( ! o ) { o = ! 0 ; var n = new XMLHttpRequest ; n . open ( "GET" , "https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.aff" , ! 0 ) , n . onload = function ( e ) { 4 === n . readyState && 200 === n . status && ( a = n . responseText , i ++ , 2 == i && ( r = new Typo ( "en_US" , a , s , { platform : "any" } ) ) ) } , n . send ( null ) } if ( ! l ) { l = ! 0 ; var c = new XMLHttpRequest ; c . open ( "GET" , "https://cdn.jsdelivr.net/codemirror.spell-checker/latest/en_US.dic" , ! 0 ) , c . onload = function ( e ) { 4 === c . readyState && 200 === c . status && ( s = c . responseText , i ++ , 2 == i && ( r = new Typo ( "en_US" , a , s , { platform : "any" } ) ) ) } , c . send ( null ) } var u = '!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~ ' , d = { token : function ( e , t ) { var n = e . peek ( ) , i = "" ; if ( u . includes ( n ) ) return e . next ( ) , null ; for ( ; null != ( n = e . peek ( ) ) && ! u . includes ( n ) ; ) i += n , e . next ( ) ; return r && ! r . check ( i ) ? "spell-error" : null } } , h = CodeMirror . getMode ( e , e . backdrop || "text/plain" ) ; return CodeMirror . overlayMode ( h , d , ! 0 ) } ) , String . prototype . includes || ( String . prototype . includes = function ( ) { "use strict" ; return - 1 !== String . prototype . indexOf . apply ( this , arguments ) } ) } ) . call ( n , t , void 0 , void 0 ) } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { "/Users/ruisaraiva/Development/simplemde-markdown-editor/node_modules/codemirror-spell-checker/src/js/typo.js" : 2 , codemirror : 7 } ] , 2 : [ function ( e , t , n ) { ( function ( e ) { ( function ( e , t , n , r , i ) { "use strict" ; var o = function ( e , t , n , r ) { if ( r = r || { } , this . platform = r . platform || "chrome" , this . dictionary = null , this . rules = { } , this . dictionaryTable = { } , this . compoundRules = [ ] , this . compoundRuleCodes = { } , this . replacementTable = [ ] , this . flags = r . flags || { } , e ) { if ( this . dictionary = e , "chrome" == this . platform ) t || ( t = this . _readFile ( chrome . extension . getURL ( "lib/typo/dictionaries/" + e + "/" + e + ".aff" ) ) ) , n || ( n = this . _readFile ( chrome . extension . getURL ( "lib/typo/dictionaries/" + e + "/" + e + ".dic" ) ) ) ; else { var i = r . dictionaryPath || "" ; t || ( t = this . _readFile ( i + "/" + e + "/" + e + ".aff" ) ) , n || ( n = this . _readFile ( i + "/" + e + "/" + e + ".dic" ) ) } this . rules = this . _parseAFF ( t ) , this . compoundRuleCodes = { } ; for ( var o = 0 , l = this . compoundRules . length ; l > o ; o ++ ) for ( var a = this . compoundRules [ o ] , s = 0 , c = a . length ; c > s ; s ++ ) this . compoundRuleCodes [ a [ s ] ] = [ ] ; "ONLYINCOMPOUND" in this . flags && ( this . compoundRuleCodes [ this . flags . ONLYINCOMPOUND ] = [ ] ) , this . dictionaryTable = this . _parseDIC ( n ) ; for ( var o in this . compoundRuleCodes ) 0 == this . compoundRuleCodes [ o ] . length && delete this . compoundRuleCodes [ o ] ; for ( var o = 0 , l = this . compoundRules . length ; l > o ; o ++ ) { for ( var u = this . compoundRules [ o ] , d = "" , s = 0 , c = u . length ; c > s ; s ++ ) { var h = u [ s ] ; d += h in this . compoundRuleCodes ? "(" + this . compoundRuleCodes [ h ] . join ( "|" ) + ")" : h } this . compoundRules [ o ] = new RegExp ( d , "i" ) } } return this } ; o . prototype = { load : function ( e ) { for ( var t in e ) this [ t ] = e [ t ] ; return this } , _readFile : function ( e , t ) { t || ( t = "ISO8859-1" ) ; var n = new XMLHttpRequest ; return n . open ( "GET" , e , ! 1 ) , n . overrideMimeType && n . overrideMimeType ( "text/plain; charset=" + t ) , n . send ( null ) , n . responseText } , _parseAFF : function ( e ) { var t = { } ; e = this . _removeAffixComments ( e ) ; for ( var n = e . split ( "\n" ) , r = 0 , i = n . length ; i > r ; r ++ ) { var o = n [ r ] , l = o . split ( /\s+/ ) , a = l [ 0 ] ; if ( "PFX" == a || "SFX" == a ) { for ( var s = l [ 1 ] , c = l [ 2 ] , u = parseInt ( l [ 3 ] , 10 ) , d = [ ] , h = r + 1 , f = r + 1 + u ; f > h ; h ++ ) { var
e . setAttribute ( "autocorrect" , "off" ) , e . setAttribute ( "autocapitalize" , "off" ) , e . setAttribute ( "spellcheck" , "false" ) } function ne ( e ) { this . cm = e , this . prevInput = "" , this . pollingFast = ! 1 , this . polling = new Oi , this . inaccurateSelection = ! 1 , this . hasSelection = ! 1 , this . composing = null } function re ( ) { var e = _i ( "textarea" , null , null , "position: absolute; padding: 0; width: 1px; height: 1em; outline: none" ) , t = _i ( "div" , [ e ] , null , "overflow: hidden; position: relative; width: 3px; height: 0px;" ) ; return wo ? e . style . width = "1000px" : e . setAttribute ( "wrap" , "off" ) , No && ( e . style . border = "1px solid black" ) , te ( e ) , t } function ie ( e ) { this . cm = e , this . lastAnchorNode = this . lastAnchorOffset = this . lastFocusNode = this . lastFocusOffset = null , this . polling = new Oi , this . gracePeriod = ! 1 } function oe ( e , t ) { var n = Je ( e , t . line ) ; if ( ! n || n . hidden ) return null ; var r = Zr ( e . doc , t . line ) , i = Ye ( n , r , t . line ) , o = ii ( r ) , l = "left" ; if ( o ) { var a = co ( o , t . ch ) ; l = a % 2 ? "right" : "left" } var s = nt ( i . map , t . ch , l ) ; return s . offset = "right" == s . collapse ? s . end : s . start , s } function le ( e , t ) { return t && ( e . bad = ! 0 ) , e } function ae ( e , t , n ) { var r ; if ( t == e . display . lineDiv ) { if ( r = e . display . lineDiv . childNodes [ n ] , ! r ) return le ( e . clipPos ( zo ( e . display . viewTo - 1 ) ) , ! 0 ) ; t = null , n = 0 } else for ( r = t ; ; r = r . parentNode ) { if ( ! r || r == e . display . lineDiv ) return null ; if ( r . parentNode && r . parentNode == e . display . lineDiv ) break } for ( var i = 0 ; i < e . display . view . length ; i ++ ) { var o = e . display . view [ i ] ; if ( o . node == r ) return se ( o , t , n ) } } function se ( e , t , n ) { function r ( t , n , r ) { for ( var i = - 1 ; i < ( u ? u . length : 0 ) ; i ++ ) for ( var o = 0 > i ? c . map : u [ i ] , l = 0 ; l < o . length ; l += 3 ) { var a = o [ l + 2 ] ; if ( a == t || a == n ) { var s = ti ( 0 > i ? e . line : e . rest [ i ] ) , d = o [ l ] + r ; return ( 0 > r || a != t ) && ( d = o [ l + ( r ? 1 : 0 ) ] ) , zo ( s , d ) } } } var i = e . text . firstChild , o = ! 1 ; if ( ! t || ! Kl ( i , t ) ) return le ( zo ( ti ( e . line ) , 0 ) , ! 0 ) ; if ( t == i && ( o = ! 0 , t = i . childNodes [ n ] , n = 0 , ! t ) ) { var l = e . rest ? Wi ( e . rest ) : e . line ; return le ( zo ( ti ( l ) , l . text . length ) , o ) } var a = 3 == t . nodeType ? t : null , s = t ; for ( a || 1 != t . childNodes . length || 3 != t . firstChild . nodeType || ( a = t . firstChild , n && ( n = a . nodeValue . length ) ) ; s . parentNode != i ; ) s = s . parentNode ; var c = e . measure , u = c . maps , d = r ( a , s , n ) ; if ( d ) return le ( d , o ) ; for ( var h = s . nextSibling , f = a ? a . nodeValue . length - n : 0 ; h ; h = h . nextSibling ) { if ( d = r ( h , h . firstChild , 0 ) ) return le ( zo ( d . line , d . ch - f ) , o ) ; f += h . textContent . length } for ( var p = s . previousSibling , f = n ; p ; p = p . previousSibling ) { if ( d = r ( p , p . firstChild , - 1 ) ) return le ( zo ( d . line , d . ch + f ) , o ) ; f += h . textContent . length } } function ce ( e , t , n , r , i ) { function o ( e ) { return function ( t ) { return t . id == e } } function l ( t ) { if ( 1 == t . nodeType ) { var n = t . getAttribute ( "cm-text" ) ; if ( null != n ) return "" == n && ( n = t . textContent . replace ( /\u200b/g , "" ) ) , void ( a += n ) ; var u , d = t . getAttribute ( "cm-marker" ) ; if ( d ) { var h = e . findMarks ( zo ( r , 0 ) , zo ( i + 1 , 0 ) , o ( + d ) ) ; return void ( h . length && ( u = h [ 0 ] . find ( ) ) && ( a += Qr ( e . doc , u . from , u . to ) . join ( c ) ) ) } if ( "false" == t . getAttribute ( "contenteditable" ) ) return ; for ( var f = 0 ; f < t . childNodes . length ; f ++ ) l ( t . childNodes [ f ] ) ; /^(pre|div|p)$/i . test ( t . nodeName ) && ( s = ! 0 ) } else if ( 3 == t . nodeType ) { var p = t . nodeValue ; if ( ! p ) return ; s && ( a += c , s = ! 1 ) , a += p } } for ( var a = "" , s = ! 1 , c = e . doc . lineSeparator ( ) ; l ( t ) , t != n ; ) t = t . nextSibling ; return a } function ue ( e , t ) { this . ranges = e , this . primIndex = t } function de ( e , t ) { this . anchor = e , this . head = t } function he ( e , t ) { var n = e [ t ] ; e . sort ( function ( e , t ) { return Ro ( e . from ( ) , t . from ( ) ) } ) , t = Ii ( e , n ) ; for ( var r = 1 ; r < e . length ; r ++ ) { var i = e [ r ] , o = e [ r - 1 ] ; if ( Ro ( o . to ( ) , i . from ( ) ) >= 0 ) { var l = X ( o . from ( ) , i . from ( ) ) , a = K ( o . to ( ) , i . to ( ) ) , s = o . empty ( ) ? i . from ( ) == i . head : o . from ( ) == o . head ; t >= r && -- t , e . splice ( -- r , 2 , new de ( s ? a : l , s ? l : a ) ) } } return new ue ( e , t ) } function fe ( e , t ) { return new ue ( [ new de ( e , t || e ) ] , 0 ) } function pe ( e , t ) { return Math . max ( e . first , Math . min ( t , e . first + e . size - 1 ) ) } function me ( e , t ) { if ( t . line < e . first ) return zo ( e . first , 0 ) ; var n = e . first + e . size - 1 ; return t . line > n ? zo ( n , Zr ( e , n ) . text . length ) : ge ( t , Zr ( e , t . line ) . text . length ) } function ge ( e , t ) { var n = e . ch ; return null == n || n > t ? zo ( e . line , t ) : 0 > n ? zo ( e . line , 0 ) : e } function ve ( e , t ) { return t >= e . first && t < e . first + e . size } function ye ( e , t ) { for ( var n = [ ] , r = 0 ; r < t . length ; r ++ ) n [ r ] = me ( e , t [ r ] ) ; return n } function xe ( e , t , n , r ) { if ( e . cm && e . cm . display . shift || e . extend ) { var i = t . anchor ; if ( r ) { var o = Ro ( n , i ) < 0 ; o != Ro ( r , i ) < 0 ? ( i = n , n = r ) : o != Ro ( n , r ) < 0 && ( n = r ) } return new de ( i , n ) } return new de ( r || n , n ) } function be ( e , t , n , r ) { Te ( e , new ue ( [ xe ( e , e .
return ! 1 } if ( i >= Math . floor ( e . display . gutters . getBoundingClientRect ( ) . right ) ) return ! 1 ; r && Ml ( t ) ; var l = e . display , a = l . lineDiv . getBoundingClientRect ( ) ; if ( o > a . bottom || ! Ni ( e , n ) ) return bi ( t ) ; o -= a . top - l . viewOffset ; for ( var s = 0 ; s < e . options . gutters . length ; ++ s ) { var c = l . gutters . childNodes [ s ] ; if ( c && c . getBoundingClientRect ( ) . right >= i ) { var u = ni ( e . doc , o ) , d = e . options . gutters [ s ] ; return Il ( e , n , e , u , d , t ) , bi ( t ) } } } function Qt ( e , t ) { return Zt ( e , t , "gutterClick" , ! 0 ) } function Jt ( e ) { var t = this ; if ( nn ( t ) , ! Ti ( t , e ) && ! Gt ( t . display , e ) ) { Ml ( e ) , xo && ( Vo = + new Date ) ; var n = $t ( t , e , ! 0 ) , r = e . dataTransfer . files ; if ( n && ! t . isReadOnly ( ) ) if ( r && r . length && window . FileReader && window . File ) for ( var i = r . length , o = Array ( i ) , l = 0 , a = function ( e , r ) { if ( ! t . options . allowDropFileTypes || - 1 != Ii ( t . options . allowDropFileTypes , e . type ) ) { var a = new FileReader ; a . onload = Ot ( t , function ( ) { var e = a . result ; if ( /[\x00-\x08\x0e-\x1f]{2}/ . test ( e ) && ( e = "" ) , o [ r ] = e , ++ l == i ) { n = me ( t . doc , n ) ; var s = { from : n , to : n , text : t . doc . splitLines ( o . join ( t . doc . lineSeparator ( ) ) ) , origin : "paste" } ; Tn ( t . doc , s ) , Le ( t . doc , fe ( n , Jo ( s ) ) ) } } ) , a . readAsText ( e ) } } , s = 0 ; i > s ; ++ s ) a ( r [ s ] , s ) ; else { if ( t . state . draggingText && t . doc . sel . contains ( n ) > - 1 ) return t . state . draggingText ( e ) , void setTimeout ( function ( ) { t . display . input . focus ( ) } , 20 ) ; try { var o = e . dataTransfer . getData ( "Text" ) ; if ( o ) { if ( t . state . draggingText && ! ( Oo ? e . altKey : e . ctrlKey ) ) var c = t . listSelections ( ) ; if ( Me ( t . doc , fe ( n , n ) ) , c ) for ( var s = 0 ; s < c . length ; ++ s ) Wn ( t . doc , "" , c [ s ] . anchor , c [ s ] . head , "drag" ) ; t . replaceSelection ( o , "around" , "paste" ) , t . display . input . focus ( ) } } catch ( e ) { } } } } function en ( e , t ) { if ( xo && ( ! e . state . draggingText || + new Date - Vo < 100 ) ) return void Al ( t ) ; if ( ! Ti ( e , t ) && ! Gt ( e . display , t ) && ( t . dataTransfer . setData ( "Text" , e . getSelection ( ) ) , t . dataTransfer . effectAllowed = "copyMove" , t . dataTransfer . setDragImage && ! Lo ) ) { var n = _i ( "img" , null , null , "position: fixed; left: 0; top: 0;" ) ; n . src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" , So && ( n . width = n . height = 1 , e . display . wrapper . appendChild ( n ) , n . _top = n . offsetTop ) , t . dataTransfer . setDragImage ( n , 0 , 0 ) , So && n . parentNode . removeChild ( n ) } } function tn ( e , t ) { var n = $t ( e , t ) ; if ( n ) { var r = document . createDocumentFragment ( ) ; Pe ( e , n , r ) , e . display . dragCursor || ( e . display . dragCursor = _i ( "div" , null , "CodeMirror-cursors CodeMirror-dragcursors" ) , e . display . lineSpace . insertBefore ( e . display . dragCursor , e . display . cursorDiv ) ) , Ui ( e . display . dragCursor , r ) } } function nn ( e ) { e . display . dragCursor && ( e . display . lineSpace . removeChild ( e . display . dragCursor ) , e . display . dragCursor = null ) } function rn ( e , t ) { Math . abs ( e . doc . scrollTop - t ) < 2 || ( e . doc . scrollTop = t , go || A ( e , { top : t } ) , e . display . scroller . scrollTop != t && ( e . display . scroller . scrollTop = t ) , e . display . scrollbars . setScrollTop ( t ) , go && A ( e ) , Re ( e , 100 ) ) } function on ( e , t , n ) { ( n ? t == e . doc . scrollLeft : Math . abs ( e . doc . scrollLeft - t ) < 2 ) || ( t = Math . min ( t , e . display . scroller . scrollWidth - e . display . scroller . clientWidth ) , e . doc . scrollLeft = t , w ( e ) , e . display . scroller . scrollLeft != t && ( e . display . scroller . scrollLeft = t ) , e . display . scrollbars . setScrollLeft ( t ) ) } function ln ( e , t ) { var n = Yo ( t ) , r = n . x , i = n . y , o = e . display , l = o . scroller , a = l . scrollWidth > l . clientWidth , s = l . scrollHeight > l . clientHeight ; if ( r && a || i && s ) { if ( i && Oo && wo ) e : for ( var c = t . target , u = o . view ; c != l ; c = c . parentNode ) for ( var d = 0 ; d < u . length ; d ++ ) if ( u [ d ] . node == c ) { e . display . currentWheelTarget = c ; break e } if ( r && ! go && ! So && null != Xo ) return i && s && rn ( e , Math . max ( 0 , Math . min ( l . scrollTop + i * Xo , l . scrollHeight - l . clientHeight ) ) ) , on ( e , Math . max ( 0 , Math . min ( l . scrollLeft + r * Xo , l . scrollWidth - l . clientWidth ) ) ) , ( ! i || i && s ) && Ml ( t ) , void ( o . wheelStartX = null ) ; if ( i && null != Xo ) { var h = i * Xo , f = e . doc . scrollTop , p = f + o . wrapper . clientHeight ; 0 > h ? f = Math . max ( 0 , f + h - 50 ) : p = Math . min ( e . doc . height , p + h + 50 ) , A ( e , { top : f , bottom : p } ) } 20 > Ko && ( null == o . wheelStartX ? ( o . wheelStartX = l . scrollLeft , o . wheelStartY = l . scrollTop , o . wheelDX = r , o . wheelDY = i , setTimeout ( function ( ) { if ( null != o . wheelStartX ) { var e = l . scrollLeft - o . wheelStartX , t = l . scrollTop - o . wheelStartY , n = t && o . wheelDY && t / o . wheelDY || e && o . wheelDX && e / o . wheelDX ; o . wheelStartX = o . wheelStartY = null , n && ( Xo = ( Xo * Ko + n ) / ( Ko + 1 ) , ++ Ko ) } } , 200 ) ) : ( o . wheelDX += r , o . wheelDY += i ) ) } } function an ( e , t , n ) { if ( "string" == typeof t && ( t = ul [ t ] , ! t ) ) return ! 1 ; e . display . input . ensurePolled ( ) ; var r = e . display . shift , i = ! 1 ; tr
var m = l ( 1 , c . length - 1 ) ; p > 1 && e . remove ( a . line + 1 , p - 1 ) , e . insert ( a . line + 1 , m ) } Si ( e , "change" , e , t ) } function Vr ( e ) { this . lines = e , this . parent = null ; for ( var t = 0 , n = 0 ; t < e . length ; ++ t ) e [ t ] . parent = this , n += e [ t ] . height ; this . height = n } function Kr ( e ) { this . children = e ; for ( var t = 0 , n = 0 , r = 0 ; r < e . length ; ++ r ) { var i = e [ r ] ; t += i . chunkSize ( ) , n += i . height , i . parent = this } this . size = t , this . height = n , this . parent = null } function Xr ( e , t , n ) { function r ( e , i , o ) { if ( e . linked ) for ( var l = 0 ; l < e . linked . length ; ++ l ) { var a = e . linked [ l ] ; if ( a . doc != i ) { var s = o && a . sharedHist ; n && ! s || ( t ( a . doc , s ) , r ( a . doc , e , s ) ) } } } r ( e , null , ! 0 ) } function Yr ( e , t ) { if ( t . cm ) throw new Error ( "This document is already in use." ) ; e . doc = t , t . cm = e , l ( e ) , n ( e ) , e . options . lineWrapping || h ( e ) , e . options . mode = t . modeOption , Dt ( e ) } function Zr ( e , t ) { if ( t -= e . first , 0 > t || t >= e . size ) throw new Error ( "There is no line " + ( t + e . first ) + " in the document." ) ; for ( var n = e ; ! n . lines ; ) for ( var r = 0 ; ; ++ r ) { var i = n . children [ r ] , o = i . chunkSize ( ) ; if ( o > t ) { n = i ; break } t -= o } return n . lines [ t ] } function Qr ( e , t , n ) { var r = [ ] , i = t . line ; return e . iter ( t . line , n . line + 1 , function ( e ) { var o = e . text ; i == n . line && ( o = o . slice ( 0 , n . ch ) ) , i == t . line && ( o = o . slice ( t . ch ) ) , r . push ( o ) , ++ i } ) , r } function Jr ( e , t , n ) { var r = [ ] ; return e . iter ( t , n , function ( e ) { r . push ( e . text ) } ) , r } function ei ( e , t ) { var n = t - e . height ; if ( n ) for ( var r = e ; r ; r = r . parent ) r . height += n } function ti ( e ) { if ( null == e . parent ) return null ; for ( var t = e . parent , n = Ii ( t . lines , e ) , r = t . parent ; r ; t = r , r = r . parent ) for ( var i = 0 ; r . children [ i ] != t ; ++ i ) n += r . children [ i ] . chunkSize ( ) ; return n + t . first } function ni ( e , t ) { var n = e . first ; e : do { for ( var r = 0 ; r < e . children . length ; ++ r ) { var i = e . children [ r ] , o = i . height ; if ( o > t ) { e = i ; continue e } t -= o , n += i . chunkSize ( ) } return n } while ( ! e . lines ) ; for ( var r = 0 ; r < e . lines . length ; ++ r ) { var l = e . lines [ r ] , a = l . height ; if ( a > t ) break ; t -= a } return n + r } function ri ( e ) { e = yr ( e ) ; for ( var t = 0 , n = e . parent , r = 0 ; r < n . lines . length ; ++ r ) { var i = n . lines [ r ] ; if ( i == e ) break ; t += i . height } for ( var o = n . parent ; o ; n = o , o = n . parent ) for ( var r = 0 ; r < o . children . length ; ++ r ) { var l = o . children [ r ] ; if ( l == n ) break ; t += l . height } return t } function ii ( e ) { var t = e . order ; return null == t && ( t = e . order = aa ( e . text ) ) , t } function oi ( e ) { this . done = [ ] , this . undone = [ ] , this . undoDepth = 1 / 0 , this . lastModTime = this . lastSelTime = 0 , this . lastOp = this . lastSelOp = null , this . lastOrigin = this . lastSelOrigin = null , this . generation = this . maxGeneration = e || 1 } function li ( e , t ) { var n = { from : V ( t . from ) , to : Jo ( t ) , text : Qr ( e , t . from , t . to ) } ; return fi ( e , n , t . from . line , t . to . line + 1 ) , Xr ( e , function ( e ) { fi ( e , n , t . from . line , t . to . line + 1 ) } , ! 0 ) , n } function ai ( e ) { for ( ; e . length ; ) { var t = Wi ( e ) ; if ( ! t . ranges ) break ; e . pop ( ) } } function si ( e , t ) { return t ? ( ai ( e . done ) , Wi ( e . done ) ) : e . done . length && ! Wi ( e . done ) . ranges ? Wi ( e . done ) : e . done . length > 1 && ! e . done [ e . done . length - 2 ] . ranges ? ( e . done . pop ( ) , Wi ( e . done ) ) : void 0 } function ci ( e , t , n , r ) { var i = e . history ; i . undone . length = 0 ; var o , l = + new Date ; if ( ( i . lastOp == r || i . lastOrigin == t . origin && t . origin && ( "+" == t . origin . charAt ( 0 ) && e . cm && i . lastModTime > l - e . cm . options . historyEventDelay || "*" == t . origin . charAt ( 0 ) ) ) && ( o = si ( i , i . lastOp == r ) ) ) { var a = Wi ( o . changes ) ; 0 == Ro ( t . from , t . to ) && 0 == Ro ( t . from , a . to ) ? a . to = Jo ( t ) : o . changes . push ( li ( e , t ) ) } else { var s = Wi ( i . done ) ; for ( s && s . ranges || hi ( e . sel , i . done ) , o = { changes : [ li ( e , t ) ] , generation : i . generation } , i . done . push ( o ) ; i . done . length > i . undoDepth ; ) i . done . shift ( ) , i . done [ 0 ] . ranges || i . done . shift ( ) } i . done . push ( n ) , i . generation = ++ i . maxGeneration , i . lastModTime = i . lastSelTime = l , i . lastOp = i . lastSelOp = r , i . lastOrigin = i . lastSelOrigin = t . origin , a || Il ( e , "historyAdded" ) } function ui ( e , t , n , r ) { var i = t . charAt ( 0 ) ; return "*" == i || "+" == i && n . ranges . length == r . ranges . length && n . somethingSelected ( ) == r . somethingSelected ( ) && new Date - e . history . lastSelTime <= ( e . cm ? e . cm . options . historyEventDelay : 500 ) } function di ( e , t , n , r ) { var i = e . history , o = r && r . origin ; n == i . lastSelOp || o && i . lastSelOrigin == o && ( i . lastModTime == i . lastSelTime && i . lastOrigin == o || ui ( e , o , Wi ( i . done ) , t ) ) ? i . done [ i . done . length - 1 ] = t : hi ( t , i . done ) , i . lastSelTime = + new Date , i . lastSelOrigin = o , i . lastSelOp = n , r && r . clearRedo !== ! 1 && ai ( i . undone ) } function hi ( e , t ) { var n = Wi ( t ) ; n && n . ranges && n . equals ( e ) || t . push ( e ) } function fi ( e , t , n , r ) { var i = t [ "spans_" + e . id ] , o = 0 ; e . iter ( Math . max ( e . first , n ) , Math . min ( e . first + e . size , r ) , function ( n ) { n . markedSpans && ( ( i || ( i = t [ "spans_" + e . id ] =
return ul . hasOwnProperty ( e ) ? ul [ e ] . call ( null , this ) : void 0 } , triggerElectric : Ht ( function ( e ) { J ( this , e ) } ) , findPosH : function ( e , t , n , r ) { var i = 1 ; 0 > t && ( i = - 1 , t = - t ) ; for ( var o = 0 , l = me ( this . doc , e ) ; t > o && ( l = qn ( this . doc , l , i , n , r ) , ! l . hitSide ) ; ++ o ) ; return l } , moveH : Ht ( function ( e , t ) { var n = this ; n . extendSelectionsBy ( function ( r ) { return n . display . shift || n . doc . extend || r . empty ( ) ? qn ( n . doc , r . head , e , t , n . options . rtlMoveVisually ) : 0 > e ? r . from ( ) : r . to ( ) } , Rl ) } ) , deleteH : Ht ( function ( e , t ) { var n = this . doc . sel , r = this . doc ; n . somethingSelected ( ) ? r . replaceSelection ( "" , null , "+delete" ) : _n ( this , function ( n ) { var i = qn ( r , n . head , e , t , ! 1 ) ; return 0 > e ? { from : i , to : n . head } : { from : n . head , to : i } } ) } ) , findPosV : function ( e , t , n , r ) { var i = 1 , o = r ; 0 > t && ( i = - 1 , t = - t ) ; for ( var l = 0 , a = me ( this . doc , e ) ; t > l ; ++ l ) { var s = ft ( this , a , "div" ) ; if ( null == o ? o = s . left : s . left = o , a = Un ( this , s , i , n ) , a . hitSide ) break } return a } , moveV : Ht ( function ( e , t ) { var n = this , r = this . doc , i = [ ] , o = ! n . display . shift && ! r . extend && r . sel . somethingSelected ( ) ; if ( r . extendSelectionsBy ( function ( l ) { if ( o ) return 0 > e ? l . from ( ) : l . to ( ) ; var a = ft ( n , l . head , "div" ) ; null != l . goalColumn && ( a . left = l . goalColumn ) , i . push ( a . left ) ; var s = Un ( n , a , e , t ) ; return "page" == t && l == r . sel . primary ( ) && Fn ( n , null , ht ( n , s , "div" ) . top - a . top ) , s } , Rl ) , i . length ) for ( var l = 0 ; l < r . sel . ranges . length ; l ++ ) r . sel . ranges [ l ] . goalColumn = i [ l ] } ) , findWordAt : function ( e ) { var t = this . doc , n = Zr ( t , e . line ) . text , r = e . ch , i = e . ch ; if ( n ) { var o = this . getHelper ( e , "wordChars" ) ; ( e . xRel < 0 || i == n . length ) && r ? -- r : ++ i ; for ( var l = n . charAt ( r ) , a = Ri ( l , o ) ? function ( e ) { return Ri ( e , o ) } : /\s/ . test ( l ) ? function ( e ) { return /\s/ . test ( e ) } : function ( e ) { return ! /\s/ . test ( e ) && ! Ri ( e ) } ; r > 0 && a ( n . charAt ( r - 1 ) ) ; ) -- r ; for ( ; i < n . length && a ( n . charAt ( i ) ) ; ) ++ i } return new de ( zo ( e . line , r ) , zo ( e . line , i ) ) } , toggleOverwrite : function ( e ) { null != e && e == this . state . overwrite || ( ( this . state . overwrite = ! this . state . overwrite ) ? Ql ( this . display . cursorDiv , "CodeMirror-overwrite" ) : Zl ( this . display . cursorDiv , "CodeMirror-overwrite" ) , Il ( this , "overwriteToggle" , this , this . state . overwrite ) ) } , hasFocus : function ( ) { return this . display . input . getField ( ) == Gi ( ) } , isReadOnly : function ( ) { return ! ( ! this . options . readOnly && ! this . doc . cantEdit ) } , scrollTo : Ht ( function ( e , t ) { null == e && null == t || Rn ( this ) , null != e && ( this . curOp . scrollLeft = e ) , null != t && ( this . curOp . scrollTop = t ) } ) , getScrollInfo : function ( ) { var e = this . display . scroller ; return { left : e . scrollLeft , top : e . scrollTop , height : e . scrollHeight - $e ( this ) - this . display . barHeight , width : e . scrollWidth - $e ( this ) - this . display . barWidth , clientHeight : Ke ( this ) , clientWidth : Ve ( this ) } } , scrollIntoView : Ht ( function ( e , t ) { if ( null == e ? ( e = { from : this . doc . sel . primary ( ) . head , to : null } , null == t && ( t = this . options . cursorScrollMargin ) ) : "number" == typeof e ? e = { from : zo ( e , 0 ) , to : null } : null == e . from && ( e = { from : e , to : null } ) , e . to || ( e . to = e . from ) , e . margin = t || 0 , null != e . from . line ) Rn ( this ) , this . curOp . scrollToPos = e ; else { var n = Pn ( this , Math . min ( e . from . left , e . to . left ) , Math . min ( e . from . top , e . to . top ) - e . margin , Math . max ( e . from . right , e . to . right ) , Math . max ( e . from . bottom , e . to . bottom ) + e . margin ) ; this . scrollTo ( n . scrollLeft , n . scrollTop ) } } ) , setSize : Ht ( function ( e , t ) { function n ( e ) { return "number" == typeof e || /^\d+$/ . test ( String ( e ) ) ? e + "px" : e } var r = this ; null != e && ( r . display . wrapper . style . width = n ( e ) ) , null != t && ( r . display . wrapper . style . height = n ( t ) ) , r . options . lineWrapping && lt ( this ) ; var i = r . display . viewFrom ; r . doc . iter ( i , r . display . viewTo , function ( e ) { if ( e . widgets ) for ( var t = 0 ; t < e . widgets . length ; t ++ ) if ( e . widgets [ t ] . noHScroll ) { Pt ( r , i , "widget" ) ; break } ++ i } ) , r . curOp . forceUpdate = ! 0 , Il ( r , "refresh" , this ) } ) , operation : function ( e ) { return At ( this , e ) } , refresh : Ht ( function ( ) { var e = this . display . cachedTextHeight ; Dt ( this ) , this . curOp . forceUpdate = ! 0 , at ( this ) , this . scrollTo ( this . doc . scrollLeft , this . doc . scrollTop ) , u ( this ) , ( null == e || Math . abs ( e - yt ( this . display ) ) > . 5 ) && l ( this ) , Il ( this , "refresh" , this ) } ) , swapDoc : Ht ( function ( e ) { var t = this . doc ; return t . cm = null , Yr ( this , e ) , at ( this ) , this . display . input . reset ( ) , this . scrollTo ( e . scrollLeft , e . scrollTop ) , this . curOp . forceScroll = ! 0 , Si ( this , "swapDoc" , this , t ) , t } ) , getInputField : function ( ) { return this . display . input . getField ( ) } , getWrapperElement : function ( ) { return this . display . wrapper } , getScrollerElement : function ( ) { return this . display . scroller } , getGutterElement : function ( ) { retu
} } , iterLinkedDocs : function ( e ) { Xr ( this , e ) } , getMode : function ( ) { return this . mode } , getEditor : function ( ) { return this . cm } , splitLines : function ( e ) { return this . lineSep ? e . split ( this . lineSep ) : ta ( e ) } , lineSeparator : function ( ) { return this . lineSep || "\n" } } ) , Sl . prototype . eachLine = Sl . prototype . iter ; var Ll = "iter insert remove copy getEditor constructor" . split ( " " ) ; for ( var Tl in Sl . prototype ) Sl . prototype . hasOwnProperty ( Tl ) && Ii ( Ll , Tl ) < 0 && ( e . prototype [ Tl ] = function ( e ) { return function ( ) { return e . apply ( this . doc , arguments ) } } ( Sl . prototype [ Tl ] ) ) ; Ai ( Sl ) ; var Ml = e . e _preventDefault = function ( e ) { e . preventDefault ? e . preventDefault ( ) : e . returnValue = ! 1 } , Nl = e . e _stopPropagation = function ( e ) { e . stopPropagation ? e . stopPropagation ( ) : e . cancelBubble = ! 0 } , Al = e . e _stop = function ( e ) { Ml ( e ) , Nl ( e ) } , Ol = e . on = function ( e , t , n ) { if ( e . addEventListener ) e . addEventListener ( t , n , ! 1 ) ; else if ( e . attachEvent ) e . attachEvent ( "on" + t , n ) ; else { var r = e . _handlers || ( e . _handlers = { } ) , i = r [ t ] || ( r [ t ] = [ ] ) ; i . push ( n ) } } , Hl = [ ] , Wl = e . off = function ( e , t , n ) { if ( e . removeEventListener ) e . removeEventListener ( t , n , ! 1 ) ; else if ( e . detachEvent ) e . detachEvent ( "on" + t , n ) ; else for ( var r = Ci ( e , t , ! 1 ) , i = 0 ; i < r . length ; ++ i ) if ( r [ i ] == n ) { r . splice ( i , 1 ) ; break } } , Il = e . signal = function ( e , t ) { var n = Ci ( e , t , ! 0 ) ; if ( n . length ) for ( var r = Array . prototype . slice . call ( arguments , 2 ) , i = 0 ; i < n . length ; ++ i ) n [ i ] . apply ( null , r ) } , El = null , Dl = 30 , Pl = e . Pass = { toString : function ( ) { return "CodeMirror.Pass" } } , Fl = { scroll : ! 1 } , zl = { origin : "*mouse" } , Rl = { origin : "+move" } ; Oi . prototype . set = function ( e , t ) { clearTimeout ( this . id ) , this . id = setTimeout ( t , e ) } ; var Bl = e . countColumn = function ( e , t , n , r , i ) { null == t && ( t = e . search ( /[^\s\u00a0]/ ) , - 1 == t && ( t = e . length ) ) ; for ( var o = r || 0 , l = i || 0 ; ; ) { var a = e . indexOf ( " " , o ) ; if ( 0 > a || a >= t ) return l + ( t - o ) ; l += a - o , l += n - l % n , o = a + 1 } } , jl = e . findColumn = function ( e , t , n ) { for ( var r = 0 , i = 0 ; ; ) { var o = e . indexOf ( " " , r ) ; - 1 == o && ( o = e . length ) ; var l = o - r ; if ( o == e . length || i + l >= t ) return r + Math . min ( l , t - i ) ; if ( i += o - r , i += n - i % n , r = o + 1 , i >= t ) return r } } , _l = [ "" ] , ql = function ( e ) { e . select ( ) } ; No ? ql = function ( e ) { e . selectionStart = 0 , e . selectionEnd = e . value . length } : xo && ( ql = function ( e ) { try { e . select ( ) } catch ( t ) { } } ) ; var Ul , Gl = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/ , $l = e . isWordChar = function ( e ) { return /\w/ . test ( e ) || e > " " && ( e . toUpperCase ( ) != e . toLowerCase ( ) || Gl . test ( e ) ) } , Vl = / [ \ u 0 3 0 0 - \ u 0 3 6 f \ u 0 4 8 3 - \ u 0 4 8 9 \ u 0 5 9 1 - \ u 0 5 b d \ u 0 5 b f \ u 0 5 c 1 \ u 0 5 c 2 \ u 0 5 c 4 \ u 0 5 c 5 \ u 0 5 c 7 \ u 0 6 1 0 - \ u 0 6 1 a \ u 0 6 4 b - \ u 0 6 5 e \ u 0 6 7 0 \ u 0 6 d 6 - \ u 0 6 d c \ u 0 6 d e - \ u 0 6 e 4 \ u 0 6 e 7 \ u 0 6 e 8 \ u 0 6 e a - \ u 0 6 e d \ u 0 7 1 1 \ u 0 7 3 0 - \ u 0 7 4 a \ u 0 7 a 6 - \ u 0 7 b 0 \ u 0 7 e b - \ u 0 7 f 3 \ u 0 8 1 6 - \ u 0 8 1 9 \ u 0 8 1 b - \ u 0 8 2 3 \ u 0 8 2 5 - \ u 0 8 2 7 \ u 0 8 2 9 - \ u 0 8 2 d \ u 0 9 0 0 - \ u 0 9 0 2 \ u 0 9 3 c \ u 0 9 4 1 - \ u 0 9 4 8 \ u 0 9 4 d \ u 0 9 5 1 - \ u 0 9 5 5 \ u 0 9 6 2 \ u 0 9 6 3 \ u 0 9 8 1 \ u 0 9 b c \ u 0 9 b e \ u 0 9 c 1 - \ u 0 9 c 4 \ u 0 9 c d \ u 0 9 d 7 \ u 0 9 e 2 \ u 0 9 e 3 \ u 0 a 0 1 \ u 0 a 0 2 \ u 0 a 3 c \ u 0 a 4 1 \ u 0 a 4 2 \ u 0 a 4 7 \ u 0 a 4 8 \ u 0 a 4 b - \ u 0 a 4 d \ u 0 a 5 1 \ u 0 a 7 0 \ u 0 a 7 1 \ u 0 a 7 5 \ u 0 a 8 1 \ u 0 a 8 2 \ u 0 a b c \ u 0 a c 1 - \ u 0 a c 5 \ u 0 a c 7 \ u 0 a c 8 \ u 0 a c d \ u 0 a e 2 \ u 0 a e 3 \ u 0 b 0 1 \ u 0 b 3 c \ u 0 b 3 e \ u 0 b 3 f \ u 0 b 4 1 - \ u 0 b 4 4 \ u 0 b 4 d \ u 0 b 5 6 \ u 0 b 5 7 \ u 0 b 6 2 \ u 0 b 6 3 \ u 0 b 8 2 \ u 0 b b e \ u 0 b c 0 \ u 0 b c d \ u 0 b d 7 \ u 0 c 3 e - \ u 0 c 4 0 \ u 0 c 4 6 - \ u 0 c 4 8 \ u 0 c 4 a - \ u 0 c 4 d \ u 0 c 5 5 \ u 0 c 5 6 \ u 0 c 6 2 \ u 0 c 6 3 \ u 0 c b c \ u 0 c b f \ u 0 c c 2 \ u 0 c c 6 \ u 0 c c c \ u 0 c c d \ u 0 c d 5 \ u 0 c d 6 \ u 0 c e 2 \ u 0 c e 3 \ u 0 d 3 e \ u 0 d 4 1 - \ u 0 d 4 4 \ u 0 d 4 d \ u 0 d 5 7 \ u 0 d 6 2 \ u 0 d 6 3 \ u 0 d c a \ u 0 d c f \ u 0 d d 2 - \ u 0 d d 4 \ u 0 d d 6 \ u 0 d d f \ u 0 e 3 1 \ u 0 e 3 4 - \ u 0 e 3 a \ u 0 e 4 7 - \ u 0 e 4 e \ u 0 e b 1 \ u 0 e b 4 - \ u 0 e b 9 \ u 0 e b b \ u 0 e b c \ u 0 e c 8 - \ u 0 e c d \ u 0 f 1 8 \ u 0 f 1 9 \ u 0 f 3 5 \ u 0 f 3 7 \ u 0 f 3 9 \ u 0 f 7 1 - \ u 0 f 7 e \ u 0 f 8 0 - \ u 0 f 8 4 \ u 0 f 8 6 \ u 0 f 8 7 \ u 0 f 9 0 - \ u 0 f 9 7 \ u 0 f 9 9 - \ u 0 f b c \ u 0 f c 6 \ u 1 0 2 d - \ u 1 0 3 0 \ u 1 0 3 2 - \ u 1 0 3 7 \ u 1 0 3 9 \ u 1 0 3 a \ u 1 0 3 d \ u 1 0 3 e \ u 1 0 5 8 \ u 1 0 5 9 \ u 1 0 5 e - \ u 1 0 6 0 \ u 1 0 7 1 - \ u 1 0 7 4 \ u 1 0 8 2 \ u 1 0 8 5 \ u 1 0 8 6 \ u 1 0 8 d \ u 1 0 9 d \ u 1 3 5 f \ u 1 7 1 2 - \ u 1 7 1 4 \ u 1 7 3 2 - \ u 1 7 3 4 \ u 1 7 5 2 \ u 1 7 5 3 \ u 1 7 7 2 \ u 1 7 7 3 \ u 1 7 b 7 - \ u 1 7 b d \ u 1 7 c 6 \ u 1 7 c 9 - \ u 1 7 d 3 \ u 1 7 d d \ u 1 8 0 b - \ u 1 8 0 d \ u 1 8 a 9 \ u 1 9 2 0 - \ u 1 9 2 2 \ u 1 9 2 7 \ u 1 9 2 8 \ u 1 9 3 2 \ u 1 9 3 9 - \ u 1 9 3 b \ u 1 a 1 7 \ u 1 a 1 8 \ u 1 a 5 6 \ u 1 a 5 8 - \ u 1 a 5 e \ u 1 a 6 0 \ u 1 a 6 2 \ u 1 a 6 5 - \ u 1 a 6 c \ u 1 a 7 3 - \ u 1 a 7 c \ u 1 a 7 f \ u 1 b 0 0 - \ u 1 b 0 3 \ u 1 b 3 4 \ u 1 b 3 6 - \ u 1 b 3 a \ u 1 b 3 c \ u 1 b 4 2 \ u 1 b 6 b - \ u 1 b 7 3 \ u 1 b 8 0 \ u 1 b 8 1 \ u 1 b a 2 - \ u 1 b a 5 \ u 1 b a 8 \ u 1 b a 9 \ u 1 c 2 c - \ u 1 c 3 3 \ u 1 c 3 6 \ u 1 c 3 7 \ u 1 c d 0 - \ u 1 c d 2 \ u 1 c d 4 - \ u 1 c e 0 \ u 1 c e 2 - \ u 1 c e 8 \ u 1 c e d \ u 1 d c 0 - \ u 1 d e 6 \ u 1 d f d - \ u 1 d f f \ u 2 0 0 c \ u 2 0 0 d \ u 2 0 d 0 - \ u 2 0 f 0 \ u 2 c e f - \ u 2 c f 1 \ u 2 d e 0 - \ u 2 d f f \ u 3 0 2 a - \ u 3 0 2 f \ u 3 0 9 9 \ u 3 0 9 a \ u a 6 6 f - \ u a 6 7 2 \ u a 6 7 c \ u a 6 7 d \ u a 6 f 0 \ u a 6 f 1 \ u a 8 0 2 \ u a 8 0 6 \ u a 8 0 b \ u a 8 2 5 \ u a 8 2 6 \ u a 8 c 4 \ u a 8 e 0 - \ u a 8 f 1 \ u a 9 2 6 - \ u a 9 2 d \ u a 9 4 7 - \ u a 9 5 1 \ u a 9 8 0 - \ u a 9 8 2 \ u a 9 b 3 \ u a 9 b 6 - \ u a 9 b 9 \ u a 9 b c \ u a a 2 9 - \ u a a 2 e \ u a a 3 1 \ u a a 3 2 \ u a a 3 5 \ u a a 3 6 \ u a a 4 3 \ u a a 4 c \ u a a b 0 \ u a a b 2 - \ u a a b 4 \
mime : "text/tiki" , mode : "tiki" } , { name : "TOML" , mime : "text/x-toml" , mode : "toml" , ext : [ "toml" ] } , { name : "Tornado" , mime : "text/x-tornado" , mode : "tornado" } , { name : "troff" , mime : "text/troff" , mode : "troff" , ext : [ "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" ] } , { name : "TTCN" , mime : "text/x-ttcn" , mode : "ttcn" , ext : [ "ttcn" , "ttcn3" , "ttcnpp" ] } , { name : "TTCN_CFG" , mime : "text/x-ttcn-cfg" , mode : "ttcn-cfg" , ext : [ "cfg" ] } , { name : "Turtle" , mime : "text/turtle" , mode : "turtle" , ext : [ "ttl" ] } , { name : "TypeScript" , mime : "application/typescript" , mode : "javascript" , ext : [ "ts" ] , alias : [ "ts" ] } , { name : "Twig" , mime : "text/x-twig" , mode : "twig" } , { name : "Web IDL" , mime : "text/x-webidl" , mode : "webidl" , ext : [ "webidl" ] } , { name : "VB.NET" , mime : "text/x-vb" , mode : "vb" , ext : [ "vb" ] } , { name : "VBScript" , mime : "text/vbscript" , mode : "vbscript" , ext : [ "vbs" ] } , { name : "Velocity" , mime : "text/velocity" , mode : "velocity" , ext : [ "vtl" ] } , { name : "Verilog" , mime : "text/x-verilog" , mode : "verilog" , ext : [ "v" ] } , { name : "VHDL" , mime : "text/x-vhdl" , mode : "vhdl" , ext : [ "vhd" , "vhdl" ] } , { name : "XML" , mimes : [ "application/xml" , "text/xml" ] , mode : "xml" , ext : [ "xml" , "xsl" , "xsd" ] , alias : [ "rss" , "wsdl" , "xsd" ] } , { name : "XQuery" , mime : "application/xquery" , mode : "xquery" , ext : [ "xy" , "xquery" ] } , { name : "Yacas" , mime : "text/x-yacas" , mode : "yacas" , ext : [ "ys" ] } , { name : "YAML" , mime : "text/x-yaml" , mode : "yaml" , ext : [ "yaml" , "yml" ] , alias : [ "yml" ] } , { name : "Z80" , mime : "text/x-z80" , mode : "z80" , ext : [ "z80" ] } , { name : "mscgen" , mime : "text/x-mscgen" , mode : "mscgen" , ext : [ "mscgen" , "mscin" , "msc" ] } , { name : "xu" , mime : "text/x-xu" , mode : "mscgen" , ext : [ "xu" ] } , { name : "msgenny" , mime : "text/x-msgenny" , mode : "mscgen" , ext : [ "msgenny" ] } ] ; for ( var t = 0 ; t < e . modeInfo . length ; t ++ ) { var n = e . modeInfo [ t ] ; n . mimes && ( n . mime = n . mimes [ 0 ] ) } e . findModeByMIME = function ( t ) { t = t . toLowerCase ( ) ; for ( var n = 0 ; n < e . modeInfo . length ; n ++ ) { var r = e . modeInfo [ n ] ; if ( r . mime == t ) return r ; if ( r . mimes ) for ( var i = 0 ; i < r . mimes . length ; i ++ ) if ( r . mimes [ i ] == t ) return r } } , e . findModeByExtension = function ( t ) { for ( var n = 0 ; n < e . modeInfo . length ; n ++ ) { var r = e . modeInfo [ n ] ; if ( r . ext ) for ( var i = 0 ; i < r . ext . length ; i ++ ) if ( r . ext [ i ] == t ) return r } } , e . findModeByFileName = function ( t ) { for ( var n = 0 ; n < e . modeInfo . length ; n ++ ) { var r = e . modeInfo [ n ] ; if ( r . file && r . file . test ( t ) ) return r } var i = t . lastIndexOf ( "." ) , o = i > - 1 && t . substring ( i + 1 , t . length ) ; return o ? e . findModeByExtension ( o ) : void 0 } , e . findModeByName = function ( t ) { t = t . toLowerCase ( ) ; for ( var n = 0 ; n < e . modeInfo . length ; n ++ ) { var r = e . modeInfo [ n ] ; if ( r . name . toLowerCase ( ) == t ) return r ; if ( r . alias ) for ( var i = 0 ; i < r . alias . length ; i ++ ) if ( r . alias [ i ] . toLowerCase ( ) == t ) return r } } } ) } , { "../lib/codemirror" : 7 } ] , 11 : [ function ( t , n , r ) { ! function ( i ) { "object" == typeof r && "object" == typeof n ? i ( t ( "../../lib/codemirror" ) ) : "function" == typeof e && e . amd ? e ( [ "../../lib/codemirror" ] , i ) : i ( CodeMirror ) } ( function ( e ) { "use strict" ; var t = { autoSelfClosers : { area : ! 0 , base : ! 0 , br : ! 0 , col : ! 0 , command : ! 0 , embed : ! 0 , frame : ! 0 , hr : ! 0 , img : ! 0 , input : ! 0 , keygen : ! 0 , link : ! 0 , meta : ! 0 , param : ! 0 , source : ! 0 , track : ! 0 , wbr : ! 0 , menuitem : ! 0 } , implicitlyClosed : { dd : ! 0 , li : ! 0 , optgroup : ! 0 , option : ! 0 , p : ! 0 , rp : ! 0 , rt : ! 0 , tbody : ! 0 , td : ! 0 , tfoot : ! 0 , th : ! 0 , tr : ! 0 } , contextGrabbers : { dd : { dd : ! 0 , dt : ! 0 } , dt : { dd : ! 0 , dt : ! 0 } , li : { li : ! 0 } , option : { option : ! 0 , optgroup : ! 0 } , optgroup : { optgroup : ! 0 } , p : { address : ! 0 , article : ! 0 , aside : ! 0 , blockquote : ! 0 , dir : ! 0 , div : ! 0 , dl : ! 0 , fieldset : ! 0 , footer : ! 0 , form : ! 0 , h1 : ! 0 , h2 : ! 0 , h3 : ! 0 , h4 : ! 0 , h5 : ! 0 , h6 : ! 0 , header : ! 0 , hgroup : ! 0 , hr : ! 0 , menu : ! 0 , nav : ! 0 , ol : ! 0 , p : ! 0 , pre : ! 0 , section : ! 0 , table : ! 0 , ul : ! 0 } , rp : { rp : ! 0 , rt : ! 0 } , rt : { rp : ! 0 , rt : ! 0 } , tbody : { tbody : ! 0 , tfoot : ! 0 } , td : { td : ! 0 , th : ! 0 } , tfoot : { tbody : ! 0 } , th : { td : ! 0 , th : ! 0 } , thead : { tbody : ! 0 , tfoot : ! 0 } , tr : { tr : ! 0 } } , doNotIndent : { pre : ! 0 } , allowUnquoted : ! 0 , allowMissing : ! 0 , caseFold : ! 0 } , n = { autoSelfClosers : { } , implicitlyClosed : { } , contextGrabbers : { } , doNotIndent : { } , allowUnquoted : ! 1 , allowMissing : ! 1 , caseFold : ! 1 } ; e . defineMode ( "xml" , function ( r , i ) { function o ( e , t ) { function n ( n ) { return t . tokenize = n , n ( e , t ) } var r = e . next ( ) ; if ( "<" == r ) return e . eat ( "!" ) ? e . eat ( "[" ) ? e . match ( "CDATA[" ) ? n ( s ( "atom" , "]]>" ) ) : null : e . match ( "--" ) ? n ( s ( "comment" , "-->" ) ) : e . match ( "DOCTYPE" , ! 0 , ! 0 ) ? ( e . eatWhile ( /[\w\._\-]/ ) , n ( c ( 1 ) ) ) : null : e . eat ( "?" ) ? ( e . eatWhile ( /[\w\._\-]/ ) , t . tokenize = s ( "meta" , "?>" ) , "meta" ) : ( T = e . eat ( "/" ) ? "closeTag" : "openTag" , t . tokenize = l , "tag bracket" ) ; if ( "&" == r ) { var i ; return i = e . eat ( "#" ) ? e . eat ( "x" ) ? e . eatWhile ( /
l -= 1 ; break } } var S = c . getLineHandle ( l + 1 ) , L = S && c . getTokenAt ( { line : l + 1 , ch : S . text . length - 1 } ) , T = L && n ( L ) . indentedCode ; T && c . replaceRange ( "\n" , { line : l + 1 , ch : 0 } ) ; for ( var M = o ; l >= M ; M ++ ) c . indentLine ( M , "subtract" ) ; c . focus ( ) } else { var N = u . line === d . line && u . ch === d . ch && 0 === u . ch , A = u . line !== d . line ; N || A ? i ( c , u , d , s ) : O ( c , ! 1 , [ "`" , "`" ] ) } } function f ( e ) { var t = e . codemirror ; W ( t , "quote" ) } function p ( e ) { var t = e . codemirror ; H ( t , "smaller" ) } function m ( e ) { var t = e . codemirror ; H ( t , "bigger" ) } function g ( e ) { var t = e . codemirror ; H ( t , void 0 , 1 ) } function v ( e ) { var t = e . codemirror ; H ( t , void 0 , 2 ) } function y ( e ) { var t = e . codemirror ; H ( t , void 0 , 3 ) } function x ( e ) { var t = e . codemirror ; W ( t , "unordered-list" ) } function b ( e ) { var t = e . codemirror ; W ( t , "ordered-list" ) } function w ( e ) { var t = e . codemirror ; E ( t ) } function k ( e ) { var t = e . codemirror , n = a ( t ) , r = e . options , i = "http://" ; return r . promptURLs && ( i = prompt ( r . promptTexts . link ) , ! i ) ? ! 1 : void O ( t , n . link , r . insertTexts . link , i ) } function C ( e ) { var t = e . codemirror , n = a ( t ) , r = e . options , i = "http://" ; return r . promptURLs && ( i = prompt ( r . promptTexts . image ) , ! i ) ? ! 1 : void O ( t , n . image , r . insertTexts . image , i ) } function S ( e ) { var t = e . codemirror , n = a ( t ) , r = e . options ; O ( t , n . table , r . insertTexts . table ) } function L ( e ) { var t = e . codemirror , n = a ( t ) , r = e . options ; O ( t , n . image , r . insertTexts . horizontalRule ) } function T ( e ) { var t = e . codemirror ; t . undo ( ) , t . focus ( ) } function M ( e ) { var t = e . codemirror ; t . redo ( ) , t . focus ( ) } function N ( e ) { var t = e . codemirror , n = t . getWrapperElement ( ) , r = n . nextSibling , i = e . toolbarElements [ "side-by-side" ] , o = ! 1 ; /editor-preview-active-side/ . test ( r . className ) ? ( r . className = r . className . replace ( /\s*editor-preview-active-side\s*/g , "" ) , i . className = i . className . replace ( /\s*active\s*/g , "" ) , n . className = n . className . replace ( /\s*CodeMirror-sided\s*/g , " " ) ) : ( setTimeout ( function ( ) { t . getOption ( "fullScreen" ) || s ( e ) , r . className += " editor-preview-active-side" } , 1 ) , i . className += " active" , n . className += " CodeMirror-sided" , o = ! 0 ) ; var l = n . lastChild ; if ( /editor-preview-active/ . test ( l . className ) ) { l . className = l . className . replace ( /\s*editor-preview-active\s*/g , "" ) ; var a = e . toolbarElements . preview , c = n . previousSibling ; a . className = a . className . replace ( /\s*active\s*/g , "" ) , c . className = c . className . replace ( /\s*disabled-for-preview*/g , "" ) } var u = function ( ) { r . innerHTML = e . options . previewRender ( e . value ( ) , r ) } ; t . sideBySideRenderingFunction || ( t . sideBySideRenderingFunction = u ) , o ? ( r . innerHTML = e . options . previewRender ( e . value ( ) , r ) , t . on ( "update" , t . sideBySideRenderingFunction ) ) : t . off ( "update" , t . sideBySideRenderingFunction ) } function A ( e ) { var t = e . codemirror , n = t . getWrapperElement ( ) , r = n . previousSibling , i = e . options . toolbar ? e . toolbarElements . preview : ! 1 , o = n . lastChild ; o && /editor-preview/ . test ( o . className ) || ( o = document . createElement ( "div" ) , o . className = "editor-preview" , n . appendChild ( o ) ) , /editor-preview-active/ . test ( o . className ) ? ( o . className = o . className . replace ( /\s*editor-preview-active\s*/g , "" ) , i && ( i . className = i . className . replace ( /\s*active\s*/g , "" ) , r . className = r . className . replace ( /\s*disabled-for-preview*/g , "" ) ) ) : ( setTimeout ( function ( ) { o . className += " editor-preview-active" } , 1 ) , i && ( i . className += " active" , r . className += " disabled-for-preview" ) ) , o . innerHTML = e . options . previewRender ( e . value ( ) , o ) ; var l = t . getWrapperElement ( ) . nextSibling ; /editor-preview-active-side/ . test ( l . className ) && N ( e ) } function O ( e , t , n , r ) { if ( ! /editor-preview-active/ . test ( e . getWrapperElement ( ) . lastChild . className ) ) { var i , o = n [ 0 ] , l = n [ 1 ] , a = e . getCursor ( "start" ) , s = e . getCursor ( "end" ) ; r && ( l = l . replace ( "#url#" , r ) ) , t ? ( i = e . getLine ( a . line ) , o = i . slice ( 0 , a . ch ) , l = i . slice ( a . ch ) , e . replaceRange ( o + l , { line : a . line , ch : 0 } ) ) : ( i = e . getSelection ( ) , e . replaceSelection ( o + i + l ) , a . ch += o . length , a !== s && ( s . ch += o . length ) ) , e . setSelection ( a , s ) , e . focus ( ) } } function H ( e , t , n ) { if ( ! /editor-preview-active/ . test ( e . getWrapperElement ( ) . lastChild . className ) ) { for ( var r = e . getCursor ( "start" ) , i = e . getCursor ( "end" ) , o = r . line ; o <= i . line ; o ++ ) ! function ( r ) { var i = e . getLine ( r ) , o = i . search ( /[^#]/ ) ; i = void 0 !== t ? 0 >= o ? "bigger" == t ? "###### " + i : "# " + i : 6 == o && "smaller" == t ? i . substr ( 7 ) : 1 == o && "bigger" == t ? i . substr ( 2 ) : "bigger" == t ? i . substr ( 1 ) : "#" + i : 1 == n ? 0 >= o ? "# " + i : o == n ? i . substr ( o + 1 ) : "# " + i . substr ( o + 1 ) : 2 == n ? 0 >= o ? "## " + i : o == n ? i . substr ( o + 1 ) : "## " + i . substr ( o + 1 ) : 0 >= o ? "### " + i : o == n ? i