@@ -5,29 +5,29 @@ var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object
} , promise : function ( a , b ) { var c , d = 1 , e = r . Deferred ( ) , f = this , g = this . length , h = function ( ) { -- d || e . resolveWith ( f , [ f ] ) } ; for ( "string" != typeof a && ( b = a , a = void 0 ) , a = a || "fx" ; g -- ; ) c = V . get ( f [ g ] , a + "queueHooks" ) , c && c . empty && ( d ++ , c . empty . add ( h ) ) ; return h ( ) , e . promise ( b ) } } ) ; var _ = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ . source , aa = new RegExp ( "^(?:([+-])=|)(" + _ + ")([a-z%]*)$" , "i" ) , ba = [ "Top" , "Right" , "Bottom" , "Left" ] , ca = function ( a , b ) { return a = b || a , "none" === a . style . display || "" === a . style . display && r . contains ( a . ownerDocument , a ) && "none" === r . css ( a , "display" ) } , da = function ( a , b , c , d ) { var e , f , g = { } ; for ( f in b ) g [ f ] = a . style [ f ] , a . style [ f ] = b [ f ] ; e = c . apply ( a , d || [ ] ) ; for ( f in b ) a . style [ f ] = g [ f ] ; return e } , fa = { } ; r . fn . extend ( { show : function ( ) { return ha ( this , ! 0 ) } , hide : function ( ) { return ha ( this ) } , toggle : function ( a ) { return "boolean" == typeof a ? a ? this . show ( ) : this . hide ( ) : this . each ( function ( ) { ca ( this ) ? r ( this ) . show ( ) : r ( this ) . hide ( ) } ) } } ) ; var ia = /^(?:checkbox|radio)$/i , ja = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i , ka = /^$|\/(?:java|ecma)script/i , la = { option : [ 1 , "<select multiple='multiple'>" , "</select>" ] , thead : [ 1 , "<table>" , "</table>" ] , col : [ 2 , "<table><colgroup>" , "</colgroup></table>" ] , tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] , td : [ 3 , "<table><tbody><tr>" , "</tr></tbody></table>" ] , _default : [ 0 , "" , "" ] } ; la . optgroup = la . option , la . tbody = la . tfoot = la . colgroup = la . caption = la . thead , la . th = la . td ; var oa = /<|&#?\w+;/ ; ! function ( ) { var a = d . createDocumentFragment ( ) , b = a . appendChild ( d . createElement ( "div" ) ) , c = d . createElement ( "input" ) ; c . setAttribute ( "type" , "radio" ) , c . setAttribute ( "checked" , "checked" ) , c . setAttribute ( "name" , "t" ) , b . appendChild ( c ) , o . checkClone = b . cloneNode ( ! 0 ) . cloneNode ( ! 0 ) . lastChild . checked , b . innerHTML = "<textarea>x</textarea>" , o . noCloneChecked = ! ! b . cloneNode ( ! 0 ) . lastChild . defaultValue } ( ) ; var qa = d . documentElement , ra = /^key/ , sa = /^(?:mouse|pointer|contextmenu|drag|drop)|click/ , ta = /^([^.]*)(?:\.(.+)|)/ ; r . event = { global : { } , add : function ( a , b , c , d , e ) { var f , g , h , i , j , k , l , m , n , o , p , q = V . get ( a ) ; if ( q ) for ( c . handler && ( f = c , c = f . handler , e = f . selector ) , e && r . find . matchesSelector ( qa , e ) , c . guid || ( c . guid = r . guid ++ ) , ( i = q . events ) || ( i = q . events = { } ) , ( g = q . handle ) || ( g = q . handle = function ( b ) { return "undefined" != typeof r && r . event . triggered !== b . type ? r . event . dispatch . apply ( a , arguments ) : void 0 } ) , b = ( b || "" ) . match ( K ) || [ "" ] , j = b . length ; j -- ; ) h = ta . exec ( b [ j ] ) || [ ] , n = p = h [ 1 ] , o = ( h [ 2 ] || "" ) . split ( "." ) . sort ( ) , n && ( l = r . event . special [ n ] || { } , n = ( e ? l . delegateType : l . bindType ) || n , l = r . event . special [ n ] || { } , k = r . extend ( { type : n , origType : p , data : d , handler : c , guid : c . guid , selector : e , needsContext : e && r . expr . match . needsContext . test ( e ) , namespace : o . join ( "." ) } , f ) , ( m = i [ n ] ) || ( m = i [ n ] = [ ] , m . delegateCount = 0 , l . setup && l . setup . call ( a , d , o , g ) !== ! 1 || a . addEventListener && a . addEventListener ( n , g ) ) , l . add && ( l . add . call ( a , k ) , k . handler . guid || ( k . handler . guid = c . guid ) ) , e ? m . splice ( m . delegateCount ++ , 0 , k ) : m . push ( k ) , r . event . global [ n ] = ! 0 ) } , remove : function ( a , b , c , d , e ) { var f , g , h , i , j , k , l , m , n , o , p , q = V . hasData ( a ) && V . get ( a ) ; if ( q && ( i = q . events ) ) { for ( b = ( b || "" ) . match ( K ) || [ "" ] , j = b . length ; j -- ; ) if ( h = ta . exec ( b [ j ] ) || [ ] , n = p = h [ 1 ] , o = ( h [ 2 ] || "" ) . split ( "." ) . sort ( ) , n ) { for ( l = r . event . special [ n ] || { } , n = ( d ? l . delegateType : l . bindType ) || n , m = i [ n ] || [ ] , h = h [ 2 ] && new RegExp ( "(^|\\.)" + o . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) , g = f = m . length ; f -- ; ) k = m [ f ] , ! e && p !== k . origType || c && c . guid !== k . guid || h && ! h . test ( k . namespace ) || d && d !== k . selector && ( "**" !== d || ! k . selector ) || ( m . splice ( f , 1 ) , k . selector && m . delegateCount -- , l . remove && l . remove . call ( a , k ) ) ; g && ! m . length && ( l . teardown && l . teardown . call ( a , o , q . handle ) !== ! 1 || r . removeEvent ( a , n , q . handle ) , delete i [ n ] ) } else for ( n in i ) r . event . remove ( a , n + b [ j ] , c , d , ! 0 ) ; r . isEmptyObject ( i ) && V . remove ( a , "handle events" ) } } , dispatch : function ( a ) { var c , d , e , f , g , h , b = r . event . fix ( a ) , i = new Array ( arguments . length ) , j = ( V . get ( this , "events" ) || { } ) [ b . type ] || [ ] , k = r . event . special [ b . type ] || { } ; for ( i [ 0 ] = b , c = 1 ; c < arguments . length ; c ++ ) i [ c ] = arguments [ c ] ; if ( b . delegateTarget = this , ! k . preDispatch || k . preDispatch . call ( this , b ) !== ! 1 ) { for ( h = r . event . handlers . call ( this , b , j ) , c = 0 ; ( f = h [ c ++ ] ) && ! b . isPropagationStopped ( ) ; ) for ( b . currentTarget = f . elem , d = 0 ; ( g = f . handlers [ d ++ ] ) && ! b . isImmediatePropagationStopped ( ) ; ) b . rnamespace && ! b . rnamespace . test ( g . namespace ) || ( b . handleObj = g , b . data = g . data , e = ( ( r . event . special [ g . origType ] || { } ) . handle || g . handler ) . apply ( f . elem , i ) , void 0 !== e && ( b . result = e ) === ! 1 && ( b . preventDefault ( ) , b . stopPropagation ( ) ) ) ; return k . postDispatch && k . postDispatch . call ( this , b ) , b . result } } , handlers : function ( a , b ) { var c , d , e , f , g , h = [ ] , i = b . delegateCount , j = a . target ; if ( i && j . nodeType && ! ( "click" === a . type && a . button >= 1 ) ) for ( ; j !== this ; j = j . parentNode || this ) if ( 1 === j . nodeType && ( "click" !== a . type || j . disabled !== ! 0 ) ) { for ( f = [ ] , g = { } , c = 0 ; c < i ; c ++ ) d = b [ c ] , e = d . selector + " " , void 0 === g [ e ] && ( g [ e ] = d . needsContext ? r ( e , this ) . index ( j ) > - 1 : r . find ( e , this , null , [ j ] ) . length ) , g [ e ] && f . push ( d ) ; f . length && h . push ( { elem : j , handlers : f } ) } return j = this , i < b . length && h . push ( { elem : j , handlers : b . slice ( i ) } ) , h } , addProp : function ( a , b ) { Object . defineProperty ( r . Event . prototype , a , { enumerable : ! 0 , configurable : ! 0 , get : r . isFunction ( b ) ? function ( ) { if ( this . originalEvent ) return b ( this . originalEvent ) } : function ( ) { if ( this . originalEvent ) return this . originalEvent [ a ] } , set : fu Line truncated
} , promise : function ( a , b ) { var c , d = 1 , e = r . Deferred ( ) , f = this , g = this . length , h = function ( ) { -- d || e . resolveWith ( f , [ f ] ) } ; for ( "string" != typeof a && ( b = a , a = void 0 ) , a = a || "fx" ; g -- ; ) c = V . get ( f [ g ] , a + "queueHooks" ) , c && c . empty && ( d ++ , c . empty . add ( h ) ) ; return h ( ) , e . promise ( b ) } } ) ; var _ = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ . source , aa = new RegExp ( "^(?:([+-])=|)(" + _ + ")([a-z%]*)$" , "i" ) , ba = [ "Top" , "Right" , "Bottom" , "Left" ] , ca = function ( a , b ) { return a = b || a , "none" === a . style . display || "" === a . style . display && r . contains ( a . ownerDocument , a ) && "none" === r . css ( a , "display" ) } , da = function ( a , b , c , d ) { var e , f , g = { } ; for ( f in b ) g [ f ] = a . style [ f ] , a . style [ f ] = b [ f ] ; e = c . apply ( a , d || [ ] ) ; for ( f in b ) a . style [ f ] = g [ f ] ; return e } , fa = { } ; r . fn . extend ( { show : function ( ) { return ha ( this , ! 0 ) } , hide : function ( ) { return ha ( this ) } , toggle : function ( a ) { return "boolean" == typeof a ? a ? this . show ( ) : this . hide ( ) : this . each ( function ( ) { ca ( this ) ? r ( this ) . show ( ) : r ( this ) . hide ( ) } ) } } ) ; var ia = /^(?:checkbox|radio)$/i , ja = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i , ka = /^$|\/(?:java|ecma)script/i , la = { option : [ 1 , "<select multiple='multiple'>" , "</select>" ] , thead : [ 1 , "<table>" , "</table>" ] , col : [ 2 , "<table><colgroup>" , "</colgroup></table>" ] , tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] , td : [ 3 , "<table><tbody><tr>" , "</tr></tbody></table>" ] , _default : [ 0 , "" , "" ] } ; la . optgroup = la . option , la . tbody = la . tfoot = la . colgroup = la . caption = la . thead , la . th = la . td ; var oa = /<|&#?\w+;/ ; ! function ( ) { var a = d . createDocumentFragment ( ) , b = a . appendChild ( d . createElement ( "div" ) ) , c = d . createElement ( "input" ) ; c . setAttribute ( "type" , "radio" ) , c . setAttribute ( "checked" , "checked" ) , c . setAttribute ( "name" , "t" ) , b . appendChild ( c ) , o . checkClone = b . cloneNode ( ! 0 ) . cloneNode ( ! 0 ) . lastChild . checked , b . innerHTML = "<textarea>x</textarea>" , o . noCloneChecked = ! ! b . cloneNode ( ! 0 ) . lastChild . defaultValue } ( ) ; var qa = d . documentElement , ra = /^key/ , sa = /^(?:mouse|pointer|contextmenu|drag|drop)|click/ , ta = /^([^.]*)(?:\.(.+)|)/ ; r . event = { global : { } , add : function ( a , b , c , d , e ) { var f , g , h , i , j , k , l , m , n , o , p , q = V . get ( a ) ; if ( q ) for ( c . handler && ( f = c , c = f . handler , e = f . selector ) , e && r . find . matchesSelector ( qa , e ) , c . guid || ( c . guid = r . guid ++ ) , ( i = q . events ) || ( i = q . events = { } ) , ( g = q . handle ) || ( g = q . handle = function ( b ) { return "undefined" != typeof r && r . event . triggered !== b . type ? r . event . dispatch . apply ( a , arguments ) : void 0 } ) , b = ( b || "" ) . match ( K ) || [ "" ] , j = b . length ; j -- ; ) h = ta . exec ( b [ j ] ) || [ ] , n = p = h [ 1 ] , o = ( h [ 2 ] || "" ) . split ( "." ) . sort ( ) , n && ( l = r . event . special [ n ] || { } , n = ( e ? l . delegateType : l . bindType ) || n , l = r . event . special [ n ] || { } , k = r . extend ( { type : n , origType : p , data : d , handler : c , guid : c . guid , selector : e , needsContext : e && r . expr . match . needsContext . test ( e ) , namespace : o . join ( "." ) } , f ) , ( m = i [ n ] ) || ( m = i [ n ] = [ ] , m . delegateCount = 0 , l . setup && l . setup . call ( a , d , o , g ) !== ! 1 || a . addEventListener && a . addEventListener ( n , g ) ) , l . add && ( l . add . call ( a , k ) , k . handler . guid || ( k . handler . guid = c . guid ) ) , e ? m . splice ( m . delegateCount ++ , 0 , k ) : m . push ( k ) , r . event . global [ n ] = ! 0 ) } , remove : function ( a , b , c , d , e ) { var f , g , h , i , j , k , l , m , n , o , p , q = V . hasData ( a ) && V . get ( a ) ; if ( q && ( i = q . events ) ) { for ( b = ( b || "" ) . match ( K ) || [ "" ] , j = b . length ; j -- ; ) if ( h = ta . exec ( b [ j ] ) || [ ] , n = p = h [ 1 ] , o = ( h [ 2 ] || "" ) . split ( "." ) . sort ( ) , n ) { for ( l = r . event . special [ n ] || { } , n = ( d ? l . delegateType : l . bindType ) || n , m = i [ n ] || [ ] , h = h [ 2 ] && new RegExp ( "(^|\\.)" + o . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) , g = f = m . length ; f -- ; ) k = m [ f ] , ! e && p !== k . origType || c && c . guid !== k . guid || h && ! h . test ( k . namespace ) || d && d !== k . selector && ( "**" !== d || ! k . selector ) || ( m . splice ( f , 1 ) , k . selector && m . delegateCount -- , l . remove && l . remove . call ( a , k ) ) ; g && ! m . length && ( l . teardown && l . teardown . call ( a , o , q . handle ) !== ! 1 || r . removeEvent ( a , n , q . handle ) , delete i [ n ] ) } else for ( n in i ) r . event . remove ( a , n + b [ j ] , c , d , ! 0 ) ; r . isEmptyObject ( i ) && V . remove ( a , "handle events" ) } } , dispatch : function ( a ) { var c , d , e , f , g , h , b = r . event . fix ( a ) , i = new Array ( arguments . length ) , j = ( V . get ( this , "events" ) || { } ) [ b . type ] || [ ] , k = r . event . special [ b . type ] || { } ; for ( i [ 0 ] = b , c = 1 ; c < arguments . length ; c ++ ) i [ c ] = arguments [ c ] ; if ( b . delegateTarget = this , ! k . preDispatch || k . preDispatch . call ( this , b ) !== ! 1 ) { for ( h = r . event . handlers . call ( this , b , j ) , c = 0 ; ( f = h [ c ++ ] ) && ! b . isPropagationStopped ( ) ; ) for ( b . currentTarget = f . elem , d = 0 ; ( g = f . handlers [ d ++ ] ) && ! b . isImmediatePropagationStopped ( ) ; ) b . rnamespace && ! b . rnamespace . test ( g . namespace ) || ( b . handleObj = g , b . data = g . data , e = ( ( r . event . special [ g . origType ] || { } ) . handle || g . handler ) . apply ( f . elem , i ) , void 0 !== e && ( b . result = e ) === ! 1 && ( b . preventDefault ( ) , b . stopPropagation ( ) ) ) ; return k . postDispatch && k . postDispatch . call ( this , b ) , b . result } } , handlers : function ( a , b ) { var c , d , e , f , g , h = [ ] , i = b . delegateCount , j = a . target ; if ( i && j . nodeType && ! ( "click" === a . type && a . button >= 1 ) ) for ( ; j !== this ; j = j . parentNode || this ) if ( 1 === j . nodeType && ( "click" !== a . type || j . disabled !== ! 0 ) ) { for ( f = [ ] , g = { } , c = 0 ; c < i ; c ++ ) d = b [ c ] , e = d . selector + " " , void 0 === g [ e ] && ( g [ e ] = d . needsContext ? r ( e , this ) . index ( j ) > - 1 : r . find ( e , this , null , [ j ] ) . length ) , g [ e ] && f . push ( d ) ; f . length && h . push ( { elem : j , handlers : f } ) } return j = this , i < b . length && h . push ( { elem : j , handlers : b . slice ( i ) } ) , h } , addProp : function ( a , b ) { Object . defineProperty ( r . Event . prototype , a , { enumerable : ! 0 , configurable : ! 0 , get : r . isFunction ( b ) ? function ( ) { if ( this . originalEvent ) return b ( this . originalEvent ) } : function ( ) { if ( this . originalEvent ) return this . originalEvent [ a ] } , set : fu Line truncated
return y } , getJSON : function ( a , b , c ) { return r . get ( a , b , c , "json" ) } , getScript : function ( a , b ) { return r . get ( a , void 0 , b , "script" ) } } ) , r . each ( [ "get" , "post" ] , function ( a , b ) { r [ b ] = function ( a , c , d , e ) { return r . isFunction ( c ) && ( e = e || d , d = c , c = void 0 ) , r . ajax ( r . extend ( { url : a , type : b , dataType : e , data : c , success : d } , r . isPlainObject ( a ) && a ) ) } } ) , r . _evalUrl = function ( a ) { return r . ajax ( { url : a , type : "GET" , dataType : "script" , cache : ! 0 , async : ! 1 , global : ! 1 , throws : ! 0 } ) } , r . fn . extend ( { wrapAll : function ( a ) { var b ; return this [ 0 ] && ( r . isFunction ( a ) && ( a = a . call ( this [ 0 ] ) ) , b = r ( a , this [ 0 ] . ownerDocument ) . eq ( 0 ) . clone ( ! 0 ) , this [ 0 ] . parentNode && b . insertBefore ( this [ 0 ] ) , b . map ( function ( ) { for ( var a = this ; a . firstElementChild ; ) a = a . firstElementChild ; return a } ) . append ( this ) ) , this } , wrapInner : function ( a ) { return r . isFunction ( a ) ? this . each ( function ( b ) { r ( this ) . wrapInner ( a . call ( this , b ) ) } ) : this . each ( function ( ) { var b = r ( this ) , c = b . contents ( ) ; c . length ? c . wrapAll ( a ) : b . append ( a ) } ) } , wrap : function ( a ) { var b = r . isFunction ( a ) ; return this . each ( function ( c ) { r ( this ) . wrapAll ( b ? a . call ( this , c ) : a ) } ) } , unwrap : function ( a ) { return this . parent ( a ) . not ( "body" ) . each ( function ( ) { r ( this ) . replaceWith ( this . childNodes ) } ) , this } } ) , r . expr . pseudos . hidden = function ( a ) { return ! r . expr . pseudos . visible ( a ) } , r . expr . pseudos . visible = function ( a ) { return ! ! ( a . offsetWidth || a . offsetHeight || a . getClientRects ( ) . length ) } , r . ajaxSettings . xhr = function ( ) { try { return new a . XMLHttpRequest } catch ( b ) { } } ; var Ob = { 0 : 200 , 1223 : 204 } , Pb = r . ajaxSettings . xhr ( ) ; o . cors = ! ! Pb && "withCredentials" in Pb , o . ajax = Pb = ! ! Pb , r . ajaxTransport ( function ( b ) { var c , d ; if ( o . cors || Pb && ! b . crossDomain ) return { send : function ( e , f ) { var g , h = b . xhr ( ) ; if ( h . open ( b . type , b . url , b . async , b . username , b . password ) , b . xhrFields ) for ( g in b . xhrFields ) h [ g ] = b . xhrFields [ g ] ; b . mimeType && h . overrideMimeType && h . overrideMimeType ( b . mimeType ) , b . crossDomain || e [ "X-Requested-With" ] || ( e [ "X-Requested-With" ] = "XMLHttpRequest" ) ; for ( g in e ) h . setRequestHeader ( g , e [ g ] ) ; c = function ( a ) { return function ( ) { c && ( c = d = h . onload = h . onerror = h . onabort = h . onreadystatechange = null , "abort" === a ? h . abort ( ) : "error" === a ? "number" != typeof h . status ? f ( 0 , "error" ) : f ( h . status , h . statusText ) : f ( Ob [ h . status ] || h . status , h . statusText , "text" !== ( h . responseType || "text" ) || "string" != typeof h . responseText ? { binary : h . response } : { text : h . responseText } , h . getAllResponseHeaders ( ) ) ) } } , h . onload = c ( ) , d = h . onerror = c ( "error" ) , void 0 !== h . onabort ? h . onabort = d : h . onreadystatechange = function ( ) { 4 === h . readyState && a . setTimeout ( function ( ) { c && d ( ) } ) } , c = c ( "abort" ) ; try { h . send ( b . hasContent && b . data || null ) } catch ( i ) { if ( c ) throw i } } , abort : function ( ) { c && c ( ) } } } ) , r . ajaxPrefilter ( function ( a ) { a . crossDomain && ( a . contents . script = ! 1 ) } ) , r . ajaxSetup ( { accepts : { script : "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" } , contents : { script : /\b(?:java|ecma)script\b/ } , converters : { "text script" : function ( a ) { return r . globalEval ( a ) , a } } } ) , r . ajaxPrefilter ( "script" , function ( a ) { void 0 === a . cache && ( a . cache = ! 1 ) , a . crossDomain && ( a . type = "GET" ) } ) , r . ajaxTransport ( "script" , function ( a ) { if ( a . crossDomain ) { var b , c ; return { send : function ( e , f ) { b = r ( "<script>" ) . prop ( { charset : a . scriptCharset , src : a . url } ) . on ( "load error" , c = function ( a ) { b . remove ( ) , c = null , a && f ( "error" === a . type ? 404 : 200 , a . type ) } ) , d . head . appendChild ( b [ 0 ] ) } , abort : function ( ) { c && c ( ) } } } } ) ; var Qb = [ ] , Rb = /(=)\?(?=&|$)|\?\?/ ; r . ajaxSetup ( { jsonp : "callback" , jsonpCallback : function ( ) { var a = Qb . pop ( ) || r . expando + "_" + rb ++ ; return this [ a ] = ! 0 , a } } ) , r . ajaxPrefilter ( "json jsonp" , function ( b , c , d ) { var e , f , g , h = b . jsonp !== ! 1 && ( Rb . test ( b . url ) ? "url" : "string" == typeof b . data && 0 === ( b . contentType || "" ) . indexOf ( "application/x-www-form-urlencoded" ) && Rb . test ( b . data ) && "data" ) ; if ( h || "jsonp" === b . dataTypes [ 0 ] ) return e = b . jsonpCallback = r . isFunction ( b . jsonpCallback ) ? b . jsonpCallback ( ) : b . jsonpCallback , h ? b [ h ] = b [ h ] . replace ( Rb , "$1" + e ) : b . jsonp !== ! 1 && ( b . url += ( sb . test ( b . url ) ? "&" : "?" ) + b . jsonp + "=" + e ) , b . converters [ "script json" ] = function ( ) { return g || r . error ( e + " was not called" ) , g [ 0 ] } , b . dataTypes [ 0 ] = "json" , f = a [ e ] , a [ e ] = function ( ) { g = arguments } , d . always ( function ( ) { void 0 === f ? r ( a ) . removeProp ( e ) : a [ e ] = f , b [ e ] && ( b . jsonpCallback = c . jsonpCallback , Qb . push ( e ) ) , g && r . isFunction ( f ) && f ( g [ 0 ] ) , g = f = void 0 } ) , "script" } ) , o . createHTMLDocument = function ( ) { var a = d . implementation . createHTMLDocument ( "" ) . body ; return a . innerHTML = "<form></form><form></form>" , 2 === a . childNodes . length } ( ) , r . parseHTML = function ( a , b , c ) { if ( "string" != typeof a ) return [ ] ; "boolean" == typeof b && ( c = b , b = ! 1 ) ; var e , f , g ; return b || ( o . createHTMLDocument ? ( b = d . implementation . createHTMLDocument ( "" ) , e = b . createElement ( "base" ) , e . href = d . location . href , b . head . appendChild ( e ) ) : b = d ) , f = B . exec ( a ) , g = ! c && [ ] , f ? [ b . createElement ( f [ 1 ] ) ] : ( f = pa ( [ a ] , b , g ) , g && g . length && r ( g ) . remove ( ) , r . merge ( [ ] , f . childNodes ) ) } , r . fn . load = function ( a , b , c ) { var d , e , f , g = this , h = a . indexOf ( " " ) ; return h > - 1 && ( d = mb ( a . slice ( h ) ) , a = a . slice ( 0 , h ) ) , r . isFunction ( b ) ? ( c = b , b = void 0 ) : b && "object" == typeof b && ( e = "POST" ) , g . length > 0 && r . ajax ( { url : a , type : e || "GET" , dataType : "html" , data : b } ) . done ( function ( a ) { f = arguments , g . html ( d ? r ( "<div>" ) . append ( r . parseHTML ( a ) ) . find ( d ) : a ) } ) . always ( c && function ( a , b ) { g . each ( function ( ) { c . apply ( this , f || [ a . responseText , b , a ] ) } ) } ) , this } , r . Line truncated
return y } , getJSON : function ( a , b , c ) { return r . get ( a , b , c , "json" ) } , getScript : function ( a , b ) { return r . get ( a , void 0 , b , "script" ) } } ) , r . each ( [ "get" , "post" ] , function ( a , b ) { r [ b ] = function ( a , c , d , e ) { return r . isFunction ( c ) && ( e = e || d , d = c , c = void 0 ) , r . ajax ( r . extend ( { url : a , type : b , dataType : e , data : c , success : d } , r . isPlainObject ( a ) && a ) ) } } ) , r . _evalUrl = function ( a ) { return r . ajax ( { url : a , type : "GET" , dataType : "script" , cache : ! 0 , async : ! 1 , global : ! 1 , throws : ! 0 } ) } , r . fn . extend ( { wrapAll : function ( a ) { var b ; return this [ 0 ] && ( r . isFunction ( a ) && ( a = a . call ( this [ 0 ] ) ) , b = r ( a , this [ 0 ] . ownerDocument ) . eq ( 0 ) . clone ( ! 0 ) , this [ 0 ] . parentNode && b . insertBefore ( this [ 0 ] ) , b . map ( function ( ) { for ( var a = this ; a . firstElementChild ; ) a = a . firstElementChild ; return a } ) . append ( this ) ) , this } , wrapInner : function ( a ) { return r . isFunction ( a ) ? this . each ( function ( b ) { r ( this ) . wrapInner ( a . call ( this , b ) ) } ) : this . each ( function ( ) { var b = r ( this ) , c = b . contents ( ) ; c . length ? c . wrapAll ( a ) : b . append ( a ) } ) } , wrap : function ( a ) { var b = r . isFunction ( a ) ; return this . each ( function ( c ) { r ( this ) . wrapAll ( b ? a . call ( this , c ) : a ) } ) } , unwrap : function ( a ) { return this . parent ( a ) . not ( "body" ) . each ( function ( ) { r ( this ) . replaceWith ( this . childNodes ) } ) , this } } ) , r . expr . pseudos . hidden = function ( a ) { return ! r . expr . pseudos . visible ( a ) } , r . expr . pseudos . visible = function ( a ) { return ! ! ( a . offsetWidth || a . offsetHeight || a . getClientRects ( ) . length ) } , r . ajaxSettings . xhr = function ( ) { try { return new a . XMLHttpRequest } catch ( b ) { } } ; var Ob = { 0 : 200 , 1223 : 204 } , Pb = r . ajaxSettings . xhr ( ) ; o . cors = ! ! Pb && "withCredentials" in Pb , o . ajax = Pb = ! ! Pb , r . ajaxTransport ( function ( b ) { var c , d ; if ( o . cors || Pb && ! b . crossDomain ) return { send : function ( e , f ) { var g , h = b . xhr ( ) ; if ( h . open ( b . type , b . url , b . async , b . username , b . password ) , b . xhrFields ) for ( g in b . xhrFields ) h [ g ] = b . xhrFields [ g ] ; b . mimeType && h . overrideMimeType && h . overrideMimeType ( b . mimeType ) , b . crossDomain || e [ "X-Requested-With" ] || ( e [ "X-Requested-With" ] = "XMLHttpRequest" ) ; for ( g in e ) h . setRequestHeader ( g , e [ g ] ) ; c = function ( a ) { return function ( ) { c && ( c = d = h . onload = h . onerror = h . onabort = h . onreadystatechange = null , "abort" === a ? h . abort ( ) : "error" === a ? "number" != typeof h . status ? f ( 0 , "error" ) : f ( h . status , h . statusText ) : f ( Ob [ h . status ] || h . status , h . statusText , "text" !== ( h . responseType || "text" ) || "string" != typeof h . responseText ? { binary : h . response } : { text : h . responseText } , h . getAllResponseHeaders ( ) ) ) } } , h . onload = c ( ) , d = h . onerror = c ( "error" ) , void 0 !== h . onabort ? h . onabort = d : h . onreadystatechange = function ( ) { 4 === h . readyState && a . setTimeout ( function ( ) { c && d ( ) } ) } , c = c ( "abort" ) ; try { h . send ( b . hasContent && b . data || null ) } catch ( i ) { if ( c ) throw i } } , abort : function ( ) { c && c ( ) } } } ) , r . ajaxPrefilter ( function ( a ) { a . crossDomain && ( a . contents . script = ! 1 ) } ) , r . ajaxSetup ( { accepts : { script : "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" } , contents : { script : /\b(?:java|ecma)script\b/ } , converters : { "text script" : function ( a ) { return r . globalEval ( a ) , a } } } ) , r . ajaxPrefilter ( "script" , function ( a ) { void 0 === a . cache && ( a . cache = ! 1 ) , a . crossDomain && ( a . type = "GET" ) } ) , r . ajaxTransport ( "script" , function ( a ) { if ( a . crossDomain ) { var b , c ; return { send : function ( e , f ) { b = r ( "<script>" ) . prop ( { charset : a . scriptCharset , src : a . url } ) . on ( "load error" , c = function ( a ) { b . remove ( ) , c = null , a && f ( "error" === a . type ? 404 : 200 , a . type ) } ) , d . head . appendChild ( b [ 0 ] ) } , abort : function ( ) { c && c ( ) } } } } ) ; var Qb = [ ] , Rb = /(=)\?(?=&|$)|\?\?/ ; r . ajaxSetup ( { jsonp : "callback" , jsonpCallback : function ( ) { var a = Qb . pop ( ) || r . expando + "_" + rb ++ ; return this [ a ] = ! 0 , a } } ) , r . ajaxPrefilter ( "json jsonp" , function ( b , c , d ) { var e , f , g , h = b . jsonp !== ! 1 && ( Rb . test ( b . url ) ? "url" : "string" == typeof b . data && 0 === ( b . contentType || "" ) . indexOf ( "application/x-www-form-urlencoded" ) && Rb . test ( b . data ) && "data" ) ; if ( h || "jsonp" === b . dataTypes [ 0 ] ) return e = b . jsonpCallback = r . isFunction ( b . jsonpCallback ) ? b . jsonpCallback ( ) : b . jsonpCallback , h ? b [ h ] = b [ h ] . replace ( Rb , "$1" + e ) : b . jsonp !== ! 1 && ( b . url += ( sb . test ( b . url ) ? "&" : "?" ) + b . jsonp + "=" + e ) , b . converters [ "script json" ] = function ( ) { return g || r . error ( e + " was not called" ) , g [ 0 ] } , b . dataTypes [ 0 ] = "json" , f = a [ e ] , a [ e ] = function ( ) { g = arguments } , d . always ( function ( ) { void 0 === f ? r ( a ) . removeProp ( e ) : a [ e ] = f , b [ e ] && ( b . jsonpCallback = c . jsonpCallback , Qb . push ( e ) ) , g && r . isFunction ( f ) && f ( g [ 0 ] ) , g = f = void 0 } ) , "script" } ) , o . createHTMLDocument = function ( ) { var a = d . implementation . createHTMLDocument ( "" ) . body ; return a . innerHTML = "<form></form><form></form>" , 2 === a . childNodes . length } ( ) , r . parseHTML = function ( a , b , c ) { if ( "string" != typeof a ) return [ ] ; "boolean" == typeof b && ( c = b , b = ! 1 ) ; var e , f , g ; return b || ( o . createHTMLDocument ? ( b = d . implementation . createHTMLDocument ( "" ) , e = b . createElement ( "base" ) , e . href = d . location . href , b . head . appendChild ( e ) ) : b = d ) , f = B . exec ( a ) , g = ! c && [ ] , f ? [ b . createElement ( f [ 1 ] ) ] : ( f = pa ( [ a ] , b , g ) , g && g . length && r ( g ) . remove ( ) , r . merge ( [ ] , f . childNodes ) ) } , r . fn . load = function ( a , b , c ) { var d , e , f , g = this , h = a . indexOf ( " " ) ; return h > - 1 && ( d = mb ( a . slice ( h ) ) , a = a . slice ( 0 , h ) ) , r . isFunction ( b ) ? ( c = b , b = void 0 ) : b && "object" == typeof b && ( e = "POST" ) , g . length > 0 && r . ajax ( { url : a , type : e || "GET" , dataType : "html" , data : b } ) . done ( function ( a ) { f = arguments , g . html ( d ? r ( "<div>" ) . append ( r . parseHTML ( a ) ) . find ( d ) : a ) } ) . always ( c && function ( a , b ) { g . each ( function ( ) { c . apply ( this , f || [ a . responseText , b , a ] ) } ) } ) , this } , r . Line truncated
} function Ft ( e , t ) { e . textContent = t } function Ht ( e , t , n ) { e . setAttribute ( t , n ) } function Ut ( e , t ) { var n = e . data . ref ; if ( n ) { var i = e . context , o = e . componentInstance || e . elm , a = i . $refs ; t ? Array . isArray ( a [ n ] ) ? r ( a [ n ] , o ) : a [ n ] === o && ( a [ n ] = void 0 ) : e . data . refInFor ? Array . isArray ( a [ n ] ) && a [ n ] . indexOf ( o ) < 0 ? a [ n ] . push ( o ) : a [ n ] = [ o ] : a [ n ] = o } } function Bt ( e ) { return null == e } function Vt ( e ) { return null != e } function zt ( e , t ) { return e . key === t . key && e . tag === t . tag && e . isComment === t . isComment && ! e . data == ! t . data } function Jt ( e , t , n ) { var r , i , o = { } ; for ( r = t ; r <= n ; ++ r ) i = e [ r ] . key , Vt ( i ) && ( o [ i ] = r ) ; return o } function Kt ( e ) { function t ( e ) { return new vo ( O . tagName ( e ) . toLowerCase ( ) , { } , [ ] , void 0 , e ) } function r ( e , t ) { function n ( ) { 0 === -- n . listeners && i ( e ) } return n . listeners = t , n } function i ( e ) { var t = O . parentNode ( e ) ; t && O . removeChild ( t , e ) } function a ( e , t , n , r , i ) { if ( e . isRootInsert = ! i , ! s ( e , t , n , r ) ) { var o = e . data , a = e . children , c = e . tag ; Vt ( c ) ? ( e . elm = e . ns ? O . createElementNS ( e . ns , c ) : O . createElement ( c , e ) , v ( e ) , f ( e , a , t ) , Vt ( o ) && d ( e , t ) , l ( n , e . elm , r ) ) : e . isComment ? ( e . elm = O . createComment ( e . text ) , l ( n , e . elm , r ) ) : ( e . elm = O . createTextNode ( e . text ) , l ( n , e . elm , r ) ) } } function s ( e , t , n , r ) { var i = e . data ; if ( Vt ( i ) ) { var o = Vt ( e . componentInstance ) && i . keepAlive ; if ( Vt ( i = i . hook ) && Vt ( i = i . init ) && i ( e , ! 1 , n , r ) , Vt ( e . componentInstance ) ) return c ( e , t ) , o && u ( e , t , n , r ) , ! 0 } } function c ( e , t ) { e . data . pendingInsert && t . push . apply ( t , e . data . pendingInsert ) , e . elm = e . componentInstance . $el , p ( e ) ? ( d ( e , t ) , v ( e ) ) : ( Ut ( e ) , t . push ( e ) ) } function u ( e , t , n , r ) { for ( var i , o = e ; o . componentInstance ; ) if ( o = o . componentInstance . _vnode , Vt ( i = o . data ) && Vt ( i = i . transition ) ) { for ( i = 0 ; i < k . activate . length ; ++ i ) k . activate [ i ] ( ua , o ) ; t . push ( o ) ; break } l ( n , e . elm , r ) } function l ( e , t , n ) { e && ( n ? O . insertBefore ( e , t , n ) : O . appendChild ( e , t ) ) } function f ( e , t , n ) { if ( Array . isArray ( t ) ) for ( var r = 0 ; r < t . length ; ++ r ) a ( t [ r ] , n , e . elm , null , ! 0 ) ; else o ( e . text ) && O . appendChild ( e . elm , O . createTextNode ( e . text ) ) } function p ( e ) { for ( ; e . componentInstance ; ) e = e . componentInstance . _vnode ; return Vt ( e . tag ) } function d ( e , t ) { for ( var n = 0 ; n < k . create . length ; ++ n ) k . create [ n ] ( ua , e ) ; C = e . data . hook , Vt ( C ) && ( C . create && C . create ( ua , e ) , C . insert && t . push ( e ) ) } function v ( e ) { for ( var t , n = e ; n ; ) Vt ( t = n . context ) && Vt ( t = t . $options . _scopeId ) && O . setAttribute ( e . elm , t , "" ) , n = n . parent ; Vt ( t = _o ) && t !== e . context && Vt ( t = t . $options . _scopeId ) && O . setAttribute ( e . elm , t , "" ) } function h ( e , t , n , r , i , o ) { for ( ; r <= i ; ++ r ) a ( n [ r ] , o , e , t ) } function m ( e ) { var t , n , r = e . data ; if ( Vt ( r ) ) for ( Vt ( t = r . hook ) && Vt ( t = t . destroy ) && t ( e ) , t = 0 ; t < k . destroy . length ; ++ t ) k . destroy [ t ] ( e ) ; if ( Vt ( t = e . children ) ) for ( n = 0 ; n < e . children . length ; ++ n ) m ( e . children [ n ] ) } function g ( e , t , n , r ) { for ( ; n <= r ; ++ n ) { var o = t [ n ] ; Vt ( o ) && ( Vt ( o . tag ) ? ( y ( o ) , m ( o ) ) : i ( o . elm ) ) } } function y ( e , t ) { if ( t || Vt ( e . data ) ) { var n = k . remove . length + 1 ; for ( t ? t . listeners += n : t = r ( e . elm , n ) , Vt ( C = e . componentInstance ) && Vt ( C = C . _vnode ) && Vt ( C . data ) && y ( C , t ) , C = 0 ; C < k . remove . length ; ++ C ) k . remove [ C ] ( e , t ) ; Vt ( C = e . data . hook ) && Vt ( C = C . remove ) ? C ( e , t ) : t ( ) } else i ( e . elm ) } function _ ( e , t , n , r , i ) { for ( var o , s , c , u , l = 0 , f = 0 , p = t . length - 1 , d = t [ 0 ] , v = t [ p ] , m = n . length - 1 , y = n [ 0 ] , _ = n [ m ] , $ = ! i ; l <= p && f <= m ; ) Bt ( d ) ? d = t [ ++ l ] : Bt ( v ) ? v = t [ -- p ] : zt ( d , y ) ? ( b ( d , y , r ) , d = t [ ++ l ] , y = n [ ++ f ] ) : zt ( v , _ ) ? ( b ( v , _ , r ) , v = t [ -- p ] , _ = n [ -- m ] ) : zt ( d , _ ) ? ( b ( d , _ , r ) , $ && O . insertBefore ( e , d . elm , O . nextSibling ( v . elm ) ) , d = t [ ++ l ] , _ = n [ -- m ] ) : zt ( v , y ) ? ( b ( v , y , r ) , $ && O . insertBefore ( e , v . elm , d . elm ) , v = t [ -- p ] , y = n [ ++ f ] ) : ( Bt ( o ) && ( o = Jt ( t , l , p ) ) , s = Vt ( y . key ) ? o [ y . key ] : null , Bt ( s ) ? ( a ( y , r , e , d . elm ) , y = n [ ++ f ] ) : ( c = t [ s ] , zt ( c , y ) ? ( b ( c , y , r ) , t [ s ] = void 0 , $ && O . insertBefore ( e , y . elm , d . elm ) , y = n [ ++ f ] ) : ( a ( y , r , e , d . elm ) , y = n [ ++ f ] ) ) ) ; l > p ? ( u = Bt ( n [ m + 1 ] ) ? null : n [ m + 1 ] . elm , h ( e , u , n , f , m , r ) ) : f > m && g ( e , t , l , p ) } function b ( e , t , n , r ) { if ( e !== t ) { if ( t . isStatic && e . isStatic && t . key === e . key && ( t . isCloned || t . isOnce ) ) return t . elm = e . elm , void ( t . componentInstance = e . componentInstance ) ; var i , o = t . data , a = Vt ( o ) ; a && Vt ( i = o . hook ) && Vt ( i = i . prepatch ) && i ( e , t ) ; var s = t . elm = e . elm , c = e . children , u = t . children ; if ( a && p ( t ) ) { for ( i = 0 ; i < k . update . length ; ++ i ) k . update [ i ] ( e , t ) ; Vt ( i = o . hook ) && Vt ( i = i . update ) && i ( e , t ) } Bt ( t . text ) ? Vt ( c ) && Vt ( u ) ? c !== u && _ ( s , c , u , n , r ) : Vt ( u ) ? ( Vt ( e . text ) && O . setTextContent ( s , "" ) , h ( s , null , u , 0 , u . length - 1 , n ) ) : Vt ( c ) ? g ( s , c , 0 , c . length - 1 ) : Vt ( e . text ) && O . setTextContent ( s , "" ) : e . text !== t . text && O . setTextContent ( s , t . text ) , a && Vt ( i = o . hook ) && Vt ( i = i . postpatch ) && i ( e , t ) } } function $ ( e , t , n ) { if ( n && e . parent ) e . parent . data . pendingInsert = t ; else for ( var r = 0 ; r < t . length ; ++ r ) t [ r ] . data . hook . insert ( t [ r ] ) } function w ( e , t , n ) { t . elm = e ; var r = t . tag , i = t . data , o = t . children ; if ( Vt ( i ) && ( Vt ( C = i . hook ) && Vt ( C = C . init ) && C ( t , ! 0 ) , Vt ( C = t . componentInstance ) ) ) return c ( t , n ) , ! 0 ; if ( Vt ( r ) ) { if ( Vt ( o ) ) if ( e . hasChildNodes ( ) ) { for ( var a = ! 0 , s = e . firstChild , u = 0 ; u < o . length ; u ++ ) { if ( ! s || ! w ( s , o [ u ] , n ) ) { a = ! 1 ; break } s = s . nextSibling } if ( ! a || s ) return ! 1 } else f ( t , o , n ) ; if ( Vt ( i ) ) for ( var l in i ) if ( ! S ( l ) ) { d ( t , n ) ; break } } else e . data !== t . text && ( e . data = t . text ) ; return ! 0 } var C , x , k = { } , A = e . modules , O = e . nodeOps ; for ( C = 0 ; C < la . length ; ++ C ) for ( k [ la [ C ] ] = [ ] , x = 0 ; x < A . length ; ++ x ) void 0 !== A [ x ] [ la [ C ] ] && k [ la [ C ] ] . push ( A [ x ] [ la [ C ] ] ) ; var S = n ( "attrs,style,class,staticClass,staticStyle,key" ) ; return function ( e , n , r , i , o , s ) { if ( ! n ) return void ( e && m ( e ) ) ; var c = ! 1 , u = [ ] ; if ( e ) { var l = Vt ( e . nodeType ) ; if ( ! l && zt ( e , n ) ) b ( e , n , u , i ) ; else { if ( l ) { if ( 1 === e . nodeType && e . hasAttribute ( " server - rend Line truncated
} function Ft ( e , t ) { e . textContent = t } function Ht ( e , t , n ) { e . setAttribute ( t , n ) } function Ut ( e , t ) { var n = e . data . ref ; if ( n ) { var i = e . context , o = e . componentInstance || e . elm , a = i . $refs ; t ? Array . isArray ( a [ n ] ) ? r ( a [ n ] , o ) : a [ n ] === o && ( a [ n ] = void 0 ) : e . data . refInFor ? Array . isArray ( a [ n ] ) && a [ n ] . indexOf ( o ) < 0 ? a [ n ] . push ( o ) : a [ n ] = [ o ] : a [ n ] = o } } function Bt ( e ) { return null == e } function Vt ( e ) { return null != e } function zt ( e , t ) { return e . key === t . key && e . tag === t . tag && e . isComment === t . isComment && ! e . data == ! t . data } function Jt ( e , t , n ) { var r , i , o = { } ; for ( r = t ; r <= n ; ++ r ) i = e [ r ] . key , Vt ( i ) && ( o [ i ] = r ) ; return o } function Kt ( e ) { function t ( e ) { return new vo ( O . tagName ( e ) . toLowerCase ( ) , { } , [ ] , void 0 , e ) } function r ( e , t ) { function n ( ) { 0 === -- n . listeners && i ( e ) } return n . listeners = t , n } function i ( e ) { var t = O . parentNode ( e ) ; t && O . removeChild ( t , e ) } function a ( e , t , n , r , i ) { if ( e . isRootInsert = ! i , ! s ( e , t , n , r ) ) { var o = e . data , a = e . children , c = e . tag ; Vt ( c ) ? ( e . elm = e . ns ? O . createElementNS ( e . ns , c ) : O . createElement ( c , e ) , v ( e ) , f ( e , a , t ) , Vt ( o ) && d ( e , t ) , l ( n , e . elm , r ) ) : e . isComment ? ( e . elm = O . createComment ( e . text ) , l ( n , e . elm , r ) ) : ( e . elm = O . createTextNode ( e . text ) , l ( n , e . elm , r ) ) } } function s ( e , t , n , r ) { var i = e . data ; if ( Vt ( i ) ) { var o = Vt ( e . componentInstance ) && i . keepAlive ; if ( Vt ( i = i . hook ) && Vt ( i = i . init ) && i ( e , ! 1 , n , r ) , Vt ( e . componentInstance ) ) return c ( e , t ) , o && u ( e , t , n , r ) , ! 0 } } function c ( e , t ) { e . data . pendingInsert && t . push . apply ( t , e . data . pendingInsert ) , e . elm = e . componentInstance . $el , p ( e ) ? ( d ( e , t ) , v ( e ) ) : ( Ut ( e ) , t . push ( e ) ) } function u ( e , t , n , r ) { for ( var i , o = e ; o . componentInstance ; ) if ( o = o . componentInstance . _vnode , Vt ( i = o . data ) && Vt ( i = i . transition ) ) { for ( i = 0 ; i < k . activate . length ; ++ i ) k . activate [ i ] ( ua , o ) ; t . push ( o ) ; break } l ( n , e . elm , r ) } function l ( e , t , n ) { e && ( n ? O . insertBefore ( e , t , n ) : O . appendChild ( e , t ) ) } function f ( e , t , n ) { if ( Array . isArray ( t ) ) for ( var r = 0 ; r < t . length ; ++ r ) a ( t [ r ] , n , e . elm , null , ! 0 ) ; else o ( e . text ) && O . appendChild ( e . elm , O . createTextNode ( e . text ) ) } function p ( e ) { for ( ; e . componentInstance ; ) e = e . componentInstance . _vnode ; return Vt ( e . tag ) } function d ( e , t ) { for ( var n = 0 ; n < k . create . length ; ++ n ) k . create [ n ] ( ua , e ) ; C = e . data . hook , Vt ( C ) && ( C . create && C . create ( ua , e ) , C . insert && t . push ( e ) ) } function v ( e ) { for ( var t , n = e ; n ; ) Vt ( t = n . context ) && Vt ( t = t . $options . _scopeId ) && O . setAttribute ( e . elm , t , "" ) , n = n . parent ; Vt ( t = _o ) && t !== e . context && Vt ( t = t . $options . _scopeId ) && O . setAttribute ( e . elm , t , "" ) } function h ( e , t , n , r , i , o ) { for ( ; r <= i ; ++ r ) a ( n [ r ] , o , e , t ) } function m ( e ) { var t , n , r = e . data ; if ( Vt ( r ) ) for ( Vt ( t = r . hook ) && Vt ( t = t . destroy ) && t ( e ) , t = 0 ; t < k . destroy . length ; ++ t ) k . destroy [ t ] ( e ) ; if ( Vt ( t = e . children ) ) for ( n = 0 ; n < e . children . length ; ++ n ) m ( e . children [ n ] ) } function g ( e , t , n , r ) { for ( ; n <= r ; ++ n ) { var o = t [ n ] ; Vt ( o ) && ( Vt ( o . tag ) ? ( y ( o ) , m ( o ) ) : i ( o . elm ) ) } } function y ( e , t ) { if ( t || Vt ( e . data ) ) { var n = k . remove . length + 1 ; for ( t ? t . listeners += n : t = r ( e . elm , n ) , Vt ( C = e . componentInstance ) && Vt ( C = C . _vnode ) && Vt ( C . data ) && y ( C , t ) , C = 0 ; C < k . remove . length ; ++ C ) k . remove [ C ] ( e , t ) ; Vt ( C = e . data . hook ) && Vt ( C = C . remove ) ? C ( e , t ) : t ( ) } else i ( e . elm ) } function _ ( e , t , n , r , i ) { for ( var o , s , c , u , l = 0 , f = 0 , p = t . length - 1 , d = t [ 0 ] , v = t [ p ] , m = n . length - 1 , y = n [ 0 ] , _ = n [ m ] , $ = ! i ; l <= p && f <= m ; ) Bt ( d ) ? d = t [ ++ l ] : Bt ( v ) ? v = t [ -- p ] : zt ( d , y ) ? ( b ( d , y , r ) , d = t [ ++ l ] , y = n [ ++ f ] ) : zt ( v , _ ) ? ( b ( v , _ , r ) , v = t [ -- p ] , _ = n [ -- m ] ) : zt ( d , _ ) ? ( b ( d , _ , r ) , $ && O . insertBefore ( e , d . elm , O . nextSibling ( v . elm ) ) , d = t [ ++ l ] , _ = n [ -- m ] ) : zt ( v , y ) ? ( b ( v , y , r ) , $ && O . insertBefore ( e , v . elm , d . elm ) , v = t [ -- p ] , y = n [ ++ f ] ) : ( Bt ( o ) && ( o = Jt ( t , l , p ) ) , s = Vt ( y . key ) ? o [ y . key ] : null , Bt ( s ) ? ( a ( y , r , e , d . elm ) , y = n [ ++ f ] ) : ( c = t [ s ] , zt ( c , y ) ? ( b ( c , y , r ) , t [ s ] = void 0 , $ && O . insertBefore ( e , y . elm , d . elm ) , y = n [ ++ f ] ) : ( a ( y , r , e , d . elm ) , y = n [ ++ f ] ) ) ) ; l > p ? ( u = Bt ( n [ m + 1 ] ) ? null : n [ m + 1 ] . elm , h ( e , u , n , f , m , r ) ) : f > m && g ( e , t , l , p ) } function b ( e , t , n , r ) { if ( e !== t ) { if ( t . isStatic && e . isStatic && t . key === e . key && ( t . isCloned || t . isOnce ) ) return t . elm = e . elm , void ( t . componentInstance = e . componentInstance ) ; var i , o = t . data , a = Vt ( o ) ; a && Vt ( i = o . hook ) && Vt ( i = i . prepatch ) && i ( e , t ) ; var s = t . elm = e . elm , c = e . children , u = t . children ; if ( a && p ( t ) ) { for ( i = 0 ; i < k . update . length ; ++ i ) k . update [ i ] ( e , t ) ; Vt ( i = o . hook ) && Vt ( i = i . update ) && i ( e , t ) } Bt ( t . text ) ? Vt ( c ) && Vt ( u ) ? c !== u && _ ( s , c , u , n , r ) : Vt ( u ) ? ( Vt ( e . text ) && O . setTextContent ( s , "" ) , h ( s , null , u , 0 , u . length - 1 , n ) ) : Vt ( c ) ? g ( s , c , 0 , c . length - 1 ) : Vt ( e . text ) && O . setTextContent ( s , "" ) : e . text !== t . text && O . setTextContent ( s , t . text ) , a && Vt ( i = o . hook ) && Vt ( i = i . postpatch ) && i ( e , t ) } } function $ ( e , t , n ) { if ( n && e . parent ) e . parent . data . pendingInsert = t ; else for ( var r = 0 ; r < t . length ; ++ r ) t [ r ] . data . hook . insert ( t [ r ] ) } function w ( e , t , n ) { t . elm = e ; var r = t . tag , i = t . data , o = t . children ; if ( Vt ( i ) && ( Vt ( C = i . hook ) && Vt ( C = C . init ) && C ( t , ! 0 ) , Vt ( C = t . componentInstance ) ) ) return c ( t , n ) , ! 0 ; if ( Vt ( r ) ) { if ( Vt ( o ) ) if ( e . hasChildNodes ( ) ) { for ( var a = ! 0 , s = e . firstChild , u = 0 ; u < o . length ; u ++ ) { if ( ! s || ! w ( s , o [ u ] , n ) ) { a = ! 1 ; break } s = s . nextSibling } if ( ! a || s ) return ! 1 } else f ( t , o , n ) ; if ( Vt ( i ) ) for ( var l in i ) if ( ! S ( l ) ) { d ( t , n ) ; break } } else e . data !== t . text && ( e . data = t . text ) ; return ! 0 } var C , x , k = { } , A = e . modules , O = e . nodeOps ; for ( C = 0 ; C < la . length ; ++ C ) for ( k [ la [ C ] ] = [ ] , x = 0 ; x < A . length ; ++ x ) void 0 !== A [ x ] [ la [ C ] ] && k [ la [ C ] ] . push ( A [ x ] [ la [ C ] ] ) ; var S = n ( "attrs,style,class,staticClass,staticStyle,key" ) ; return function ( e , n , r , i , o , s ) { if ( ! n ) return void ( e && m ( e ) ) ; var c = ! 1 , u = [ ] ; if ( e ) { var l = Vt ( e . nodeType ) ; if ( ! l && zt ( e , n ) ) b ( e , n , u , i ) ; else { if ( l ) { if ( 1 === e . nodeType && e . hasAttribute ( " server - rend Line truncated
s . render = yi ( a . render , c ) ; var u = a . staticRenderFns . length ; s . staticRenderFns = new Array ( u ) ; for ( var l = 0 ; l < u ; l ++ ) s . staticRenderFns [ l ] = yi ( a . staticRenderFns [ l ] , c ) ; return r [ o ] = s } var r = Object . create ( null ) ; return { compile : t , compileToFunctions : n } } function bi ( e , t ) { var n = ( t . warn || rn , fn ( e , "class" ) ) ; n && ( e . staticClass = JSON . stringify ( n ) ) ; var r = ln ( e , "class" , ! 1 ) ; r && ( e . classBinding = r ) } function $i ( e ) { var t = "" ; return e . staticClass && ( t += "staticClass:" + e . staticClass + "," ) , e . classBinding && ( t += "class:" + e . classBinding + "," ) , t } function wi ( e , t ) { var n = ( t . warn || rn , fn ( e , "style" ) ) ; n && ( e . staticStyle = JSON . stringify ( $a ( n ) ) ) ; var r = ln ( e , "style" , ! 1 ) ; r && ( e . styleBinding = r ) } function Ci ( e ) { var t = "" ; return e . staticStyle && ( t += "staticStyle:" + e . staticStyle + "," ) , e . styleBinding && ( t += "style:(" + e . styleBinding + ")," ) , t } function xi ( e , t ) { t . value && an ( e , "textContent" , "_s(" + t . value + ")" ) } function ki ( e , t ) { t . value && an ( e , "innerHTML" , "_s(" + t . value + ")" ) } function Ai ( e ) { if ( e . outerHTML ) return e . outerHTML ; var t = document . createElement ( "div" ) ; return t . appendChild ( e . cloneNode ( ! 0 ) ) , t . innerHTML } var Oi , Si , Ti = n ( "slot,component" , ! 0 ) , Ei = Object . prototype . hasOwnProperty , ji = /-(\w)/g , Ni = a ( function ( e ) { return e . replace ( ji , function ( e , t ) { return t ? t . toUpperCase ( ) : "" } ) } ) , Ii = a ( function ( e ) { return e . charAt ( 0 ) . toUpperCase ( ) + e . slice ( 1 ) } ) , Li = /([^-])([A-Z])/g , Di = a ( function ( e ) { return e . replace ( Li , "$1-$2" ) . replace ( Li , "$1-$2" ) . toLowerCase ( ) } ) , Mi = Object . prototype . toString , Pi = "[object Object]" , Ri = function ( ) { return ! 1 } , Fi = function ( e ) { return e } , Hi = { optionMergeStrategies : Object . create ( null ) , silent : ! 1 , productionTip : ! 1 , devtools : ! 1 , performance : ! 1 , errorHandler : null , ignoredElements : [ ] , keyCodes : Object . create ( null ) , isReservedTag : Ri , isUnknownElement : Ri , getTagNamespace : d , parsePlatformTagName : Fi , mustUseProp : Ri , _assetTypes : [ "component" , "directive" , "filter" ] , _lifecycleHooks : [ "beforeCreate" , "created" , "beforeMount" , "mounted" , "beforeUpdate" , "updated" , "beforeDestroy" , "destroyed" , "activated" , "deactivated" ] , _maxUpdateCount : 100 } , Ui = "__proto__" in { } , Bi = "undefined" != typeof window , Vi = Bi && window . navigator . userAgent . toLowerCase ( ) , zi = Vi && /msie|trident/ . test ( Vi ) , Ji = Vi && Vi . indexOf ( "msie 9.0" ) > 0 , Ki = Vi && Vi . indexOf ( "edge/" ) > 0 , qi = Vi && Vi . indexOf ( "android" ) > 0 , Wi = Vi && /iphone|ipad|ipod|ios/ . test ( Vi ) , Zi = Vi && /chrome\/\d+/ . test ( Vi ) && ! Ki , Gi = function ( ) { return void 0 === Oi && ( Oi = ! Bi && "undefined" != typeof global && "server" === global . process . env . VUE _ENV ) , Oi } , Yi = Bi && window . _ _VUE _DEVTOOLS _GLOBAL _HOOK _ _ , Qi = "undefined" != typeof Symbol && y ( Symbol ) && "undefined" != typeof Reflect && y ( Reflect . ownKeys ) , Xi = function ( ) { function e ( ) { r = ! 1 ; var e = n . slice ( 0 ) ; n . length = 0 ; for ( var t = 0 ; t < e . length ; t ++ ) e [ t ] ( ) } var t , n = [ ] , r = ! 1 ; if ( "undefined" != typeof Promise && y ( Promise ) ) { var i = Promise . resolve ( ) , o = function ( e ) { console . error ( e ) } ; t = function ( ) { i . then ( e ) . catch ( o ) , Wi && setTimeout ( d ) } } else if ( "undefined" == typeof MutationObserver || ! y ( MutationObserver ) && "[object MutationObserverConstructor]" !== MutationObserver . toString ( ) ) t = function ( ) { setTimeout ( e , 0 ) } ; else { var a = 1 , s = new MutationObserver ( e ) , c = document . createTextNode ( String ( a ) ) ; s . observe ( c , { characterData : ! 0 } ) , t = function ( ) { a = ( a + 1 ) % 2 , c . data = String ( a ) } } return function ( e , i ) { var o ; if ( n . push ( function ( ) { e && e . call ( i ) , o && o ( i ) } ) , r || ( r = ! 0 , t ( ) ) , ! e && "undefined" != typeof Promise ) return new Promise ( function ( e ) { o = e } ) } } ( ) ; Si = "undefined" != typeof Set && y ( Set ) ? Set : function ( ) { function e ( ) { this . set = Object . create ( null ) } return e . prototype . has = function ( e ) { return this . set [ e ] === ! 0 } , e . prototype . add = function ( e ) { this . set [ e ] = ! 0 } , e . prototype . clear = function ( ) { this . set = Object . create ( null ) } , e } ( ) ; var eo = Object . freeze ( { } ) , to = /[^\w.$]/ , no = d , ro = 0 , io = function ( ) { this . id = ro ++ , this . subs = [ ] } ; io . prototype . addSub = function ( e ) { this . subs . push ( e ) } , io . prototype . removeSub = function ( e ) { r ( this . subs , e ) } , io . prototype . depend = function ( ) { io . target && io . target . addDep ( this ) } , io . prototype . notify = function ( ) { for ( var e = this . subs . slice ( ) , t = 0 , n = e . length ; t < n ; t ++ ) e [ t ] . update ( ) } , io . target = null ; var oo = [ ] , ao = Array . prototype , so = Object . create ( ao ) ; [ "push" , "pop" , "shift" , "unshift" , "splice" , "sort" , "reverse" ] . forEach ( function ( e ) { var t = ao [ e ] ; b ( so , e , function ( ) { for ( var n = arguments , r = arguments . length , i = new Array ( r ) ; r -- ; ) i [ r ] = n [ r ] ; var o , a = t . apply ( this , i ) , s = this . _ _ob _ _ ; switch ( e ) { case "push" : o = i ; break ; case "unshift" : o = i ; break ; case "splice" : o = i . slice ( 2 ) } return o && s . observeArray ( o ) , s . dep . notify ( ) , a } ) } ) ; var co = Object . getOwnPropertyNames ( so ) , uo = { shouldConvert : ! 0 , isSettingProps : ! 1 } , lo = function ( e ) { if ( this . value = e , this . dep = new io , this . vmCount = 0 , b ( e , "__ob__" , this ) , Array . isArray ( e ) ) { var t = Ui ? x : k ; t ( e , so , co ) , this . observeArray ( e ) } else this . walk ( e ) } ; lo . prototype . walk = function ( e ) { for ( var t = Object . keys ( e ) , n = 0 ; n < t . length ; n ++ ) O ( e , t [ n ] , e [ t [ n ] ] ) } , lo . prototype . observeArray = function ( e ) { for ( var t = 0 , n = e . length ; t < n ; t ++ ) A ( e [ t ] ) } ; var fo = Hi . optionMergeStrategies ; fo . data = function ( e , t , n ) { return n ? e || t ? function ( ) { var r = "function" == typeof t ? t . call ( n ) : t , i = "function" == typeof e ? e . call ( n ) : void 0 ; return r ? j ( r , i ) : i } : void 0 : t ? "function" != typeof t ? e : e ? function ( ) { return j ( t . call ( this ) , e . call ( this ) ) } : t : e } , Hi . _lifecycleHooks . forEach ( function ( e ) { fo [ e ] = N } ) , Hi . _assetTypes . forEach ( function ( e Line truncated
s . render = yi ( a . render , c ) ; var u = a . staticRenderFns . length ; s . staticRenderFns = new Array ( u ) ; for ( var l = 0 ; l < u ; l ++ ) s . staticRenderFns [ l ] = yi ( a . staticRenderFns [ l ] , c ) ; return r [ o ] = s } var r = Object . create ( null ) ; return { compile : t , compileToFunctions : n } } function bi ( e , t ) { var n = ( t . warn || rn , fn ( e , "class" ) ) ; n && ( e . staticClass = JSON . stringify ( n ) ) ; var r = ln ( e , "class" , ! 1 ) ; r && ( e . classBinding = r ) } function $i ( e ) { var t = "" ; return e . staticClass && ( t += "staticClass:" + e . staticClass + "," ) , e . classBinding && ( t += "class:" + e . classBinding + "," ) , t } function wi ( e , t ) { var n = ( t . warn || rn , fn ( e , "style" ) ) ; n && ( e . staticStyle = JSON . stringify ( $a ( n ) ) ) ; var r = ln ( e , "style" , ! 1 ) ; r && ( e . styleBinding = r ) } function Ci ( e ) { var t = "" ; return e . staticStyle && ( t += "staticStyle:" + e . staticStyle + "," ) , e . styleBinding && ( t += "style:(" + e . styleBinding + ")," ) , t } function xi ( e , t ) { t . value && an ( e , "textContent" , "_s(" + t . value + ")" ) } function ki ( e , t ) { t . value && an ( e , "innerHTML" , "_s(" + t . value + ")" ) } function Ai ( e ) { if ( e . outerHTML ) return e . outerHTML ; var t = document . createElement ( "div" ) ; return t . appendChild ( e . cloneNode ( ! 0 ) ) , t . innerHTML } var Oi , Si , Ti = n ( "slot,component" , ! 0 ) , Ei = Object . prototype . hasOwnProperty , ji = /-(\w)/g , Ni = a ( function ( e ) { return e . replace ( ji , function ( e , t ) { return t ? t . toUpperCase ( ) : "" } ) } ) , Ii = a ( function ( e ) { return e . charAt ( 0 ) . toUpperCase ( ) + e . slice ( 1 ) } ) , Li = /([^-])([A-Z])/g , Di = a ( function ( e ) { return e . replace ( Li , "$1-$2" ) . replace ( Li , "$1-$2" ) . toLowerCase ( ) } ) , Mi = Object . prototype . toString , Pi = "[object Object]" , Ri = function ( ) { return ! 1 } , Fi = function ( e ) { return e } , Hi = { optionMergeStrategies : Object . create ( null ) , silent : ! 1 , productionTip : ! 1 , devtools : ! 1 , performance : ! 1 , errorHandler : null , ignoredElements : [ ] , keyCodes : Object . create ( null ) , isReservedTag : Ri , isUnknownElement : Ri , getTagNamespace : d , parsePlatformTagName : Fi , mustUseProp : Ri , _assetTypes : [ "component" , "directive" , "filter" ] , _lifecycleHooks : [ "beforeCreate" , "created" , "beforeMount" , "mounted" , "beforeUpdate" , "updated" , "beforeDestroy" , "destroyed" , "activated" , "deactivated" ] , _maxUpdateCount : 100 } , Ui = "__proto__" in { } , Bi = "undefined" != typeof window , Vi = Bi && window . navigator . userAgent . toLowerCase ( ) , zi = Vi && /msie|trident/ . test ( Vi ) , Ji = Vi && Vi . indexOf ( "msie 9.0" ) > 0 , Ki = Vi && Vi . indexOf ( "edge/" ) > 0 , qi = Vi && Vi . indexOf ( "android" ) > 0 , Wi = Vi && /iphone|ipad|ipod|ios/ . test ( Vi ) , Zi = Vi && /chrome\/\d+/ . test ( Vi ) && ! Ki , Gi = function ( ) { return void 0 === Oi && ( Oi = ! Bi && "undefined" != typeof global && "server" === global . process . env . VUE _ENV ) , Oi } , Yi = Bi && window . _ _VUE _DEVTOOLS _GLOBAL _HOOK _ _ , Qi = "undefined" != typeof Symbol && y ( Symbol ) && "undefined" != typeof Reflect && y ( Reflect . ownKeys ) , Xi = function ( ) { function e ( ) { r = ! 1 ; var e = n . slice ( 0 ) ; n . length = 0 ; for ( var t = 0 ; t < e . length ; t ++ ) e [ t ] ( ) } var t , n = [ ] , r = ! 1 ; if ( "undefined" != typeof Promise && y ( Promise ) ) { var i = Promise . resolve ( ) , o = function ( e ) { console . error ( e ) } ; t = function ( ) { i . then ( e ) . catch ( o ) , Wi && setTimeout ( d ) } } else if ( "undefined" == typeof MutationObserver || ! y ( MutationObserver ) && "[object MutationObserverConstructor]" !== MutationObserver . toString ( ) ) t = function ( ) { setTimeout ( e , 0 ) } ; else { var a = 1 , s = new MutationObserver ( e ) , c = document . createTextNode ( String ( a ) ) ; s . observe ( c , { characterData : ! 0 } ) , t = function ( ) { a = ( a + 1 ) % 2 , c . data = String ( a ) } } return function ( e , i ) { var o ; if ( n . push ( function ( ) { e && e . call ( i ) , o && o ( i ) } ) , r || ( r = ! 0 , t ( ) ) , ! e && "undefined" != typeof Promise ) return new Promise ( function ( e ) { o = e } ) } } ( ) ; Si = "undefined" != typeof Set && y ( Set ) ? Set : function ( ) { function e ( ) { this . set = Object . create ( null ) } return e . prototype . has = function ( e ) { return this . set [ e ] === ! 0 } , e . prototype . add = function ( e ) { this . set [ e ] = ! 0 } , e . prototype . clear = function ( ) { this . set = Object . create ( null ) } , e } ( ) ; var eo = Object . freeze ( { } ) , to = /[^\w.$]/ , no = d , ro = 0 , io = function ( ) { this . id = ro ++ , this . subs = [ ] } ; io . prototype . addSub = function ( e ) { this . subs . push ( e ) } , io . prototype . removeSub = function ( e ) { r ( this . subs , e ) } , io . prototype . depend = function ( ) { io . target && io . target . addDep ( this ) } , io . prototype . notify = function ( ) { for ( var e = this . subs . slice ( ) , t = 0 , n = e . length ; t < n ; t ++ ) e [ t ] . update ( ) } , io . target = null ; var oo = [ ] , ao = Array . prototype , so = Object . create ( ao ) ; [ "push" , "pop" , "shift" , "unshift" , "splice" , "sort" , "reverse" ] . forEach ( function ( e ) { var t = ao [ e ] ; b ( so , e , function ( ) { for ( var n = arguments , r = arguments . length , i = new Array ( r ) ; r -- ; ) i [ r ] = n [ r ] ; var o , a = t . apply ( this , i ) , s = this . _ _ob _ _ ; switch ( e ) { case "push" : o = i ; break ; case "unshift" : o = i ; break ; case "splice" : o = i . slice ( 2 ) } return o && s . observeArray ( o ) , s . dep . notify ( ) , a } ) } ) ; var co = Object . getOwnPropertyNames ( so ) , uo = { shouldConvert : ! 0 , isSettingProps : ! 1 } , lo = function ( e ) { if ( this . value = e , this . dep = new io , this . vmCount = 0 , b ( e , "__ob__" , this ) , Array . isArray ( e ) ) { var t = Ui ? x : k ; t ( e , so , co ) , this . observeArray ( e ) } else this . walk ( e ) } ; lo . prototype . walk = function ( e ) { for ( var t = Object . keys ( e ) , n = 0 ; n < t . length ; n ++ ) O ( e , t [ n ] , e [ t [ n ] ] ) } , lo . prototype . observeArray = function ( e ) { for ( var t = 0 , n = e . length ; t < n ; t ++ ) A ( e [ t ] ) } ; var fo = Hi . optionMergeStrategies ; fo . data = function ( e , t , n ) { return n ? e || t ? function ( ) { var r = "function" == typeof t ? t . call ( n ) : t , i = "function" == typeof e ? e . call ( n ) : void 0 ; return r ? j ( r , i ) : i } : void 0 : t ? "function" != typeof t ? e : e ? function ( ) { return j ( t . call ( this ) , e . call ( this ) ) } : t : e } , Hi . _lifecycleHooks . forEach ( function ( e ) { fo [ e ] = N } ) , Hi . _assetTypes . forEach ( function ( e Line truncated
c && ( s = ! 0 ) } s && h . show . call ( n , t . data , t . pageX , t . pageY ) } } , click : function ( t ) { t . preventDefault ( ) , t . stopImmediatePropagation ( ) , e ( this ) . trigger ( e . Event ( "contextmenu" , { data : t . data , pageX : t . pageX , pageY : t . pageY } ) ) } , mousedown : function ( t ) { var n = e ( this ) ; o && o . length && ! o . is ( n ) && o . data ( "contextMenu" ) . $menu . trigger ( "contextmenu:hide" ) , 2 === t . button && ( o = n . data ( "contextMenuActive" , ! 0 ) ) } , mouseup : function ( t ) { var n = e ( this ) ; n . data ( "contextMenuActive" ) && o && o . length && o . is ( n ) && ! n . hasClass ( "context-menu-disabled" ) && ( t . preventDefault ( ) , t . stopImmediatePropagation ( ) , o = n , n . trigger ( e . Event ( "contextmenu" , { data : t . data , pageX : t . pageX , pageY : t . pageY } ) ) ) , n . removeData ( "contextMenuActive" ) } , mouseenter : function ( t ) { var n = e ( this ) , a = e ( t . relatedTarget ) , s = e ( document ) ; a . is ( ".context-menu-list" ) || a . closest ( ".context-menu-list" ) . length || o && o . length || ( m . pageX = t . pageX , m . pageY = t . pageY , m . data = t . data , s . on ( "mousemove.contextMenuShow" , f . mousemove ) , m . timer = setTimeout ( function ( ) { m . timer = null , s . off ( "mousemove.contextMenuShow" ) , o = n , n . trigger ( e . Event ( "contextmenu" , { data : m . data , pageX : m . pageX , pageY : m . pageY } ) ) } , t . data . delay ) ) } , mousemove : function ( e ) { m . pageX = e . pageX , m . pageY = e . pageY } , mouseleave : function ( t ) { var n = e ( t . relatedTarget ) ; if ( ! n . is ( ".context-menu-list" ) && ! n . closest ( ".context-menu-list" ) . length ) { try { clearTimeout ( m . timer ) } catch ( e ) { } m . timer = null } } , layerClick : function ( t ) { var n , a , o = e ( this ) , s = o . data ( "contextMenuRoot" ) , c = t . button , r = t . pageX , l = t . pageY ; t . preventDefault ( ) , t . stopImmediatePropagation ( ) , setTimeout ( function ( ) { var o , u = "left" === s . trigger && 0 === c || "right" === s . trigger && 2 === c ; if ( document . elementFromPoint && s . $layer ) { if ( s . $layer . hide ( ) , n = document . elementFromPoint ( r - i . scrollLeft ( ) , l - i . scrollTop ( ) ) , n . isContentEditable ) { var d = document . createRange ( ) , m = window . getSelection ( ) ; d . selectNode ( n ) , d . collapse ( ! 0 ) , m . removeAllRanges ( ) , m . addRange ( d ) } s . $layer . show ( ) } if ( s . reposition && u ) if ( document . elementFromPoint ) { if ( s . $trigger . is ( n ) || s . $trigger . has ( n ) . length ) return void s . position . call ( s . $trigger , s , r , l ) } else if ( a = s . $trigger . offset ( ) , o = e ( window ) , a . top += o . scrollTop ( ) , a . top <= t . pageY && ( a . left += o . scrollLeft ( ) , a . left <= t . pageX && ( a . bottom = a . top + s . $trigger . outerHeight ( ) , a . bottom >= t . pageY && ( a . right = a . left + s . $trigger . outerWidth ( ) , a . right >= t . pageX ) ) ) ) return void s . position . call ( s . $trigger , s , r , l ) ; n && u && s . $trigger . one ( "contextmenu:hidden" , function ( ) { e ( n ) . contextMenu ( { x : r , y : l , button : c } ) } ) , null !== s && null !== s . $menu && s . $menu . trigger ( "contextmenu:hide" ) } , 50 ) } , keyStop : function ( e , t ) { t . isInput || e . preventDefault ( ) , e . stopPropagation ( ) } , key : function ( e ) { var t = { } ; o && ( t = o . data ( "contextMenu" ) || { } ) , void 0 === t . zIndex && ( t . zIndex = 0 ) ; var n = 0 , a = function ( e ) { "" !== e . style . zIndex ? n = e . style . zIndex : null !== e . offsetParent && void 0 !== e . offsetParent ? a ( e . offsetParent ) : null !== e . parentElement && void 0 !== e . parentElement && a ( e . parentElement ) } ; if ( a ( e . target ) , ! ( n > t . zIndex ) ) { switch ( e . keyCode ) { case 9 : case 38 : if ( f . keyStop ( e , t ) , t . isInput ) { if ( 9 === e . keyCode && e . shiftKey ) return e . preventDefault ( ) , t . $selected && t . $selected . find ( "input, textarea, select" ) . blur ( ) , void ( null !== t . $menu && t . $menu . trigger ( "prevcommand" ) ) ; if ( 38 === e . keyCode && "checkbox" === t . $selected . find ( "input, textarea, select" ) . prop ( "type" ) ) return void e . preventDefault ( ) } else if ( 9 !== e . keyCode || e . shiftKey ) return void ( null !== t . $menu && t . $menu . trigger ( "prevcommand" ) ) ; break ; case 40 : if ( f . keyStop ( e , t ) , ! t . isInput ) return void ( null !== t . $menu && t . $menu . trigger ( "nextcommand" ) ) ; if ( 9 === e . keyCode ) return e . preventDefault ( ) , t . $selected && t . $selected . find ( "input, textarea, select" ) . blur ( ) , void ( null !== t . $menu && t . $menu . trigger ( "nextcommand" ) ) ; if ( 40 === e . keyCode && "checkbox" === t . $selected . find ( "input, textarea, select" ) . prop ( "type" ) ) return void e . preventDefault ( ) ; break ; case 37 : if ( f . keyStop ( e , t ) , t . isInput || ! t . $selected || ! t . $selected . length ) break ; if ( ! t . $selected . parent ( ) . hasClass ( "context-menu-root" ) ) { var s = t . $selected . parent ( ) . parent ( ) ; return t . $selected . trigger ( "contextmenu:blur" ) , void ( t . $selected = s ) } break ; case 39 : if ( f . keyStop ( e , t ) , t . isInput || ! t . $selected || ! t . $selected . length ) break ; var i = t . $selected . data ( "contextMenu" ) || { } ; if ( i . $menu && t . $selected . hasClass ( "context-menu-submenu" ) ) return t . $selected = null , i . $selected = null , void i . $menu . trigger ( "nextcommand" ) ; break ; case 35 : case 36 : return t . $selected && t . $selected . find ( "input, textarea, select" ) . length ? void 0 : ( ( t . $selected && t . $selected . parent ( ) || t . $menu ) . children ( ":not(." + t . classNames . disabled + ", ." + t . classNames . notSelectable + ")" ) [ 36 === e . keyCode ? "first" : "last" ] ( ) . trigger ( "contextmenu:focus" ) , void e . preventDefault ( ) ) ; case 13 : if ( f . keyStop ( e , t ) , t . isInput ) { if ( t . $selected && ! t . $selected . is ( "textarea, select" ) ) return void e . preventDefault ( ) ; break } return void ( "undefined" != typeof t . $selected && null !== t . $selected && t . $selected . trigger ( "mouseup" ) ) ; case 32 : case 33 : case 34 : return void f . keyStop ( e , t ) ; case 27 : return f . keyStop ( e , t ) , void ( null !== t . $menu && t . $menu . trigger ( "contextmenu:hide" ) ) ; default : var c = String . fromCharCode ( e . keyCode ) . toUpperCase ( ) ; if ( t . accesskeys && t . accesskeys [ c ] ) return void t . accesskeys [ c ] . $node . trigger ( t . accesskeys [ c ] . $menu ? "contextmenu:focus" : "mouseup" ) } e . stopPropagation ( ) , " u Line truncated
return e . apply ( null , t ) } } } ] ) } ) , ! function ( a ) { "function" == typeof define && define . amd ? define ( [ "jquery" ] , a ) : a ( "object" == typeof module && module . exports ? require ( "jquery" ) : jQuery ) } ( function ( a ) { var b = "2.1.2" , c = { } , d = { exclude : [ ] , excludeWithin : [ ] , offset : 0 , direction : "top" , delegateSelector : null , scrollElement : null , scrollTarget : null , beforeScroll : function ( ) { } , afterScroll : function ( ) { } , easing : "swing" , speed : 400 , autoCoefficient : 2 , preventDefault : ! 0 } , e = function ( b ) { var c = [ ] , d = ! 1 , e = b . dir && "left" === b . dir ? "scrollLeft" : "scrollTop" ; return this . each ( function ( ) { var b = a ( this ) ; if ( this !== document && this !== window ) return ! document . scrollingElement || this !== document . documentElement && this !== document . body ? void ( b [ e ] ( ) > 0 ? c . push ( this ) : ( b [ e ] ( 1 ) , d = b [ e ] ( ) > 0 , d && c . push ( this ) , b [ e ] ( 0 ) ) ) : ( c . push ( document . scrollingElement ) , ! 1 ) } ) , c . length || this . each ( function ( ) { this === document . documentElement && "smooth" === a ( this ) . css ( "scrollBehavior" ) && ( c = [ this ] ) , c . length || "BODY" !== this . nodeName || ( c = [ this ] ) } ) , "first" === b . el && c . length > 1 && ( c = [ c [ 0 ] ] ) , c } , f = /^([\-\+]=)(\d+)/ ; a . fn . extend ( { scrollable : function ( a ) { var b = e . call ( this , { dir : a } ) ; return this . pushStack ( b ) } , firstScrollable : function ( a ) { var b = e . call ( this , { el : "first" , dir : a } ) ; return this . pushStack ( b ) } , smoothScroll : function ( b , c ) { if ( b = b || { } , "options" === b ) return c ? this . each ( function ( ) { var b = a ( this ) , d = a . extend ( b . data ( "ssOpts" ) || { } , c ) ; a ( this ) . data ( "ssOpts" , d ) } ) : this . first ( ) . data ( "ssOpts" ) ; var d = a . extend ( { } , a . fn . smoothScroll . defaults , b ) , e = function ( b ) { var c = function ( a ) { return a . replace ( /(:|\.|\/)/g , "\\$1" ) } , e = this , f = a ( this ) , g = a . extend ( { } , d , f . data ( "ssOpts" ) || { } ) , h = d . exclude , i = g . excludeWithin , j = 0 , k = 0 , l = ! 0 , m = { } , n = a . smoothScroll . filterPath ( location . pathname ) , o = a . smoothScroll . filterPath ( e . pathname ) , p = location . hostname === e . hostname || ! e . hostname , q = g . scrollTarget || o === n , r = c ( e . hash ) ; if ( r && ! a ( r ) . length && ( l = ! 1 ) , g . scrollTarget || p && q && r ) { for ( ; l && j < h . length ; ) f . is ( c ( h [ j ++ ] ) ) && ( l = ! 1 ) ; for ( ; l && k < i . length ; ) f . closest ( i [ k ++ ] ) . length && ( l = ! 1 ) } else l = ! 1 ; l && ( g . preventDefault && b . preventDefault ( ) , a . extend ( m , g , { scrollTarget : g . scrollTarget || r , link : e } ) , a . smoothScroll ( m ) ) } ; return null !== b . delegateSelector ? this . off ( "click.smoothscroll" , b . delegateSelector ) . on ( "click.smoothscroll" , b . delegateSelector , e ) : this . off ( "click.smoothscroll" ) . on ( "click.smoothscroll" , e ) , this } } ) ; var g = function ( a ) { var b = { relative : "" } , c = "string" == typeof a && f . exec ( a ) ; return "number" == typeof a ? b . px = a : c && ( b . relative = c [ 1 ] , b . px = parseFloat ( c [ 2 ] ) || 0 ) , b } ; a . smoothScroll = function ( b , d ) { if ( "options" === b && "object" == typeof d ) return a . extend ( c , d ) ; var e , f , h , i , j = g ( b ) , k = { } , l = 0 , m = "offset" , n = "scrollTop" , o = { } , p = { } ; j . px ? e = a . extend ( { link : null } , a . fn . smoothScroll . defaults , c ) : ( e = a . extend ( { link : null } , a . fn . smoothScroll . defaults , b || { } , c ) , e . scrollElement && ( m = "position" , "static" === e . scrollElement . css ( "position" ) && e . scrollElement . css ( "position" , "relative" ) ) , d && ( j = g ( d ) ) ) , n = "left" === e . direction ? "scrollLeft" : n , e . scrollElement ? ( f = e . scrollElement , j . px || /^(?:HTML|BODY)$/ . test ( f [ 0 ] . nodeName ) || ( l = f [ n ] ( ) ) ) : f = a ( "html, body" ) . firstScrollable ( e . direction ) , e . beforeScroll . call ( f , e ) , k = j . px ? j : { relative : "" , px : a ( e . scrollTarget ) [ m ] ( ) && a ( e . scrollTarget ) [ m ] ( ) [ e . direction ] || 0 } , o [ n ] = k . relative + ( k . px + l + e . offset ) , h = e . speed , "auto" === h && ( i = Math . abs ( o [ n ] - f [ n ] ( ) ) , h = i / e . autoCoefficient ) , p = { duration : h , easing : e . easing , complete : function ( ) { e . afterScroll . call ( e . link , e ) } } , e . step && ( p . step = e . step ) , f . length ? f . stop ( ) . animate ( o , p ) : e . afterScroll . call ( e . link , e ) } , a . smoothScroll . version = b , a . smoothScroll . filterPath = function ( a ) { return a = a || "" , a . replace ( /^\// , "" ) . replace ( /(?:index|default).[a-zA-Z]{3,4}$/ , "" ) . replace ( /\/$/ , "" ) } , a . fn . smoothScroll . defaults = d } ) , simpleUpload . maxUploads = 10 , simpleUpload . activeUploads = 0 , simpleUpload . uploads = [ ] , simpleUpload . iframes = { } , simpleUpload . iframeCount = 0 , simpleUpload . queueUpload = function ( e , l ) { simpleUpload . uploads [ simpleUpload . uploads . length ] = { uploads : e , callback : l } } , simpleUpload . uploadNext = function ( ) { if ( simpleUpload . uploads . length > 0 && simpleUpload . activeUploads < simpleUpload . maxUploads ) { var e = simpleUpload . uploads [ 0 ] , l = e . callback , n = e . uploads . splice ( 0 , 1 ) [ 0 ] ; 0 == e . uploads . length && simpleUpload . uploads . splice ( 0 , 1 ) , simpleUpload . activeUploads ++ , l ( n ) , simpleUpload . uploadNext ( ) } } , simpleUpload . queueIframe = function ( e ) { for ( var l = 0 ; 0 == l || l in simpleUpload . iframes ; ) l = Math . floor ( 999999999 * Math . random ( ) + 1 ) ; return simpleUpload . iframes [ l ] = e , simpleUpload . iframeCount ++ , $ ( "body" ) . append ( '<iframe name="simpleUpload_iframe_' + l + '" style="display: none;"></iframe>' ) , l } , simpleUpload . dequeueIframe = function ( e ) { e in simpleUpload . iframes && ( $ ( "iframe[name=simpleUpload_iframe_" + e + "]" ) . remove ( ) , delete simpleUpload . iframes [ e ] , simpleUpload . iframeCount -- ) } , simpleUpload . convertDataType = function ( e , l , n ) { var t = "auto" ; if ( "auto" == e ) { if ( "string" == typeof l && "" != l ) { var a = l . toLowerCase ( ) , o = [ "json" , "xml" , "html" , "script" , "text" ] ; for ( var r in o ) if ( o [ r ] == a ) { t = a ; break } } } else t = e ; if ( "auto" == t ) return "undefined" == typeof n ? "" : "object" == typeof n ? n : String ( n ) ; if ( "json" == t ) { if ( "undefined" == typeof n || null === n ) return null ; if ( "object" == typeof n ) return n ; if ( "string" == typeof n ) try { return $ . parseJSON ( n ) } catch ( i ) { return ! 1 Line truncated
"string" != typeof e && ( e = "" + e ) ; var n = e . length ; if ( 0 === n ) return 0 ; for ( var r = ! 1 ; ; ) switch ( t ) { case "ascii" : case "binary" : case "raw" : case "raws" : return n ; case "utf8" : case "utf-8" : case void 0 : return q ( e ) . length ; case "ucs2" : case "ucs-2" : case "utf16le" : case "utf-16le" : return 2 * n ; case "hex" : return n >>> 1 ; case "base64" : return $ ( e ) . length ; default : if ( r ) return q ( e ) . length ; t = ( "" + t ) . toLowerCase ( ) , r = ! 0 } } function y ( e , t , n ) { var r = ! 1 ; if ( ( void 0 === t || 0 > t ) && ( t = 0 ) , t > this . length ) return "" ; if ( ( void 0 === n || n > this . length ) && ( n = this . length ) , 0 >= n ) return "" ; if ( n >>>= 0 , t >>>= 0 , t >= n ) return "" ; for ( e || ( e = "utf8" ) ; ; ) switch ( e ) { case "hex" : return I ( this , t , n ) ; case "utf8" : case "utf-8" : return N ( this , t , n ) ; case "ascii" : return E ( this , t , n ) ; case "binary" : return O ( this , t , n ) ; case "base64" : return M ( this , t , n ) ; case "ucs2" : case "ucs-2" : case "utf16le" : case "utf-16le" : return P ( this , t , n ) ; default : if ( r ) throw new TypeError ( "Unknown encoding: " + e ) ; e = ( e + "" ) . toLowerCase ( ) , r = ! 0 } } function x ( e , t , n ) { var r = e [ t ] ; e [ t ] = e [ n ] , e [ n ] = r } function b ( e , t , n , r ) { function i ( e , t ) { return 1 === o ? e [ t ] : e . readUInt16BE ( t * o ) } var o = 1 , a = e . length , l = t . length ; if ( void 0 !== r && ( r = String ( r ) . toLowerCase ( ) , "ucs2" === r || "ucs-2" === r || "utf16le" === r || "utf-16le" === r ) ) { if ( e . length < 2 || t . length < 2 ) return - 1 ; o = 2 , a /= 2 , l /= 2 , n /= 2 } for ( var s = - 1 , c = 0 ; a > n + c ; c ++ ) if ( i ( e , n + c ) === i ( t , - 1 === s ? 0 : c - s ) ) { if ( - 1 === s && ( s = c ) , c - s + 1 === l ) return ( n + s ) * o } else - 1 !== s && ( c -= c - s ) , s = - 1 ; return - 1 } function w ( e , t , n , r ) { n = Number ( n ) || 0 ; var i = e . length - n ; r ? ( r = Number ( r ) , r > i && ( r = i ) ) : r = i ; var o = t . length ; if ( o % 2 !== 0 ) throw new Error ( "Invalid hex string" ) ; r > o / 2 && ( r = o / 2 ) ; for ( var a = 0 ; r > a ; a ++ ) { var l = parseInt ( t . substr ( 2 * a , 2 ) , 16 ) ; if ( isNaN ( l ) ) return a ; e [ n + a ] = l } return a } function k ( e , t , n , r ) { return V ( q ( t , e . length - n ) , e , n , r ) } function S ( e , t , n , r ) { return V ( G ( t ) , e , n , r ) } function C ( e , t , n , r ) { return S ( e , t , n , r ) } function L ( e , t , n , r ) { return V ( $ ( t ) , e , n , r ) } function T ( e , t , n , r ) { return V ( Y ( t , e . length - n ) , e , n , r ) } function M ( e , t , n ) { return 0 === t && n === e . length ? X . fromByteArray ( e ) : X . fromByteArray ( e . slice ( t , n ) ) } function N ( e , t , n ) { n = Math . min ( e . length , n ) ; for ( var r = [ ] , i = t ; n > i ; ) { var o = e [ i ] , a = null , l = o > 239 ? 4 : o > 223 ? 3 : o > 191 ? 2 : 1 ; if ( n >= i + l ) { var s , c , u , f ; switch ( l ) { case 1 : 128 > o && ( a = o ) ; break ; case 2 : s = e [ i + 1 ] , 128 === ( 192 & s ) && ( f = ( 31 & o ) << 6 | 63 & s , f > 127 && ( a = f ) ) ; break ; case 3 : s = e [ i + 1 ] , c = e [ i + 2 ] , 128 === ( 192 & s ) && 128 === ( 192 & c ) && ( f = ( 15 & o ) << 12 | ( 63 & s ) << 6 | 63 & c , f > 2047 && ( 55296 > f || f > 57343 ) && ( a = f ) ) ; break ; case 4 : s = e [ i + 1 ] , c = e [ i + 2 ] , u = e [ i + 3 ] , 128 === ( 192 & s ) && 128 === ( 192 & c ) && 128 === ( 192 & u ) && ( f = ( 15 & o ) << 18 | ( 63 & s ) << 12 | ( 63 & c ) << 6 | 63 & u , f > 65535 && 1114112 > f && ( a = f ) ) } } null === a ? ( a = 65533 , l = 1 ) : a > 65535 && ( a -= 65536 , r . push ( a >>> 10 & 1023 | 55296 ) , a = 56320 | 1023 & a ) , r . push ( a ) , i += l } return A ( r ) } function A ( e ) { var t = e . length ; if ( Q >= t ) return String . fromCharCode . apply ( String , e ) ; for ( var n = "" , r = 0 ; t > r ; ) n += String . fromCharCode . apply ( String , e . slice ( r , r += Q ) ) ; return n } function E ( e , t , n ) { var r = "" ; n = Math . min ( e . length , n ) ; for ( var i = t ; n > i ; i ++ ) r += String . fromCharCode ( 127 & e [ i ] ) ; return r } function O ( e , t , n ) { var r = "" ; n = Math . min ( e . length , n ) ; for ( var i = t ; n > i ; i ++ ) r += String . fromCharCode ( e [ i ] ) ; return r } function I ( e , t , n ) { var r = e . length ; ( ! t || 0 > t ) && ( t = 0 ) , ( ! n || 0 > n || n > r ) && ( n = r ) ; for ( var i = "" , o = t ; n > o ; o ++ ) i += U ( e [ o ] ) ; return i } function P ( e , t , n ) { for ( var r = e . slice ( t , n ) , i = "" , o = 0 ; o < r . length ; o += 2 ) i += String . fromCharCode ( r [ o ] + 256 * r [ o + 1 ] ) ; return i } function R ( e , t , n ) { if ( e % 1 !== 0 || 0 > e ) throw new RangeError ( "offset is not uint" ) ; if ( e + t > n ) throw new RangeError ( "Trying to access beyond buffer length" ) } function D ( e , t , n , r , i , o ) { if ( ! a . isBuffer ( e ) ) throw new TypeError ( '"buffer" argument must be a Buffer instance' ) ; if ( t > i || o > t ) throw new RangeError ( '"value" argument is out of bounds' ) ; if ( n + r > e . length ) throw new RangeError ( "Index out of range" ) } function H ( e , t , n , r ) { 0 > t && ( t = 65535 + t + 1 ) ; for ( var i = 0 , o = Math . min ( e . length - n , 2 ) ; o > i ; i ++ ) e [ n + i ] = ( t & 255 << 8 * ( r ? i : 1 - i ) ) >>> 8 * ( r ? i : 1 - i ) } function W ( e , t , n , r ) { 0 > t && ( t = 4294967295 + t + 1 ) ; for ( var i = 0 , o = Math . min ( e . length - n , 4 ) ; o > i ; i ++ ) e [ n + i ] = t >>> 8 * ( r ? i : 3 - i ) & 255 } function B ( e , t , n , r , i , o ) { if ( n + r > e . length ) throw new RangeError ( "Index out of range" ) ; if ( 0 > n ) throw new RangeError ( "Index out of range" ) } function _ ( e , t , n , r , i ) { return i || B ( e , t , n , 4 , 3.4028234663852886 e38 , - 3.4028234663852886 e38 ) , Z . write ( e , t , n , r , 23 , 4 ) , n + 4 } function F ( e , t , n , r , i ) { return i || B ( e , t , n , 8 , 1.7976931348623157 e308 , - 1.7976931348623157 e308 ) , Z . write ( e , t , n , r , 52 , 8 ) , n + 8 } function z ( e ) { if ( e = j ( e ) . replace ( ee , "" ) , e . length < 2 ) return "" ; for ( ; e . length % 4 !== 0 ; ) e += "=" ; return e } function j ( e ) { return e . trim ? e . trim ( ) : e . replace ( /^\s+|\s+$/g , "" ) } function U ( e ) { return 16 > e ? "0" + e . toString ( 16 ) : e . toString ( 16 ) } function q ( e , t ) { t = t || 1 / 0 ; for ( var n , r = e . length , i = null , o = [ ] , a = 0 ; r > a ; a ++ ) { if ( n = e . charCodeAt ( a ) , n > 55295 && 57344 > n ) { if ( ! i ) { if ( n > 56319 ) { ( t -= 3 ) > - 1 && o . push ( 239 , 191 , 189 ) ; continue } if ( a + 1 === r ) { ( t -= 3 ) > - 1 && o . push ( 239 , 191 , 189 ) ; continue } i = n ; continue } if ( 56320 > n ) { ( t -= 3 ) > - 1 && o . push ( 239 , 191 , 189 ) , i = n ; continue } n = ( i - 55296 << 10 | n - 56320 ) + 65536 } else i && ( t -= 3 ) > - 1 && o . push ( 239 , 191 , 189 ) ; if ( i = null , 128 > n ) { if ( ( t -= 1 ) < 0 ) break ; o . push ( n ) } else if ( 2048 > n ) { if ( ( t -= 2 ) < 0 ) break ; o . push ( n >> 6 | 192 , 63 & n | 128 ) } else if ( 65536 > n ) { if ( ( t -= 3 ) < 0 ) break ; o . push ( n >> 12 | 224 , n >> 6 & 63 | 128 , 63 & n | 128 ) } else { if ( ! ( 1114112 > n ) ) throw new Error ( "Invalid code point" ) ; if ( ( t -= 4 ) < 0 ) break ; o . push ( n >> 18 | 240 , n >> 12 & Line truncated
if ( r [ a . selector ] ) { x = e ( ".context-menu-list" ) . filter ( ":visible" ) , x . length && x . data ( ) . contextMenuRoot . $trigger . is ( a . selector ) && x . trigger ( "contextmenu:hide" , { force : ! 0 } ) ; try { l [ r [ a . selector ] ] . $menu && l [ r [ a . selector ] ] . $menu . remove ( ) , delete l [ r [ a . selector ] ] } catch ( e ) { l [ r [ a . selector ] ] = null } o . off ( r [ a . selector ] ) } } else o . off ( ".contextMenu .contextMenuAutoHide" ) , e . each ( l , function ( t , n ) { e ( n . context ) . off ( n . ns ) } ) , r = { } , l = { } , c = 0 , s = ! 1 , e ( "#context-menu-layer, .context-menu-list" ) . remove ( ) ; break ; case "html5" : ( ! e . support . htmlCommand && ! e . support . htmlMenuitem || "boolean" == typeof n && n ) && e ( 'menu[type="context"]' ) . each ( function ( ) { this . id && e . contextMenu ( { selector : "[contextmenu=" + this . id + "]" , items : e . contextMenu . fromMenu ( this ) } ) } ) . css ( "display" , "none" ) ; break ; default : throw new Error ( 'Unknown operation "' + t + '"' ) } return this } , e . contextMenu . setInputValues = function ( t , n ) { void 0 === n && ( n = { } ) , e . each ( t . inputs , function ( e , t ) { switch ( t . type ) { case "text" : case "textarea" : t . value = n [ e ] || "" ; break ; case "checkbox" : t . selected = ! ! n [ e ] ; break ; case "radio" : t . selected = ( n [ t . radio ] || "" ) === t . value ; break ; case "select" : t . selected = n [ e ] || "" } } ) } , e . contextMenu . getInputValues = function ( t , n ) { return void 0 === n && ( n = { } ) , e . each ( t . inputs , function ( e , t ) { switch ( t . type ) { case "text" : case "textarea" : case "select" : n [ e ] = t . $input . val ( ) ; break ; case "checkbox" : n [ e ] = t . $input . prop ( "checked" ) ; break ; case "radio" : t . $input . prop ( "checked" ) && ( n [ t . radio ] = t . value ) } } ) , n } , e . contextMenu . fromMenu = function ( t ) { var n = e ( t ) , o = { } ; return a ( o , n . children ( ) ) , o } , e . contextMenu . defaults = d , e . contextMenu . types = u , e . contextMenu . handle = f , e . contextMenu . op = h , e . contextMenu . menus = l } ) ; var Sticky = function ( ) { function t ( ) { var i = arguments . length > 0 && void 0 !== arguments [ 0 ] ? arguments [ 0 ] : "" , e = arguments . length > 1 && void 0 !== arguments [ 1 ] ? arguments [ 1 ] : { } ; _classCallCheck ( this , t ) , this . selector = i , this . elements = [ ] , this . version = "1.1.9" , this . vp = this . getViewportSize ( ) , this . scrollTop = this . getScrollTopPosition ( ) , this . body = document . querySelector ( "body" ) , this . options = { wrap : e . wrap || ! 1 , marginTop : e . marginTop || 0 , stickyFor : e . stickyFor || 0 , stickyClass : e . stickyClass || null , stickyContainer : e . stickyContainer || "body" } , this . run ( ) } return t . prototype . run = function ( ) { var t = this , i = setInterval ( function ( ) { if ( "complete" === document . readyState ) { clearInterval ( i ) ; var e = document . querySelectorAll ( t . selector ) ; t . forEach ( e , function ( i ) { return t . renderElement ( i ) } ) } } , 10 ) } , t . prototype . renderElement = function ( t ) { var i = this ; t . sticky = { } , t . sticky . active = ! 1 , t . sticky . marginTop = parseInt ( t . getAttribute ( "data-margin-top" ) ) || this . options . marginTop , t . sticky . stickyFor = parseInt ( t . getAttribute ( "data-sticky-for" ) ) || this . options . stickyFor , t . sticky . stickyClass = t . getAttribute ( "data-sticky-class" ) || this . options . stickyClass , t . sticky . wrap = ! ! t . hasAttribute ( "data-sticky-wrap" ) || this . options . wrap , t . sticky . stickyContainer = this . options . stickyContainer , t . sticky . container = this . getStickyContainer ( t ) , t . sticky . container . rect = this . getRectangle ( t . sticky . container ) , t . sticky . rect = this . getRectangle ( t ) , "img" === t . tagName . toLowerCase ( ) && ( t . onload = function ( ) { return t . sticky . rect = i . getRectangle ( t ) } ) , t . sticky . wrap && this . wrapElement ( t ) , this . activate ( t ) } , t . prototype . wrapElement = function ( t ) { t . insertAdjacentHTML ( "beforebegin" , "<span></span>" ) , t . previousSibling . appendChild ( t ) } , t . prototype . activate = function ( t ) { t . sticky . rect . top + t . sticky . rect . height < t . sticky . container . rect . top + t . sticky . container . rect . height && t . sticky . stickyFor < this . vp . width && ! t . sticky . active && ( t . sticky . active = ! 0 ) , this . elements . indexOf ( t ) < 0 && this . elements . push ( t ) , t . sticky . resizeEvent || ( this . initResizeEvents ( t ) , t . sticky . resizeEvent = ! 0 ) , t . sticky . scrollEvent || ( this . initScrollEvents ( t ) , t . sticky . scrollEvent = ! 0 ) , this . setPosition ( t ) } , t . prototype . initResizeEvents = function ( t ) { var i = this ; t . sticky . resizeListener = function ( ) { return i . onResizeEvents ( t ) } , window . addEventListener ( "resize" , t . sticky . resizeListener ) } , t . prototype . destroyResizeEvents = function ( t ) { window . removeEventListener ( "resize" , t . sticky . resizeListener ) } , t . prototype . onResizeEvents = function ( t ) { this . vp = this . getViewportSize ( ) , t . sticky . rect = this . getRectangle ( t ) , t . sticky . container . rect = this . getRectangle ( t . sticky . container ) , t . sticky . rect . top + t . sticky . rect . height < t . sticky . container . rect . top + t . sticky . container . rect . height && t . sticky . stickyFor < this . vp . width && ! t . sticky . active ? t . sticky . active = ! 0 : ( t . sticky . rect . top + t . sticky . rect . height >= t . sticky . container . rect . top + t . sticky . container . rect . height || t . sticky . stickyFor >= this . vp . width && t . sticky . active ) && ( t . sticky . active = ! 1 ) , this . setPosition ( t ) } , t . prototype . initScrollEvents = function ( t ) { var i = this ; t . sticky . scrollListener = function ( ) { return i . onScrollEvents ( t ) } , window . addEventListener ( "scroll" , t . sticky . scrollListener ) } , t . prototype . destroyScrollEvents = function ( t ) { window . removeEventListener ( "scroll" , t . sticky . scrollListener ) } , t . prototype . onScrollEvents = function ( t ) { this . scrollTop = this . getScrollTopPosition ( ) , t . sticky . active && this . setPosition ( t ) } , t . prototype . setPosition = function ( t ) { this . css ( t , { position : "" , width : "" , top : "" , left : "" } ) , this . vp . height < t . sticky . rect . height || ! t . sticky . active || ( t . sticky . rect . width || ( t . sticky Line truncated
r = Math . floor ( r - Ue ( e ) ) ; var i = n && null != n . bottom ? n . bottom : r + e . wrapper . clientHeight , o = ni ( t , r ) , a = ni ( t , i ) ; if ( n && n . ensure ) { var l = n . ensure . from . line , s = n . ensure . to . line ; o > l ? ( o = l , a = ni ( t , ri ( Zr ( t , l ) ) + e . wrapper . clientHeight ) ) : Math . min ( s , t . lastLine ( ) ) >= a && ( o = ni ( t , ri ( Zr ( t , s ) ) - e . wrapper . clientHeight ) , a = s ) } return { from : o , to : Math . max ( a , o + 1 ) } } function w ( e ) { var t = e . display , n = t . view ; if ( t . alignWidgets || t . gutters . firstChild && e . options . fixedGutter ) { for ( var r = C ( t ) - t . scroller . scrollLeft + e . doc . scrollLeft , i = t . gutters . offsetWidth , o = r + "px" , a = 0 ; a < n . length ; a ++ ) if ( ! n [ a ] . hidden ) { e . options . fixedGutter && n [ a ] . gutter && ( n [ a ] . gutter . style . left = o ) ; var l = n [ a ] . alignable ; if ( l ) for ( var s = 0 ; s < l . length ; s ++ ) l [ s ] . style . left = o } e . options . fixedGutter && ( t . gutters . style . left = r + i + "px" ) } } function k ( e ) { if ( ! e . options . lineNumbers ) return ! 1 ; var t = e . doc , n = S ( e . options , t . first + t . size - 1 ) , r = e . display ; if ( n . length != r . lineNumChars ) { var i = r . measure . appendChild ( ji ( "div" , [ ji ( "div" , n ) ] , "CodeMirror-linenumber CodeMirror-gutter-elt" ) ) , o = i . firstChild . offsetWidth , a = i . offsetWidth - o ; return r . lineGutter . style . width = "" , r . lineNumInnerWidth = Math . max ( o , r . lineGutter . offsetWidth - a ) + 1 , r . lineNumWidth = r . lineNumInnerWidth + a , r . lineNumChars = r . lineNumInnerWidth ? n . length : - 1 , r . lineGutter . style . width = r . lineNumWidth + "px" , u ( e ) , ! 0 } return ! 1 } function S ( e , t ) { return String ( e . lineNumberFormatter ( t + e . firstLineNumber ) ) } function C ( e ) { return e . scroller . getBoundingClientRect ( ) . left - e . sizer . getBoundingClientRect ( ) . left } function L ( e , t , n ) { var r = e . display ; this . viewport = t , this . visible = b ( r , e . doc , t ) , this . editorIsHidden = ! r . wrapper . offsetWidth , this . wrapperHeight = r . wrapper . clientHeight , this . wrapperWidth = r . wrapper . clientWidth , this . oldDisplayWidth = $e ( e ) , this . force = n , this . dims = P ( e ) , this . events = [ ] } function T ( e ) { var t = e . display ; ! t . scrollbarsClipped && t . scroller . offsetWidth && ( t . nativeBarWidth = t . scroller . offsetWidth - t . scroller . clientWidth , t . heightForcer . style . height = Ye ( e ) + "px" , t . sizer . style . marginBottom = - t . nativeBarWidth + "px" , t . sizer . style . borderRightWidth = Ye ( e ) + "px" , t . scrollbarsClipped = ! 0 ) } function M ( e , t ) { var n = e . display , r = e . doc ; if ( t . editorIsHidden ) return Wt ( e ) , ! 1 ; if ( ! t . force && t . visible . from >= n . viewFrom && t . visible . to <= n . viewTo && ( null == n . updateLineNumbers || n . updateLineNumbers >= n . viewTo ) && n . renderedView == n . view && 0 == zt ( e ) ) return ! 1 ; k ( e ) && ( Wt ( e ) , t . dims = P ( e ) ) ; var i = r . first + r . size , o = Math . max ( t . visible . from - e . options . viewportMargin , r . first ) , a = Math . min ( i , t . visible . to + e . options . viewportMargin ) ; n . viewFrom < o && o - n . viewFrom < 20 && ( o = Math . max ( r . first , n . viewFrom ) ) , n . viewTo > a && n . viewTo - a < 20 && ( a = Math . min ( i , n . viewTo ) ) , Wo && ( o = br ( e . doc , o ) , a = wr ( e . doc , a ) ) ; var l = o != n . viewFrom || a != n . viewTo || n . lastWrapHeight != t . wrapperHeight || n . lastWrapWidth != t . wrapperWidth ; Ft ( e , o , a ) , n . viewOffset = ri ( Zr ( e . doc , n . viewFrom ) ) , e . display . mover . style . top = n . viewOffset + "px" ; var s = zt ( e ) ; if ( ! l && 0 == s && ! t . force && n . renderedView == n . view && ( null == n . updateLineNumbers || n . updateLineNumbers >= n . viewTo ) ) return ! 1 ; var c = Gi ( ) ; return s > 4 && ( n . lineDiv . style . display = "none" ) , R ( e , n . updateLineNumbers , t . dims ) , s > 4 && ( n . lineDiv . style . display = "" ) , n . renderedView = n . view , c && Gi ( ) != c && c . offsetHeight && c . focus ( ) , Ui ( n . cursorDiv ) , Ui ( n . selectionDiv ) , n . gutters . style . height = n . sizer . style . minHeight = 0 , l && ( n . lastWrapHeight = t . wrapperHeight , n . lastWrapWidth = t . wrapperWidth , _e ( e , 400 ) ) , n . updateLineNumbers = null , ! 0 } function N ( e , t ) { for ( var n = t . viewport , r = ! 0 ; ( r && e . options . lineWrapping && t . oldDisplayWidth != $e ( e ) || ( n && null != n . top && ( n = { top : Math . min ( e . doc . height + qe ( e . display ) - Ve ( e ) , n . top ) } ) , t . visible = b ( e . display , e . doc , n ) , ! ( t . visible . from >= e . display . viewFrom && t . visible . to <= e . display . viewTo ) ) ) && M ( e , t ) ; r = ! 1 ) { O ( e ) ; var i = p ( e ) ; Re ( e ) , y ( e , i ) , E ( e , i ) } t . signal ( e , "update" , e ) , e . display . viewFrom == e . display . reportedViewFrom && e . display . viewTo == e . display . reportedViewTo || ( t . signal ( e , "viewportChange" , e , e . display . viewFrom , e . display . viewTo ) , e . display . reportedViewFrom = e . display . viewFrom , e . display . reportedViewTo = e . display . viewTo ) } function A ( e , t ) { var n = new L ( e , t ) ; if ( M ( e , n ) ) { O ( e ) , N ( e , n ) ; var r = p ( e ) ; Re ( e ) , y ( e , r ) , E ( e , r ) , n . finish ( ) } } function E ( e , t ) { e . display . sizer . style . minHeight = t . docHeight + "px" , e . display . heightForcer . style . top = t . docHeight + "px" , e . display . gutters . style . height = t . docHeight + e . display . barHeight + Ye ( e ) + "px" } function O ( e ) { for ( var t = e . display , n = t . lineDiv . offsetTop , r = 0 ; r < t . view . length ; r ++ ) { var i , o = t . view [ r ] ; if ( ! o . hidden ) { if ( xo && 8 > bo ) { var a = o . node . offsetTop + o . node . offsetHeight ; i = a - n , n = a } else { var l = o . node . getBoundingClientRect ( ) ; i = l . bottom - l . top } var s = o . line . height - i ; if ( 2 > i && ( i = yt ( t ) ) , ( s > . 001 || - . 001 > s ) && ( ei ( o . line , i ) , I ( o . line ) , o . rest ) ) for ( var c = 0 ; c < o . rest . length ; c ++ ) I ( o . rest [ c ] ) } } } function I ( e ) { if ( e . widgets ) for ( var t = 0 ; t < e . widgets . length ; ++ t ) e . widgets [ t ] . height = e . widgets [ t ] . node . parentNode . offsetHeight } function P ( e ) { for ( var t = e . display , n = { } , r = { } , i = t . gutters . clientLeft , o = t . gutters . firstChild , a = 0 ; o ; o = o . nextSibling , ++ a ) n [ e . options . gutters [ a ] ] = o . offsetLeft + o . clientLeft + i , r [ e . options . gutters [ a ] ] = o . clientWidth ; return { fixedPos : C ( t ) , gutterTotalWidth : t . gutters . offsetWidth , gutterLeft : n , gutterWidth : r , wrapperWidth : t . wrapper . clientWidth } } function R ( e , t , n ) { function r ( t ) { var n = t . n Line truncated
e . display . lineSpace . insertBefore ( n , e . display . lineSpace . firstChild ) } function r ( e ) { o ( e ) && n ( e ) } function i ( e ) { var r = e . getWrapperElement ( ) , i = o ( e ) ; r . className = r . className . replace ( " CodeMirror-empty" , "" ) + ( i ? " CodeMirror-empty" : "" ) , i ? n ( e ) : t ( e ) } function o ( e ) { return 1 === e . lineCount ( ) && "" === e . getLine ( 0 ) } e . defineOption ( "placeholder" , "" , function ( n , o , a ) { var l = a && a != e . Init ; if ( o && ! l ) n . on ( "blur" , r ) , n . on ( "change" , i ) , n . on ( "swapDoc" , i ) , i ( n ) ; else if ( ! o && l ) { n . off ( "blur" , r ) , n . off ( "change" , i ) , n . off ( "swapDoc" , i ) , t ( n ) ; var s = n . getWrapperElement ( ) ; s . className = s . className . replace ( " CodeMirror-empty" , "" ) } o && ! n . hasFocus ( ) && r ( n ) } ) } ) } , { "../../lib/codemirror" : 10 } ] , 7 : [ 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 = /^(\s*)(>[> ]*|[*+-]\s|(\d+)([.)]))(\s*)/ , n = /^(\s*)(>[> ]*|[*+-]|(\d+)[.)])(\s*)$/ , r = /[*+-]\s/ ; e . commands . newlineAndIndentContinueMarkdownList = function ( i ) { if ( i . getOption ( "disableInput" ) ) return e . Pass ; for ( var o = i . listSelections ( ) , a = [ ] , l = 0 ; l < o . length ; l ++ ) { var s = o [ l ] . head , c = i . getStateAfter ( s . line ) , u = c . list !== ! 1 , f = 0 !== c . quote , h = i . getLine ( s . line ) , d = t . exec ( h ) ; if ( ! o [ l ] . empty ( ) || ! u && ! f || ! d ) return void i . execCommand ( "newlineAndIndent" ) ; if ( n . test ( h ) ) i . replaceRange ( "" , { line : s . line , ch : 0 } , { line : s . line , ch : s . ch + 1 } ) , a [ l ] = "\n" ; else { var p = d [ 1 ] , m = d [ 5 ] , g = r . test ( d [ 2 ] ) || d [ 2 ] . indexOf ( ">" ) >= 0 ? d [ 2 ] : parseInt ( d [ 3 ] , 10 ) + 1 + d [ 4 ] ; a [ l ] = "\n" + p + g + m } } i . replaceSelections ( a ) } } ) } , { "../../lib/codemirror" : 10 } ] , 8 : [ 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" ; e . overlayMode = function ( t , n , r ) { return { startState : function ( ) { return { base : e . startState ( t ) , overlay : e . startState ( n ) , basePos : 0 , baseCur : null , overlayPos : 0 , overlayCur : null , streamSeen : null } } , copyState : function ( r ) { return { base : e . copyState ( t , r . base ) , overlay : e . copyState ( n , r . overlay ) , basePos : r . basePos , baseCur : null , overlayPos : r . overlayPos , overlayCur : null } } , token : function ( e , i ) { return ( e != i . streamSeen || Math . min ( i . basePos , i . overlayPos ) < e . start ) && ( i . streamSeen = e , i . basePos = i . overlayPos = e . start ) , e . start == i . basePos && ( i . baseCur = t . token ( e , i . base ) , i . basePos = e . pos ) , e . start == i . overlayPos && ( e . pos = e . start , i . overlayCur = n . token ( e , i . overlay ) , i . overlayPos = e . pos ) , e . pos = Math . min ( i . basePos , i . overlayPos ) , null == i . overlayCur ? i . baseCur : null != i . baseCur && i . overlay . combineTokens || r && null == i . overlay . combineTokens ? i . baseCur + " " + i . overlayCur : i . overlayCur } , indent : t . indent && function ( e , n ) { return t . indent ( e . base , n ) } , electricChars : t . electricChars , innerMode : function ( e ) { return { state : e . base , mode : t } } , blankLine : function ( e ) { t . blankLine && t . blankLine ( e . base ) , n . blankLine && n . blankLine ( e . overlay ) } } } } ) } , { "../../lib/codemirror" : 10 } ] , 9 : [ 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" ; function t ( e ) { e . operation ( function ( ) { a ( e ) } ) } function n ( e ) { e . state . markedSelection . length && e . operation ( function ( ) { i ( e ) } ) } function r ( e , t , n , r ) { if ( 0 != c ( t , n ) ) for ( var i = e . state . markedSelection , o = e . state . markedSelectionStyle , a = t . line ; ; ) { var u = a == t . line ? t : s ( a , 0 ) , f = a + l , h = f >= n . line , d = h ? n : s ( f , 0 ) , p = e . markText ( u , d , { className : o } ) ; if ( null == r ? i . push ( p ) : i . splice ( r ++ , 0 , p ) , h ) break ; a = f } } function i ( e ) { for ( var t = e . state . markedSelection , n = 0 ; n < t . length ; ++ n ) t [ n ] . clear ( ) ; t . length = 0 } function o ( e ) { i ( e ) ; for ( var t = e . listSelections ( ) , n = 0 ; n < t . length ; n ++ ) r ( e , t [ n ] . from ( ) , t [ n ] . to ( ) ) } function a ( e ) { if ( ! e . somethingSelected ( ) ) return i ( e ) ; if ( e . listSelections ( ) . length > 1 ) return o ( e ) ; var t = e . getCursor ( "start" ) , n = e . getCursor ( "end" ) , a = e . state . markedSelection ; if ( ! a . length ) return r ( e , t , n ) ; var s = a [ 0 ] . find ( ) , u = a [ a . length - 1 ] . find ( ) ; if ( ! s || ! u || n . line - t . line < l || c ( t , u . to ) >= 0 || c ( n , s . from ) <= 0 ) return o ( e ) ; for ( ; c ( t , s . from ) > 0 ; ) a . shift ( ) . clear ( ) , s = a [ 0 ] . find ( ) ; for ( c ( t , s . from ) < 0 && ( s . to . line - t . line < l ? ( a . shift ( ) . clear ( ) , r ( e , t , s . to , 0 ) ) : r ( e , t , s . from , 0 ) ) ; c ( n , u . to ) < 0 ; ) a . pop ( ) . clear ( ) , u = a [ a . length - 1 ] . find ( ) ; c ( n , u . to ) > 0 && ( n . line - u . from . line < l ? ( a . pop ( ) . clear ( ) , r ( e , u . from , n ) ) : r ( e , u . to , n ) ) } e . defineOption ( "styleSelectedText" , ! 1 , function ( r , a , l ) { var s = l && l != e . Init ; a && ! s ? ( r . state . markedSelection = [ ] , r . state . markedSelectionStyle = "string" == typeof a ? a : "CodeMirror-selectedtext" , o ( r ) , r . on ( "cursorActivity" , t ) , r . on ( "change" , n ) ) : ! a && s && ( r . off ( "cursorActivity" , t ) , r . off ( "change" , n ) , i ( r ) , r . state . markedSelection = r . state . markedSelectionStyle = null ) } ) ; var l = 8 , s = e . Pos , c = e . cmpPos } ) } , { "../../lib/codemirror" : 10 } ] , 10 : [ function ( t , n , r ) { ! function ( t ) { if ( "object" == typeof r && "object" == typeof n ) n . exports = t ( ) ; else { if ( "function" == typeof e && e . amd ) return e ( [ ] , t ) ; ( this || window ) . CodeMirror = t ( ) } } ( function ( ) { "use strict" ; function e ( n , r ) { if ( ! ( this instanceof e ) ) return new e ( n , r ) ; this . options = r = r ? Wi ( r ) : { } , Wi ( ea , r , ! 1 ) , d ( r ) ; var i = r . value ; "string" == typeof i && ( i = new Ca ( i , r . mode , null , r . lineSeparator ) ) , this . doc = i ; var o = new e . inputStyles [ r . inputStyle ] ( this ) , a = this . display = new t ( n , Line truncated
e . preparedSelection && t . display . input . showSelection ( e . preparedSelection , n ) , ( e . updatedDisplay || e . startHeight != t . doc . height ) && y ( t , e . barMeasure ) , e . updatedDisplay && E ( t , e . barMeasure ) , e . selectionChanged && Be ( t ) , t . state . focused && e . updateInput && t . display . input . reset ( e . typing ) , n && X ( e . cm ) } function Nt ( e ) { var t = e . cm , n = t . display , r = t . doc ; if ( e . updatedDisplay && N ( t , e . update ) , null == n . wheelStartX || null == e . scrollTop && null == e . scrollLeft && ! e . scrollToPos || ( n . wheelStartX = n . wheelStartY = null ) , null == e . scrollTop || n . scroller . scrollTop == e . scrollTop && ! e . forceScroll || ( r . scrollTop = Math . max ( 0 , Math . min ( n . scroller . scrollHeight - n . scroller . clientHeight , e . scrollTop ) ) , n . scrollbars . setScrollTop ( r . scrollTop ) , n . scroller . scrollTop = r . scrollTop ) , null == e . scrollLeft || n . scroller . scrollLeft == e . scrollLeft && ! e . forceScroll || ( r . scrollLeft = Math . max ( 0 , Math . min ( n . scroller . scrollWidth - n . scroller . clientWidth , e . scrollLeft ) ) , n . scrollbars . setScrollLeft ( r . scrollLeft ) , n . scroller . scrollLeft = r . scrollLeft , w ( t ) ) , e . scrollToPos ) { var i = Rn ( t , me ( r , e . scrollToPos . from ) , me ( r , e . scrollToPos . to ) , e . scrollToPos . margin ) ; e . scrollToPos . isCursor && t . state . focused && Pn ( t , i ) } var o = e . maybeHiddenMarkers , a = e . maybeUnhiddenMarkers ; if ( o ) for ( var l = 0 ; l < o . length ; ++ l ) o [ l ] . lines . length || Pa ( o [ l ] , "hide" ) ; if ( a ) for ( var l = 0 ; l < a . length ; ++ l ) a [ l ] . lines . length && Pa ( a [ l ] , "unhide" ) ; n . wrapper . offsetHeight && ( r . scrollTop = t . display . scroller . scrollTop ) , e . changeObjs && Pa ( t , "changes" , t , e . changeObjs ) , e . update && e . update . finish ( ) } function At ( e , t ) { if ( e . curOp ) return t ( ) ; bt ( e ) ; try { return t ( ) } finally { kt ( e ) } } function Et ( e , t ) { return function ( ) { if ( e . curOp ) return t . apply ( e , arguments ) ; bt ( e ) ; try { return t . apply ( e , arguments ) } finally { kt ( e ) } } } function Ot ( e ) { return function ( ) { if ( this . curOp ) return e . apply ( this , arguments ) ; bt ( this ) ; try { return e . apply ( this , arguments ) } finally { kt ( this ) } } } function It ( e ) { return function ( ) { var t = this . cm ; if ( ! t || t . curOp ) return e . apply ( this , arguments ) ; bt ( t ) ; try { return e . apply ( this , arguments ) } finally { kt ( t ) } } } function Pt ( e , t , n ) { this . line = t , this . rest = xr ( t ) , this . size = this . rest ? ti ( Ii ( this . rest ) ) - n + 1 : 1 , this . node = this . text = null , this . hidden = kr ( e , t ) } function Rt ( e , t , n ) { for ( var r , i = [ ] , o = t ; n > o ; o = r ) { var a = new Pt ( e . doc , Zr ( e . doc , o ) , o ) ; r = o + a . size , i . push ( a ) } return i } function Dt ( e , t , n , r ) { null == t && ( t = e . doc . first ) , null == n && ( n = e . doc . first + e . doc . size ) , r || ( r = 0 ) ; var i = e . display ; if ( r && n < i . viewTo && ( null == i . updateLineNumbers || i . updateLineNumbers > t ) && ( i . updateLineNumbers = t ) , e . curOp . viewChanged = ! 0 , t >= i . viewTo ) Wo && br ( e . doc , t ) < i . viewTo && Wt ( e ) ; else if ( n <= i . viewFrom ) Wo && wr ( e . doc , n + r ) > i . viewFrom ? Wt ( e ) : ( i . viewFrom += r , i . viewTo += r ) ; else if ( t <= i . viewFrom && n >= i . viewTo ) Wt ( e ) ; else if ( t <= i . viewFrom ) { var o = _t ( e , n , n + r , 1 ) ; o ? ( i . view = i . view . slice ( o . index ) , i . viewFrom = o . lineN , i . viewTo += r ) : Wt ( e ) } else if ( n >= i . viewTo ) { var o = _t ( e , t , t , - 1 ) ; o ? ( i . view = i . view . slice ( 0 , o . index ) , i . viewTo = o . lineN ) : Wt ( e ) } else { var a = _t ( e , t , t , - 1 ) , l = _t ( e , n , n + r , 1 ) ; a && l ? ( i . view = i . view . slice ( 0 , a . index ) . concat ( Rt ( e , a . lineN , l . lineN ) ) . concat ( i . view . slice ( l . index ) ) , i . viewTo += r ) : Wt ( e ) } var s = i . externalMeasured ; s && ( n < s . lineN ? s . lineN += r : t < s . lineN + s . size && ( i . externalMeasured = null ) ) } function Ht ( e , t , n ) { e . curOp . viewChanged = ! 0 ; var r = e . display , i = e . display . externalMeasured ; if ( i && t >= i . lineN && t < i . lineN + i . size && ( r . externalMeasured = null ) , ! ( t < r . viewFrom || t >= r . viewTo ) ) { var o = r . view [ Bt ( e , t ) ] ; if ( null != o . node ) { var a = o . changes || ( o . changes = [ ] ) ; - 1 == Pi ( a , n ) && a . push ( n ) } } } function Wt ( e ) { e . display . viewFrom = e . display . viewTo = e . doc . first , e . display . view = [ ] , e . display . viewOffset = 0 } function Bt ( e , t ) { if ( t >= e . display . viewTo ) return null ; if ( t -= e . display . viewFrom , 0 > t ) return null ; for ( var n = e . display . view , r = 0 ; r < n . length ; r ++ ) if ( t -= n [ r ] . size , 0 > t ) return r } function _t ( e , t , n , r ) { var i , o = Bt ( e , t ) , a = e . display . view ; if ( ! Wo || n == e . doc . first + e . doc . size ) return { index : o , lineN : n } ; for ( var l = 0 , s = e . display . viewFrom ; o > l ; l ++ ) s += a [ l ] . size ; if ( s != t ) { if ( r > 0 ) { if ( o == a . length - 1 ) return null ; i = s + a [ o ] . size - t , o ++ } else i = s - t ; t += i , n += i } for ( ; br ( e . doc , n ) != n ; ) { if ( o == ( 0 > r ? 0 : a . length - 1 ) ) return null ; n += r * a [ o - ( 0 > r ? 1 : 0 ) ] . size , o += r } return { index : o , lineN : n } } function Ft ( e , t , n ) { var r = e . display , i = r . view ; 0 == i . length || t >= r . viewTo || n <= r . viewFrom ? ( r . view = Rt ( e , t , n ) , r . viewFrom = t ) : ( r . viewFrom > t ? r . view = Rt ( e , t , r . viewFrom ) . concat ( r . view ) : r . viewFrom < t && ( r . view = r . view . slice ( Bt ( e , t ) ) ) , r . viewFrom = t , r . viewTo < n ? r . view = r . view . concat ( Rt ( e , r . viewTo , n ) ) : r . viewTo > n && ( r . view = r . view . slice ( 0 , Bt ( e , n ) ) ) ) , r . viewTo = n } function zt ( e ) { for ( var t = e . display . view , n = 0 , r = 0 ; r < t . length ; r ++ ) { var i = t [ r ] ; i . hidden || i . node && ! i . changes || ++ n } return n } function jt ( e ) { function t ( ) { i . activeTouch && ( o = setTimeout ( function ( ) { i . activeTouch = null } , 1e3 ) , a = i . activeTouch , a . end = + new Date ) } function n ( e ) { if ( 1 != e . touches . length ) return ! 1 ; var t = e . touches [ 0 ] ; return t . radiusX <= 1 && t . radiusY <= 1 } function r ( e , t ) { if ( null == t . left ) return ! 0 ; var n = t . left - e . left , r = t . top - e . top ; return n * n + r * r > 400 } var i = e . display ; Ea ( i . scroller , "mousedown" , Et ( e , $t ) ) , xo && 11 > bo ? Ea ( i . scroller , "dblclick" , Et ( e , function ( t ) { if ( ! Ti ( e , t ) ) { var n = Yt ( e , t ) ; if ( n && ! Jt ( e , t ) && ! Gt ( e . display , t ) ) { Ma ( t ) ; var r = e . findWordAt ( n ) ; be ( e . doc , r . anchor , r . head ) } } } ) ) : Ea ( i . scroller , "dblclick" , function ( t ) { Ti ( e , t ) || Ma ( t ) } ) , Do || Ea ( i . Line truncated
var d = Zr ( a , f . line ) , p = Zr ( a , h . line ) , m = yr ( d ) == yr ( p ) , g = i ( f . line , f . ch , m ? d . text . length + 1 : null ) . end , v = i ( h . line , m ? 0 : null , h . ch ) . start ; m && ( g . top < v . top - 2 ? ( r ( g . right , g . top , null , g . bottom ) , r ( c , v . top , v . left , v . bottom ) ) : r ( g . right , g . top , v . left - g . right , g . bottom ) ) , g . bottom < v . top && r ( c , g . bottom , null , v . top ) } n . appendChild ( l ) } function Be ( e ) { if ( e . state . focused ) { var t = e . display ; clearInterval ( t . blinker ) ; var n = ! 0 ; t . cursorDiv . style . visibility = "" , e . options . cursorBlinkRate > 0 ? t . blinker = setInterval ( function ( ) { t . cursorDiv . style . visibility = ( n = ! n ) ? "" : "hidden" } , e . options . cursorBlinkRate ) : e . options . cursorBlinkRate < 0 && ( t . cursorDiv . style . visibility = "hidden" ) } } function _e ( e , t ) { e . doc . mode . startState && e . doc . frontier < e . display . viewTo && e . state . highlight . set ( t , Bi ( Fe , e ) ) } function Fe ( e ) { var t = e . doc ; if ( t . frontier < t . first && ( t . frontier = t . first ) , ! ( t . frontier >= e . display . viewTo ) ) { var n = + new Date + e . options . workTime , r = sa ( t . mode , je ( e , t . frontier ) ) , i = [ ] ; t . iter ( t . frontier , Math . min ( t . first + t . size , e . display . viewTo + 500 ) , function ( o ) { if ( t . frontier >= e . display . viewFrom ) { var a = o . styles , l = o . text . length > e . options . maxHighlightLength , s = Rr ( e , o , l ? sa ( t . mode , r ) : r , ! 0 ) ; o . styles = s . styles ; var c = o . styleClasses , u = s . classes ; u ? o . styleClasses = u : c && ( o . styleClasses = null ) ; for ( var f = ! a || a . length != o . styles . length || c != u && ( ! c || ! u || c . bgClass != u . bgClass || c . textClass != u . textClass ) , h = 0 ; ! f && h < a . length ; ++ h ) f = a [ h ] != o . styles [ h ] ; f && i . push ( t . frontier ) , o . stateAfter = l ? r : sa ( t . mode , r ) } else o . text . length <= e . options . maxHighlightLength && Hr ( e , o . text , r ) , o . stateAfter = t . frontier % 5 == 0 ? sa ( t . mode , r ) : null ; return ++ t . frontier , + new Date > n ? ( _e ( e , e . options . workDelay ) , ! 0 ) : void 0 } ) , i . length && At ( e , function ( ) { for ( var t = 0 ; t < i . length ; t ++ ) Ht ( e , i [ t ] , "text" ) } ) } } function ze ( e , t , n ) { for ( var r , i , o = e . doc , a = n ? - 1 : t - ( e . doc . mode . innerMode ? 1e3 : 100 ) , l = t ; l > a ; -- l ) { if ( l <= o . first ) return o . first ; var s = Zr ( o , l - 1 ) ; if ( s . stateAfter && ( ! n || l <= o . frontier ) ) return l ; var c = Fa ( s . text , null , e . options . tabSize ) ; ( null == i || r > c ) && ( i = l - 1 , r = c ) } return i } function je ( e , t , n ) { var r = e . doc , i = e . display ; if ( ! r . mode . startState ) return ! 0 ; var o = ze ( e , t , n ) , a = o > r . first && Zr ( r , o - 1 ) . stateAfter ; return a = a ? sa ( r . mode , a ) : ca ( r . mode ) , r . iter ( o , t , function ( n ) { Hr ( e , n . text , a ) ; var l = o == t - 1 || o % 5 == 0 || o >= i . viewFrom && o < i . viewTo ; n . stateAfter = l ? sa ( r . mode , a ) : null , ++ o } ) , n && ( r . frontier = o ) , a } function Ue ( e ) { return e . lineSpace . offsetTop } function qe ( e ) { return e . mover . offsetHeight - e . lineSpace . offsetHeight } function Ge ( e ) { if ( e . cachedPaddingH ) return e . cachedPaddingH ; var t = qi ( e . measure , ji ( "pre" , "x" ) ) , n = window . getComputedStyle ? window . getComputedStyle ( t ) : t . currentStyle , r = { left : parseInt ( n . paddingLeft ) , right : parseInt ( n . paddingRight ) } ; return isNaN ( r . left ) || isNaN ( r . right ) || ( e . cachedPaddingH = r ) , r } function Ye ( e ) { return Da - e . display . nativeBarWidth } function $e ( e ) { return e . display . scroller . clientWidth - Ye ( e ) - e . display . barWidth } function Ve ( e ) { return e . display . scroller . clientHeight - Ye ( e ) - e . display . barHeight } function Ke ( e , t , n ) { var r = e . options . lineWrapping , i = r && $e ( e ) ; if ( ! t . measure . heights || r && t . measure . width != i ) { var o = t . measure . heights = [ ] ; if ( r ) { t . measure . width = i ; for ( var a = t . text . firstChild . getClientRects ( ) , l = 0 ; l < a . length - 1 ; l ++ ) { var s = a [ l ] , c = a [ l + 1 ] ; Math . abs ( s . bottom - c . bottom ) > 2 && o . push ( ( s . bottom + c . top ) / 2 - n . top ) } } o . push ( n . bottom - n . top ) } } function Xe ( e , t , n ) { if ( e . line == t ) return { map : e . measure . map , cache : e . measure . cache } ; for ( var r = 0 ; r < e . rest . length ; r ++ ) if ( e . rest [ r ] == t ) return { map : e . measure . maps [ r ] , cache : e . measure . caches [ r ] } ; for ( var r = 0 ; r < e . rest . length ; r ++ ) if ( ti ( e . rest [ r ] ) > n ) return { map : e . measure . maps [ r ] , cache : e . measure . caches [ r ] , before : ! 0 } } function Ze ( e , t ) { t = yr ( t ) ; var n = ti ( t ) , r = e . display . externalMeasured = new Pt ( e . doc , t , n ) ; r . lineN = n ; var i = r . built = Br ( e , r ) ; return r . text = i . pre , qi ( e . display . lineMeasure , i . pre ) , r } function Je ( e , t , n , r ) { return tt ( e , et ( e , t ) , n , r ) } function Qe ( e , t ) { if ( t >= e . display . viewFrom && t < e . display . viewTo ) return e . display . view [ Bt ( e , t ) ] ; var n = e . display . externalMeasured ; return n && t >= n . lineN && t < n . lineN + n . size ? n : void 0 } function et ( e , t ) { var n = ti ( t ) , r = Qe ( e , n ) ; r && ! r . text ? r = null : r && r . changes && ( D ( e , r , n , P ( e ) ) , e . curOp . forceUpdate = ! 0 ) , r || ( r = Ze ( e , t ) ) ; var i = Xe ( r , t , n ) ; return { line : t , view : r , rect : null , map : i . map , cache : i . cache , before : i . before , hasHeights : ! 1 } } function tt ( e , t , n , r , i ) { t . before && ( n = - 1 ) ; var o , a = n + ( r || "" ) ; return t . cache . hasOwnProperty ( a ) ? o = t . cache [ a ] : ( t . rect || ( t . rect = t . view . text . getBoundingClientRect ( ) ) , t . hasHeights || ( Ke ( e , t . view , t . rect ) , t . hasHeights = ! 0 ) , o = rt ( e , t , n , r ) , o . bogus || ( t . cache [ a ] = o ) ) , { left : o . left , right : o . right , top : i ? o . rtop : o . top , bottom : i ? o . rbottom : o . bottom } } function nt ( e , t , n ) { for ( var r , i , o , a , l = 0 ; l < e . length ; l += 3 ) { var s = e [ l ] , c = e [ l + 1 ] ; if ( s > t ? ( i = 0 , o = 1 , a = "left" ) : c > t ? ( i = t - s , o = i + 1 ) : ( l == e . length - 3 || t == c && e [ l + 3 ] > t ) && ( o = c - s , i = o - 1 , t >= c && ( a = "right" ) ) , null != i ) { if ( r = e [ l + 2 ] , s == c && n == ( r . insertLeft ? "left" : "right" ) && ( a = n ) , "left" == n && 0 == i ) for ( ; l && e [ l - 2 ] == e [ l - 3 ] && e [ l - 1 ] . insertLeft ; ) r = e [ ( l -= 3 ) + 2 ] , a = "left" ; if ( "right" == n && i == c - s ) for ( ; l < e . length - 3 && e [ l + 3 ] == e [ l + 4 ] && ! e [ l + 5 ] . insertLeft ; ) r = e [ ( l += 3 ) + 2 ] , a = "right" ; break } } return { node : r , start : i , end : o , collapse : a , coverStart : s , coverEnd : c } } function rt ( e , t , n , r ) { var i , o = nt ( t . map , n , r ) , a = o . node , l = o . start , s = o . end , c = o . collapse ; if ( 3 == Line truncated
! n . readOnly || r && - 1 != Pi ( r , n ) || ( r || ( r = [ ] ) ) . push ( n ) } } ) , ! r ) return null ; for ( var i = [ { from : t , to : n } ] , o = 0 ; o < r . length ; ++ o ) for ( var a = r [ o ] , l = a . find ( 0 ) , s = 0 ; s < i . length ; ++ s ) { var c = i [ s ] ; if ( ! ( _o ( c . to , l . from ) < 0 || _o ( c . from , l . to ) > 0 ) ) { var u = [ s , 1 ] , f = _o ( c . from , l . from ) , h = _o ( c . to , l . to ) ; ( 0 > f || ! a . inclusiveLeft && ! f ) && u . push ( { from : c . from , to : l . from } ) , ( h > 0 || ! a . inclusiveRight && ! h ) && u . push ( { from : l . to , to : c . to } ) , i . splice . apply ( i , u ) , s += u . length - 1 } } return i } function cr ( e ) { var t = e . markedSpans ; if ( t ) { for ( var n = 0 ; n < t . length ; ++ n ) t [ n ] . marker . detachLine ( e ) ; e . markedSpans = null } } function ur ( e , t ) { if ( t ) { for ( var n = 0 ; n < t . length ; ++ n ) t [ n ] . marker . attachLine ( e ) ; e . markedSpans = t } } function fr ( e ) { return e . inclusiveLeft ? - 1 : 0 } function hr ( e ) { return e . inclusiveRight ? 1 : 0 } function dr ( e , t ) { var n = e . lines . length - t . lines . length ; if ( 0 != n ) return n ; var r = e . find ( ) , i = t . find ( ) , o = _o ( r . from , i . from ) || fr ( e ) - fr ( t ) ; if ( o ) return - o ; var a = _o ( r . to , i . to ) || hr ( e ) - hr ( t ) ; return a ? a : t . id - e . id } function pr ( e , t ) { var n , r = Wo && e . markedSpans ; if ( r ) for ( var i , o = 0 ; o < r . length ; ++ o ) i = r [ o ] , i . marker . collapsed && null == ( t ? i . from : i . to ) && ( ! n || dr ( n , i . marker ) < 0 ) && ( n = i . marker ) ; return n } function mr ( e ) { return pr ( e , ! 0 ) } function gr ( e ) { return pr ( e , ! 1 ) } function vr ( e , t , n , r , i ) { var o = Zr ( e , t ) , a = Wo && o . markedSpans ; if ( a ) for ( var l = 0 ; l < a . length ; ++ l ) { var s = a [ l ] ; if ( s . marker . collapsed ) { var c = s . marker . find ( 0 ) , u = _o ( c . from , n ) || fr ( s . marker ) - fr ( i ) , f = _o ( c . to , r ) || hr ( s . marker ) - hr ( i ) ; if ( ! ( u >= 0 && 0 >= f || 0 >= u && f >= 0 ) && ( 0 >= u && ( s . marker . inclusiveRight && i . inclusiveLeft ? _o ( c . to , n ) >= 0 : _o ( c . to , n ) > 0 ) || u >= 0 && ( s . marker . inclusiveRight && i . inclusiveLeft ? _o ( c . from , r ) <= 0 : _o ( c . from , r ) < 0 ) ) ) return ! 0 } } } function yr ( e ) { for ( var t ; t = mr ( e ) ; ) e = t . find ( - 1 , ! 0 ) . line ; return e } function xr ( e ) { for ( var t , n ; t = gr ( e ) ; ) e = t . find ( 1 , ! 0 ) . line , ( n || ( n = [ ] ) ) . push ( e ) ; return n } function br ( e , t ) { var n = Zr ( e , t ) , r = yr ( n ) ; return n == r ? t : ti ( r ) } function wr ( e , t ) { if ( t > e . lastLine ( ) ) return t ; var n , r = Zr ( e , t ) ; if ( ! kr ( e , r ) ) return t ; for ( ; n = gr ( r ) ; ) r = n . find ( 1 , ! 0 ) . line ; return ti ( r ) + 1 } function kr ( e , t ) { var n = Wo && t . markedSpans ; if ( n ) for ( var r , i = 0 ; i < n . length ; ++ i ) if ( r = n [ i ] , r . marker . collapsed ) { if ( null == r . from ) return ! 0 ; if ( ! r . marker . widgetNode && 0 == r . from && r . marker . inclusiveLeft && Sr ( e , t , r ) ) return ! 0 } } function Sr ( e , t , n ) { if ( null == n . to ) { var r = n . marker . find ( 1 , ! 0 ) ; return Sr ( e , r . line , er ( r . line . markedSpans , n . marker ) ) } if ( n . marker . inclusiveRight && n . to == t . text . length ) return ! 0 ; for ( var i , o = 0 ; o < t . markedSpans . length ; ++ o ) if ( i = t . markedSpans [ o ] , i . marker . collapsed && ! i . marker . widgetNode && i . from == n . to && ( null == i . to || i . to != n . from ) && ( i . marker . inclusiveLeft || n . marker . inclusiveRight ) && Sr ( e , t , i ) ) return ! 0 } function Cr ( e , t , n ) { ri ( t ) < ( e . curOp && e . curOp . scrollTop || e . doc . scrollTop ) && Wn ( e , null , n ) } function Lr ( e ) { if ( null != e . height ) return e . height ; var t = e . doc . cm ; if ( ! t ) return 0 ; if ( ! Va ( document . body , e . node ) ) { var n = "position: relative;" ; e . coverGutter && ( n += "margin-left: -" + t . display . gutters . offsetWidth + "px;" ) , e . noHScroll && ( n += "width: " + t . display . wrapper . clientWidth + "px;" ) , qi ( t . display . measure , ji ( "div" , [ e . node ] , null , n ) ) } return e . height = e . node . parentNode . offsetHeight } function Tr ( e , t , n , r ) { var i = new xa ( e , n , r ) , o = e . cm ; return o && i . noHScroll && ( o . display . alignWidgets = ! 0 ) , zn ( e , t , "widget" , function ( t ) { var n = t . widgets || ( t . widgets = [ ] ) ; if ( null == i . insertAt ? n . push ( i ) : n . splice ( Math . min ( n . length - 1 , Math . max ( 0 , i . insertAt ) ) , 0 , i ) , i . line = t , o && ! kr ( e , t ) ) { var r = ri ( t ) < e . scrollTop ; ei ( t , t . height + Lr ( i ) ) , r && Wn ( o , null , i . height ) , o . curOp . forceUpdate = ! 0 } return ! 0 } ) , i } function Mr ( e , t , n , r ) { e . text = t , e . stateAfter && ( e . stateAfter = null ) , e . styles && ( e . styles = null ) , null != e . order && ( e . order = null ) , cr ( e ) , ur ( e , n ) ; var i = r ? r ( e ) : 1 ; i != e . height && ei ( e , i ) } function Nr ( e ) { e . parent = null , cr ( e ) } function Ar ( e , t ) { if ( e ) for ( ; ; ) { var n = e . match ( /(?:^|\s+)line-(background-)?(\S+)/ ) ; if ( ! n ) break ; e = e . slice ( 0 , n . index ) + e . slice ( n . index + n [ 0 ] . length ) ; var r = n [ 1 ] ? "bgClass" : "textClass" ; null == t [ r ] ? t [ r ] = n [ 2 ] : new RegExp ( "(?:^|s)" + n [ 2 ] + "(?:$|s)" ) . test ( t [ r ] ) || ( t [ r ] += " " + n [ 2 ] ) } return e } function Er ( t , n ) { if ( t . blankLine ) return t . blankLine ( n ) ; if ( t . innerMode ) { var r = e . innerMode ( t , n ) ; return r . mode . blankLine ? r . mode . blankLine ( r . state ) : void 0 } } function Or ( t , n , r , i ) { for ( var o = 0 ; 10 > o ; o ++ ) { i && ( i [ 0 ] = e . innerMode ( t , r ) . mode ) ; var a = t . token ( n , r ) ; if ( n . pos > n . start ) return a } throw new Error ( "Mode " + t . name + " failed to advance stream." ) } function Ir ( e , t , n , r ) { function i ( e ) { return { start : f . start , end : f . pos , string : f . current ( ) , type : o || null , state : e ? sa ( a . mode , u ) : u } } var o , a = e . doc , l = a . mode ; t = me ( a , t ) ; var s , c = Zr ( a , t . line ) , u = je ( e , t . line , n ) , f = new ma ( c . text , e . options . tabSize ) ; for ( r && ( s = [ ] ) ; ( r || f . pos < t . ch ) && ! f . eol ( ) ; ) f . start = f . pos , o = Or ( l , f , u ) , r && s . push ( i ( ! 0 ) ) ; return r ? s : i ( ) } function Pr ( e , t , n , r , i , o , a ) { var l = n . flattenSpans ; null == l && ( l = e . options . flattenSpans ) ; var s , c = 0 , u = null , f = new ma ( t , e . options . tabSize ) , h = e . options . addModeClass && [ null ] ; for ( "" == t && Ar ( Er ( n , r ) , o ) ; ! f . eol ( ) ; ) { if ( f . pos > e . options . maxHighlightLength ? ( l = ! 1 , a && Hr ( e , t , r , f . pos ) , f . pos = t . length , s = null ) : s = Ar ( Or ( n , f , r , h ) , o ) , h ) { var d = h [ 0 ] . name ; d && ( s = "m-" + ( s ? d + " " + s : d ) ) } if ( ! l || u != s ) { for ( ; c < f . start ; ) c = Math . min ( f . start , c + 5e4 ) , i ( c , u ) ; u = s } f . start = f . pos } for ( ; c < f . pos ; ) { var p = Math . min ( f . pos , c + 5e4 ) ; i ( p , u ) , c = p } } function Rr ( e , t , n , r ) { var i = [ e . state . modeGen ] , o = { } ; P Line truncated
r . push ( e . history ) ) , En ( e , t , null , or ( e , t ) ) } ) } } function Nn ( e , t , n ) { if ( ! e . cm || ! e . cm . state . suppressEdits ) { for ( var r , i = e . history , o = e . sel , a = "undo" == t ? i . done : i . undone , l = "undo" == t ? i . undone : i . done , s = 0 ; s < a . length && ( r = a [ s ] , n ? ! r . ranges || r . equals ( e . sel ) : r . ranges ) ; s ++ ) ; if ( s != a . length ) { for ( i . lastOrigin = i . lastSelOrigin = null ; r = a . pop ( ) , r . ranges ; ) { if ( hi ( r , l ) , n && ! r . equals ( e . sel ) ) return void Te ( e , r , { clearRedo : ! 1 } ) ; o = r } var c = [ ] ; hi ( o , l ) , l . push ( { changes : c , generation : i . generation } ) , i . generation = r . generation || ++ i . maxGeneration ; for ( var u = Ni ( e , "beforeChange" ) || e . cm && Ni ( e . cm , "beforeChange" ) , s = r . changes . length - 1 ; s >= 0 ; -- s ) { var f = r . changes [ s ] ; if ( f . origin = t , u && ! Ln ( e , f , ! 1 ) ) return void ( a . length = 0 ) ; c . push ( ai ( e , f ) ) ; var h = s ? kn ( e , f ) : Ii ( a ) ; En ( e , f , h , lr ( e , f ) ) , ! s && e . cm && e . cm . scrollIntoView ( { from : f . from , to : Qo ( f ) } ) ; var d = [ ] ; Kr ( e , function ( e , t ) { t || - 1 != Pi ( d , e . history ) || ( xi ( e . history , f ) , d . push ( e . history ) ) , En ( e , f , null , lr ( e , f ) ) } ) } } } } function An ( e , t ) { if ( 0 != t && ( e . first += t , e . sel = new ue ( Ri ( e . sel . ranges , function ( e ) { return new fe ( Bo ( e . anchor . line + t , e . anchor . ch ) , Bo ( e . head . line + t , e . head . ch ) ) } ) , e . sel . primIndex ) , e . cm ) ) { Dt ( e . cm , e . first , e . first - t , t ) ; for ( var n = e . cm . display , r = n . viewFrom ; r < n . viewTo ; r ++ ) Ht ( e . cm , r , "gutter" ) } } function En ( e , t , n , r ) { if ( e . cm && ! e . cm . curOp ) return Et ( e . cm , En ) ( e , t , n , r ) ; if ( t . to . line < e . first ) return void An ( e , t . text . length - 1 - ( t . to . line - t . from . line ) ) ; if ( ! ( t . from . line > e . lastLine ( ) ) ) { if ( t . from . line < e . first ) { var i = t . text . length - 1 - ( e . first - t . from . line ) ; An ( e , i ) , t = { from : Bo ( e . first , 0 ) , to : Bo ( t . to . line + i , t . to . ch ) , text : [ Ii ( t . text ) ] , origin : t . origin } } var o = e . lastLine ( ) ; t . to . line > o && ( t = { from : t . from , to : Bo ( o , Zr ( e , o ) . text . length ) , text : [ t . text [ 0 ] ] , origin : t . origin } ) , t . removed = Jr ( e , t . from , t . to ) , n || ( n = kn ( e , t ) ) , e . cm ? On ( e . cm , t , r ) : Yr ( e , t , r ) , Me ( e , n , Wa ) } } function On ( e , t , n ) { var r = e . doc , i = e . display , a = t . from , l = t . to , s = ! 1 , c = a . line ; e . options . lineWrapping || ( c = ti ( yr ( Zr ( r , a . line ) ) ) , r . iter ( c , l . line + 1 , function ( e ) { return e == i . maxLine ? ( s = ! 0 , ! 0 ) : void 0 } ) ) , r . sel . contains ( t . from , t . to ) > - 1 && Mi ( e ) , Yr ( r , t , n , o ( e ) ) , e . options . lineWrapping || ( r . iter ( c , a . line + t . text . length , function ( e ) { var t = f ( e ) ; t > i . maxLineLength && ( i . maxLine = e , i . maxLineLength = t , i . maxLineChanged = ! 0 , s = ! 1 ) } ) , s && ( e . curOp . updateMaxLine = ! 0 ) ) , r . frontier = Math . min ( r . frontier , a . line ) , _e ( e , 400 ) ; var u = t . text . length - ( l . line - a . line ) - 1 ; t . full ? Dt ( e ) : a . line != l . line || 1 != t . text . length || Gr ( e . doc , t ) ? Dt ( e , a . line , l . line + 1 , u ) : Ht ( e , a . line , "text" ) ; var h = Ni ( e , "changes" ) , d = Ni ( e , "change" ) ; if ( d || h ) { var p = { from : a , to : l , text : t . text , removed : t . removed , origin : t . origin } ; d && Ci ( e , "change" , e , p ) , h && ( e . curOp . changeObjs || ( e . curOp . changeObjs = [ ] ) ) . push ( p ) } e . display . selForContextMenu = null } function In ( e , t , n , r , i ) { if ( r || ( r = n ) , _o ( r , n ) < 0 ) { var o = r ; r = n , n = o } "string" == typeof t && ( t = e . splitLines ( t ) ) , Tn ( e , { from : n , to : r , text : t , origin : i } ) } function Pn ( e , t ) { if ( ! Ti ( e , "scrollCursorIntoView" ) ) { var n = e . display , r = n . sizer . getBoundingClientRect ( ) , i = null ; if ( t . top + r . top < 0 ? i = ! 0 : t . bottom + r . top > ( window . innerHeight || document . documentElement . clientHeight ) && ( i = ! 1 ) , null != i && ! Mo ) { var o = ji ( "div" , " " , null , "position: absolute; top: " + ( t . top - n . viewOffset - Ue ( e . display ) ) + "px; height: " + ( t . bottom - t . top + Ye ( e ) + n . barHeight ) + "px; left: " + t . left + "px; width: 2px;" ) ; e . display . lineSpace . appendChild ( o ) , o . scrollIntoView ( i ) , e . display . lineSpace . removeChild ( o ) } } } function Rn ( e , t , n , r ) { null == r && ( r = 0 ) ; for ( var i = 0 ; 5 > i ; i ++ ) { var o = ! 1 , a = dt ( e , t ) , l = n && n != t ? dt ( e , n ) : a , s = Hn ( e , Math . min ( a . left , l . left ) , Math . min ( a . top , l . top ) - r , Math . max ( a . left , l . left ) , Math . max ( a . bottom , l . bottom ) + r ) , c = e . doc . scrollTop , u = e . doc . scrollLeft ; if ( null != s . scrollTop && ( rn ( e , s . scrollTop ) , Math . abs ( e . doc . scrollTop - c ) > 1 && ( o = ! 0 ) ) , null != s . scrollLeft && ( on ( e , s . scrollLeft ) , Math . abs ( e . doc . scrollLeft - u ) > 1 && ( o = ! 0 ) ) , ! o ) break } return a } function Dn ( e , t , n , r , i ) { var o = Hn ( e , t , n , r , i ) ; null != o . scrollTop && rn ( e , o . scrollTop ) , null != o . scrollLeft && on ( e , o . scrollLeft ) } function Hn ( e , t , n , r , i ) { var o = e . display , a = yt ( e . display ) ; 0 > n && ( n = 0 ) ; var l = e . curOp && null != e . curOp . scrollTop ? e . curOp . scrollTop : o . scroller . scrollTop , s = Ve ( e ) , c = { } ; i - n > s && ( i = n + s ) ; var u = e . doc . height + qe ( o ) , f = a > n , h = i > u - a ; if ( l > n ) c . scrollTop = f ? 0 : n ; else if ( i > l + s ) { var d = Math . min ( n , ( h ? u : i ) - s ) ; d != l && ( c . scrollTop = d ) } var p = e . curOp && null != e . curOp . scrollLeft ? e . curOp . scrollLeft : o . scroller . scrollLeft , m = $e ( e ) - ( e . options . fixedGutter ? o . gutters . offsetWidth : 0 ) , g = r - t > m ; return g && ( r = t + m ) , 10 > t ? c . scrollLeft = 0 : p > t ? c . scrollLeft = Math . max ( 0 , t - ( g ? 0 : 10 ) ) : r > m + p - 3 && ( c . scrollLeft = r + ( g ? 0 : 10 ) - m ) , c } function Wn ( e , t , n ) { null == t && null == n || _n ( e ) , null != t && ( e . curOp . scrollLeft = ( null == e . curOp . scrollLeft ? e . doc . scrollLeft : e . curOp . scrollLeft ) + t ) , null != n && ( e . curOp . scrollTop = ( null == e . curOp . scrollTop ? e . doc . scrollTop : e . curOp . scrollTop ) + n ) } function Bn ( e ) { _n ( e ) ; var t = e . getCursor ( ) , n = t , r = t ; e . options . lineWrapping || ( n = t . ch ? Bo ( t . line , t . ch - 1 ) : t , r = Bo ( t . line , t . ch + 1 ) ) , e . curOp . scrollToPos = { from : n , to : r , margin : e . options . cursorScrollMargin , isCursor : ! 0 } } function _n ( e ) { var t = e . curOp . scrollToPos ; if ( t ) { e . curOp . scrollToPos = null ; var n = pt ( e , t . from ) , r = pt ( e , t . to ) , i = Hn ( e , Math . min ( n . left , r . left ) , Math . min ( n . top , r . top ) - t . margin , Math . max ( n . right , r . right ) , Math . max ( n . bottom , r . bottom ) + t . margin ) ; e . scrollTo ( i . scrollLeft , i . scrollTop ) } } fun Line truncated
Dt ( r ) } ) } ) , Ea ( i , "copy" , t ) , Ea ( i , "cut" , t ) } , prepareSelection : function ( ) { var e = De ( this . cm , ! 1 ) ; return e . focus = this . cm . state . focused , e } , showSelection : function ( e , t ) { e && this . cm . display . view . length && ( ( e . focus || t ) && this . showPrimarySelection ( ) , this . showMultipleSelections ( e ) ) } , showPrimarySelection : function ( ) { var e = window . getSelection ( ) , t = this . cm . doc . sel . primary ( ) , n = le ( this . cm , e . anchorNode , e . anchorOffset ) , r = le ( this . cm , e . focusNode , e . focusOffset ) ; if ( ! n || n . bad || ! r || r . bad || 0 != _o ( K ( n , r ) , t . from ( ) ) || 0 != _o ( V ( n , r ) , t . to ( ) ) ) { var i = oe ( this . cm , t . from ( ) ) , o = oe ( this . cm , t . to ( ) ) ; if ( i || o ) { var a = this . cm . display . view , l = e . rangeCount && e . getRangeAt ( 0 ) ; if ( i ) { if ( ! o ) { var s = a [ a . length - 1 ] . measure , c = s . maps ? s . maps [ s . maps . length - 1 ] : s . map ; o = { node : c [ c . length - 1 ] , offset : c [ c . length - 2 ] - c [ c . length - 3 ] } } } else i = { node : a [ 0 ] . measure . map [ 2 ] , offset : 0 } ; try { var u = qa ( i . node , i . offset , o . offset , o . node ) } catch ( f ) { } u && ( ! go && this . cm . state . focused ? ( e . collapse ( i . node , i . offset ) , u . collapsed || e . addRange ( u ) ) : ( e . removeAllRanges ( ) , e . addRange ( u ) ) , l && null == e . anchorNode ? e . addRange ( l ) : go && this . startGracePeriod ( ) ) , this . rememberSelection ( ) } } } , startGracePeriod : function ( ) { var e = this ; clearTimeout ( this . gracePeriod ) , this . gracePeriod = setTimeout ( function ( ) { e . gracePeriod = ! 1 , e . selectionChanged ( ) && e . cm . operation ( function ( ) { e . cm . curOp . selectionChanged = ! 0 } ) } , 20 ) } , showMultipleSelections : function ( e ) { qi ( this . cm . display . cursorDiv , e . cursors ) , qi ( this . cm . display . selectionDiv , e . selection ) } , rememberSelection : function ( ) { var e = window . getSelection ( ) ; this . lastAnchorNode = e . anchorNode , this . lastAnchorOffset = e . anchorOffset , this . lastFocusNode = e . focusNode , this . lastFocusOffset = e . focusOffset } , selectionInEditor : function ( ) { var e = window . getSelection ( ) ; if ( ! e . rangeCount ) return ! 1 ; var t = e . getRangeAt ( 0 ) . commonAncestorContainer ; return Va ( this . div , t ) } , focus : function ( ) { "nocursor" != this . cm . options . readOnly && this . div . focus ( ) } , blur : function ( ) { this . div . blur ( ) } , getField : function ( ) { return this . div } , supportsTouch : function ( ) { return ! 0 } , receivedFocus : function ( ) { function e ( ) { t . cm . state . focused && ( t . pollSelection ( ) , t . polling . set ( t . cm . options . pollInterval , e ) ) } var t = this ; this . selectionInEditor ( ) ? this . pollSelection ( ) : At ( this . cm , function ( ) { t . cm . curOp . selectionChanged = ! 0 } ) , this . polling . set ( this . cm . options . pollInterval , e ) } , selectionChanged : function ( ) { var e = window . getSelection ( ) ; return e . anchorNode != this . lastAnchorNode || e . anchorOffset != this . lastAnchorOffset || e . focusNode != this . lastFocusNode || e . focusOffset != this . lastFocusOffset } , pollSelection : function ( ) { if ( ! this . composing && ! this . gracePeriod && this . selectionChanged ( ) ) { var e = window . getSelection ( ) , t = this . cm ; this . rememberSelection ( ) ; var n = le ( t , e . anchorNode , e . anchorOffset ) , r = le ( t , e . focusNode , e . focusOffset ) ; n && r && At ( t , function ( ) { Te ( t . doc , de ( n , r ) , Wa ) , ( n . bad || r . bad ) && ( t . curOp . selectionChanged = ! 0 ) } ) } } , pollContent : function ( ) { var e = this . cm , t = e . display , n = e . doc . sel . primary ( ) , r = n . from ( ) , i = n . to ( ) ; if ( r . line < t . viewFrom || i . line > t . viewTo - 1 ) return ! 1 ; var o ; if ( r . line == t . viewFrom || 0 == ( o = Bt ( e , r . line ) ) ) var a = ti ( t . view [ 0 ] . line ) , l = t . view [ 0 ] . node ; else var a = ti ( t . view [ o ] . line ) , l = t . view [ o - 1 ] . node . nextSibling ; var s = Bt ( e , i . line ) ; if ( s == t . view . length - 1 ) var c = t . viewTo - 1 , u = t . lineDiv . lastChild ; else var c = ti ( t . view [ s + 1 ] . line ) - 1 , u = t . view [ s + 1 ] . node . previousSibling ; for ( var f = e . doc . splitLines ( ce ( e , l , u , a , c ) ) , h = Jr ( e . doc , Bo ( a , 0 ) , Bo ( c , Zr ( e . doc , c ) . text . length ) ) ; f . length > 1 && h . length > 1 ; ) if ( Ii ( f ) == Ii ( h ) ) f . pop ( ) , h . pop ( ) , c -- ; else { if ( f [ 0 ] != h [ 0 ] ) break ; f . shift ( ) , h . shift ( ) , a ++ } for ( var d = 0 , p = 0 , m = f [ 0 ] , g = h [ 0 ] , v = Math . min ( m . length , g . length ) ; v > d && m . charCodeAt ( d ) == g . charCodeAt ( d ) ; ) ++ d ; for ( var y = Ii ( f ) , x = Ii ( h ) , b = Math . min ( y . length - ( 1 == f . length ? d : 0 ) , x . length - ( 1 == h . length ? d : 0 ) ) ; b > p && y . charCodeAt ( y . length - p - 1 ) == x . charCodeAt ( x . length - p - 1 ) ; ) ++ p ; f [ f . length - 1 ] = y . slice ( 0 , y . length - p ) , f [ 0 ] = f [ 0 ] . slice ( d ) ; var w = Bo ( a , d ) , k = Bo ( c , h . length ? Ii ( h ) . length - p : 0 ) ; return f . length > 1 || f [ 0 ] || _o ( w , k ) ? ( In ( e . doc , f , w , k , "+input" ) , ! 0 ) : void 0 } , ensurePolled : function ( ) { this . forceCompositionEnd ( ) } , reset : function ( ) { this . forceCompositionEnd ( ) } , forceCompositionEnd : function ( ) { this . composing && ! this . composing . handled && ( this . applyComposition ( this . composing ) , this . composing . handled = ! 0 , this . div . blur ( ) , this . div . focus ( ) ) } , applyComposition : function ( e ) { this . cm . isReadOnly ( ) ? Et ( this . cm , Dt ) ( this . cm ) : e . data && e . data != e . startData && Et ( this . cm , Z ) ( this . cm , e . data , 0 , e . sel ) } , setUneditable : function ( e ) { e . contentEditable = "false" } , onKeyPress : function ( e ) { e . preventDefault ( ) , this . cm . isReadOnly ( ) || Et ( this . cm , Z ) ( this . cm , String . fromCharCode ( null == e . charCode ? e . keyCode : e . charCode ) , 0 ) } , readOnlyChanged : function ( e ) { this . div . contentEditable = String ( "nocursor" != e ) } , onContextMenu : Di , resetPosition : Di , needsContentAttribute : ! 0 } , ie . prototype ) , e . inputStyles = { textarea : ne , contenteditable : ie } , ue . prototype = { primary : function ( ) { return this . ranges [ this . primIndex ] } , equals : function ( e ) { if ( e == this ) return ! 0 ; if ( e . primIndex != this . primIndex || e . ranges . length != this . ranges . length ) return ! 1 ; for ( var t = 0 ; t < this . ranges . length ; t ++ ) { var n = this . ranges [ t ] , r = e . ranges [ t ] ; if ( 0 != _o ( n . anchor , r . anchor ) || 0 != _o ( n . head , r . head ) ) return ! 1 } return ! 0 } , deepCopy : function ( ) { for ( var e = [ ] , t = 0 ; t < this . Line truncated
return n . setAttribute ( "cm-text" , "" ) , n } function Ji ( e ) { if ( null != Xa ) return Xa ; var t = qi ( e , document . createTextNode ( "AخA" ) ) , n = qa ( t , 0 , 1 ) . getBoundingClientRect ( ) ; if ( ! n || n . left == n . right ) return ! 1 ; var r = qa ( t , 1 , 2 ) . getBoundingClientRect ( ) ; return Xa = r . right - n . right < 3 } function Qi ( e ) { if ( null != il ) return il ; var t = qi ( e , ji ( "span" , "x" ) ) , n = t . getBoundingClientRect ( ) , r = qa ( t , 0 , 1 ) . getBoundingClientRect ( ) ; return il = Math . abs ( n . left - r . left ) > 1 } function eo ( e , t , n , r ) { if ( ! e ) return r ( t , n , "ltr" ) ; for ( var i = ! 1 , o = 0 ; o < e . length ; ++ o ) { var a = e [ o ] ; ( a . from < n && a . to > t || t == n && a . to == t ) && ( r ( Math . max ( a . from , t ) , Math . min ( a . to , n ) , 1 == a . level ? "rtl" : "ltr" ) , i = ! 0 ) } i || r ( t , n , "ltr" ) } function to ( e ) { return e . level % 2 ? e . to : e . from } function no ( e ) { return e . level % 2 ? e . from : e . to } function ro ( e ) { var t = ii ( e ) ; return t ? to ( t [ 0 ] ) : 0 } function io ( e ) { var t = ii ( e ) ; return t ? no ( Ii ( t ) ) : e . text . length } function oo ( e , t ) { var n = Zr ( e . doc , t ) , r = yr ( n ) ; r != n && ( t = ti ( r ) ) ; var i = ii ( r ) , o = i ? i [ 0 ] . level % 2 ? io ( r ) : ro ( r ) : 0 ; return Bo ( t , o ) } function ao ( e , t ) { for ( var n , r = Zr ( e . doc , t ) ; n = gr ( r ) ; ) r = n . find ( 1 , ! 0 ) . line , t = null ; var i = ii ( r ) , o = i ? i [ 0 ] . level % 2 ? ro ( r ) : io ( r ) : r . text . length ; return Bo ( null == t ? ti ( r ) : t , o ) } function lo ( e , t ) { var n = oo ( e , t . line ) , r = Zr ( e . doc , n . line ) , i = ii ( r ) ; if ( ! i || 0 == i [ 0 ] . level ) { var o = Math . max ( 0 , r . text . search ( /\S/ ) ) , a = t . line == n . line && t . ch <= o && t . ch ; return Bo ( n . line , a ? 0 : o ) } return n } function so ( e , t , n ) { var r = e [ 0 ] . level ; return t == r || n != r && n > t } function co ( e , t ) { al = null ; for ( var n , r = 0 ; r < e . length ; ++ r ) { var i = e [ r ] ; if ( i . from < t && i . to > t ) return r ; if ( i . from == t || i . to == t ) { if ( null != n ) return so ( e , i . level , e [ n ] . level ) ? ( i . from != i . to && ( al = n ) , r ) : ( i . from != i . to && ( al = r ) , n ) ; n = r } } return n } function uo ( e , t , n , r ) { if ( ! r ) return t + n ; do t += n ; while ( t > 0 && zi ( e . text . charAt ( t ) ) ) ; return t } function fo ( e , t , n , r ) { var i = ii ( e ) ; if ( ! i ) return ho ( e , t , n , r ) ; for ( var o = co ( i , t ) , a = i [ o ] , l = uo ( e , t , a . level % 2 ? - n : n , r ) ; ; ) { if ( l > a . from && l < a . to ) return l ; if ( l == a . from || l == a . to ) return co ( i , l ) == o ? l : ( a = i [ o += n ] , n > 0 == a . level % 2 ? a . to : a . from ) ; if ( a = i [ o += n ] , ! a ) return null ; l = n > 0 == a . level % 2 ? uo ( e , a . to , - 1 , r ) : uo ( e , a . from , 1 , r ) } } function ho ( e , t , n , r ) { var i = t + n ; if ( r ) for ( ; i > 0 && zi ( e . text . charAt ( i ) ) ; ) i += n ; return 0 > i || i > e . text . length ? null : i } var po = navigator . userAgent , mo = navigator . platform , go = /gecko\/\d/i . test ( po ) , vo = /MSIE \d/ . test ( po ) , yo = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/ . exec ( po ) , xo = vo || yo , bo = xo && ( vo ? document . documentMode || 6 : yo [ 1 ] ) , wo = /WebKit\// . test ( po ) , ko = wo && /Qt\/\d+\.\d+/ . test ( po ) , So = /Chrome\// . test ( po ) , Co = /Opera\// . test ( po ) , Lo = /Apple Computer/ . test ( navigator . vendor ) , To = /Mac OS X 1\d\D([8-9]|\d\d)\D/ . test ( po ) , Mo = /PhantomJS/ . test ( po ) , No = /AppleWebKit/ . test ( po ) && /Mobile\/\w+/ . test ( po ) , Ao = No || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i . test ( po ) , Eo = No || /Mac/ . test ( mo ) , Oo = /\bCrOS\b/ . test ( po ) , Io = /win/i . test ( mo ) , Po = Co && po . match ( /Version\/(\d*\.\d*)/ ) ; Po && ( Po = Number ( Po [ 1 ] ) ) , Po && Po >= 15 && ( Co = ! 1 , wo = ! 0 ) ; var Ro = Eo && ( ko || Co && ( null == Po || 12.11 > Po ) ) , Do = go || xo && bo >= 9 , Ho = ! 1 , Wo = ! 1 ; m . prototype = Wi ( { update : function ( e ) { var t = e . scrollWidth > e . clientWidth + 1 , n = e . scrollHeight > e . clientHeight + 1 , r = e . nativeBarWidth ; if ( n ) { this . vert . style . display = "block" , this . vert . style . bottom = t ? r + "px" : "0" ; var i = e . viewHeight - ( t ? r : 0 ) ; this . vert . firstChild . style . height = Math . max ( 0 , e . scrollHeight - e . clientHeight + i ) + "px" } else this . vert . style . display = "" , this . vert . firstChild . style . height = "0" ; if ( t ) { this . horiz . style . display = "block" , this . horiz . style . right = n ? r + "px" : "0" , this . horiz . style . left = e . barLeft + "px" ; var o = e . viewWidth - e . barLeft - ( n ? r : 0 ) ; this . horiz . firstChild . style . width = e . scrollWidth - e . clientWidth + o + "px" } else this . horiz . style . display = "" , this . horiz . firstChild . style . width = "0" ; return ! this . checkedZeroWidth && e . clientHeight > 0 && ( 0 == r && this . zeroWidthHack ( ) , this . checkedZeroWidth = ! 0 ) , { right : n ? r : 0 , bottom : t ? r : 0 } } , setScrollLeft : function ( e ) { this . horiz . scrollLeft != e && ( this . horiz . scrollLeft = e ) , this . disableHoriz && this . enableZeroWidthBar ( this . horiz , this . disableHoriz ) } , setScrollTop : function ( e ) { this . vert . scrollTop != e && ( this . vert . scrollTop = e ) , this . disableVert && this . enableZeroWidthBar ( this . vert , this . disableVert ) } , zeroWidthHack : function ( ) { var e = Eo && ! To ? "12px" : "18px" ; this . horiz . style . height = this . vert . style . width = e , this . horiz . style . pointerEvents = this . vert . style . pointerEvents = "none" , this . disableHoriz = new Ei , this . disableVert = new Ei } , enableZeroWidthBar : function ( e , t ) { function n ( ) { var r = e . getBoundingClientRect ( ) , i = document . elementFromPoint ( r . left + 1 , r . bottom - 1 ) ; i != e ? e . style . pointerEvents = "none" : t . set ( 1e3 , n ) } e . style . pointerEvents = "auto" , t . set ( 1e3 , n ) } , clear : function ( ) { var e = this . horiz . parentNode ; e . removeChild ( this . horiz ) , e . removeChild ( this . vert ) } } , m . prototype ) , g . prototype = Wi ( { update : function ( ) { return { bottom : 0 , right : 0 } } , setScrollLeft : function ( ) { } , setScrollTop : function ( ) { } , clear : function ( ) { } } , g . prototype ) , e . scrollbarModel = { native : m , null : g } , L . prototype . signal = function ( e , t ) { Ni ( e , t ) && this . events . push ( arguments ) } , L . prototype . finish = function ( ) { for ( var e = 0 ; e < this . events . length ; e ++ ) Pa . apply ( null , this . events [ e ] ) } ; var Bo = e . Pos = function ( e , t ) { return this instanceof Bo ? ( this . line = e , void ( this . ch = t ) ) : new Bo ( e , t ) } , _o = e . cmpPos = function ( e , t ) { return e . line - t . line || e . ch - t . ch } , Fo = null ; ne . prototype = Wi ( Line truncated
} } ) } , va . prototype . attachLine = function ( e ) { if ( ! this . lines . length && this . doc . cm ) { var t = this . doc . cm . curOp ; t . maybeHiddenMarkers && - 1 != Pi ( t . maybeHiddenMarkers , this ) || ( t . maybeUnhiddenMarkers || ( t . maybeUnhiddenMarkers = [ ] ) ) . push ( this ) } this . lines . push ( e ) } , va . prototype . detachLine = function ( e ) { if ( this . lines . splice ( Pi ( this . lines , e ) , 1 ) , ! this . lines . length && this . doc . cm ) { var t = this . doc . cm . curOp ; ( t . maybeHiddenMarkers || ( t . maybeHiddenMarkers = [ ] ) ) . push ( this ) } } ; var ga = 0 , ya = e . SharedTextMarker = function ( e , t ) { this . markers = e , this . primary = t ; for ( var n = 0 ; n < e . length ; ++ n ) e [ n ] . parent = this } ; Ai ( ya ) , ya . prototype . clear = function ( ) { if ( ! this . explicitlyCleared ) { this . explicitlyCleared = ! 0 ; for ( var e = 0 ; e < this . markers . length ; ++ e ) this . markers [ e ] . clear ( ) ; Ci ( this , "clear" ) } } , ya . prototype . find = function ( e , t ) { return this . primary . find ( e , t ) } ; var xa = e . LineWidget = function ( e , t , n ) { if ( n ) for ( var r in n ) n . hasOwnProperty ( r ) && ( this [ r ] = n [ r ] ) ; this . doc = e , this . node = t } ; Ai ( xa ) , xa . prototype . clear = function ( ) { var e = this . doc . cm , t = this . line . widgets , n = this . line , r = ti ( n ) ; if ( null != r && t ) { for ( var i = 0 ; i < t . length ; ++ i ) t [ i ] == this && t . splice ( i -- , 1 ) ; t . length || ( n . widgets = null ) ; var o = Lr ( this ) ; ei ( n , Math . max ( 0 , n . height - o ) ) , e && At ( e , function ( ) { Cr ( e , n , - o ) , Ht ( e , r , "widget" ) } ) } } , xa . prototype . changed = function ( ) { var e = this . height , t = this . doc . cm , n = this . line ; this . height = null ; var r = Lr ( this ) - e ; r && ( ei ( n , n . height + r ) , t && At ( t , function ( ) { t . curOp . forceUpdate = ! 0 , Cr ( t , n , r ) } ) ) } ; var ba = e . Line = function ( e , t , n ) { this . text = e , ur ( this , t ) , this . height = n ? n ( this ) : 1 } ; Ai ( ba ) , ba . prototype . lineNo = function ( ) { return ti ( this ) } ; var wa = { } , ka = { } ; $r . prototype = { chunkSize : function ( ) { return this . lines . length } , removeInner : function ( e , t ) { for ( var n = e , r = e + t ; r > n ; ++ n ) { var i = this . lines [ n ] ; this . height -= i . height , Nr ( i ) , Ci ( i , "delete" ) } this . lines . splice ( e , t ) } , collapse : function ( e ) { e . push . apply ( e , this . lines ) } , insertInner : function ( e , t , n ) { this . height += n , this . lines = this . lines . slice ( 0 , e ) . concat ( t ) . concat ( this . lines . slice ( e ) ) ; for ( var r = 0 ; r < t . length ; ++ r ) t [ r ] . parent = this } , iterN : function ( e , t , n ) { for ( var r = e + t ; r > e ; ++ e ) if ( n ( this . lines [ e ] ) ) return ! 0 } } , Vr . prototype = { chunkSize : function ( ) { return this . size } , removeInner : function ( e , t ) { this . size -= t ; for ( var n = 0 ; n < this . children . length ; ++ n ) { var r = this . children [ n ] , i = r . chunkSize ( ) ; if ( i > e ) { var o = Math . min ( t , i - e ) , a = r . height ; if ( r . removeInner ( e , o ) , this . height -= a - r . height , i == o && ( this . children . splice ( n -- , 1 ) , r . parent = null ) , 0 == ( t -= o ) ) break ; e = 0 } else e -= i } if ( this . size - t < 25 && ( this . children . length > 1 || ! ( this . children [ 0 ] instanceof $r ) ) ) { var l = [ ] ; this . collapse ( l ) , this . children = [ new $r ( l ) ] , this . children [ 0 ] . parent = this } } , collapse : function ( e ) { for ( var t = 0 ; t < this . children . length ; ++ t ) this . children [ t ] . collapse ( e ) } , insertInner : function ( e , t , n ) { this . size += t . length , this . height += n ; for ( var r = 0 ; r < this . children . length ; ++ r ) { var i = this . children [ r ] , o = i . chunkSize ( ) ; if ( o >= e ) { if ( i . insertInner ( e , t , n ) , i . lines && i . lines . length > 50 ) { for ( var a = i . lines . length % 25 + 25 , l = a ; l < i . lines . length ; ) { var s = new $r ( i . lines . slice ( l , l += 25 ) ) ; i . height -= s . height , this . children . splice ( ++ r , 0 , s ) , s . parent = this } i . lines = i . lines . slice ( 0 , a ) , this . maybeSpill ( ) } break } e -= o } } , maybeSpill : function ( ) { if ( ! ( this . children . length <= 10 ) ) { var e = this ; do { var t = e . children . splice ( e . children . length - 5 , 5 ) , n = new Vr ( t ) ; if ( e . parent ) { e . size -= n . size , e . height -= n . height ; var r = Pi ( e . parent . children , e ) ; e . parent . children . splice ( r + 1 , 0 , n ) } else { var i = new Vr ( e . children ) ; i . parent = e , e . children = [ i , n ] , e = i } n . parent = e . parent } while ( e . children . length > 10 ) ; e . parent . maybeSpill ( ) } } , iterN : function ( e , t , n ) { for ( var r = 0 ; r < this . children . length ; ++ r ) { var i = this . children [ r ] , o = i . chunkSize ( ) ; if ( o > e ) { var a = Math . min ( t , o - e ) ; if ( i . iterN ( e , a , n ) ) return ! 0 ; if ( 0 == ( t -= a ) ) break ; e = 0 } else e -= o } } } ; var Sa = 0 , Ca = e . Doc = function ( e , t , n , r ) { if ( ! ( this instanceof Ca ) ) return new Ca ( e , t , n , r ) ; null == n && ( n = 0 ) , Vr . call ( this , [ new $r ( [ new ba ( "" , null ) ] ) ] ) , this . first = n , this . scrollTop = this . scrollLeft = 0 , this . cantEdit = ! 1 , this . cleanGeneration = 1 , this . frontier = n ; var i = Bo ( n , 0 ) ; this . sel = de ( i ) , this . history = new oi ( null ) , this . id = ++ Sa , this . modeOption = t , this . lineSep = r , this . extend = ! 1 , "string" == typeof e && ( e = this . splitLines ( e ) ) , Yr ( this , { from : i , to : i , text : e } ) , Te ( this , de ( i ) , Wa ) } ; Ca . prototype = Hi ( Vr . prototype , { constructor : Ca , iter : function ( e , t , n ) { n ? this . iterN ( e - this . first , t - e , n ) : this . iterN ( this . first , this . first + this . size , e ) } , insert : function ( e , t ) { for ( var n = 0 , r = 0 ; r < t . length ; ++ r ) n += t [ r ] . height ; this . insertInner ( e - this . first , t , n ) } , remove : function ( e , t ) { this . removeInner ( e - this . first , t ) } , getValue : function ( e ) { var t = Qr ( this , this . first , this . first + this . size ) ; return e === ! 1 ? t : t . join ( e || this . lineSeparator ( ) ) } , setValue : It ( function ( e ) { var t = Bo ( this . first , 0 ) , n = this . first + this . size - 1 ; Tn ( this , { from : t , to : Bo ( n , Zr ( this , n ) . text . length ) , text : this . splitLines ( e ) , origin : "setValue" , full : ! 0 } , ! 0 ) , Te ( this , de ( t ) ) } ) , replaceRange : function ( e , t , n , r ) { t = me ( this , t ) , n = n ? me ( this , n ) : t , In ( this , e , t , n , r ) } , getRange : function ( e , t , n ) { var r = Jr ( this , me ( this , e ) , me ( this , t ) ) ; return n === ! 1 ? r : r . join ( n || this . lineSeparator ( ) ) } , getLine : function ( e ) { var t = this . getLineHandle ( e ) ; return t && t . text } , getLineHandle : function ( e ) { return ve ( this , e ) ? Zr ( this , e ) : void 0 } , getLineNumber : function ( e ) { ret Line truncated
var i = t [ r ] ; i instanceof Array && ( i = i . concat ( [ ] ) ) , n [ r ] = i } return n } , ca = e . startState = function ( e , t , n ) { return ! e . startState || e . startState ( t , n ) } ; e . innerMode = function ( e , t ) { for ( ; e . innerMode ; ) { var n = e . innerMode ( t ) ; if ( ! n || n . mode == e ) break ; t = n . state , e = n . mode } return n || { mode : e , state : t } } ; var ua = e . commands = { selectAll : function ( e ) { e . setSelection ( Bo ( e . firstLine ( ) , 0 ) , Bo ( e . lastLine ( ) ) , Wa ) } , singleSelection : function ( e ) { e . setSelection ( e . getCursor ( "anchor" ) , e . getCursor ( "head" ) , Wa ) } , killLine : function ( e ) { jn ( e , function ( t ) { if ( t . empty ( ) ) { var n = Zr ( e . doc , t . head . line ) . text . length ; return t . head . ch == n && t . head . line < e . lastLine ( ) ? { from : t . head , to : Bo ( t . head . line + 1 , 0 ) } : { from : t . head , to : Bo ( t . head . line , n ) } } return { from : t . from ( ) , to : t . to ( ) } } ) } , deleteLine : function ( e ) { jn ( e , function ( t ) { return { from : Bo ( t . from ( ) . line , 0 ) , to : me ( e . doc , Bo ( t . to ( ) . line + 1 , 0 ) ) } } ) } , delLineLeft : function ( e ) { jn ( e , function ( e ) { return { from : Bo ( e . from ( ) . line , 0 ) , to : e . from ( ) } } ) } , delWrappedLineLeft : function ( e ) { jn ( e , function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 , r = e . coordsChar ( { left : 0 , top : n } , "div" ) ; return { from : r , to : t . from ( ) } } ) } , delWrappedLineRight : function ( e ) { jn ( e , function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 , r = e . coordsChar ( { left : e . display . lineDiv . offsetWidth + 100 , top : n } , "div" ) ; return { from : t . from ( ) , to : r } } ) } , undo : function ( e ) { e . undo ( ) } , redo : function ( e ) { e . redo ( ) } , undoSelection : function ( e ) { e . undoSelection ( ) } , redoSelection : function ( e ) { e . redoSelection ( ) } , goDocStart : function ( e ) { e . extendSelection ( Bo ( e . firstLine ( ) , 0 ) ) } , goDocEnd : function ( e ) { e . extendSelection ( Bo ( e . lastLine ( ) ) ) } , goLineStart : function ( e ) { e . extendSelectionsBy ( function ( t ) { return oo ( e , t . head . line ) } , { origin : "+move" , bias : 1 } ) } , goLineStartSmart : function ( e ) { e . extendSelectionsBy ( function ( t ) { return lo ( e , t . head ) } , { origin : "+move" , bias : 1 } ) } , goLineEnd : function ( e ) { e . extendSelectionsBy ( function ( t ) { return ao ( e , t . head . line ) } , { origin : "+move" , bias : - 1 } ) } , goLineRight : function ( e ) { e . extendSelectionsBy ( function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 ; return e . coordsChar ( { left : e . display . lineDiv . offsetWidth + 100 , top : n } , "div" ) } , _a ) } , goLineLeft : function ( e ) { e . extendSelectionsBy ( function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 ; return e . coordsChar ( { left : 0 , top : n } , "div" ) } , _a ) } , goLineLeftSmart : function ( e ) { e . extendSelectionsBy ( function ( t ) { var n = e . charCoords ( t . head , "div" ) . top + 5 , r = e . coordsChar ( { left : 0 , top : n } , "div" ) ; return r . ch < e . getLine ( r . line ) . search ( /\S/ ) ? lo ( e , t . head ) : r } , _a ) } , goLineUp : function ( e ) { e . moveV ( - 1 , "line" ) } , goLineDown : function ( e ) { e . moveV ( 1 , "line" ) } , goPageUp : function ( e ) { e . moveV ( - 1 , "page" ) } , goPageDown : function ( e ) { e . moveV ( 1 , "page" ) } , goCharLeft : function ( e ) { e . moveH ( - 1 , "char" ) } , goCharRight : function ( e ) { e . moveH ( 1 , "char" ) } , goColumnLeft : function ( e ) { e . moveH ( - 1 , "column" ) } , goColumnRight : function ( e ) { e . moveH ( 1 , "column" ) } , goWordLeft : function ( e ) { e . moveH ( - 1 , "word" ) } , goGroupRight : function ( e ) { e . moveH ( 1 , "group" ) } , goGroupLeft : function ( e ) { e . moveH ( - 1 , "group" ) } , goWordRight : function ( e ) { e . moveH ( 1 , "word" ) } , delCharBefore : function ( e ) { e . deleteH ( - 1 , "char" ) } , delCharAfter : function ( e ) { e . deleteH ( 1 , "char" ) } , delWordBefore : function ( e ) { e . deleteH ( - 1 , "word" ) } , delWordAfter : function ( e ) { e . deleteH ( 1 , "word" ) } , delGroupBefore : function ( e ) { e . deleteH ( - 1 , "group" ) } , delGroupAfter : function ( e ) { e . deleteH ( 1 , "group" ) } , indentAuto : function ( e ) { e . indentSelection ( "smart" ) } , indentMore : function ( e ) { e . indentSelection ( "add" ) } , indentLess : function ( e ) { e . indentSelection ( "subtract" ) } , insertTab : function ( e ) { e . replaceSelection ( "\t" ) } , insertSoftTab : function ( e ) { for ( var t = [ ] , n = e . listSelections ( ) , r = e . options . tabSize , i = 0 ; i < n . length ; i ++ ) { var o = n [ i ] . from ( ) , a = Fa ( e . getLine ( o . line ) , o . ch , r ) ; t . push ( Oi ( r - a % r ) ) } e . replaceSelections ( t ) } , defaultTab : function ( e ) { e . somethingSelected ( ) ? e . indentSelection ( "add" ) : e . execCommand ( "insertTab" ) } , transposeChars : function ( e ) { At ( e , function ( ) { for ( var t = e . listSelections ( ) , n = [ ] , r = 0 ; r < t . length ; r ++ ) { var i = t [ r ] . head , o = Zr ( e . doc , i . line ) . text ; if ( o ) if ( i . ch == o . length && ( i = new Bo ( i . line , i . ch - 1 ) ) , i . ch > 0 ) i = new Bo ( i . line , i . ch + 1 ) , e . replaceRange ( o . charAt ( i . ch - 1 ) + o . charAt ( i . ch - 2 ) , Bo ( i . line , i . ch - 2 ) , i , "+transpose" ) ; else if ( i . line > e . doc . first ) { var a = Zr ( e . doc , i . line - 1 ) . text ; a && e . replaceRange ( o . charAt ( 0 ) + e . doc . lineSeparator ( ) + a . charAt ( a . length - 1 ) , Bo ( i . line - 1 , a . length - 1 ) , Bo ( i . line , 1 ) , "+transpose" ) } n . push ( new fe ( i , i ) ) } e . setSelections ( n ) } ) } , newlineAndIndent : function ( e ) { At ( e , function ( ) { for ( var t = e . listSelections ( ) . length , n = 0 ; t > n ; n ++ ) { var r = e . listSelections ( ) [ n ] ; e . replaceRange ( e . doc . lineSeparator ( ) , r . anchor , r . head , "+input" ) , e . indentLine ( r . from ( ) . line + 1 , null , ! 0 ) } Bn ( e ) } ) } , openLine : function ( e ) { e . replaceSelection ( "\n" , "start" ) } , toggleOverwrite : function ( e ) { e . toggleOverwrite ( ) } } , fa = e . keyMap = { } ; fa . basic = { Left : "goCharLeft" , Right : "goCharRight" , Up : "goLineUp" , Down : "goLineDown" , End : "goLineEnd" , Home : "goLineStartSmart" , PageUp : "goPageUp" , PageDown : "goPageDown" , Delete : "delCharAfter" , Backspace : "delCharBefore" , "Shift-Backspace" : "delCharBefore" , Tab : "defaultTab" , "Shift-Tab" : "indentAuto" , Enter : "newlineAndIndent" , Insert : "toggleOverwrite" , Esc : "singleSelection" } , fa . pcDefault = { "Ctrl-A" : "selectAll" , "Ctrl-D" : "deleteLine" , "Ctrl-Z" : "undo" , "Shift-Ctrl-Z" : "redo" , "Ctrl-Y" : "redo" Line truncated
")" : /^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/ , "]" : /^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\\]]|\\.)*\])*?(?=\])/ } , R = { startState : function ( ) { return { f : s , prevLine : null , thisLine : null , block : s , htmlState : null , indentation : 0 , inline : p , text : d , formatting : ! 1 , linkText : ! 1 , linkHref : ! 1 , linkTitle : ! 1 , code : 0 , em : ! 1 , strong : ! 1 , header : 0 , hr : ! 1 , taskList : ! 1 , list : ! 1 , listStack : [ ] , quote : 0 , trailingSpace : 0 , trailingSpaceNewLine : ! 1 , strikethrough : ! 1 , fencedChars : null } } , copyState : function ( t ) { return { f : t . f , prevLine : t . prevLine , thisLine : t . thisLine , block : t . block , htmlState : t . htmlState && e . copyState ( w , t . htmlState ) , indentation : t . indentation , localMode : t . localMode , localState : t . localMode ? e . copyState ( t . localMode , t . localState ) : null , inline : t . inline , text : t . text , formatting : ! 1 , linkTitle : t . linkTitle , code : t . code , em : t . em , strong : t . strong , strikethrough : t . strikethrough , header : t . header , hr : t . hr , taskList : t . taskList , list : t . list , listStack : t . listStack . slice ( 0 ) , quote : t . quote , indentedCode : t . indentedCode , trailingSpace : t . trailingSpace , trailingSpaceNewLine : t . trailingSpaceNewLine , md _inside : t . md _inside , fencedChars : t . fencedChars } } , token : function ( e , t ) { if ( t . formatting = ! 1 , e != t . thisLine ) { var n = t . header || t . hr ; if ( t . header = 0 , t . hr = ! 1 , e . match ( /^\s*$/ , ! 0 ) || n ) { if ( l ( t ) , ! n ) return null ; t . prevLine = null } t . prevLine = t . thisLine , t . thisLine = e , t . taskList = ! 1 , t . trailingSpace = 0 , t . trailingSpaceNewLine = ! 1 , t . f = t . block ; var r = e . match ( /^\s*/ , ! 0 ) [ 0 ] . replace ( /\t/g , " " ) . length ; if ( t . indentationDiff = Math . min ( r - t . indentation , 4 ) , t . indentation = t . indentation + t . indentationDiff , r > 0 ) return null } return t . f ( e , t ) } , innerMode : function ( e ) { return e . block == c ? { state : e . htmlState , mode : w } : e . localState ? { state : e . localState , mode : e . localMode } : { state : e , mode : R } } , blankLine : l , getType : h , fold : "markdown" } ; return R } , "xml" ) , e . defineMIME ( "text/x-markdown" , "markdown" ) } ) } , { "../../lib/codemirror" : 10 , "../meta" : 13 , "../xml/xml" : 14 } ] , 13 : [ 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" ; e . modeInfo = [ { name : "APL" , mime : "text/apl" , mode : "apl" , ext : [ "dyalog" , "apl" ] } , { name : "PGP" , mimes : [ "application/pgp" , "application/pgp-keys" , "application/pgp-signature" ] , mode : "asciiarmor" , ext : [ "pgp" ] } , { name : "ASN.1" , mime : "text/x-ttcn-asn" , mode : "asn.1" , ext : [ "asn" , "asn1" ] } , { name : "Asterisk" , mime : "text/x-asterisk" , mode : "asterisk" , file : /^extensions\.conf$/i } , { name : "Brainfuck" , mime : "text/x-brainfuck" , mode : "brainfuck" , ext : [ "b" , "bf" ] } , { name : "C" , mime : "text/x-csrc" , mode : "clike" , ext : [ "c" , "h" ] } , { name : "C++" , mime : "text/x-c++src" , mode : "clike" , ext : [ "cpp" , "c++" , "cc" , "cxx" , "hpp" , "h++" , "hh" , "hxx" ] , alias : [ "cpp" ] } , { name : "Cobol" , mime : "text/x-cobol" , mode : "cobol" , ext : [ "cob" , "cpy" ] } , { name : "C#" , mime : "text/x-csharp" , mode : "clike" , ext : [ "cs" ] , alias : [ "csharp" ] } , { name : "Clojure" , mime : "text/x-clojure" , mode : "clojure" , ext : [ "clj" , "cljc" , "cljx" ] } , { name : "ClojureScript" , mime : "text/x-clojurescript" , mode : "clojure" , ext : [ "cljs" ] } , { name : "Closure Stylesheets (GSS)" , mime : "text/x-gss" , mode : "css" , ext : [ "gss" ] } , { name : "CMake" , mime : "text/x-cmake" , mode : "cmake" , ext : [ "cmake" , "cmake.in" ] , file : /^CMakeLists.txt$/ } , { name : "CoffeeScript" , mime : "text/x-coffeescript" , mode : "coffeescript" , ext : [ "coffee" ] , alias : [ "coffee" , "coffee-script" ] } , { name : "Common Lisp" , mime : "text/x-common-lisp" , mode : "commonlisp" , ext : [ "cl" , "lisp" , "el" ] , alias : [ "lisp" ] } , { name : "Cypher" , mime : "application/x-cypher-query" , mode : "cypher" , ext : [ "cyp" , "cypher" ] } , { name : "Cython" , mime : "text/x-cython" , mode : "python" , ext : [ "pyx" , "pxd" , "pxi" ] } , { name : "Crystal" , mime : "text/x-crystal" , mode : "crystal" , ext : [ "cr" ] } , { name : "CSS" , mime : "text/css" , mode : "css" , ext : [ "css" ] } , { name : "CQL" , mime : "text/x-cassandra" , mode : "sql" , ext : [ "cql" ] } , { name : "D" , mime : "text/x-d" , mode : "d" , ext : [ "d" ] } , { name : "Dart" , mimes : [ "application/dart" , "text/x-dart" ] , mode : "dart" , ext : [ "dart" ] } , { name : "diff" , mime : "text/x-diff" , mode : "diff" , ext : [ "diff" , "patch" ] } , { name : "Django" , mime : "text/x-django" , mode : "django" } , { name : "Dockerfile" , mime : "text/x-dockerfile" , mode : "dockerfile" , file : /^Dockerfile$/ } , { name : "DTD" , mime : "application/xml-dtd" , mode : "dtd" , ext : [ "dtd" ] } , { name : "Dylan" , mime : "text/x-dylan" , mode : "dylan" , ext : [ "dylan" , "dyl" , "intr" ] } , { name : "EBNF" , mime : "text/x-ebnf" , mode : "ebnf" } , { name : "ECL" , mime : "text/x-ecl" , mode : "ecl" , ext : [ "ecl" ] } , { name : "edn" , mime : "application/edn" , mode : "clojure" , ext : [ "edn" ] } , { name : "Eiffel" , mime : "text/x-eiffel" , mode : "eiffel" , ext : [ "e" ] } , { name : "Elm" , mime : "text/x-elm" , mode : "elm" , ext : [ "elm" ] } , { name : "Embedded Javascript" , mime : "application/x-ejs" , mode : "htmlembedded" , ext : [ "ejs" ] } , { name : "Embedded Ruby" , mime : "application/x-erb" , mode : "htmlembedded" , ext : [ "erb" ] } , { name : "Erlang" , mime : "text/x-erlang" , mode : "erlang" , ext : [ "erl" ] } , { name : "Factor" , mime : "text/x-factor" , mode : "factor" , ext : [ "factor" ] } , { name : "FCL" , mime : "text/x-fcl" , mode : "fcl" } , { name : "Forth" , mime : "text/x-forth" , mode : "forth" , ext : [ "forth" , "fth" , "4th" ] } , { name : "Fortran" , mime : "text/x-fortran" , mode : "fortran" , ext : [ "f" , "for" , "f77" , "f90" ] } , { name : "F#" , mime : "text/x-fsharp" , mode : "mllike" , ext : [ "fs" ] , alias : [ "fsharp" ] } , { name : "Gas" , mime : "text/x-gas" , mode : "gas" , ext : [ "s" ] } , { name Line truncated
w . unshift ( new t ( 0 , 0 , b [ 0 ] . length ) ) ) , 1 == Ii ( w ) . level && ( b = n . match ( /\s+$/ ) ) && ( Ii ( w ) . to -= b [ 0 ] . length , w . push ( new t ( 0 , u - b [ 0 ] . length , u ) ) ) , 2 == w [ 0 ] . level && w . unshift ( new t ( 1 , w [ 0 ] . to , w [ 0 ] . to ) ) , w [ 0 ] . level != Ii ( w ) . level && w . push ( new t ( w [ 0 ] . level , u , u ) ) , w } } ( ) ; return e . version = "5.15.2" , e } ) } , { } ] , 11 : [ function ( t , n , r ) { ! function ( i ) { "object" == typeof r && "object" == typeof n ? i ( t ( "../../lib/codemirror" ) , t ( "../markdown/markdown" ) , t ( "../../addon/mode/overlay" ) ) : "function" == typeof e && e . amd ? e ( [ "../../lib/codemirror" , "../markdown/markdown" , "../../addon/mode/overlay" ] , i ) : i ( CodeMirror ) } ( function ( e ) { "use strict" ; var t = /^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i ; e . defineMode ( "gfm" , function ( n , r ) { function i ( e ) { return e . code = ! 1 , null } var o = 0 , a = { startState : function ( ) { return { code : ! 1 , codeBlock : ! 1 , ateSpace : ! 1 } } , copyState : function ( e ) { return { code : e . code , codeBlock : e . codeBlock , ateSpace : e . ateSpace } } , token : function ( e , n ) { if ( n . combineTokens = null , n . codeBlock ) return e . match ( /^```+/ ) ? ( n . codeBlock = ! 1 , null ) : ( e . skipToEnd ( ) , null ) ; if ( e . sol ( ) && ( n . code = ! 1 ) , e . sol ( ) && e . match ( /^```+/ ) ) return e . skipToEnd ( ) , n . codeBlock = ! 0 , null ; if ( "`" === e . peek ( ) ) { e . next ( ) ; var i = e . pos ; e . eatWhile ( "`" ) ; var a = 1 + e . pos - i ; return n . code ? a === o && ( n . code = ! 1 ) : ( o = a , n . code = ! 0 ) , null } if ( n . code ) return e . next ( ) , null ; if ( e . eatSpace ( ) ) return n . ateSpace = ! 0 , null ; if ( ( e . sol ( ) || n . ateSpace ) && ( n . ateSpace = ! 1 , r . gitHubSpice !== ! 1 ) ) { if ( e . match ( /^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?:[a-f0-9]{7,40}\b)/ ) ) return n . combineTokens = ! 0 , "link" ; if ( e . match ( /^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/ ) ) return n . combineTokens = ! 0 , "link" } return e . match ( t ) && "](" != e . string . slice ( e . start - 2 , e . start ) && ( 0 == e . start || /\W/ . test ( e . string . charAt ( e . start - 1 ) ) ) ? ( n . combineTokens = ! 0 , "link" ) : ( e . next ( ) , null ) } , blankLine : i } , l = { underscoresBreakWords : ! 1 , taskLists : ! 0 , fencedCodeBlocks : "```" , strikethrough : ! 0 } ; for ( var s in r ) l [ s ] = r [ s ] ; return l . name = "markdown" , e . overlayMode ( e . getMode ( n , l ) , a ) } , "markdown" ) , e . defineMIME ( "text/x-gfm" , "gfm" ) } ) } , { "../../addon/mode/overlay" : 8 , "../../lib/codemirror" : 10 , "../markdown/markdown" : 12 } ] , 12 : [ function ( t , n , r ) { ! function ( i ) { "object" == typeof r && "object" == typeof n ? i ( t ( "../../lib/codemirror" ) , t ( "../xml/xml" ) , t ( "../meta" ) ) : "function" == typeof e && e . amd ? e ( [ "../../lib/codemirror" , "../xml/xml" , "../meta" ] , i ) : i ( CodeMirror ) } ( function ( e ) { "use strict" ; e . defineMode ( "markdown" , function ( t , n ) { function r ( n ) { if ( e . findModeByName ) { var r = e . findModeByName ( n ) ; r && ( n = r . mime || r . mimes [ 0 ] ) } var i = e . getMode ( t , n ) ; return "null" == i . name ? null : i } function i ( e , t , n ) { return t . f = t . inline = n , n ( e , t ) } function o ( e , t , n ) { return t . f = t . block = n , n ( e , t ) } function a ( e ) { return ! e || ! /\S/ . test ( e . string ) } function l ( e ) { return e . linkTitle = ! 1 , e . em = ! 1 , e . strong = ! 1 , e . strikethrough = ! 1 , e . quote = 0 , e . indentedCode = ! 1 , k && e . f == c && ( e . f = p , e . block = s ) , e . trailingSpace = 0 , e . trailingSpaceNewLine = ! 1 , e . prevLine = e . thisLine , e . thisLine = null , null } function s ( t , o ) { var l = t . sol ( ) , s = o . list !== ! 1 , c = o . indentedCode ; o . indentedCode = ! 1 , s && ( o . indentationDiff >= 0 ? ( o . indentationDiff < 4 && ( o . indentation -= o . indentationDiff ) , o . list = null ) : o . indentation > 0 ? o . list = null : o . list = ! 1 ) ; var f = null ; if ( o . indentationDiff >= 4 ) return t . skipToEnd ( ) , c || a ( o . prevLine ) ? ( o . indentation -= 4 , o . indentedCode = ! 0 , S . code ) : null ; if ( t . eatSpace ( ) ) return null ; if ( ( f = t . match ( A ) ) && f [ 1 ] . length <= 6 ) return o . header = f [ 1 ] . length , n . highlightFormatting && ( o . formatting = "header" ) , o . f = o . inline , h ( o ) ; if ( ! ( a ( o . prevLine ) || o . quote || s || c ) && ( f = t . match ( E ) ) ) return o . header = "=" == f [ 0 ] . charAt ( 0 ) ? 1 : 2 , n . highlightFormatting && ( o . formatting = "header" ) , o . f = o . inline , h ( o ) ; if ( t . eat ( ">" ) ) return o . quote = l ? 1 : o . quote + 1 , n . highlightFormatting && ( o . formatting = "quote" ) , t . eatSpace ( ) , h ( o ) ; if ( "[" === t . peek ( ) ) return i ( t , o , y ) ; if ( t . match ( L , ! 0 ) ) return o . hr = ! 0 , S . hr ; if ( ( a ( o . prevLine ) || s ) && ( t . match ( T , ! 1 ) || t . match ( M , ! 1 ) ) ) { var d = null ; for ( t . match ( T , ! 0 ) ? d = "ul" : ( t . match ( M , ! 0 ) , d = "ol" ) , o . indentation = t . column ( ) + t . current ( ) . length , o . list = ! 0 ; o . listStack && t . column ( ) < o . listStack [ o . listStack . length - 1 ] ; ) o . listStack . pop ( ) ; return o . listStack . push ( o . indent Line truncated
return "<h" + t + ' id="' + this . options . headerPrefix + n . toLowerCase ( ) . replace ( /[^\w]+/g , "-" ) + '">' + e + "</h" + t + ">\n" } , o . prototype . hr = function ( ) { return this . options . xhtml ? "<hr/>\n" : "<hr>\n" } , o . prototype . list = function ( e , t ) { var n = t ? "ol" : "ul" ; return "<" + n + ">\n" + e + "</" + n + ">\n" } , o . prototype . listitem = function ( e ) { return "<li>" + e + "</li>\n" } , o . prototype . paragraph = function ( e ) { return "<p>" + e + "</p>\n" } , o . prototype . table = function ( e , t ) { return "<table>\n<thead>\n" + e + "</thead>\n<tbody>\n" + t + "</tbody>\n</table>\n" } , o . prototype . tablerow = function ( e ) { return "<tr>\n" + e + "</tr>\n" } , o . prototype . tablecell = function ( e , t ) { var n = t . header ? "th" : "td" , r = t . align ? "<" + n + ' style="text-align:' + t . align + '">' : "<" + n + ">" ; return r + e + "</" + n + ">\n" } , o . prototype . strong = function ( e ) { return "<strong>" + e + "</strong>" } , o . prototype . em = function ( e ) { return "<em>" + e + "</em>" } , o . prototype . codespan = function ( e ) { return "<code>" + e + "</code>" } , o . prototype . br = function ( ) { return this . options . xhtml ? "<br/>" : "<br>" } , o . prototype . del = function ( e ) { return "<del>" + e + "</del>" } , o . prototype . link = function ( e , t , n ) { if ( this . options . sanitize ) { try { var r = decodeURIComponent ( s ( e ) ) . replace ( /[^\w:]/g , "" ) . toLowerCase ( ) } catch ( i ) { return "" } if ( 0 === r . indexOf ( "javascript:" ) || 0 === r . indexOf ( "vbscript:" ) ) return "" } var o = '<a href="' + e + '"' ; return t && ( o += ' title="' + t + '"' ) , o += ">" + n + "</a>" } , o . prototype . image = function ( e , t , n ) { var r = '<img src="' + e + '" alt="' + n + '"' ; return t && ( r += ' title="' + t + '"' ) , r += this . options . xhtml ? "/>" : ">" } , o . prototype . text = function ( e ) { return e } , a . parse = function ( e , t , n ) { var r = new a ( t , n ) ; return r . parse ( e ) } , a . prototype . parse = function ( e ) { this . inline = new i ( e . links , this . options , this . renderer ) , this . tokens = e . reverse ( ) ; for ( var t = "" ; this . next ( ) ; ) t += this . tok ( ) ; return t } , a . prototype . next = function ( ) { return this . token = this . tokens . pop ( ) } , a . prototype . peek = function ( ) { return this . tokens [ this . tokens . length - 1 ] || 0 } , a . prototype . parseText = function ( ) { for ( var e = this . token . text ; "text" === this . peek ( ) . type ; ) e += "\n" + this . next ( ) . text ; return this . inline . output ( e ) } , a . prototype . tok = function ( ) { switch ( this . token . type ) { case "space" : return "" ; case "hr" : return this . renderer . hr ( ) ; case "heading" : return this . renderer . heading ( this . inline . output ( this . token . text ) , this . token . depth , this . token . text ) ; case "code" : return this . renderer . code ( this . token . text , this . token . lang , this . token . escaped ) ; case "table" : var e , t , n , r , i , o = "" , a = "" ; for ( n = "" , e = 0 ; e < this . token . header . length ; e ++ ) r = { header : ! 0 , align : this . token . align [ e ] } , n += this . renderer . tablecell ( this . inline . output ( this . token . header [ e ] ) , { header : ! 0 , align : this . token . align [ e ] } ) ; for ( o += this . renderer . tablerow ( n ) , e = 0 ; e < this . token . cells . length ; e ++ ) { for ( t = this . token . cells [ e ] , n = "" , i = 0 ; i < t . length ; i ++ ) n += this . renderer . tablecell ( this . inline . output ( t [ i ] ) , { header : ! 1 , align : this . token . align [ i ] } ) ; a += this . renderer . tablerow ( n ) } return this . renderer . table ( o , a ) ; case "blockquote_start" : for ( var a = "" ; "blockquote_end" !== this . next ( ) . type ; ) a += this . tok ( ) ; return this . renderer . blockquote ( a ) ; case "list_start" : for ( var a = "" , l = this . token . ordered ; "list_end" !== this . next ( ) . type ; ) a += this . tok ( ) ; return this . renderer . list ( a , l ) ; case "list_item_start" : for ( var a = "" ; "list_item_end" !== this . next ( ) . type ; ) a += "text" === this . token . type ? this . parseText ( ) : this . tok ( ) ; return this . renderer . listitem ( a ) ; case "loose_item_start" : for ( var a = "" ; "list_item_end" !== this . next ( ) . type ; ) a += this . tok ( ) ; return this . renderer . listitem ( a ) ; case "html" : var s = this . token . pre || this . options . pedantic ? this . token . text : this . inline . output ( this . token . text ) ; return this . renderer . html ( s ) ; case "paragraph" : return this . renderer . paragraph ( this . inline . output ( this . token . text ) ) ; case "text" : return this . renderer . paragraph ( this . parseText ( ) ) } } , u . exec = u , h . options = h . setOptions = function ( e ) { return f ( h . defaults , e ) , h } , h . defaults = { gfm : ! 0 , tables : ! 0 , breaks : ! 1 , pedantic : ! 1 , sanitize : ! 1 , sanitizer : null , mangle : ! 0 , smartLists : ! 1 , silent : ! 1 , highlight : null , langPrefix : "lang-" , smartypants : ! 1 , headerPrefix : "" , renderer : new o , xhtml : ! 1 } , h . Parser = a , h . parser = a . parse , h . Renderer = o , h . Lexer = t , h . lexer = t . lex , h . InlineLexer = i , h . inlineLexer = i . output , h . parse = h , "undefined" != typeof n && "object" == typeof r ? n . exports = h : "function" == typeof e && e . amd ? e ( function ( ) { return h } ) : this . marked = h } ) . call ( function ( ) { return this || ( "undefined" != typeof window ? window : t ) } ( ) ) } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { } ] , 18 : [ function ( e , t , n ) { ( function ( n , r ) { "use strict" ; var i = function ( e , t , n , i ) { if ( i = i || { } , this . dictionary = null , this . rules = { } , this . dictionaryTable = { } , this . compoundRules = [ ] , this . compoundRuleCodes = { } , this . replacementTable = [ ] , this . flags = i . flags || { } , e ) { if ( this . dictionary = e , "undefined" != typeof window && "chrome" in window && "extension" in window . chrome && "getURL" in window . chrome . extension ) 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 { if ( i . dictionaryPath ) var o = i . dictionaryPath ; else if ( "undefined" != typeof r ) var o = r + "/dictionaries" ; else var o = "./dictionaries" ; t || ( t = this . _readFile ( o + "/" + e + "/" + e + ".aff" ) ) , n || ( n = t Line truncated
for ( t = Math . abs ( t ) , isNaN ( t ) || t === 1 / 0 ? ( l = isNaN ( t ) ? 1 : 0 , a = u ) : ( a = Math . floor ( Math . log ( t ) / Math . LN2 ) , t * ( s = Math . pow ( 2 , - a ) ) < 1 && ( a -- , s *= 2 ) , t += a + f >= 1 ? h / s : h * Math . pow ( 2 , 1 - f ) , t * s >= 2 && ( a ++ , s /= 2 ) , a + f >= u ? ( l = 0 , a = u ) : a + f >= 1 ? ( l = ( t * s - 1 ) * Math . pow ( 2 , i ) , a += f ) : ( l = t * Math . pow ( 2 , f - 1 ) * Math . pow ( 2 , i ) , a = 0 ) ) ; i >= 8 ; e [ n + d ] = 255 & l , d += p , l /= 256 , i -= 8 ) ; for ( a = a << i | l , c += i ; c > 0 ; e [ n + d ] = 255 & a , d += p , a /= 256 , c -= 8 ) ; e [ n + d - p ] |= 128 * m } } , { } ] , 16 : [ function ( e , t , n ) { var r = { } . toString ; t . exports = Array . isArray || function ( e ) { return "[object Array]" == r . call ( e ) } } , { } ] , 17 : [ function ( t , n , r ) { ( function ( t ) { ( function ( ) { function t ( e ) { this . tokens = [ ] , this . tokens . links = { } , this . options = e || h . defaults , this . rules = d . normal , this . options . gfm && ( this . options . tables ? this . rules = d . tables : this . rules = d . gfm ) } function i ( e , t ) { if ( this . options = t || h . defaults , this . links = e , this . rules = p . normal , this . renderer = this . options . renderer || new o , this . renderer . options = this . options , ! this . links ) throw new Error ( "Tokens array requires a `links` property." ) ; this . options . gfm ? this . options . breaks ? this . rules = p . breaks : this . rules = p . gfm : this . options . pedantic && ( this . rules = p . pedantic ) } function o ( e ) { this . options = e || { } } function a ( e ) { this . tokens = [ ] , this . token = null , this . options = e || h . defaults , this . options . renderer = this . options . renderer || new o , this . renderer = this . options . renderer , this . renderer . options = this . options } function l ( e , t ) { return e . replace ( t ? /&/g : /&(?!#?\w+;)/g , "&" ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) . replace ( /"/g , """ ) . replace ( /'/g , "'" ) } function s ( e ) { return e . replace ( /&([#\w]+);/g , function ( e , t ) { return t = t . toLowerCase ( ) , "colon" === t ? ":" : "#" === t . charAt ( 0 ) ? "x" === t . charAt ( 1 ) ? String . fromCharCode ( parseInt ( t . substring ( 2 ) , 16 ) ) : String . fromCharCode ( + t . substring ( 1 ) ) : "" } ) } function c ( e , t ) { return e = e . source , t = t || "" , function n ( r , i ) { return r ? ( i = i . source || i , i = i . replace ( /(^|[^\[])\^/g , "$1" ) , e = e . replace ( r , i ) , n ) : new RegExp ( e , t ) } } function u ( ) { } function f ( e ) { for ( var t , n , r = 1 ; r < arguments . length ; r ++ ) { t = arguments [ r ] ; for ( n in t ) Object . prototype . hasOwnProperty . call ( t , n ) && ( e [ n ] = t [ n ] ) } return e } function h ( e , n , r ) { if ( r || "function" == typeof n ) { r || ( r = n , n = null ) , n = f ( { } , h . defaults , n || { } ) ; var i , o , s = n . highlight , c = 0 ; try { i = t . lex ( e , n ) } catch ( u ) { return r ( u ) } o = i . length ; var d = function ( e ) { if ( e ) return n . highlight = s , r ( e ) ; var t ; try { t = a . parse ( i , n ) } catch ( o ) { e = o } return n . highlight = s , e ? r ( e ) : r ( null , t ) } ; if ( ! s || s . length < 3 ) return d ( ) ; if ( delete n . highlight , ! o ) return d ( ) ; for ( ; c < i . length ; c ++ ) ! function ( e ) { return "code" !== e . type ? -- o || d ( ) : s ( e . text , e . lang , function ( t , n ) { return t ? d ( t ) : null == n || n === e . text ? -- o || d ( ) : ( e . text = n , e . escaped = ! 0 , void ( -- o || d ( ) ) ) } ) } ( i [ c ] ) } else try { return n && ( n = f ( { } , h . defaults , n ) ) , a . parse ( t . lex ( e , n ) , n ) } catch ( u ) { if ( u . message += "\nPlease report this to https://github.com/chjj/marked." , ( n || h . defaults ) . silent ) return "<p>An error occured:</p><pre>" + l ( u . message + "" , ! 0 ) + "</pre>" ; throw u } } var d = { newline : /^\n+/ , code : /^( {4}[^\n]+\n*)+/ , fences : u , hr : /^( *[-*_]){3,} *(?:\n+|$)/ , heading : /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/ , nptable : u , lheading : /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/ , blockquote : /^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/ , list : /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/ , html : /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/ , def : /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/ , table : u , paragraph : /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/ , text : /^[^\n]+/ } ; d . bullet = /(?:[*+-]|\d+\.)/ , d . item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/ , d . item = c ( d . item , "gm" ) ( /bull/g , d . bullet ) ( ) , d . list = c ( d . list ) ( /bull/g , d . bullet ) ( "hr" , "\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))" ) ( "def" , "\\n+(?=" + d . def . source + ")" ) ( ) , d . blockquote = c ( d . blockquote ) ( "def" , d . def ) ( ) , d . _tag = "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b" , d . html = c ( d . html ) ( "comment" , /<!--[\s\S]*?-->/ ) ( "closed" , /<(tag)[\s\S]+?<\/\1>/ ) ( "closing" , /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/ ) ( /tag/g , d . _tag ) ( ) , d . paragraph = c ( d . paragraph ) ( "hr" , d . hr ) ( "heading" , d . heading ) ( "lheading" , d . lheading ) ( "blockquote" , d . blockquote ) ( "tag" , "<" + d . _tag ) ( "def" , d . def ) ( ) , d . normal = f ( { } , d ) , d . gfm = f ( { } , d . normal , { fences : /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/ , paragraph : /^/ , heading : /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/ } ) , d . gfm . paragraph = c ( d . paragraph ) ( "(?!" , "(?!" + d . gfm . fences . source . replace ( "\\1" , "\\2" ) + "|" + d . list . source . replace ( "\\1" , "\\3" ) + "|" ) ( ) , d . tables = f ( { } , d . gfm , { nptable : /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/ , table : /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/ } ) , t . rules = d , t . lex = function ( e , n ) { var r = new t ( n ) ; return r . lex ( e ) } , t . prototype . lex = function ( e ) { return e = e . replace ( /\r\n|\r/g , "\n" ) . replace ( /\t/g , " " ) . replace ( /\u00a0/g , " " ) . replace ( /\u2424/g , "\n" ) , this . token ( e , ! 0 ) } , t . prototype . token = function ( e , t , n ) { for ( var r , i , o , a , l , s , c , u , f , e = e . replace ( /^ +$/gm , "" ) ; e ; ) if ( ( o = this . rules . newline . exec ( e ) ) && ( e = e . substring ( o [ 0 ] . length ) , o [ 0 ] . length > 1 && this . tokens . push ( { type : "space" } ) ) , o = this . rules . code . exec ( e ) ) e = e . substring ( o [ 0 ] . length ) , o = o [ Line truncated
} ) , t . forceSync === ! 0 ) { var c = this . codemirror ; c . on ( "change" , function ( ) { c . save ( ) } ) } this . gui = { } , t . toolbar !== ! 1 && ( this . gui . toolbar = this . createToolbar ( ) ) , t . status !== ! 1 && ( this . gui . statusbar = this . createStatusbar ( ) ) , void 0 != t . autosave && t . autosave . enabled === ! 0 && this . autosave ( ) , this . gui . sideBySide = this . createSideBySide ( ) , this . _rendered = this . element ; var u = this . codemirror ; setTimeout ( function ( ) { u . refresh ( ) } . bind ( u ) , 0 ) } } , B . prototype . autosave = function ( ) { if ( _ ( ) ) { var e = this ; if ( void 0 == this . options . autosave . uniqueId || "" == this . options . autosave . uniqueId ) return void console . log ( "SimpleMDE: You must set a uniqueId to use the autosave feature" ) ; null != e . element . form && void 0 != e . element . form && e . element . form . addEventListener ( "submit" , function ( ) { localStorage . removeItem ( "smde_" + e . options . autosave . uniqueId ) } ) , this . options . autosave . loaded !== ! 0 && ( "string" == typeof localStorage . getItem ( "smde_" + this . options . autosave . uniqueId ) && "" != localStorage . getItem ( "smde_" + this . options . autosave . uniqueId ) && ( this . codemirror . setValue ( localStorage . getItem ( "smde_" + this . options . autosave . uniqueId ) ) , this . options . autosave . foundSavedValue = ! 0 ) , this . options . autosave . loaded = ! 0 ) , localStorage . setItem ( "smde_" + this . options . autosave . uniqueId , e . value ( ) ) ; var t = document . getElementById ( "autosaved" ) ; if ( null != t && void 0 != t && "" != t ) { var n = new Date , r = n . getHours ( ) , i = n . getMinutes ( ) , o = "am" , a = r ; a >= 12 && ( a = r - 12 , o = "pm" ) , 0 == a && ( a = 12 ) , i = 10 > i ? "0" + i : i , t . innerHTML = "Autosaved: " + a + ":" + i + " " + o } this . autosaveTimeoutId = setTimeout ( function ( ) { e . autosave ( ) } , this . options . autosave . delay || 1e4 ) } else console . log ( "SimpleMDE: localStorage not available, cannot autosave" ) } , B . prototype . clearAutosavedValue = function ( ) { if ( _ ( ) ) { if ( void 0 == this . options . autosave || void 0 == this . options . autosave . uniqueId || "" == this . options . autosave . uniqueId ) return void console . log ( "SimpleMDE: You must set a uniqueId to clear the autosave value" ) ; localStorage . removeItem ( "smde_" + this . options . autosave . uniqueId ) } else console . log ( "SimpleMDE: localStorage not available, cannot autosave" ) } , B . prototype . createSideBySide = function ( ) { var e = this . codemirror , t = e . getWrapperElement ( ) , n = t . nextSibling ; n && /editor-preview-side/ . test ( n . className ) || ( n = document . createElement ( "div" ) , n . className = "editor-preview-side" , t . parentNode . insertBefore ( n , t . nextSibling ) ) ; var r = ! 1 , i = ! 1 ; return e . on ( "scroll" , function ( e ) { if ( r ) return void ( r = ! 1 ) ; i = ! 0 ; var t = e . getScrollInfo ( ) . height - e . getScrollInfo ( ) . clientHeight , o = parseFloat ( e . getScrollInfo ( ) . top ) / t , a = ( n . scrollHeight - n . clientHeight ) * o ; n . scrollTop = a } ) , n . onscroll = function ( ) { if ( i ) return void ( i = ! 1 ) ; r = ! 0 ; var t = n . scrollHeight - n . clientHeight , o = parseFloat ( n . scrollTop ) / t , a = ( e . getScrollInfo ( ) . height - e . getScrollInfo ( ) . clientHeight ) * o ; e . scrollTo ( 0 , a ) } , n } , B . prototype . createToolbar = function ( e ) { if ( e = e || this . options . toolbar , e && 0 !== e . length ) { var t ; for ( t = 0 ; t < e . length ; t ++ ) void 0 != K [ e [ t ] ] && ( e [ t ] = K [ e [ t ] ] ) ; var n = document . createElement ( "div" ) ; n . className = "editor-toolbar" ; var r = this , a = { } ; for ( r . toolbar = e , t = 0 ; t < e . length ; t ++ ) if ( ( "guide" != e [ t ] . name || r . options . toolbarGuideIcon !== ! 1 ) && ! ( r . options . hideIcons && - 1 != r . options . hideIcons . indexOf ( e [ t ] . name ) || ( "fullscreen" == e [ t ] . name || "side-by-side" == e [ t ] . name ) && $ ( ) ) ) { if ( "|" === e [ t ] ) { for ( var s = ! 1 , c = t + 1 ; c < e . length ; c ++ ) "|" === e [ c ] || r . options . hideIcons && - 1 != r . options . hideIcons . indexOf ( e [ c ] . name ) || ( s = ! 0 ) ; if ( ! s ) continue } ! function ( e ) { var t ; t = "|" === e ? o ( ) : i ( e , r . options . toolbarTips , r . options . shortcuts ) , e . action && ( "function" == typeof e . action ? t . onclick = function ( t ) { t . preventDefault ( ) , e . action ( r ) } : "string" == typeof e . action && ( t . href = e . action , t . target = "_blank" ) ) , a [ e . name || e ] = t , n . appendChild ( t ) } ( e [ t ] ) } r . toolbarElements = a ; var u = this . codemirror ; u . on ( "cursorActivity" , function ( ) { var e = l ( u ) ; for ( var t in a ) ! function ( t ) { var n = a [ t ] ; e [ t ] ? n . className += " active" : "fullscreen" != t && "side-by-side" != t && ( n . className = n . className . replace ( /\s*active\s*/g , "" ) ) } ( t ) } ) ; var f = u . getWrapperElement ( ) ; return f . parentNode . insertBefore ( n , f ) , n } } , B . prototype . createStatusbar = function ( e ) { e = e || this . options . status ; var t = this . options , n = this . codemirror ; if ( e && 0 !== e . length ) { var r , i , o , a = [ ] ; for ( r = 0 ; r < e . length ; r ++ ) if ( i = void 0 , o = void 0 , "object" == typeof e [ r ] ) a . push ( { className : e [ r ] . className , defaultValue : e [ r ] . defaultValue , onUpdate : e [ r ] . onUpdate } ) ; else { var l = e [ r ] ; "words" === l ? ( o = function ( e ) { e . innerHTML = W ( n . getValue ( ) ) } , i = function ( e ) { e . innerHTML = W ( n . getValue ( ) ) } ) : "lines" === l ? ( o = function ( e ) { e . innerHTML = n . lineCount ( ) } , i = function ( e ) { e . innerHTML = n . lineCount ( ) } ) : "cursor" === l ? ( o = function ( e ) { e . innerHTML = "0:0" } , i = function ( e ) { var t = n . getCursor ( ) ; e . innerHTML = t . line + ":" + t . ch } ) : "autosave" === l && ( o = function ( e ) { void 0 != t . autosave && t . autosave . enabled === ! 0 && e . setAttribute ( "id" , "autosaved" ) } ) , a . push ( { className : l , defaultValue : o , onUpdate : i } ) } var s = document . createElement ( "div" ) ; for ( s . className = "editor-statusbar" , r = 0 ; r < a . length ; r ++ ) { var c = a [ r ] , u = document . createElement ( "span" ) ; u . className = c . className , "function" == typeof c . defaultValue && c . defaultValue ( u ) , "function" == typeof c . onUpdate && this . codemirror . on ( "update" , function ( e , t ) { return function ( ) { t . onUpdate ( e ) } } ( u , c ) ) , s . appendChild ( u ) } var f = this . codemirror . getWrap Line truncated
l . ch += o . length , l !== s && ( s . ch += o . length ) ) , e . setSelection ( l , s ) , e . focus ( ) } } function O ( 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 . substr ( o + 1 ) : "### " + i . substr ( o + 1 ) , e . replaceRange ( i , { line : r , ch : 0 } , { line : r , ch : 99999999999999 } ) } ( o ) ; e . focus ( ) } } function I ( e , t ) { if ( ! /editor-preview-active/ . test ( e . getWrapperElement ( ) . lastChild . className ) ) { for ( var n = l ( e ) , r = e . getCursor ( "start" ) , i = e . getCursor ( "end" ) , o = { quote : /^(\s*)\>\s+/ , "unordered-list" : /^(\s*)(\*|\-|\+)\s+/ , "ordered-list" : /^(\s*)\d+\.\s+/ } , a = { quote : "> " , "unordered-list" : "* " , "ordered-list" : "1. " } , s = r . line ; s <= i . line ; s ++ ) ! function ( r ) { var i = e . getLine ( r ) ; i = n [ t ] ? i . replace ( o [ t ] , "$1" ) : a [ t ] + i , e . replaceRange ( i , { line : r , ch : 0 } , { line : r , ch : 99999999999999 } ) } ( s ) ; e . focus ( ) } } function P ( e , t , n , r ) { if ( ! /editor-preview-active/ . test ( e . codemirror . getWrapperElement ( ) . lastChild . className ) ) { r = "undefined" == typeof r ? n : r ; var i , o = e . codemirror , a = l ( o ) , s = n , c = r , u = o . getCursor ( "start" ) , f = o . getCursor ( "end" ) ; a [ t ] ? ( i = o . getLine ( u . line ) , s = i . slice ( 0 , u . ch ) , c = i . slice ( u . ch ) , "bold" == t ? ( s = s . replace ( /(\*\*|__)(?![\s\S]*(\*\*|__))/ , "" ) , c = c . replace ( /(\*\*|__)/ , "" ) ) : "italic" == t ? ( s = s . replace ( /(\*|_)(?![\s\S]*(\*|_))/ , "" ) , c = c . replace ( /(\*|_)/ , "" ) ) : "strikethrough" == t && ( s = s . replace ( /(\*\*|~~)(?![\s\S]*(\*\*|~~))/ , "" ) , c = c . replace ( /(\*\*|~~)/ , "" ) ) , o . replaceRange ( s + c , { line : u . line , ch : 0 } , { line : u . line , ch : 99999999999999 } ) , "bold" == t || "strikethrough" == t ? ( u . ch -= 2 , u !== f && ( f . ch -= 2 ) ) : "italic" == t && ( u . ch -= 1 , u !== f && ( f . ch -= 1 ) ) ) : ( i = o . getSelection ( ) , "bold" == t ? ( i = i . split ( "**" ) . join ( "" ) , i = i . split ( "__" ) . join ( "" ) ) : "italic" == t ? ( i = i . split ( "*" ) . join ( "" ) , i = i . split ( "_" ) . join ( "" ) ) : "strikethrough" == t && ( i = i . split ( "~~" ) . join ( "" ) ) , o . replaceSelection ( s + i + c ) , u . ch += n . length , f . ch = u . ch + i . length ) , o . setSelection ( u , f ) , o . focus ( ) } } function R ( e ) { if ( ! /editor-preview-active/ . test ( e . getWrapperElement ( ) . lastChild . className ) ) for ( var t , n = e . getCursor ( "start" ) , r = e . getCursor ( "end" ) , i = n . line ; i <= r . line ; i ++ ) t = e . getLine ( i ) , t = t . replace ( /^[ ]*([# ]+|\*|\-|[> ]+|[0-9]+(.|\)))[ ]*/ , "" ) , e . replaceRange ( t , { line : i , ch : 0 } , { line : i , ch : 99999999999999 } ) } function D ( e , t ) { for ( var n in t ) t . hasOwnProperty ( n ) && ( t [ n ] instanceof Array ? e [ n ] = t [ n ] . concat ( e [ n ] instanceof Array ? e [ n ] : [ ] ) : null !== t [ n ] && "object" == typeof t [ n ] && t [ n ] . constructor === Object ? e [ n ] = D ( e [ n ] || { } , t [ n ] ) : e [ n ] = t [ n ] ) ; return e } function H ( e ) { for ( var t = 1 ; t < arguments . length ; t ++ ) e = D ( e , arguments [ t ] ) ; return e } function W ( e ) { var t = /[a-zA-Z0-9_\u0392-\u03c9\u0410-\u04F9]+|[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af]+/g , n = e . match ( t ) , r = 0 ; if ( null === n ) return r ; for ( var i = 0 ; i < n . length ; i ++ ) r += n [ i ] . charCodeAt ( 0 ) >= 19968 ? n [ i ] . length : 1 ; return r } function B ( e ) { e = e || { } , e . parent = this ; var t = ! 0 ; if ( e . autoDownloadFontAwesome === ! 1 && ( t = ! 1 ) , e . autoDownloadFontAwesome !== ! 0 ) for ( var n = document . styleSheets , r = 0 ; r < n . length ; r ++ ) n [ r ] . href && n [ r ] . href . indexOf ( "//maxcdn.bootstrapcdn.com/font-awesome/" ) > - 1 && ( t = ! 1 ) ; if ( t ) { var i = document . createElement ( "link" ) ; i . rel = "stylesheet" , i . href = "https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" , document . getElementsByTagName ( "head" ) [ 0 ] . appendChild ( i ) } if ( e . element ) this . element = e . element ; else if ( null === e . element ) return void console . log ( "SimpleMDE: Error. No element was found." ) ; if ( void 0 === e . toolbar ) { e . toolbar = [ ] ; for ( var o in K ) K . hasOwnProperty ( o ) && ( - 1 != o . indexOf ( "separator-" ) && e . toolbar . push ( "|" ) , ( K [ o ] . default === ! 0 || e . showIcons && e . showIcons . constructor === Array && - 1 != e . showIcons . indexOf ( o ) ) && e . toolbar . push ( o ) ) } e . hasOwnProperty ( "status" ) || ( e . status = [ "autosave" , "lines" , "words" , "cursor" ] ) , e . previewRender || ( e . previewRender = function ( e ) { return this . parent . markdown ( e ) } ) , e . parsingConfig = H ( { highlightFormatting : ! 0 } , e . parsingConfig || { } ) , e . insertTexts = H ( { } , X , e . insertTexts || { } ) , e . promptTexts = Z , e . blockStyles = H ( { } , J , e . blockStyles || { } ) , e . shortcuts = H ( { } , G , e . shortcuts || { } ) , void 0 != e . autosave && void 0 != e . autosave . unique _id && "" != e . autosave . unique _id && ( e . autosave . uniqueId = e . autosave . unique _id ) , this . options = e , this . render ( ) , ! e . initialValue || this . options . autosave && this . options . autosave . foundSavedValue === ! 0 || this . value ( e . initialValue ) } function _ ( ) { if ( "object" != typeof localStorage ) return ! 1 ; try { localStorage . setItem ( "smde_localStorage" , 1 ) , localStorage . removeItem ( "smde_localStorage" ) } catch ( e ) { return ! 1 } return ! 0 } var F = e ( "codemirror" ) ; e ( "codemirror/addon/edit/continuelist.js" ) , e ( "./codemirror/tablist" ) , e ( "codemirror/addon/display/fullscreen.js" ) , e ( "codemirror/mode/markdown/markdown.js" ) , e ( "codemirror/addon/mode/overlay.js" ) , e ( "codemirror/addon/display/placeholder.js" ) , e ( "codemirror/addon/selection/mark-selection.js" ) , e ( "codemirror/mode/gfm/gfm.js" ) , e ( "codemirror/mode/xml/xml.js" ) ; var z = e ( " codemirror - spell - check Line truncated
if ( "object" != typeof e || ! e ) return e ; var t ; if ( Array . isArray ( e ) ) { t = [ ] ; for ( var n = 0 ; n < e . length ; n ++ ) t [ n ] = s ( e [ n ] ) ; return t } if ( "[object Object]" !== Object . prototype . toString . call ( e ) ) return e ; t = { } ; for ( var n in e ) t [ n ] = s ( e [ n ] ) ; return t } , t . arrayToMap = function ( e ) { for ( var t = { } , n = 0 ; n < e . length ; n ++ ) t [ e [ n ] ] = 1 ; return t } , t . createMap = function ( e ) { var t = Object . create ( null ) ; for ( var n in e ) t [ n ] = e [ n ] ; return t } , t . arrayRemove = function ( e , t ) { for ( var n = 0 ; n <= e . length ; n ++ ) t === e [ n ] && e . splice ( n , 1 ) } , t . escapeRegExp = function ( e ) { return e . replace ( /([.*+?^${}()|[\]\/\\])/g , "\\$1" ) } , t . escapeHTML = function ( e ) { return e . replace ( /&/g , "&" ) . replace ( /"/g , """ ) . replace ( /'/g , "'" ) . replace ( /</g , "<" ) } , t . getMatchOffsets = function ( e , t ) { var n = [ ] ; return e . replace ( t , function ( e ) { n . push ( { offset : arguments [ arguments . length - 2 ] , length : e . length } ) } ) , n } , t . deferredCall = function ( e ) { var t = null , n = function ( ) { t = null , e ( ) } , r = function ( e ) { return r . cancel ( ) , t = setTimeout ( n , e || 0 ) , r } ; return r . schedule = r , r . call = function ( ) { return this . cancel ( ) , e ( ) , r } , r . cancel = function ( ) { return clearTimeout ( t ) , t = null , r } , r . isPending = function ( ) { return t } , r } , t . delayedCall = function ( e , t ) { var n = null , r = function ( ) { n = null , e ( ) } , i = function ( e ) { null == n && ( n = setTimeout ( r , e || t ) ) } ; return i . delay = function ( e ) { n && clearTimeout ( n ) , n = setTimeout ( r , e || t ) } , i . schedule = i , i . call = function ( ) { this . cancel ( ) , e ( ) } , i . cancel = function ( ) { n && clearTimeout ( n ) , n = null } , i . isPending = function ( ) { return n } , i } } ) , ace . define ( "ace/keyboard/textinput" , [ "require" , "exports" , "module" , "ace/lib/event" , "ace/lib/useragent" , "ace/lib/dom" , "ace/lib/lang" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../lib/event" ) , i = e ( "../lib/useragent" ) , s = e ( "../lib/dom" ) , o = e ( "../lib/lang" ) , u = i . isChrome < 18 , a = i . isIE , f = function ( e , t ) { function b ( e ) { if ( ! h ) { if ( h = ! 0 , k ) t = 0 , r = e ? 0 : n . value . length - 1 ; else var t = e ? 2 : 1 , r = 2 ; try { n . setSelectionRange ( t , r ) } catch ( i ) { } h = ! 1 } } function w ( ) { h || ( n . value = f , i . isWebKit && y . schedule ( ) ) } function R ( ) { clearTimeout ( q ) , q = setTimeout ( function ( ) { p && ( n . style . cssText = p , p = "" ) , null == t . renderer . $keepTextAreaAtCursor && ( t . renderer . $keepTextAreaAtCursor = ! 0 , t . renderer . $moveTextAreaToCursor ( ) ) } , i . isOldIE ? 200 : 0 ) } var n = s . createElement ( "textarea" ) ; n . className = "ace_text-input" , i . isTouchPad && n . setAttribute ( "x-palm-disable-auto-cap" , ! 0 ) , n . setAttribute ( "wrap" , "off" ) , n . setAttribute ( "autocorrect" , "off" ) , n . setAttribute ( "autocapitalize" , "off" ) , n . setAttribute ( "spellcheck" , ! 1 ) , n . style . opacity = "0" , i . isOldIE && ( n . style . top = "-1000px" ) , e . insertBefore ( n , e . firstChild ) ; var f = " " , l = ! 1 , c = ! 1 , h = ! 1 , p = "" , d = ! 0 ; try { var v = document . activeElement === n } catch ( m ) { } r . addListener ( n , "blur" , function ( e ) { t . onBlur ( e ) , v = ! 1 } ) , r . addListener ( n , "focus" , function ( e ) { v = ! 0 , t . onFocus ( e ) , b ( ) } ) , this . focus = function ( ) { if ( p ) return n . focus ( ) ; var e = n . style . top ; n . style . position = "fixed" , n . style . top = "0px" , n . focus ( ) , setTimeout ( function ( ) { n . style . position = "" , "0px" == n . style . top && ( n . style . top = e ) } , 0 ) } , this . blur = function ( ) { n . blur ( ) } , this . isFocused = function ( ) { return v } ; var g = o . delayedCall ( function ( ) { v && b ( d ) } ) , y = o . delayedCall ( function ( ) { h || ( n . value = f , v && b ( ) ) } ) ; i . isWebKit || t . addEventListener ( "changeSelection" , function ( ) { t . selection . isEmpty ( ) != d && ( d = ! d , g . schedule ( ) ) } ) , w ( ) , v && t . onFocus ( ) ; var E = function ( e ) { return 0 === e . selectionStart && e . selectionEnd === e . value . length } ; if ( ! n . setSelectionRange && n . createTextRange && ( n . setSelectionRange = function ( e , t ) { var n = this . createTextRange ( ) ; n . collapse ( ! 0 ) , n . moveStart ( "character" , e ) , n . moveEnd ( "character" , t ) , n . select ( ) } , E = function ( e ) { try { var t = e . ownerDocument . selection . createRange ( ) } catch ( n ) { } return ! ( ! t || t . parentElement ( ) != e ) && t . text == e . value } ) , i . isOldIE ) { var S = ! 1 , x = function ( e ) { if ( ! S ) { var t = n . value ; if ( ! h && t && t != f ) return e && t == f [ 0 ] ? T . schedule ( ) : ( A ( t ) , S = ! 0 , w ( ) , S = ! 1 , void 0 ) } } , T = o . delayedCall ( x ) ; r . addListener ( n , "propertychange" , x ) ; var N = { 13 : 1 , 27 : 1 } ; r . addListener ( n , "keyup" , function ( e ) { return h && ( ! n . value || N [ e . keyCode ] ) && setTimeout ( F , 0 ) , ( n . value . charCodeAt ( 0 ) || 0 ) < 129 ? T . call ( ) : void ( h ? j ( ) : B ( ) ) } ) , r . addListener ( n , "keydown" , function ( e ) { T . schedule ( 50 ) } ) } var C = function ( e ) { l ? l = ! 1 : E ( n ) ? ( t . selectAll ( ) , b ( ) ) : k && b ( t . selection . isEmpty ( ) ) } , k = null ; this . setInputHandler = function ( e ) { k = e } , this . getInputHandler = function ( ) { return k } ; var L = ! 1 , A = function ( e ) { k && ( e = k ( e ) , k = null ) , c ? ( b ( ) , e && t . onPaste ( e ) , c = ! 1 ) : e == f . charAt ( 0 ) ? L ? t . execCommand ( "del" , { source : "ace" } ) : t . execCommand ( "backspace" , { source : "ace" } ) : ( e . substring ( 0 , 2 ) == f ? e = e . substr ( 2 ) : e . charAt ( 0 ) == f . charAt ( 0 ) ? e = e . substr ( 1 ) : e . charAt ( e . length - 1 ) == f . charAt ( 0 ) && ( e = e . slice ( 0 , - 1 ) ) , e . charAt ( e . length - 1 ) == f . charAt ( 0 ) && ( e = e . slice ( 0 , - 1 ) ) , e && t . onTextInput ( e ) ) , L && ( L = ! 1 ) } , O = function ( e ) { if ( ! h ) { var t = n . value ; A ( t ) , w ( ) } } , M = function ( e , t , n ) { var r = e . clipboardData || window . clipboardData ; if ( r && ! u ) { var i = a || n ? "Text" : "text/plain" ; try { return t ? r . setData ( i , t ) !== ! 1 : r . getData ( i ) } catch ( e ) { if ( ! n ) return M ( e , t , ! 0 ) } } } , _ = function ( e , i ) { var s = t . getCopyText ( ) ; return s ? void ( M ( e , s ) ? ( i ? t . onCut ( ) : t . onCopy ( ) , r . preventDefault ( e ) ) : ( l = ! 0 , n . value = s , n . select ( ) , setTimeout ( function ( ) { l = ! 1 , w ( ) , b ( ) , i ? t . onCut ( ) : t . onCopy ( ) } ) ) ) : r . preventDefault ( e ) } , D = function ( e ) { _ ( e , ! 0 ) } , P = function ( e ) { _ ( e , ! 1 ) } , H = function ( e ) { var s = M ( e ) ; "string" == typeof s ? ( s && t . onPaste ( s , e ) , i . is Line truncated
e ( "./regexp" ) , e ( "./es5-shim" ) } ) , ace . define ( "ace/lib/dom" , [ "require" , "exports" , "module" ] , function ( e , t , n ) { "use strict" ; var r = "http://www.w3.org/1999/xhtml" ; return t . getDocumentHead = function ( e ) { return e || ( e = document ) , e . head || e . getElementsByTagName ( "head" ) [ 0 ] || e . documentElement } , t . createElement = function ( e , t ) { return document . createElementNS ? document . createElementNS ( t || r , e ) : document . createElement ( e ) } , t . hasCssClass = function ( e , t ) { var n = ( e . className + "" ) . split ( /\s+/g ) ; return n . indexOf ( t ) !== - 1 } , t . addCssClass = function ( e , n ) { t . hasCssClass ( e , n ) || ( e . className += " " + n ) } , t . removeCssClass = function ( e , t ) { for ( var n = e . className . split ( /\s+/g ) ; ; ) { var r = n . indexOf ( t ) ; if ( r == - 1 ) break ; n . splice ( r , 1 ) } e . className = n . join ( " " ) } , t . toggleCssClass = function ( e , t ) { for ( var n = e . className . split ( /\s+/g ) , r = ! 0 ; ; ) { var i = n . indexOf ( t ) ; if ( i == - 1 ) break ; r = ! 1 , n . splice ( i , 1 ) } return r && n . push ( t ) , e . className = n . join ( " " ) , r } , t . setCssClass = function ( e , n , r ) { r ? t . addCssClass ( e , n ) : t . removeCssClass ( e , n ) } , t . hasCssString = function ( e , t ) { var r , n = 0 ; if ( t = t || document , t . createStyleSheet && ( r = t . styleSheets ) ) { for ( ; n < r . length ; ) if ( r [ n ++ ] . owningElement . id === e ) return ! 0 } else if ( r = t . getElementsByTagName ( "style" ) ) for ( ; n < r . length ; ) if ( r [ n ++ ] . id === e ) return ! 0 ; return ! 1 } , t . importCssString = function ( n , r , i ) { if ( i = i || document , r && t . hasCssString ( r , i ) ) return null ; var s ; r && ( n += "\n/*# sourceURL=ace/css/" + r + " */" ) , i . createStyleSheet ? ( s = i . createStyleSheet ( ) , s . cssText = n , r && ( s . owningElement . id = r ) ) : ( s = t . createElement ( "style" ) , s . appendChild ( i . createTextNode ( n ) ) , r && ( s . id = r ) , t . getDocumentHead ( i ) . appendChild ( s ) ) } , t . importCssStylsheet = function ( e , n ) { if ( n . createStyleSheet ) n . createStyleSheet ( e ) ; else { var r = t . createElement ( "link" ) ; r . rel = "stylesheet" , r . href = e , t . getDocumentHead ( n ) . appendChild ( r ) } } , t . getInnerWidth = function ( e ) { return parseInt ( t . computedStyle ( e , "paddingLeft" ) , 10 ) + parseInt ( t . computedStyle ( e , "paddingRight" ) , 10 ) + e . clientWidth } , t . getInnerHeight = function ( e ) { return parseInt ( t . computedStyle ( e , "paddingTop" ) , 10 ) + parseInt ( t . computedStyle ( e , "paddingBottom" ) , 10 ) + e . clientHeight } , t . scrollbarWidth = function ( e ) { var n = t . createElement ( "ace_inner" ) ; n . style . width = "100%" , n . style . minWidth = "0px" , n . style . height = "200px" , n . style . display = "block" ; var r = t . createElement ( "ace_outer" ) , i = r . style ; i . position = "absolute" , i . left = "-10000px" , i . overflow = "hidden" , i . width = "200px" , i . minWidth = "0px" , i . height = "150px" , i . display = "block" , r . appendChild ( n ) ; var s = e . documentElement ; s . appendChild ( r ) ; var o = n . offsetWidth ; i . overflow = "scroll" ; var u = n . offsetWidth ; return o == u && ( u = r . clientWidth ) , s . removeChild ( r ) , o - u } , "undefined" == typeof document ? void ( t . importCssString = function ( ) { } ) : ( void 0 !== window . pageYOffset ? ( t . getPageScrollTop = function ( ) { return window . pageYOffset } , t . getPageScrollLeft = function ( ) { return window . pageXOffset } ) : ( t . getPageScrollTop = function ( ) { return document . body . scrollTop } , t . getPageScrollLeft = function ( ) { return document . body . scrollLeft } ) , window . getComputedStyle ? t . computedStyle = function ( e , t ) { return t ? ( window . getComputedStyle ( e , "" ) || { } ) [ t ] || "" : window . getComputedStyle ( e , "" ) || { } } : t . computedStyle = function ( e , t ) { return t ? e . currentStyle [ t ] : e . currentStyle } , t . setInnerHtml = function ( e , t ) { var n = e . cloneNode ( ! 1 ) ; return n . innerHTML = t , e . parentNode . replaceChild ( n , e ) , n } , "textContent" in document . documentElement ? ( t . setInnerText = function ( e , t ) { e . textContent = t } , t . getInnerText = function ( e ) { return e . textContent } ) : ( t . setInnerText = function ( e , t ) { e . innerText = t } , t . getInnerText = function ( e ) { return e . innerText } ) , t . getParentWindow = function ( e ) { return e . defaultView || e . parentWindow } , void 0 ) } ) , ace . define ( "ace/lib/oop" , [ "require" , "exports" , "module" ] , function ( e , t , n ) { "use strict" ; t . inherits = function ( e , t ) { e . super _ = t , e . prototype = Object . create ( t . prototype , { constructor : { value : e , enumerable : ! 1 , writable : ! 0 , configurable : ! 0 } } ) } , t . mixin = function ( e , t ) { for ( var n in t ) e [ n ] = t [ n ] ; return e } , t . implement = function ( e , n ) { t . mixin ( e , n ) } } ) , ace . define ( "ace/lib/keys" , [ "require" , "exports" , "module" , "ace/lib/fixoldbrowsers" , "ace/lib/oop" ] , function ( e , t , n ) { "use strict" ; e ( "./fixoldbrowsers" ) ; var r = e ( "./oop" ) , i = function ( ) { var t , n , e = { MODIFIER _KEYS : { 16 : "Shift" , 17 : "Ctrl" , 18 : "Alt" , 224 : "Meta" } , KEY _MODS : { ctrl : 1 , alt : 2 , option : 2 , shift : 4 , super : 8 , meta : 8 , command : 8 , cmd : 8 } , FUNCTION _KEYS : { 8 : "Backspace" , 9 : "Tab" , 13 : "Return" , 19 : "Pause" , 27 : "Esc" , 32 : "Space" , 33 : "PageUp" , 34 : "PageDown" , 35 : "End" , 36 : "Home" , 37 : "Left" , 38 : "Up" , 39 : "Right" , 40 : "Down" , 44 : "Print" , 45 : "Insert" , 46 : "Delete" , 96 : "Numpad0" , 97 : "Numpad1" , 98 : "Numpad2" , 99 : "Numpad3" , 100 : "Numpad4" , 101 : "Numpad5" , 102 : "Numpad6" , 103 : "Numpad7" , 104 : "Numpad8" , 105 : "Numpad9" , "-13" : "NumpadEnter" , 112 : "F1" , 113 : "F2" , 114 : "F3" , 115 : "F4" , 116 : "F5" , 117 : "F6" , 118 : "F7" , 119 : "F8" , 120 : "F9" , 121 : "F10" , 122 : "F11" , 123 : "F12" , 144 : "Numlock" , 145 : "Scrolllock" } , PRINTABLE _KEYS : { 32 : " " , 48 : "0" , 49 : "1" , 50 : "2" , 51 : "3" , 52 : "4" , 53 : "5" , 54 : "6" , 55 : "7" , 56 : "8" , 57 : "9" , 59 : ";" , 61 : "=" , 65 : "a" , 66 : "b" , 67 : "c" , 68 : "d" , 69 : "e" , 70 : "f" , 71 : "g" , 72 : "h" , 73 : "i" , 74 : "j" , 75 : "k" , 76 : "l" , 77 : "m" , 78 : "n" , 79 : "o" , 80 : "p" , 81 : "q" , 82 : "r" , 83 : "s" , 84 : "t" , 85 : "u" , 86 : "v" , 87 : "w" , 88 : "x" , 89 : "y" , 90 : "z" , 107 : "+" , 109 : "-" , 110 : "." , 186 : ";" , 187 : "=" , 188 : "," , 189 : "-" , 190 : "." , 191 : "/" , 192 : "`" , 219 : "[" , 220 : "\\" , 221 : "]" , Line truncated
r . addMouseWheelListener ( e . container , this . onMouseWheel . bind ( this , "mousewheel" ) ) , r . addTouchMoveListener ( e . container , this . onTouchMove . bind ( this , "touchmove" ) ) ; var f = e . renderer . $gutter ; r . addListener ( f , "mousedown" , this . onMouseEvent . bind ( this , "guttermousedown" ) ) , r . addListener ( f , "click" , this . onMouseEvent . bind ( this , "gutterclick" ) ) , r . addListener ( f , "dblclick" , this . onMouseEvent . bind ( this , "gutterdblclick" ) ) , r . addListener ( f , "mousemove" , this . onMouseEvent . bind ( this , "guttermousemove" ) ) , r . addListener ( u , "mousedown" , n ) , r . addListener ( f , "mousedown" , n ) , i . isIE && e . renderer . scrollBarV && ( r . addListener ( e . renderer . scrollBarV . element , "mousedown" , n ) , r . addListener ( e . renderer . scrollBarH . element , "mousedown" , n ) ) , e . on ( "mousemove" , function ( n ) { if ( ! t . state && ! t . $dragDelay && t . $dragEnabled ) { var r = e . renderer . screenToTextCoordinates ( n . x , n . y ) , i = e . session . selection . getRange ( ) , s = e . renderer ; ! i . isEmpty ( ) && i . insideStart ( r . row , r . column ) ? s . setCursorStyle ( "default" ) : s . setCursorStyle ( "" ) } } ) } ; ( function ( ) { this . onMouseEvent = function ( e , t ) { this . editor . _emit ( e , new u ( t , this . editor ) ) } , this . onMouseMove = function ( e , t ) { var n = this . editor . _eventRegistry && this . editor . _eventRegistry . mousemove ; n && n . length && this . editor . _emit ( e , new u ( t , this . editor ) ) } , this . onMouseWheel = function ( e , t ) { var n = new u ( t , this . editor ) ; n . speed = 2 * this . $scrollSpeed , n . wheelX = t . wheelX , n . wheelY = t . wheelY , this . editor . _emit ( e , n ) } , this . onTouchMove = function ( e , t ) { var n = new u ( t , this . editor ) ; n . speed = 1 , n . wheelX = t . wheelX , n . wheelY = t . wheelY , this . editor . _emit ( e , n ) } , this . setState = function ( e ) { this . state = e } , this . captureMouse = function ( e , t ) { this . x = e . x , this . y = e . y , this . isMousePressed = ! 0 ; var n = this . editor . renderer ; n . $keepTextAreaAtCursor && ( n . $keepTextAreaAtCursor = null ) ; var s = this , o = function ( e ) { if ( e ) return i . isWebKit && ! e . which && s . releaseMouse ? s . releaseMouse ( ) : ( s . x = e . clientX , s . y = e . clientY , t && t ( e ) , s . mouseEvent = new u ( e , s . editor ) , s . $mouseMoved = ! 0 , void 0 ) } , a = function ( e ) { clearInterval ( l ) , f ( ) , s [ s . state + "End" ] && s [ s . state + "End" ] ( e ) , s . state = "" , null == n . $keepTextAreaAtCursor && ( n . $keepTextAreaAtCursor = ! 0 , n . $moveTextAreaToCursor ( ) ) , s . isMousePressed = ! 1 , s . $onCaptureMouseMove = s . releaseMouse = null , e && s . onMouseEvent ( "mouseup" , e ) } , f = function ( ) { s [ s . state ] && s [ s . state ] ( ) , s . $mouseMoved = ! 1 } ; if ( i . isOldIE && "dblclick" == e . domEvent . type ) return setTimeout ( function ( ) { a ( e ) } ) ; s . $onCaptureMouseMove = o , s . releaseMouse = r . capture ( this . editor . container , o , a ) ; var l = setInterval ( f , 20 ) } , this . releaseMouse = null , this . cancelContextMenu = function ( ) { var e = function ( t ) { t && t . domEvent && "contextmenu" != t . domEvent . type || ( this . editor . off ( "nativecontextmenu" , e ) , t && t . domEvent && r . stopEvent ( t . domEvent ) ) } . bind ( this ) ; setTimeout ( e , 10 ) , this . editor . on ( "nativecontextmenu" , e ) } } ) . call ( l . prototype ) , f . defineOptions ( l . prototype , "mouseHandler" , { scrollSpeed : { initialValue : 2 } , dragDelay : { initialValue : i . isMac ? 150 : 0 } , dragEnabled : { initialValue : ! 0 } , focusTimout : { initialValue : 0 } , tooltipFollowsMouse : { initialValue : ! 0 } } ) , t . MouseHandler = l } ) , ace . define ( "ace/mouse/fold_handler" , [ "require" , "exports" , "module" ] , function ( e , t , n ) { "use strict" ; function r ( e ) { e . on ( "click" , function ( t ) { var n = t . getDocumentPosition ( ) , r = e . session , i = r . getFoldAt ( n . row , n . column , 1 ) ; i && ( t . getAccelKey ( ) ? r . removeFold ( i ) : r . expandFold ( i ) , t . stop ( ) ) } ) , e . on ( "gutterclick" , function ( t ) { var n = e . renderer . $gutterLayer . getRegion ( t ) ; if ( "foldWidgets" == n ) { var r = t . getDocumentPosition ( ) . row , i = e . session ; i . foldWidgets && i . foldWidgets [ r ] && e . session . onFoldWidgetClick ( r , t ) , e . isFocused ( ) || e . focus ( ) , t . stop ( ) } } ) , e . on ( "gutterdblclick" , function ( t ) { var n = e . renderer . $gutterLayer . getRegion ( t ) ; if ( "foldWidgets" == n ) { var r = t . getDocumentPosition ( ) . row , i = e . session , s = i . getParentFoldRangeData ( r , ! 0 ) , o = s . range || s . firstRange ; if ( o ) { r = o . start . row ; var u = i . getFoldAt ( r , i . getLine ( r ) . length , 1 ) ; u ? i . removeFold ( u ) : ( i . addFold ( "..." , o ) , e . renderer . scrollCursorIntoView ( { row : o . start . row , column : 0 } ) ) } t . stop ( ) } } ) } t . FoldHandler = r } ) , ace . define ( "ace/keyboard/keybinding" , [ "require" , "exports" , "module" , "ace/lib/keys" , "ace/lib/event" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../lib/keys" ) , i = e ( "../lib/event" ) , s = function ( e ) { this . $editor = e , this . $data = { editor : e } , this . $handlers = [ ] , this . setDefaultHandler ( e . commands ) } ; ( function ( ) { this . setDefaultHandler = function ( e ) { this . removeKeyboardHandler ( this . $defaultHandler ) , this . $defaultHandler = e , this . addKeyboardHandler ( e , 0 ) } , this . setKeyboardHandler = function ( e ) { var t = this . $handlers ; if ( t [ t . length - 1 ] != e ) { for ( ; t [ t . length - 1 ] && t [ t . length - 1 ] != this . $defaultHandler ; ) this . removeKeyboardHandler ( t [ t . length - 1 ] ) ; this . addKeyboardHandler ( e , 1 ) } } , this . addKeyboardHandler = function ( e , t ) { if ( e ) { "function" == typeof e && ! e . handleKeyboard && ( e . handleKeyboard = e ) ; var n = this . $handlers . indexOf ( e ) ; n != - 1 && this . $handlers . splice ( n , 1 ) , void 0 == t ? this . $handlers . push ( e ) : this . $handlers . splice ( t , 0 , e ) , n == - 1 && e . attach && e . attach ( this . $editor ) } } , this . removeKeyboardHandler = function ( e ) { var t = this . $handlers . indexOf ( e ) ; return t != - 1 && ( this . $handlers . splice ( t , 1 ) , e . detach && e . detach ( this . $editor ) , ! 0 ) } , this . getKeyboardHandler = function ( ) { return this . $handlers [ this . $handlers . length - 1 ] } , this . getStatusText = function ( ) { var e = this . $data , t = e . editor ; return this Line truncated
null == A && ( A = setTimeout ( function ( ) { null != A && h && L ( ) } , 20 ) ) } function M ( e ) { var t = e . types ; return ! t || Array . prototype . some . call ( t , function ( e ) { return "text/plain" == e || "Text" == e } ) } function _ ( e ) { var t = [ "copy" , "copymove" , "all" , "uninitialized" ] , n = [ "move" , "copymove" , "linkmove" , "all" , "uninitialized" ] , r = s . isMac ? e . altKey : e . ctrlKey , i = "uninitialized" ; try { i = e . dataTransfer . effectAllowed . toLowerCase ( ) } catch ( e ) { } var o = "none" ; return r && t . indexOf ( i ) >= 0 ? o = "copy" : n . indexOf ( i ) >= 0 ? o = "move" : t . indexOf ( i ) >= 0 && ( o = "copy" ) , o } var t = e . editor , n = r . createElement ( "img" ) ; n . src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" , s . isOpera && ( n . style . cssText = "width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;" ) ; var f = [ "dragWait" , "dragWaitEnd" , "startDrag" , "dragReadyEnd" , "onMouseDrag" ] ; f . forEach ( function ( t ) { e [ t ] = this [ t ] } , this ) , t . addEventListener ( "mousedown" , this . onMouseDown . bind ( e ) ) ; var h , p , d , v , m , g , b , w , E , S , x , c = t . container , y = 0 ; this . onDragStart = function ( e ) { if ( this . cancelDrag || ! c . draggable ) { var r = this ; return setTimeout ( function ( ) { r . startSelect ( ) , r . captureMouse ( e ) } , 0 ) , e . preventDefault ( ) } m = t . getSelectionRange ( ) ; var i = e . dataTransfer ; i . effectAllowed = t . getReadOnly ( ) ? "copy" : "copyMove" , s . isOpera && ( t . container . appendChild ( n ) , n . scrollTop = 0 ) , i . setDragImage && i . setDragImage ( n , 0 , 0 ) , s . isOpera && t . container . removeChild ( n ) , i . clearData ( ) , i . setData ( "Text" , t . session . getTextRange ( ) ) , w = ! 0 , this . setState ( "drag" ) } , this . onDragEnd = function ( e ) { if ( c . draggable = ! 1 , w = ! 1 , this . setState ( null ) , ! t . getReadOnly ( ) ) { var n = e . dataTransfer . dropEffect ; ! b && "move" == n && t . session . remove ( t . getSelectionRange ( ) ) , t . renderer . $cursorLayer . setBlinking ( ! 0 ) } this . editor . unsetStyle ( "ace_dragging" ) , this . editor . renderer . setCursorStyle ( "" ) } , this . onDragEnter = function ( e ) { if ( ! t . getReadOnly ( ) && M ( e . dataTransfer ) ) return p = e . clientX , d = e . clientY , h || k ( ) , y ++ , e . dataTransfer . dropEffect = b = _ ( e ) , i . preventDefault ( e ) } , this . onDragOver = function ( e ) { if ( ! t . getReadOnly ( ) && M ( e . dataTransfer ) ) return p = e . clientX , d = e . clientY , h || ( k ( ) , y ++ ) , null !== A && ( A = null ) , e . dataTransfer . dropEffect = b = _ ( e ) , i . preventDefault ( e ) } , this . onDragLeave = function ( e ) { if ( y -- , y <= 0 && h ) return L ( ) , b = null , i . preventDefault ( e ) } , this . onDrop = function ( e ) { if ( g ) { var n = e . dataTransfer ; if ( w ) switch ( b ) { case "move" : m = m . contains ( g . row , g . column ) ? { start : g , end : g } : t . moveText ( m , g ) ; break ; case "copy" : m = t . moveText ( m , g , ! 0 ) } else { var r = n . getData ( "Text" ) ; m = { start : g , end : t . session . insert ( g , r ) } , t . focus ( ) , b = null } return L ( ) , i . preventDefault ( e ) } } , i . addListener ( c , "dragstart" , this . onDragStart . bind ( e ) ) , i . addListener ( c , "dragend" , this . onDragEnd . bind ( e ) ) , i . addListener ( c , "dragenter" , this . onDragEnter . bind ( e ) ) , i . addListener ( c , "dragover" , this . onDragOver . bind ( e ) ) , i . addListener ( c , "dragleave" , this . onDragLeave . bind ( e ) ) , i . addListener ( c , "drop" , this . onDrop . bind ( e ) ) ; var A = null } function l ( e , t , n , r ) { return Math . sqrt ( Math . pow ( n - e , 2 ) + Math . pow ( r - t , 2 ) ) } var r = e ( "../lib/dom" ) , i = e ( "../lib/event" ) , s = e ( "../lib/useragent" ) , o = 200 , u = 200 , a = 5 ; ( function ( ) { this . dragWait = function ( ) { var e = Date . now ( ) - this . mousedownEvent . time ; e > this . editor . getDragDelay ( ) && this . startDrag ( ) } , this . dragWaitEnd = function ( ) { var e = this . editor . container ; e . draggable = ! 1 , this . startSelect ( this . mousedownEvent . getDocumentPosition ( ) ) , this . selectEnd ( ) } , this . dragReadyEnd = function ( e ) { this . editor . renderer . $cursorLayer . setBlinking ( ! this . editor . getReadOnly ( ) ) , this . editor . unsetStyle ( "ace_dragging" ) , this . editor . renderer . setCursorStyle ( "" ) , this . dragWaitEnd ( ) } , this . startDrag = function ( ) { this . cancelDrag = ! 1 ; var e = this . editor , t = e . container ; t . draggable = ! 0 , e . renderer . $cursorLayer . setBlinking ( ! 1 ) , e . setStyle ( "ace_dragging" ) ; var n = s . isWin ? "default" : "move" ; e . renderer . setCursorStyle ( n ) , this . setState ( "dragReady" ) } , this . onMouseDrag = function ( e ) { var t = this . editor . container ; if ( s . isIE && "dragReady" == this . state ) { var n = l ( this . mousedownEvent . x , this . mousedownEvent . y , this . x , this . y ) ; n > 3 && t . dragDrop ( ) } if ( "dragWait" === this . state ) { var n = l ( this . mousedownEvent . x , this . mousedownEvent . y , this . x , this . y ) ; n > 0 && ( t . draggable = ! 1 , this . startSelect ( this . mousedownEvent . getDocumentPosition ( ) ) ) } } , this . onMouseDown = function ( e ) { if ( this . $dragEnabled ) { this . mousedownEvent = e ; var t = this . editor , n = e . inSelection ( ) , r = e . getButton ( ) , i = e . domEvent . detail || 1 ; if ( 1 === i && 0 === r && n ) { if ( e . editor . inMultiSelectMode && ( e . getAccelKey ( ) || e . getShiftKey ( ) ) ) return ; this . mousedownEvent . time = Date . now ( ) ; var o = e . domEvent . target || e . domEvent . srcElement ; if ( "unselectable" in o && ( o . unselectable = "on" ) , t . getDragDelay ( ) ) { if ( s . isWebKit ) { this . cancelDrag = ! 0 ; var u = t . container ; u . draggable = ! 0 } this . setState ( "dragWait" ) } else this . startDrag ( ) ; this . captureMouse ( e , this . onMouseDrag . bind ( this ) ) , e . defaultPrevented = ! 0 } } } } ) . call ( f . prototype ) , t . DragdropHandler = f } ) , ace . define ( "ace/lib/net" , [ "require" , "exports" , "module" , "ace/lib/dom" ] , function ( e , t , n ) { "use strict" ; var r = e ( "./dom" ) ; t . get = function ( e , t ) { var n = new XMLHttpRequest ; n . open ( "GET" , e , ! 0 ) , n . onreadystatechange = function ( ) { 4 === n . readyState && t ( n . responseText ) } , n . send ( null ) } , t . loadScript = function ( e , t ) { var n = r . getDocumentHead ( ) , i = document . createElement ( "script" ) ; i . src = e , n . appendChild ( i ) , i . onload = i . onread Line truncated
if ( ! i . isMultiLine ( ) && "(" == s ) { c ( n ) ; var o = r . doc . getLine ( i . start . row ) , u = o . substring ( i . start . column + 1 , i . start . column + 2 ) ; if ( ")" == u ) return i . end . column ++ , i } } ) , this . add ( "brackets" , "insertion" , function ( e , t , n , r , i ) { if ( "[" == i ) { c ( n ) ; var s = n . getSelectionRange ( ) , o = r . doc . getTextRange ( s ) ; if ( "" !== o && n . getWrapBehavioursEnabled ( ) ) return h ( s , o , "[" , "]" ) ; if ( p . isSaneInsertion ( n , r ) ) return p . recordAutoInsert ( n , r , "]" ) , { text : "[]" , selection : [ 1 , 1 ] } } else if ( "]" == i ) { c ( n ) ; var u = n . getCursorPosition ( ) , a = r . doc . getLine ( u . row ) , f = a . substring ( u . column , u . column + 1 ) ; if ( "]" == f ) { var l = r . $findOpeningBracket ( "]" , { column : u . column + 1 , row : u . row } ) ; if ( null !== l && p . isAutoInsertedClosing ( u , a , i ) ) return p . popAutoInsertedClosing ( ) , { text : "" , selection : [ 1 , 1 ] } } } } ) , this . add ( "brackets" , "deletion" , function ( e , t , n , r , i ) { var s = r . doc . getTextRange ( i ) ; if ( ! i . isMultiLine ( ) && "[" == s ) { c ( n ) ; var o = r . doc . getLine ( i . start . row ) , u = o . substring ( i . start . column + 1 , i . start . column + 2 ) ; if ( "]" == u ) return i . end . column ++ , i } } ) , this . add ( "string_dquotes" , "insertion" , function ( e , t , n , r , i ) { if ( '"' == i || "'" == i ) { if ( this . lineCommentStart && this . lineCommentStart . indexOf ( i ) != - 1 ) return ; c ( n ) ; var s = i , o = n . getSelectionRange ( ) , u = r . doc . getTextRange ( o ) ; if ( "" !== u && "'" !== u && '"' != u && n . getWrapBehavioursEnabled ( ) ) return h ( o , u , s , s ) ; if ( ! u ) { var a = n . getCursorPosition ( ) , f = r . doc . getLine ( a . row ) , l = f . substring ( a . column - 1 , a . column ) , p = f . substring ( a . column , a . column + 1 ) , d = r . getTokenAt ( a . row , a . column ) , v = r . getTokenAt ( a . row , a . column + 1 ) ; if ( "\\" == l && d && /escape/ . test ( d . type ) ) return null ; var y , m = d && /string|escape/ . test ( d . type ) , g = ! v || /string|escape/ . test ( v . type ) ; if ( p == s ) y = m !== g , y && /string\.end/ . test ( v . type ) && ( y = ! 1 ) ; else { if ( m && ! g ) return null ; if ( m && g ) return null ; var b = r . $mode . tokenRe ; b . lastIndex = 0 ; var w = b . test ( l ) ; b . lastIndex = 0 ; var E = b . test ( l ) ; if ( w || E ) return null ; if ( p && ! /[\s;,.})\]\\]/ . test ( p ) ) return null ; y = ! 0 } return { text : y ? s + s : "" , selection : [ 1 , 1 ] } } } } ) , this . add ( "string_dquotes" , "deletion" , function ( e , t , n , r , i ) { var s = r . doc . getTextRange ( i ) ; if ( ! i . isMultiLine ( ) && ( '"' == s || "'" == s ) ) { c ( n ) ; var o = r . doc . getLine ( i . start . row ) , u = o . substring ( i . start . column + 1 , i . start . column + 2 ) ; if ( u == s ) return i . end . column ++ , i } } ) } ; p . isSaneInsertion = function ( e , t ) { var n = e . getCursorPosition ( ) , r = new s ( t , n . row , n . column ) ; if ( ! this . $matchTokenType ( r . getCurrentToken ( ) || "text" , u ) ) { var i = new s ( t , n . row , n . column + 1 ) ; if ( ! this . $matchTokenType ( i . getCurrentToken ( ) || "text" , u ) ) return ! 1 } return r . stepForward ( ) , r . getCurrentTokenRow ( ) !== n . row || this . $matchTokenType ( r . getCurrentToken ( ) || "text" , a ) } , p . $matchTokenType = function ( e , t ) { return t . indexOf ( e . type || e ) > - 1 } , p . recordAutoInsert = function ( e , t , n ) { var r = e . getCursorPosition ( ) , i = t . doc . getLine ( r . row ) ; this . isAutoInsertedClosing ( r , i , f . autoInsertedLineEnd [ 0 ] ) || ( f . autoInsertedBrackets = 0 ) , f . autoInsertedRow = r . row , f . autoInsertedLineEnd = n + i . substr ( r . column ) , f . autoInsertedBrackets ++ } , p . recordMaybeInsert = function ( e , t , n ) { var r = e . getCursorPosition ( ) , i = t . doc . getLine ( r . row ) ; this . isMaybeInsertedClosing ( r , i ) || ( f . maybeInsertedBrackets = 0 ) , f . maybeInsertedRow = r . row , f . maybeInsertedLineStart = i . substr ( 0 , r . column ) + n , f . maybeInsertedLineEnd = i . substr ( r . column ) , f . maybeInsertedBrackets ++ } , p . isAutoInsertedClosing = function ( e , t , n ) { return f . autoInsertedBrackets > 0 && e . row === f . autoInsertedRow && n === f . autoInsertedLineEnd [ 0 ] && t . substr ( e . column ) === f . autoInsertedLineEnd } , p . isMaybeInsertedClosing = function ( e , t ) { return f . maybeInsertedBrackets > 0 && e . row === f . maybeInsertedRow && t . substr ( e . column ) === f . maybeInsertedLineEnd && t . substr ( 0 , e . column ) == f . maybeInsertedLineStart } , p . popAutoInsertedClosing = function ( ) { f . autoInsertedLineEnd = f . autoInsertedLineEnd . substr ( 1 ) , f . autoInsertedBrackets -- } , p . clearMaybeInsertedClosing = function ( ) { f && ( f . maybeInsertedBrackets = 0 , f . maybeInsertedRow = - 1 ) } , r . inherits ( p , i ) , t . CstyleBehaviour = p } ) , ace . define ( "ace/unicode" , [ "require" , "exports" , "module" ] , function ( e , t , n ) { "use strict" ; function r ( e ) { var n = /\w{4}/g ; for ( var r in e ) t . packages [ r ] = e [ r ] . replace ( n , "\\u$&" ) } t . packages = { } , r ( { L : " 0041 - 005 A0061 - 007 A00AA00B500BA00C0 - 00 D600D8 - 00 F600F8 - 02 C102C6 - 02 D102E0 - 02E402 EC02EE0370 - 037403760377037 A - 037 D03860388 - 038 A038C038E - 03 A103A3 - 03 F503F7 - 0481048 A - 05250531 - 055605590561 - 058705 D0 - 05 EA05F0 - 05 F20621 - 064 A066E066F0671 - 06 D306D506E506E606EE06EF06FA - 06 FC06FF07100712 - 072 F074D - 07 A507B107CA - 07 EA07F407F507FA0800 - 0815081 A082408280904 - 0939093 D09500958 - 0961097109720979 - 097 F0985 - 098 C098F09900993 - 09 A809AA - 09 B009B209B6 - 09 B909BD09CE09DC09DD09DF - 09E109 F009F10A05 - 0 A0A0A0F0A100A13 - 0 A280A2A - 0 A300A320A330A350A360A380A390A59 - 0 A5C0A5E0A72 - 0 A740A85 - 0 A8D0A8F - 0 A910A93 - 0 AA80AAA - 0 AB00AB20AB30AB5 - 0 AB90ABD0AD00AE00AE10B05 - 0B0 C0B0F0B100B13 - 0 B280B2A - 0 B300B320B330B35 - 0 B390B3D0B5C0B5D0B5F - 0 B610B710B830B85 - 0 B8A0B8E - 0 B900B92 - 0 B950B990B9A0B9C0B9E0B9F0BA30BA40BA8 - 0 BAA0BAE - 0 BB90BD00C05 - 0 C0C0C0E - 0 C100C12 - 0 C280C2A - 0 C330C35 - 0 C390C3D0C580C590C600C610C85 - 0 C8C0C8E - 0 C900C92 - 0 CA80CAA - 0 CB30CB5 - 0 CB90CBD0CDE0CE00CE10D05 - 0 D0C0D0E - 0 D100D12 - 0 D280D2A - 0 D390D3D0D600D610D7A - 0 D7F0D85 - 0 D960D9A - 0 DB10DB3 - 0 DBB0DBD0DC0 - 0 DC60E01 - 0E300 E320E330E40 - 0E460 E810E820E840E870E880E8A0E8D0E94 - 0E970 E99 - 0E9 F0EA1 - 0 EA30EA50EA70EAA0EAB0EAD - 0 EB00EB20EB30EBD0EC0 - 0 EC40EC60EDC0EDD0F000F40 - 0 F470F49 - 0 F6C0F Line truncated
e . cursor = this . isBackwards ( ) ? e . start : e . end , e . desiredColumn = this . $desiredColumn , e } , this . getRangeOfMovements = function ( e ) { var t = this . getCursor ( ) ; try { e ( this ) ; var n = this . getCursor ( ) ; return o . fromPoints ( t , n ) } catch ( r ) { return o . fromPoints ( t , t ) } finally { this . moveCursorToPosition ( t ) } } , this . toJSON = function ( ) { if ( this . rangeCount ) var e = this . ranges . map ( function ( e ) { var t = e . clone ( ) ; return t . isBackwards = e . cursor == e . start , t } ) ; else { var e = this . getRange ( ) ; e . isBackwards = this . isBackwards ( ) } return e } , this . fromJSON = function ( e ) { if ( void 0 == e . start ) { if ( this . rangeList ) { this . toSingleRange ( e [ 0 ] ) ; for ( var t = e . length ; t -- ; ) { var n = o . fromPoints ( e [ t ] . start , e [ t ] . end ) ; e [ t ] . isBackwards && ( n . cursor = n . start ) , this . addRange ( n , ! 0 ) } return } e = e [ 0 ] } this . rangeList && this . toSingleRange ( e ) , this . setSelectionRange ( e , e . isBackwards ) } , this . isEqual = function ( e ) { if ( ( e . length || this . rangeCount ) && e . length != this . rangeCount ) return ! 1 ; if ( ! e . length || ! this . ranges ) return this . getRange ( ) . isEqual ( e ) ; for ( var t = this . ranges . length ; t -- ; ) if ( ! this . ranges [ t ] . isEqual ( e [ t ] ) ) return ! 1 ; return ! 0 } } ) . call ( u . prototype ) , t . Selection = u } ) , ace . define ( "ace/tokenizer" , [ "require" , "exports" , "module" , "ace/config" ] , function ( e , t , n ) { "use strict" ; var r = e ( "./config" ) , i = 2e3 , s = function ( e ) { this . states = e , this . regExps = { } , this . matchMappings = { } ; for ( var t in this . states ) { for ( var n = this . states [ t ] , r = [ ] , i = 0 , s = this . matchMappings [ t ] = { defaultToken : "text" } , o = "g" , u = [ ] , a = 0 ; a < n . length ; a ++ ) { var f = n [ a ] ; if ( f . defaultToken && ( s . defaultToken = f . defaultToken ) , f . caseInsensitive && ( o = "gi" ) , null != f . regex ) { f . regex instanceof RegExp && ( f . regex = f . regex . toString ( ) . slice ( 1 , - 1 ) ) ; var l = f . regex , c = new RegExp ( "(?:(" + l + ")|(.))" ) . exec ( "a" ) . length - 2 ; Array . isArray ( f . token ) ? 1 == f . token . length || 1 == c ? f . token = f . token [ 0 ] : c - 1 != f . token . length ? ( this . reportError ( "number of classes and regexp groups doesn't match" , { rule : f , groupCount : c - 1 } ) , f . token = f . token [ 0 ] ) : ( f . tokenArray = f . token , f . token = null , f . onMatch = this . $arrayTokens ) : "function" == typeof f . token && ! f . onMatch && ( c > 1 ? f . onMatch = this . $applyToken : f . onMatch = f . token ) , c > 1 && ( /\\\d/ . test ( f . regex ) ? l = f . regex . replace ( /\\([0-9]+)/g , function ( e , t ) { return "\\" + ( parseInt ( t , 10 ) + i + 1 ) } ) : ( c = 1 , l = this . removeCapturingGroups ( f . regex ) ) , ! f . splitRegex && "string" != typeof f . token && u . push ( f ) ) , s [ i ] = a , i += c , r . push ( l ) , f . onMatch || ( f . onMatch = null ) } } r . length || ( s [ 0 ] = 0 , r . push ( "$" ) ) , u . forEach ( function ( e ) { e . splitRegex = this . createSplitterRegexp ( e . regex , o ) } , this ) , this . regExps [ t ] = new RegExp ( "(" + r . join ( ")|(" ) + ")|($)" , o ) } } ; ( function ( ) { this . $setMaxTokenCount = function ( e ) { i = 0 | e } , this . $applyToken = function ( e ) { var t = this . splitRegex . exec ( e ) . slice ( 1 ) , n = this . token . apply ( this , t ) ; if ( "string" == typeof n ) return [ { type : n , value : e } ] ; for ( var r = [ ] , i = 0 , s = n . length ; i < s ; i ++ ) t [ i ] && ( r [ r . length ] = { type : n [ i ] , value : t [ i ] } ) ; return r } , this . $arrayTokens = function ( e ) { if ( ! e ) return [ ] ; var t = this . splitRegex . exec ( e ) ; if ( ! t ) return "text" ; for ( var n = [ ] , r = this . tokenArray , i = 0 , s = r . length ; i < s ; i ++ ) t [ i + 1 ] && ( n [ n . length ] = { type : r [ i ] , value : t [ i + 1 ] } ) ; return n } , this . removeCapturingGroups = function ( e ) { var t = e . replace ( /\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g , function ( e , t ) { return t ? "(?:" : e } ) ; return t } , this . createSplitterRegexp = function ( e , t ) { if ( e . indexOf ( "(?=" ) != - 1 ) { var n = 0 , r = ! 1 , i = { } ; e . replace ( /(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g , function ( e , t , s , o , u , a ) { return r ? r = "]" != u : u ? r = ! 0 : o ? ( n == i . stack && ( i . end = a + 1 , i . stack = - 1 ) , n -- ) : s && ( n ++ , 1 != s . length && ( i . stack = n , i . start = a ) ) , e } ) , null != i . end && /^\)*$/ . test ( e . substr ( i . end ) ) && ( e = e . substring ( 0 , i . start ) + e . substr ( i . end ) ) } return "^" != e . charAt ( 0 ) && ( e = "^" + e ) , "$" != e . charAt ( e . length - 1 ) && ( e += "$" ) , new RegExp ( e , ( t || "" ) . replace ( "g" , "" ) ) } , this . getLineTokens = function ( e , t ) { if ( t && "string" != typeof t ) { var n = t . slice ( 0 ) ; t = n [ 0 ] , "#tmp" === t && ( n . shift ( ) , t = n . shift ( ) ) } else var n = [ ] ; var r = t || "start" , s = this . states [ r ] ; s || ( r = "start" , s = this . states [ r ] ) ; var o = this . matchMappings [ r ] , u = this . regExps [ r ] ; u . lastIndex = 0 ; for ( var a , f = [ ] , l = 0 , c = 0 , h = { type : null , value : "" } ; a = u . exec ( e ) ; ) { var p = o . defaultToken , d = null , v = a [ 0 ] , m = u . lastIndex ; if ( m - v . length > l ) { var g = e . substring ( l , m - v . length ) ; h . type == p ? h . value += g : ( h . type && f . push ( h ) , h = { type : p , value : g } ) } for ( var y = 0 ; y < a . length - 2 ; y ++ ) if ( void 0 !== a [ y + 1 ] ) { d = s [ o [ y ] ] , p = d . onMatch ? d . onMatch ( v , r , n ) : d . token , d . next && ( r = "string" == typeof d . next ? d . next : d . next ( r , n ) , s = this . states [ r ] , s || ( this . reportError ( "state doesn't exist" , r ) , r = "start" , s = this . states [ r ] ) , o = this . matchMappings [ r ] , l = m , u = this . regExps [ r ] , u . lastIndex = m ) ; break } if ( v ) if ( "string" == typeof p ) d && d . merge === ! 1 || h . type !== p ? ( h . type && f . push ( h ) , h = { type : p , value : v } ) : h . value += v ; else if ( p ) { h . type && f . push ( h ) , h = { type : null , value : "" } ; for ( var y = 0 ; y < p . length ; y ++ ) f . push ( p [ y ] ) } if ( l == e . length ) break ; if ( l = m , c ++ > i ) { for ( c > 2 * e . length && this . reportError ( "infinite loop with in ace tokenizer" , { startState : t , line : e } ) ; l < e . length ; ) h . type && f . push ( h ) , h = { value : e . substring ( l , l += 2e3 ) , type : "overflow" } ; r = "start" , n = [ ] ; break } } return h . type && f . push ( h ) , n . length > 1 && n [ 0 ] !== r && n . unshift ( "#tmp" , r ) , { tokens : f , state : n . length ? n : r } } , this . reportError = r . reportError } ) . call ( s . prototype ) , t . Tokenizer = s } ) , ace . define ( "ace/mode/text_highlight_rules" , [ "require" , "exports" , "module" , "ace/lib/lang" ] , function ( e , t , n ) { "use strict" ; var Line truncated
var c , h , s = new a ( t , r . row , r . column ) , o = s . getCurrentToken ( ) , l = ( t . selection , t . selection . toOrientedRange ( ) ) ; if ( o && /comment/ . test ( o . type ) ) { for ( var p , d ; o && /comment/ . test ( o . type ) ; ) { var v = o . value . indexOf ( i . start ) ; if ( v != - 1 ) { var m = s . getCurrentTokenRow ( ) , g = s . getCurrentTokenColumn ( ) + v ; p = new f ( m , g , m , g + i . start . length ) ; break } o = s . stepBackward ( ) } for ( var s = new a ( t , r . row , r . column ) , o = s . getCurrentToken ( ) ; o && /comment/ . test ( o . type ) ; ) { var v = o . value . indexOf ( i . end ) ; if ( v != - 1 ) { var m = s . getCurrentTokenRow ( ) , g = s . getCurrentTokenColumn ( ) + v ; d = new f ( m , g , m , g + i . end . length ) ; break } o = s . stepForward ( ) } d && t . remove ( d ) , p && ( t . remove ( p ) , c = p . start . row , h = - i . start . length ) } else h = i . start . length , c = n . start . row , t . insert ( n . end , i . end ) , t . insert ( n . start , i . start ) ; l . start . row == c && ( l . start . column += h ) , l . end . row == c && ( l . end . column += h ) , t . selection . fromOrientedRange ( l ) } } , this . getNextLineIndent = function ( e , t , n ) { return this . $getIndent ( t ) } , this . checkOutdent = function ( e , t , n ) { return ! 1 } , this . autoOutdent = function ( e , t , n ) { } , this . $getIndent = function ( e ) { return e . match ( /^\s*/ ) [ 0 ] } , this . createWorker = function ( e ) { return null } , this . createModeDelegates = function ( e ) { this . $embeds = [ ] , this . $modes = { } ; for ( var t in e ) e [ t ] && ( this . $embeds . push ( t ) , this . $modes [ t ] = new e [ t ] ) ; for ( var n = [ "toggleBlockComment" , "toggleCommentLines" , "getNextLineIndent" , "checkOutdent" , "autoOutdent" , "transformAction" , "getCompletions" ] , t = 0 ; t < n . length ; t ++ ) ( function ( e ) { var r = n [ t ] , i = e [ r ] ; e [ n [ t ] ] = function ( ) { return this . $delegator ( r , arguments , i ) } } ) ( this ) } , this . $delegator = function ( e , t , n ) { var r = t [ 0 ] ; "string" != typeof r && ( r = r [ 0 ] ) ; for ( var i = 0 ; i < this . $embeds . length ; i ++ ) if ( this . $modes [ this . $embeds [ i ] ] ) { var s = r . split ( this . $embeds [ i ] ) ; if ( ! s [ 0 ] && s [ 1 ] ) { t [ 0 ] = s [ 1 ] ; var o = this . $modes [ this . $embeds [ i ] ] ; return o [ e ] . apply ( o , t ) } } var u = n . apply ( this , t ) ; return n ? u : void 0 } , this . transformAction = function ( e , t , n , r , i ) { if ( this . $behaviour ) { var s = this . $behaviour . getBehaviours ( ) ; for ( var o in s ) if ( s [ o ] [ t ] ) { var u = s [ o ] [ t ] . apply ( this , arguments ) ; if ( u ) return u } } } , this . getKeywords = function ( e ) { if ( ! this . completionKeywords ) { var t = this . $tokenizer . rules , n = [ ] ; for ( var r in t ) for ( var i = t [ r ] , s = 0 , o = i . length ; s < o ; s ++ ) if ( "string" == typeof i [ s ] . token ) / keyword | support | storage / . test ( i [ s ] . token ) && n . push ( i [ s ] . regex ) ; else if ( "object" == typeof i [ s ] . token ) for ( var u = 0 , a = i [ s ] . token . length ; u < a ; u ++ ) if ( /keyword|support|storage/ . test ( i [ s ] . token [ u ] ) ) { var r = i [ s ] . regex . match ( /\(.+?\)/g ) [ u ] ; n . push ( r . substr ( 1 , r . length - 2 ) ) } this . completionKeywords = n } return e ? n . concat ( this . $keywordList || [ ] ) : this . $keywordList } , this . $createKeywordList = function ( ) { return this . $highlightRules || this . getTokenizer ( ) , this . $keywordList = this . $highlightRules . $keywordList || [ ] } , this . getCompletions = function ( e , t , n , r ) { var i = this . $keywordList || this . $createKeywordList ( ) ; return i . map ( function ( e ) { return { name : e , value : e , score : 0 , meta : "keyword" } } ) } , this . $id = "ace/mode/text" } ) . call ( l . prototype ) , t . Mode = l } ) , ace . define ( "ace/apply_delta" , [ "require" , "exports" , "module" ] , function ( e , t , n ) { "use strict" ; function r ( e , t ) { throw console . log ( "Invalid Delta:" , e ) , "Invalid Delta: " + t } function i ( e , t ) { return t . row >= 0 && t . row < e . length && t . column >= 0 && t . column <= e [ t . row ] . length } t . applyDelta = function ( e , t , n ) { var r = t . start . row , i = t . start . column , s = e [ r ] || "" ; switch ( t . action ) { case "insert" : var o = t . lines ; if ( 1 === o . length ) e [ r ] = s . substring ( 0 , i ) + t . lines [ 0 ] + s . substring ( i ) ; else { var u = [ r , 1 ] . concat ( t . lines ) ; e . splice . apply ( e , u ) , e [ r ] = s . substring ( 0 , i ) + e [ r ] , e [ r + t . lines . length - 1 ] += s . substring ( i ) } break ; case "remove" : var a = t . end . column , f = t . end . row ; r === f ? e [ r ] = s . substring ( 0 , i ) + s . substring ( a ) : e . splice ( r , f - r + 1 , s . substring ( 0 , i ) + e [ f ] . substring ( a ) ) } } } ) , ace . define ( "ace/anchor" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/event_emitter" ] , function ( e , t , n ) { "use strict" ; var r = e ( "./lib/oop" ) , i = e ( "./lib/event_emitter" ) . EventEmitter , s = t . Anchor = function ( e , t , n ) { this . $onChange = this . onChange . bind ( this ) , this . attach ( e ) , "undefined" == typeof n ? this . setPosition ( t . row , t . column ) : this . setPosition ( t , n ) } ; ( function ( ) { function e ( e , t , n ) { var r = n ? e . column <= t . column : e . column < t . column ; return e . row < t . row || e . row == t . row && r } function t ( t , n , r ) { var i = "insert" == t . action , s = ( i ? 1 : - 1 ) * ( t . end . row - t . start . row ) , o = ( i ? 1 : - 1 ) * ( t . end . column - t . start . column ) , u = t . start , a = i ? u : t . end ; return e ( n , u , r ) ? { row : n . row , column : n . column } : e ( a , n , ! r ) ? { row : n . row + s , column : n . column + ( n . row == a . row ? o : 0 ) } : { row : u . row , column : u . column } } r . implement ( this , i ) , this . getPosition = function ( ) { return this . $clipPositionToDocument ( this . row , this . column ) } , this . getDocument = function ( ) { return this . document } , this . $insertRight = ! 1 , this . onChange = function ( e ) { if ( ! ( e . start . row == e . end . row && e . start . row != this . row || e . start . row > this . row ) ) { var n = t ( e , { row : this . row , column : this . column } , this . $insertRight ) ; this . setPosition ( n . row , n . column , ! 0 ) } } , this . setPosition = function ( e , t , n ) { var r ; if ( r = n ? { row : e , column : t } : this . $clipPositionToDocument ( e , t ) , this . row != r . row || this . column != r . column ) { var i = { row : this . row , column : this . column } ; this . row = r . row , this . column = r . column , this . _signal ( "change" , { old : i , value : r } ) } } , this . detach = function ( ) { this . document . removeEventListener ( "change" , this . $onChange ) } , this . attach = function ( e ) { this . document = e || this . Line truncated
Pd : "002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D" , Ps : "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62" , Pe : "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63" , Pi : "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20" , Pf : "00BB2019201D203A2E032E052E0A2E0D2E1D2E21" , Pc : "005F203F20402054FE33FE34FE4D-FE4FFF3F" , Po : "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65" , S : "0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD" , Sm : "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC" , Sc : "002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6" , Sk : "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3" , So : "00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD" , Z : "002000A01680180E2000-200A20282029202F205F3000" , Zs : "002000A01680180E2000-200A202F205F3000" , Zl : "2028" , Zp : "2029" , C : " 0000 - 001 F007F - 009 F00AD03780379037F - 0383038 B038D03A20526 - 05300557055805600588058 B - 059005 C8 - 05 CF05EB - 05 EF05F5 - 0605061 C061D0620065F06DD070E070F074B074C07B2 - 07 BF07FB - 07 FF082E082F083F - 08 FF093A093B094F095609570973 - 097809800984098 D098E0991099209A909B109B3 - 09 B509BA09BB09C509C609C909CA09CF - 09 D609D8 - 09 DB09DE09E409E509FC - 0 A000A040A0B - 0 A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43 - 0 A460A490A4A0A4E - 0 A500A52 - 0 A580A5D0A5F - 0 A650A76 - 0 A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1 - 0 ADF0AE40AE50AF00AF2 - 0B000 B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E - 0 B550B58 - 0 B5B0B5E0B640B650B72 - 0 B810B840B8B - 0 B8D0B910B96 - 0 B980B9B0B9D0BA0 - 0 BA20BA5 - 0 BA70BAB - 0 BAD0BB Line truncated
this . foldAll ( a , f , t . all ? 1e4 : 0 ) } else t . children ? ( f = o ? o . end . row : this . getLength ( ) , this . foldAll ( e + 1 , f , t . all ? 1e4 : 0 ) ) : o && ( t . all && ( o . collapseChildren = 1e4 ) , this . addFold ( "..." , o ) ) ; return o } } , this . toggleFoldWidget = function ( e ) { var t = this . selection . getCursor ( ) . row ; t = this . getRowFoldStart ( t ) ; var n = this . $toggleFoldWidget ( t , { } ) ; if ( ! n ) { var r = this . getParentFoldRangeData ( t , ! 0 ) ; if ( n = r . range || r . firstRange ) { t = n . start . row ; var i = this . getFoldAt ( t , this . getLine ( t ) . length , 1 ) ; i ? this . removeFold ( i ) : this . addFold ( "..." , n ) } } } , this . updateFoldWidgets = function ( e ) { var t = e . start . row , n = e . end . row - t ; if ( 0 === n ) this . foldWidgets [ t ] = null ; else if ( "remove" == e . action ) this . foldWidgets . splice ( t , n + 1 , null ) ; else { var r = Array ( n + 1 ) ; r . unshift ( t , 1 ) , this . foldWidgets . splice . apply ( this . foldWidgets , r ) } } , this . tokenizerUpdateFoldWidgets = function ( e ) { var t = e . data ; t . first != t . last && this . foldWidgets . length > t . first && this . foldWidgets . splice ( t . first , this . foldWidgets . length ) } } var r = e ( "../range" ) . Range , i = e ( "./fold_line" ) . FoldLine , s = e ( "./fold" ) . Fold , o = e ( "../token_iterator" ) . TokenIterator ; t . Folding = u } ) , ace . define ( "ace/edit_session/bracket_match" , [ "require" , "exports" , "module" , "ace/token_iterator" , "ace/range" ] , function ( e , t , n ) { "use strict" ; function s ( ) { this . findMatchingBracket = function ( e , t ) { if ( 0 == e . column ) return null ; var n = t || this . getLine ( e . row ) . charAt ( e . column - 1 ) ; if ( "" == n ) return null ; var r = n . match ( /([\(\[\{])|([\)\]\}])/ ) ; return r ? r [ 1 ] ? this . $findClosingBracket ( r [ 1 ] , e ) : this . $findOpeningBracket ( r [ 2 ] , e ) : null } , this . getBracketRange = function ( e ) { var r , t = this . getLine ( e . row ) , n = ! 0 , s = t . charAt ( e . column - 1 ) , o = s && s . match ( /([\(\[\{])|([\)\]\}])/ ) ; if ( o || ( s = t . charAt ( e . column ) , e = { row : e . row , column : e . column + 1 } , o = s && s . match ( /([\(\[\{])|([\)\]\}])/ ) , n = ! 1 ) , ! o ) return null ; if ( o [ 1 ] ) { var u = this . $findClosingBracket ( o [ 1 ] , e ) ; if ( ! u ) return null ; r = i . fromPoints ( e , u ) , n || ( r . end . column ++ , r . start . column -- ) , r . cursor = r . end } else { var u = this . $findOpeningBracket ( o [ 2 ] , e ) ; if ( ! u ) return null ; r = i . fromPoints ( u , e ) , n || ( r . start . column ++ , r . end . column -- ) , r . cursor = r . start } return r } , this . $brackets = { ")" : "(" , "(" : ")" , "]" : "[" , "[" : "]" , "{" : "}" , "}" : "{" } , this . $findOpeningBracket = function ( e , t , n ) { var i = this . $brackets [ e ] , s = 1 , o = new r ( this , t . row , t . column ) , u = o . getCurrentToken ( ) ; if ( u || ( u = o . stepForward ( ) ) , u ) { n || ( n = new RegExp ( "(\\.?" + u . type . replace ( "." , "\\." ) . replace ( "rparen" , ".paren" ) . replace ( /\b(?:end)\b/ , "(?:start|begin|end)" ) + ")+" ) ) ; for ( var a = t . column - o . getCurrentTokenColumn ( ) - 2 , f = u . value ; ; ) { for ( ; a >= 0 ; ) { var l = f . charAt ( a ) ; if ( l == i ) { if ( s -= 1 , 0 == s ) return { row : o . getCurrentTokenRow ( ) , column : a + o . getCurrentTokenColumn ( ) } } else l == e && ( s += 1 ) ; a -= 1 } do u = o . stepBackward ( ) ; while ( u && ! n . test ( u . type ) ) ; if ( null == u ) break ; f = u . value , a = f . length - 1 } return null } } , this . $findClosingBracket = function ( e , t , n ) { var i = this . $brackets [ e ] , s = 1 , o = new r ( this , t . row , t . column ) , u = o . getCurrentToken ( ) ; if ( u || ( u = o . stepForward ( ) ) , u ) { n || ( n = new RegExp ( "(\\.?" + u . type . replace ( "." , "\\." ) . replace ( "lparen" , ".paren" ) . replace ( /\b(?:start|begin)\b/ , "(?:start|begin|end)" ) + ")+" ) ) ; for ( var a = t . column - o . getCurrentTokenColumn ( ) ; ; ) { for ( var f = u . value , l = f . length ; a < l ; ) { var c = f . charAt ( a ) ; if ( c == i ) { if ( s -= 1 , 0 == s ) return { row : o . getCurrentTokenRow ( ) , column : a + o . getCurrentTokenColumn ( ) } } else c == e && ( s += 1 ) ; a += 1 } do u = o . stepForward ( ) ; while ( u && ! n . test ( u . type ) ) ; if ( null == u ) break ; a = 0 } return null } } } var r = e ( "../token_iterator" ) . TokenIterator , i = e ( "../range" ) . Range ; t . BracketMatch = s } ) , ace . define ( "ace/edit_session" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/lang" , "ace/config" , "ace/lib/event_emitter" , "ace/selection" , "ace/mode/text" , "ace/range" , "ace/document" , "ace/background_tokenizer" , "ace/search_highlight" , "ace/edit_session/folding" , "ace/edit_session/bracket_match" ] , function ( e , t , n ) { "use strict" ; var r = e ( "./lib/oop" ) , i = e ( "./lib/lang" ) , s = e ( "./config" ) , o = e ( "./lib/event_emitter" ) . EventEmitter , u = e ( "./selection" ) . Selection , a = e ( "./mode/text" ) . Mode , f = e ( "./range" ) . Range , l = e ( "./document" ) . Document , c = e ( "./background_tokenizer" ) . BackgroundTokenizer , h = e ( "./search_highlight" ) . SearchHighlight , p = function ( e , t ) { this . $breakpoints = [ ] , this . $decorations = [ ] , this . $frontMarkers = { } , this . $backMarkers = { } , this . $markerId = 1 , this . $undoSelect = ! 0 , this . $foldData = [ ] , this . id = "session" + ++ p . $uid , this . $foldData . toString = function ( ) { return this . join ( "\n" ) } , this . on ( "changeFold" , this . onChangeFold . bind ( this ) ) , this . $onChange = this . onChange . bind ( this ) , "object" == typeof e && e . getLine || ( e = new l ( e ) ) , this . setDocument ( e ) , this . selection = new u ( this ) , s . resetOptions ( this ) , this . setMode ( t ) , s . _signal ( "session" , this ) } ; ( function ( ) { function m ( e ) { return ! ( e < 4352 ) && ( e >= 4352 && e <= 4447 || e >= 4515 && e <= 4519 || e >= 4602 && e <= 4607 || e >= 9001 && e <= 9002 || e >= 11904 && e <= 11929 || e >= 11931 && e <= 12019 || e >= 12032 && e <= 12245 || e >= 12272 && e <= 12283 || e >= 12288 && e <= 12350 || e >= 12353 && e <= 12438 || e >= 12441 && e <= 12543 || e >= 12549 && e <= 12589 || e >= 12593 && e <= 12686 || e >= 12688 && e <= 12730 || e >= 12736 && e <= 12771 || e >= 12784 && e <= 12830 || e >= 12832 && e <= 12871 || e >= 12880 && e <= 13054 || e >= 13056 && e <= 19903 || e >= 19968 && e <= 42124 || e >= 42128 && e <= 42182 || e >= 43360 && e <= 43388 || e >= 44032 && e <= 55203 || e >= 55216 && e <= 55238 || e >= 55243 && e <= 55291 || e >= 63744 && e <= 64255 || e >= 65040 && e <= 65049 || e >= 65072 && e <= 65106 || Line truncated
if ( t >= 0 ) return this . ranges [ t ] } , this . clipRows = function ( e , t ) { var n = this . ranges ; if ( n [ 0 ] . start . row > t || n [ n . length - 1 ] . start . row < e ) return [ ] ; var r = this . pointIndex ( { row : e , column : 0 } ) ; r < 0 && ( r = - r - 1 ) ; var i = this . pointIndex ( { row : t , column : 0 } , r ) ; i < 0 && ( i = - i - 1 ) ; for ( var s = [ ] , o = r ; o < i ; o ++ ) s . push ( n [ o ] ) ; return s } , this . removeAll = function ( ) { return this . ranges . splice ( 0 , this . ranges . length ) } , this . attach = function ( e ) { this . session && this . detach ( ) , this . session = e , this . onChange = this . $onChange . bind ( this ) , this . session . on ( "change" , this . onChange ) } , this . detach = function ( ) { this . session && ( this . session . removeListener ( "change" , this . onChange ) , this . session = null ) } , this . $onChange = function ( e ) { if ( "insert" == e . action ) var t = e . start , n = e . end ; else var n = e . start , t = e . end ; for ( var r = t . row , i = n . row , s = i - r , o = - t . column + n . column , u = this . ranges , a = 0 , f = u . length ; a < f ; a ++ ) { var l = u [ a ] ; if ( ! ( l . end . row < r ) ) { if ( l . start . row > r ) break ; if ( l . start . row == r && l . start . column >= t . column && ( l . start . column != t . column || ! this . $insertRight ) && ( l . start . column += o , l . start . row += s ) , l . end . row == r && l . end . column >= t . column ) { if ( l . end . column == t . column && this . $insertRight ) continue ; l . end . column == t . column && o > 0 && a < f - 1 && l . end . column > l . start . column && l . end . column == u [ a + 1 ] . start . column && ( l . end . column -= o ) , l . end . column += o , l . end . row += s } } } if ( 0 != s && a < f ) for ( ; a < f ; a ++ ) { var l = u [ a ] ; l . start . row += s , l . end . row += s } } } ) . call ( s . prototype ) , t . RangeList = s } ) , ace . define ( "ace/edit_session/fold" , [ "require" , "exports" , "module" , "ace/range" , "ace/range_list" , "ace/lib/oop" ] , function ( e , t , n ) { "use strict" ; function u ( e , t ) { e . row -= t . row , 0 == e . row && ( e . column -= t . column ) } function a ( e , t ) { u ( e . start , t ) , u ( e . end , t ) } function f ( e , t ) { 0 == e . row && ( e . column += t . column ) , e . row += t . row } function l ( e , t ) { f ( e . start , t ) , f ( e . end , t ) } var i = ( e ( "../range" ) . Range , e ( "../range_list" ) . RangeList ) , s = e ( "../lib/oop" ) , o = t . Fold = function ( e , t ) { this . foldLine = null , this . placeholder = t , this . range = e , this . start = e . start , this . end = e . end , this . sameRow = e . start . row == e . end . row , this . subFolds = this . ranges = [ ] } ; s . inherits ( o , i ) , function ( ) { this . toString = function ( ) { return '"' + this . placeholder + '" ' + this . range . toString ( ) } , this . setFoldLine = function ( e ) { this . foldLine = e , this . subFolds . forEach ( function ( t ) { t . setFoldLine ( e ) } ) } , this . clone = function ( ) { var e = this . range . clone ( ) , t = new o ( e , this . placeholder ) ; return this . subFolds . forEach ( function ( e ) { t . subFolds . push ( e . clone ( ) ) } ) , t . collapseChildren = this . collapseChildren , t } , this . addSubFold = function ( e ) { if ( ! this . range . isEqual ( e ) ) { if ( ! this . range . containsRange ( e ) ) throw new Error ( "A fold can't intersect already existing fold" + e . range + this . range ) ; a ( e , this . start ) ; for ( var t = e . start . row , n = e . start . column , r = 0 , i = - 1 ; r < this . subFolds . length && ( i = this . subFolds [ r ] . range . compare ( t , n ) , 1 == i ) ; r ++ ) ; var s = this . subFolds [ r ] ; if ( 0 == i ) return s . addSubFold ( e ) ; for ( var t = e . range . end . row , n = e . range . end . column , o = r , i = - 1 ; o < this . subFolds . length && ( i = this . subFolds [ o ] . range . compare ( t , n ) , 1 == i ) ; o ++ ) ; this . subFolds [ o ] ; if ( 0 == i ) throw new Error ( "A fold can't intersect already existing fold" + e . range + this . range ) ; this . subFolds . splice ( r , o - r , e ) ; return e . setFoldLine ( this . foldLine ) , e } } , this . restoreRange = function ( e ) { return l ( e , this . start ) } } . call ( o . prototype ) } ) , ace . define ( "ace/edit_session/folding" , [ "require" , "exports" , "module" , "ace/range" , "ace/edit_session/fold_line" , "ace/edit_session/fold" , "ace/token_iterator" ] , function ( e , t , n ) { "use strict" ; function u ( ) { this . getFoldAt = function ( e , t , n ) { var r = this . getFoldLine ( e ) ; if ( ! r ) return null ; for ( var i = r . folds , s = 0 ; s < i . length ; s ++ ) { var o = i [ s ] ; if ( o . range . contains ( e , t ) ) { if ( 1 == n && o . range . isEnd ( e , t ) ) continue ; if ( n == - 1 && o . range . isStart ( e , t ) ) continue ; return o } } } , this . getFoldsInRange = function ( e ) { var t = e . start , n = e . end , r = this . $foldData , i = [ ] ; t . column += 1 , n . column -= 1 ; for ( var s = 0 ; s < r . length ; s ++ ) { var o = r [ s ] . range . compareRange ( e ) ; if ( 2 != o ) { if ( o == - 2 ) break ; for ( var u = r [ s ] . folds , a = 0 ; a < u . length ; a ++ ) { var f = u [ a ] ; if ( o = f . range . compareRange ( e ) , o == - 2 ) break ; if ( 2 != o ) { if ( 42 == o ) break ; i . push ( f ) } } } } return t . column -= 1 , n . column += 1 , i } , this . getFoldsInRangeList = function ( e ) { if ( Array . isArray ( e ) ) { var t = [ ] ; e . forEach ( function ( e ) { t = t . concat ( this . getFoldsInRange ( e ) ) } , this ) } else var t = this . getFoldsInRange ( e ) ; return t } , this . getAllFolds = function ( ) { for ( var e = [ ] , t = this . $foldData , n = 0 ; n < t . length ; n ++ ) for ( var r = 0 ; r < t [ n ] . folds . length ; r ++ ) e . push ( t [ n ] . folds [ r ] ) ; return e } , this . getFoldStringAt = function ( e , t , n , r ) { if ( r = r || this . getFoldLine ( e ) , ! r ) return null ; for ( var s , o , i = { end : { column : 0 } } , u = 0 ; u < r . folds . length ; u ++ ) { o = r . folds [ u ] ; var a = o . range . compareEnd ( e , t ) ; if ( a == - 1 ) { s = this . getLine ( o . start . row ) . substring ( i . end . column , o . start . column ) ; break } if ( 0 === a ) return null ; i = o } return s || ( s = this . getLine ( o . start . row ) . substring ( i . end . column ) ) , n == - 1 ? s . substring ( 0 , t - i . end . column ) : 1 == n ? s . substring ( t - i . end . column ) : s } , this . getFoldLine = function ( e , t ) { var n = this . $foldData , r = 0 ; for ( t && ( r = n . indexOf ( t ) ) , r == - 1 && ( r = 0 ) , r ; r < n . length ; r ++ ) { var i = n [ r ] ; if ( i . start . row <= e && i . end . row >= e ) return i ; if ( i . end . row > e ) return null } return null } , this . getNextFoldLine = function ( e , t ) { var n = this . $foldData , r = 0 ; for ( t && ( r = n . indexOf ( t ) ) , r == - 1 && ( r = 0 ) , r ; r < n . length ; r ++ ) { var i = n [ r ] ; if ( i . end . row >= e ) return i } return null } , this . getFoldedRowCount = function ( e , Line truncated
} ; else var u = function ( e , t , s ) { for ( var o = r . getMatchOffsets ( e , n ) , u = 0 ; u < o . length ; u ++ ) if ( i ( o [ u ] , t , s ) ) return ! 0 } ; var a = this . $lineIterator ( e , t ) ; return { forEach : function ( e ) { i = e , a . forEach ( u ) } } } , this . $assembleRegExp = function ( e , t ) { if ( e . needle instanceof RegExp ) return e . re = e . needle ; var n = e . needle ; if ( ! e . needle ) return e . re = ! 1 ; e . regExp || ( n = r . escapeRegExp ( n ) ) , e . wholeWord && ( n = u ( n , e ) ) ; var i = e . caseSensitive ? "gm" : "gmi" ; if ( e . $isMultiLine = ! t && /[\n\r]/ . test ( n ) , e . $isMultiLine ) return e . re = this . $assembleMultilineRegExp ( n , i ) ; try { var s = new RegExp ( n , i ) } catch ( o ) { s = ! 1 } return e . re = s } , this . $assembleMultilineRegExp = function ( e , t ) { for ( var n = e . replace ( /\r\n|\r|\n/g , "$\n^" ) . split ( "\n" ) , r = [ ] , i = 0 ; i < n . length ; i ++ ) try { r . push ( new RegExp ( n [ i ] , t ) ) } catch ( s ) { return ! 1 } return "" == n [ 0 ] ? ( r . shift ( ) , r . offset = 1 ) : r . offset = 0 , r } , this . $lineIterator = function ( e , t ) { var n = 1 == t . backwards , r = 0 != t . skipCurrent , i = t . range , s = t . start ; s || ( s = i ? i [ n ? "end" : "start" ] : e . selection . getRange ( ) ) , s . start && ( s = s [ r != n ? "end" : "start" ] ) ; var o = i ? i . start . row : 0 , u = i ? i . end . row : e . getLength ( ) - 1 , a = n ? function ( n ) { var r = s . row , i = e . getLine ( r ) . substring ( 0 , s . column ) ; if ( ! n ( i , r ) ) { for ( r -- ; r >= o ; r -- ) if ( n ( e . getLine ( r ) , r ) ) return ; if ( 0 != t . wrap ) for ( r = u , o = s . row ; r >= o ; r -- ) if ( n ( e . getLine ( r ) , r ) ) return } } : function ( n ) { var r = s . row , i = e . getLine ( r ) . substr ( s . column ) ; if ( ! n ( i , r , s . column ) ) { for ( r += 1 ; r <= u ; r ++ ) if ( n ( e . getLine ( r ) , r ) ) return ; if ( 0 != t . wrap ) for ( r = o , u = s . row ; r <= u ; r ++ ) if ( n ( e . getLine ( r ) , r ) ) return } } ; return { forEach : a } } } ) . call ( o . prototype ) , t . Search = o } ) , ace . define ( "ace/keyboard/hash_handler" , [ "require" , "exports" , "module" , "ace/lib/keys" , "ace/lib/useragent" ] , function ( e , t , n ) { "use strict" ; function o ( e , t ) { this . platform = t || ( i . isMac ? "mac" : "win" ) , this . commands = { } , this . commandKeyBinding = { } , this . addCommands ( e ) , this . $singleCommand = ! 0 } function u ( e , t ) { o . call ( this , e , t ) , this . $singleCommand = ! 1 } var r = e ( "../lib/keys" ) , i = e ( "../lib/useragent" ) , s = r . KEY _MODS ; u . prototype = o . prototype , function ( ) { function e ( e ) { return "object" == typeof e && e . bindKey && e . bindKey . position || 0 } this . addCommand = function ( e ) { this . commands [ e . name ] && this . removeCommand ( e ) , this . commands [ e . name ] = e , e . bindKey && this . _buildKeyHash ( e ) } , this . removeCommand = function ( e , t ) { var n = e && ( "string" == typeof e ? e : e . name ) ; e = this . commands [ n ] , t || delete this . commands [ n ] ; var r = this . commandKeyBinding ; for ( var i in r ) { var s = r [ i ] ; if ( s == e ) delete r [ i ] ; else if ( Array . isArray ( s ) ) { var o = s . indexOf ( e ) ; o != - 1 && ( s . splice ( o , 1 ) , 1 == s . length && ( r [ i ] = s [ 0 ] ) ) } } } , this . bindKey = function ( e , t , n ) { if ( "object" == typeof e && e && ( void 0 == n && ( n = e . position ) , e = e [ this . platform ] ) , e ) return "function" == typeof t ? this . addCommand ( { exec : t , bindKey : e , name : t . name || e } ) : void e . split ( "|" ) . forEach ( function ( e ) { var r = "" ; if ( e . indexOf ( " " ) != - 1 ) { var i = e . split ( /\s+/ ) ; e = i . pop ( ) , i . forEach ( function ( e ) { var t = this . parseKeys ( e ) , n = s [ t . hashId ] + t . key ; r += ( r ? " " : "" ) + n , this . _addCommandToBinding ( r , "chainKeys" ) } , this ) , r += " " } var o = this . parseKeys ( e ) , u = s [ o . hashId ] + o . key ; this . _addCommandToBinding ( r + u , t , n ) } , this ) } , this . _addCommandToBinding = function ( t , n , r ) { var s , i = this . commandKeyBinding ; if ( n ) if ( ! i [ t ] || this . $singleCommand ) i [ t ] = n ; else { Array . isArray ( i [ t ] ) ? ( s = i [ t ] . indexOf ( n ) ) != - 1 && i [ t ] . splice ( s , 1 ) : i [ t ] = [ i [ t ] ] , "number" != typeof r && ( r = r || n . isDefault ? - 100 : e ( n ) ) ; var o = i [ t ] ; for ( s = 0 ; s < o . length ; s ++ ) { var u = o [ s ] , a = e ( u ) ; if ( a > r ) break } o . splice ( s , 0 , n ) } else delete i [ t ] } , this . addCommands = function ( e ) { e && Object . keys ( e ) . forEach ( function ( t ) { var n = e [ t ] ; if ( n ) { if ( "string" == typeof n ) return this . bindKey ( n , t ) ; "function" == typeof n && ( n = { exec : n } ) , "object" == typeof n && ( n . name || ( n . name = t ) , this . addCommand ( n ) ) } } , this ) } , this . removeCommands = function ( e ) { Object . keys ( e ) . forEach ( function ( t ) { this . removeCommand ( e [ t ] ) } , this ) } , this . bindKeys = function ( e ) { Object . keys ( e ) . forEach ( function ( t ) { this . bindKey ( t , e [ t ] ) } , this ) } , this . _buildKeyHash = function ( e ) { this . bindKey ( e . bindKey , e ) } , this . parseKeys = function ( e ) { var t = e . toLowerCase ( ) . split ( /[\-\+]([\-\+])?/ ) . filter ( function ( e ) { return e } ) , n = t . pop ( ) , i = r [ n ] ; if ( r . FUNCTION _KEYS [ i ] ) n = r . FUNCTION _KEYS [ i ] . toLowerCase ( ) ; else { if ( ! t . length ) return { key : n , hashId : - 1 } ; if ( 1 == t . length && "shift" == t [ 0 ] ) return { key : n . toUpperCase ( ) , hashId : - 1 } } for ( var s = 0 , o = t . length ; o -- ; ) { var u = r . KEY _MODS [ t [ o ] ] ; if ( null == u ) return "undefined" != typeof console && console . error ( "invalid modifier " + t [ o ] + " in " + e ) , ! 1 ; s |= u } return { key : n , hashId : s } } , this . findKeyCommand = function ( t , n ) { var r = s [ t ] + n ; return this . commandKeyBinding [ r ] } , this . handleKeyboard = function ( e , t , n , r ) { if ( ! ( r < 0 ) ) { var i = s [ t ] + n , o = this . commandKeyBinding [ i ] ; return e . $keyChain && ( e . $keyChain += " " + i , o = this . commandKeyBinding [ e . $keyChain ] || o ) , ! o || "chainKeys" != o && "chainKeys" != o [ o . length - 1 ] ? ( e . $keyChain && ( t && 4 != t || 1 != n . length ? ( t == - 1 || r > 0 ) && ( e . $keyChain = "" ) : e . $keyChain = e . $keyChain . slice ( 0 , - i . length - 1 ) ) , { command : o } ) : ( e . $keyChain = e . $keyChain || i , { command : "null" } ) } } , this . getStatusText = function ( e , t ) { return t . $keyChain || "" } } . call ( o . prototype ) , t . HashHandler = o , t . MultiHashHandler = u } ) , ace . define ( "ace/commands/command_manager" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/keyboard/hash_handler" , "ace/lib/event_emitter" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../lib/oop" ) , i = e ( "../keyboard/hash_handler" ) . MultiHashHandler , s = e ( " . . Line truncated
this . $wrapLimitRange . min === e && this . $wrapLimitRange . max === t || ( this . $wrapLimitRange = { min : e , max : t } , this . $modified = ! 0 , this . $useWrapMode && this . _signal ( "changeWrapMode" ) ) } , this . adjustWrapLimit = function ( e , t ) { var n = this . $wrapLimitRange ; n . max < 0 && ( n = { min : t , max : t } ) ; var r = this . $constrainWrapLimit ( e , n . min , n . max ) ; return r != this . $wrapLimit && r > 1 && ( this . $wrapLimit = r , this . $modified = ! 0 , this . $useWrapMode && ( this . $updateWrapData ( 0 , this . getLength ( ) - 1 ) , this . $resetRowCache ( 0 ) , this . _signal ( "changeWrapLimit" ) ) , ! 0 ) } , this . $constrainWrapLimit = function ( e , t , n ) { return t && ( e = Math . max ( t , e ) ) , n && ( e = Math . min ( n , e ) ) , e } , this . getWrapLimit = function ( ) { return this . $wrapLimit } , this . setWrapLimit = function ( e ) { this . setWrapLimitRange ( e , e ) } , this . getWrapLimitRange = function ( ) { return { min : this . $wrapLimitRange . min , max : this . $wrapLimitRange . max } } , this . $updateInternalDataOnChange = function ( e ) { var t = this . $useWrapMode , n = e . action , r = e . start , i = e . end , s = r . row , o = i . row , u = o - s , a = null ; if ( this . $updating = ! 0 , 0 != u ) if ( "remove" === n ) { this [ t ? "$wrapData" : "$rowLengthCache" ] . splice ( s , u ) ; var f = this . $foldData ; a = this . getFoldsInRange ( e ) , this . removeFolds ( a ) ; var l = this . getFoldLine ( i . row ) , c = 0 ; if ( l ) { l . addRemoveChars ( i . row , i . column , r . column - i . column ) , l . shiftRow ( - u ) ; var h = this . getFoldLine ( s ) ; h && h !== l && ( h . merge ( l ) , l = h ) , c = f . indexOf ( l ) + 1 } for ( c ; c < f . length ; c ++ ) { var l = f [ c ] ; l . start . row >= i . row && l . shiftRow ( - u ) } o = s } else { var p = Array ( u ) ; p . unshift ( s , 0 ) ; var d = t ? this . $wrapData : this . $rowLengthCache ; d . splice . apply ( d , p ) ; var f = this . $foldData , l = this . getFoldLine ( s ) , c = 0 ; if ( l ) { var v = l . range . compareInside ( r . row , r . column ) ; 0 == v ? ( l = l . split ( r . row , r . column ) , l && ( l . shiftRow ( u ) , l . addRemoveChars ( o , 0 , i . column - r . column ) ) ) : v == - 1 && ( l . addRemoveChars ( s , 0 , i . column - r . column ) , l . shiftRow ( u ) ) , c = f . indexOf ( l ) + 1 } for ( c ; c < f . length ; c ++ ) { var l = f [ c ] ; l . start . row >= s && l . shiftRow ( u ) } } else { u = Math . abs ( e . start . column - e . end . column ) , "remove" === n && ( a = this . getFoldsInRange ( e ) , this . removeFolds ( a ) , u = - u ) ; var l = this . getFoldLine ( s ) ; l && l . addRemoveChars ( s , r . column , u ) } return t && this . $wrapData . length != this . doc . getLength ( ) && console . error ( "doc.getLength() and $wrapData.length have to be the same!" ) , this . $updating = ! 1 , t ? this . $updateWrapData ( s , o ) : this . $updateRowLengthCache ( s , o ) , a } , this . $updateRowLengthCache = function ( e , t , n ) { this . $rowLengthCache [ e ] = null , this . $rowLengthCache [ t ] = null } , this . $updateWrapData = function ( e , t ) { var a , f , r = this . doc . getAllLines ( ) , i = this . getTabSize ( ) , s = this . $wrapData , o = this . $wrapLimit , l = e ; for ( t = Math . min ( t , r . length - 1 ) ; l <= t ; ) f = this . getFoldLine ( l , f ) , f ? ( a = [ ] , f . walk ( function ( e , t , i , s ) { var o ; if ( null != e ) { o = this . $getDisplayTokens ( e , a . length ) , o [ 0 ] = n ; for ( var f = 1 ; f < o . length ; f ++ ) o [ f ] = u } else o = this . $getDisplayTokens ( r [ t ] . substring ( s , i ) , a . length ) ; a = a . concat ( o ) } . bind ( this ) , f . end . row , r [ f . end . row ] . length + 1 ) , s [ f . start . row ] = this . $computeWrapSplits ( a , o , i ) , l = f . end . row + 1 ) : ( a = this . $getDisplayTokens ( r [ l ] ) , s [ l ] = this . $computeWrapSplits ( a , o , i ) , l ++ ) } ; var e = 1 , t = 2 , n = 3 , u = 4 , l = 9 , p = 10 , d = 11 , v = 12 ; this . $computeWrapSplits = function ( e , r , i ) { function g ( ) { var t = 0 ; if ( 0 === m ) return t ; if ( h ) for ( var n = 0 ; n < e . length ; n ++ ) { var r = e [ n ] ; if ( r == p ) t += 1 ; else { if ( r != d ) { if ( r == v ) continue ; break } t += i } } return c && h !== ! 1 && ( t += i ) , Math . min ( t , m ) } function y ( t ) { var n = e . slice ( a , t ) , r = n . length ; n . join ( "" ) . replace ( /12/g , function ( ) { r -= 1 } ) . replace ( /2/g , function ( ) { r -= 1 } ) , s . length || ( b = g ( ) , s . indent = b ) , f += r , s . push ( f ) , a = t } if ( 0 == e . length ) return [ ] ; for ( var s = [ ] , o = e . length , a = 0 , f = 0 , c = this . $wrapAsCode , h = this . $indentedSoftWrap , m = r <= Math . max ( 2 * i , 8 ) || h === ! 1 ? 0 : Math . floor ( r / 2 ) , b = 0 ; o - a > r - b ; ) { var w = a + r - b ; if ( e [ w - 1 ] >= p && e [ w ] >= p ) y ( w ) ; else if ( e [ w ] != n && e [ w ] != u ) { for ( var E = Math . max ( w - ( r - ( r >> 2 ) ) , a - 1 ) ; w > E && e [ w ] < n ; ) w -- ; if ( c ) { for ( ; w > E && e [ w ] < n ; ) w -- ; for ( ; w > E && e [ w ] == l ; ) w -- } else for ( ; w > E && e [ w ] < p ; ) w -- ; w > E ? y ( ++ w ) : ( w = a + r , e [ w ] == t && w -- , y ( w - b ) ) } else { for ( w ; w != a - 1 && e [ w ] != n ; w -- ) ; if ( w > a ) { y ( w ) ; continue } for ( w = a + r ; w < e . length && e [ w ] == u ; w ++ ) ; if ( w == e . length ) break ; y ( w ) } } return s } , this . $getDisplayTokens = function ( n , r ) { var s , i = [ ] ; r = r || 0 ; for ( var o = 0 ; o < n . length ; o ++ ) { var u = n . charCodeAt ( o ) ; if ( 9 == u ) { s = this . getScreenTabSize ( i . length + r ) , i . push ( d ) ; for ( var a = 1 ; a < s ; a ++ ) i . push ( v ) } else 32 == u ? i . push ( p ) : u > 39 && u < 48 || u > 57 && u < 64 ? i . push ( l ) : u >= 4352 && m ( u ) ? i . push ( e , t ) : i . push ( e ) } return i } , this . $getStringScreenWidth = function ( e , t , n ) { if ( 0 == t ) return [ 0 , 0 ] ; null == t && ( t = 1 / 0 ) , n = n || 0 ; var r , i ; for ( i = 0 ; i < e . length && ( r = e . charCodeAt ( i ) , n += 9 == r ? this . getScreenTabSize ( n ) : r >= 4352 && m ( r ) ? 2 : 1 , ! ( n > t ) ) ; i ++ ) ; return [ n , i ] } , this . lineWidgets = null , this . getRowLength = function ( e ) { if ( this . lineWidgets ) var t = this . lineWidgets [ e ] && this . lineWidgets [ e ] . rowCount || 0 ; else t = 0 ; return this . $useWrapMode && this . $wrapData [ e ] ? this . $wrapData [ e ] . length + 1 + t : 1 + t } , this . getRowLineCount = function ( e ) { return this . $useWrapMode && this . $wrapData [ e ] ? this . $wrapData [ e ] . length + 1 : 1 } , this . getRowWrapIndent = function ( e ) { if ( this . $useWrapMode ) { var t = this . screenToDocumentPosition ( e , Number . MAX _VALUE ) , n = this . $wrapData [ t . row ] ; return n . length && n [ 0 ] < t . column ? n . indent : 0 } return 0 } , this . getScreenLastRowColumn = function ( e ) { var t = this . screenToDocumentPosition ( e , Number . MAX _VALUE ) ; return this . documentToScreenColumn ( t . row , t . column ) } , this . getDocumentLastRowColumn = function ( e , t ) { var n = this . documentToScree Line truncated
} } } , 50 ) } } , this . focus = function ( ) { var e = this ; setTimeout ( function ( ) { e . textInput . focus ( ) } ) , this . textInput . focus ( ) } , this . isFocused = function ( ) { return this . textInput . isFocused ( ) } , this . blur = function ( ) { this . textInput . blur ( ) } , this . onFocus = function ( e ) { this . $isFocused || ( this . $isFocused = ! 0 , this . renderer . showCursor ( ) , this . renderer . visualizeFocus ( ) , this . _emit ( "focus" , e ) ) } , this . onBlur = function ( e ) { this . $isFocused && ( this . $isFocused = ! 1 , this . renderer . hideCursor ( ) , this . renderer . visualizeBlur ( ) , this . _emit ( "blur" , e ) ) } , this . $cursorChange = function ( ) { this . renderer . updateCursor ( ) } , this . onDocumentChange = function ( e ) { var t = this . session . $useWrapMode , n = e . start . row == e . end . row ? e . end . row : 1 / 0 ; this . renderer . updateLines ( e . start . row , n , t ) , this . _signal ( "change" , e ) , this . $cursorChange ( ) , this . $updateHighlightActiveLine ( ) } , this . onTokenizerUpdate = function ( e ) { var t = e . data ; this . renderer . updateLines ( t . first , t . last ) } , this . onScrollTopChange = function ( ) { this . renderer . scrollToY ( this . session . getScrollTop ( ) ) } , this . onScrollLeftChange = function ( ) { this . renderer . scrollToX ( this . session . getScrollLeft ( ) ) } , this . onCursorChange = function ( ) { this . $cursorChange ( ) , this . $blockScrolling || ( g . warn ( "Automatically scrolling cursor into view after selection change" , "this will be disabled in the next version" , "set editor.$blockScrolling = Infinity to disable this message" ) , this . renderer . scrollCursorIntoView ( ) ) , this . $highlightBrackets ( ) , this . $highlightTags ( ) , this . $updateHighlightActiveLine ( ) , this . _signal ( "changeSelection" ) } , this . $updateHighlightActiveLine = function ( ) { var t , e = this . getSession ( ) ; if ( this . $highlightActiveLine && ( "line" == this . $selectionStyle && this . selection . isMultiLine ( ) || ( t = this . getCursorPosition ( ) ) , this . renderer . $maxLines && 1 === this . session . getLength ( ) && ! ( this . renderer . $minLines > 1 ) && ( t = ! 1 ) ) , e . $highlightLineMarker && ! t ) e . removeMarker ( e . $highlightLineMarker . id ) , e . $highlightLineMarker = null ; else if ( ! e . $highlightLineMarker && t ) { var n = new p ( t . row , t . column , t . row , 1 / 0 ) ; n . id = e . addMarker ( n , "ace_active-line" , "screenLine" ) , e . $highlightLineMarker = n } else t && ( e . $highlightLineMarker . start . row = t . row , e . $highlightLineMarker . end . row = t . row , e . $highlightLineMarker . start . column = t . column , e . _signal ( "changeBackMarker" ) ) } , this . onSelectionChange = function ( e ) { var t = this . session ; if ( t . $selectionMarker && t . removeMarker ( t . $selectionMarker ) , t . $selectionMarker = null , this . selection . isEmpty ( ) ) this . $updateHighlightActiveLine ( ) ; else { var n = this . selection . getRange ( ) , r = this . getSelectionStyle ( ) ; t . $selectionMarker = t . addMarker ( n , "ace_selection" , r ) } var i = this . $highlightSelectedWord && this . $getSelectionHighLightRegexp ( ) ; this . session . highlight ( i ) , this . _signal ( "changeSelection" ) } , this . $getSelectionHighLightRegexp = function ( ) { var e = this . session , t = this . getSelectionRange ( ) ; if ( ! t . isEmpty ( ) && ! t . isMultiLine ( ) ) { var n = t . start . column - 1 , r = t . end . column + 1 , i = e . getLine ( t . start . row ) , s = i . length , o = i . substring ( Math . max ( n , 0 ) , Math . min ( r , s ) ) ; if ( ! ( n >= 0 && /^[\w\d]/ . test ( o ) || r <= s && /[\w\d]$/ . test ( o ) ) && ( o = i . substring ( t . start . column , t . end . column ) , /^[\w\d]+$/ . test ( o ) ) ) { var u = this . $search . $assembleRegExp ( { wholeWord : ! 0 , caseSensitive : ! 0 , needle : o } ) ; return u } } } , this . onChangeFrontMarker = function ( ) { this . renderer . updateFrontMarkers ( ) } , this . onChangeBackMarker = function ( ) { this . renderer . updateBackMarkers ( ) } , this . onChangeBreakpoint = function ( ) { this . renderer . updateBreakpoints ( ) } , this . onChangeAnnotation = function ( ) { this . renderer . setAnnotations ( this . session . getAnnotations ( ) ) } , this . onChangeMode = function ( e ) { this . renderer . updateText ( ) , this . _emit ( "changeMode" , e ) } , this . onChangeWrapLimit = function ( ) { this . renderer . updateFull ( ) } , this . onChangeWrapMode = function ( ) { this . renderer . onResize ( ! 0 ) } , this . onChangeFold = function ( ) { this . $updateHighlightActiveLine ( ) , this . renderer . updateFull ( ) } , this . getSelectedText = function ( ) { return this . session . getTextRange ( this . getSelectionRange ( ) ) } , this . getCopyText = function ( ) { var e = this . getSelectedText ( ) ; return this . _signal ( "copy" , e ) , e } , this . onCopy = function ( ) { this . commands . exec ( "copy" , this ) } , this . onCut = function ( ) { this . commands . exec ( "cut" , this ) } , this . onPaste = function ( e , t ) { var n = { text : e , event : t } ; this . commands . exec ( "paste" , this , n ) } , this . $handlePaste = function ( e ) { "string" == typeof e && ( e = { text : e } ) , this . _signal ( "paste" , e ) ; var t = e . text ; if ( ! this . inMultiSelectMode || this . inVirtualSelectionMode ) this . insert ( t ) ; else { var n = t . split ( /\r\n|\r|\n/ ) , r = this . selection . rangeList . ranges ; if ( n . length > r . length || n . length < 2 || ! n [ 1 ] ) return this . commands . exec ( "insertstring" , this , t ) ; for ( var i = r . length ; i -- ; ) { var s = r [ i ] ; s . isEmpty ( ) || this . session . remove ( s ) , this . session . insert ( s . start , n [ i ] ) } } } , this . execCommand = function ( e , t ) { return this . commands . exec ( e , this , t ) } , this . insert = function ( e , t ) { var n = this . session , r = n . getMode ( ) , i = this . getCursorPosition ( ) ; if ( this . getBehavioursEnabled ( ) && ! t ) { var s = r . transformAction ( n . getState ( i . row ) , "insertion" , this , n , e ) ; s && ( e !== s . text && ( this . session . mergeUndoDeltas = ! 1 , this . $mergeNextCommand = ! 1 ) , e = s . text ) } if ( "\t" == e && ( e = this . session . getTabString ( ) ) , this . selection . isEmpty ( ) ) { if ( this . session . getOverwrite ( ) ) { var o = new p . fromPoints ( i , i ) ; o . end . column += e . length , this . session . remove ( o ) } } else Line truncated
bindKey : o ( null , "Ctrl-O" ) , exec : function ( e ) { e . splitLine ( ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "transposeletters" , bindKey : o ( "Ctrl-T" , "Ctrl-T" ) , exec : function ( e ) { e . transposeLetters ( ) } , multiSelectAction : function ( e ) { e . transposeSelections ( 1 ) } , scrollIntoView : "cursor" } , { name : "touppercase" , bindKey : o ( "Ctrl-U" , "Ctrl-U" ) , exec : function ( e ) { e . toUpperCase ( ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "tolowercase" , bindKey : o ( "Ctrl-Shift-U" , "Ctrl-Shift-U" ) , exec : function ( e ) { e . toLowerCase ( ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" } , { name : "expandtoline" , bindKey : o ( "Ctrl-Shift-L" , "Command-Shift-L" ) , exec : function ( e ) { var t = e . selection . getRange ( ) ; t . start . column = t . end . column = 0 , t . end . row ++ , e . selection . setRange ( t , ! 1 ) } , multiSelectAction : "forEach" , scrollIntoView : "cursor" , readOnly : ! 0 } , { name : "joinlines" , bindKey : o ( null , null ) , exec : function ( e ) { for ( var t = e . selection . isBackwards ( ) , n = t ? e . selection . getSelectionLead ( ) : e . selection . getSelectionAnchor ( ) , i = t ? e . selection . getSelectionAnchor ( ) : e . selection . getSelectionLead ( ) , o = e . session . doc . getLine ( n . row ) . length , u = e . session . doc . getTextRange ( e . selection . getRange ( ) ) , a = u . replace ( /\n\s*/ , " " ) . length , f = e . session . doc . getLine ( n . row ) , l = n . row + 1 ; l <= i . row + 1 ; l ++ ) { var c = r . stringTrimLeft ( r . stringTrimRight ( e . session . doc . getLine ( l ) ) ) ; 0 !== c . length && ( c = " " + c ) , f += c } i . row + 1 < e . session . doc . getLength ( ) - 1 && ( f += e . session . doc . getNewLineCharacter ( ) ) , e . clearSelection ( ) , e . session . doc . replace ( new s ( n . row , 0 , i . row + 2 , 0 ) , f ) , a > 0 ? ( e . selection . moveCursorTo ( n . row , n . column ) , e . selection . selectTo ( n . row , n . column + a ) ) : ( o = e . session . doc . getLine ( n . row ) . length > o ? o + 1 : o , e . selection . moveCursorTo ( n . row , o ) ) } , multiSelectAction : "forEach" , readOnly : ! 0 } , { name : "invertSelection" , bindKey : o ( null , null ) , exec : function ( e ) { var t = e . session . doc . getLength ( ) - 1 , n = e . session . doc . getLine ( t ) . length , r = e . selection . rangeList . ranges , i = [ ] ; r . length < 1 && ( r = [ e . selection . getRange ( ) ] ) ; for ( var o = 0 ; o < r . length ; o ++ ) o == r . length - 1 && ( r [ o ] . end . row !== t || r [ o ] . end . column !== n ) && i . push ( new s ( r [ o ] . end . row , r [ o ] . end . column , t , n ) ) , 0 === o ? ( 0 !== r [ o ] . start . row || 0 !== r [ o ] . start . column ) && i . push ( new s ( 0 , 0 , r [ o ] . start . row , r [ o ] . start . column ) ) : i . push ( new s ( r [ o - 1 ] . end . row , r [ o - 1 ] . end . column , r [ o ] . start . row , r [ o ] . start . column ) ) ; e . exitMultiSelectMode ( ) , e . clearSelection ( ) ; for ( var o = 0 ; o < i . length ; o ++ ) e . selection . addRange ( i [ o ] , ! 1 ) } , readOnly : ! 0 , scrollIntoView : "none" } ] } ) , ace . define ( "ace/editor" , [ "require" , "exports" , "module" , "ace/lib/fixoldbrowsers" , "ace/lib/oop" , "ace/lib/dom" , "ace/lib/lang" , "ace/lib/useragent" , "ace/keyboard/textinput" , "ace/mouse/mouse_handler" , "ace/mouse/fold_handler" , "ace/keyboard/keybinding" , "ace/edit_session" , "ace/search" , "ace/range" , "ace/lib/event_emitter" , "ace/commands/command_manager" , "ace/commands/default_commands" , "ace/config" , "ace/token_iterator" ] , function ( e , t , n ) { "use strict" ; e ( "./lib/fixoldbrowsers" ) ; var r = e ( "./lib/oop" ) , i = e ( "./lib/dom" ) , s = e ( "./lib/lang" ) , o = e ( "./lib/useragent" ) , u = e ( "./keyboard/textinput" ) . TextInput , a = e ( "./mouse/mouse_handler" ) . MouseHandler , f = e ( "./mouse/fold_handler" ) . FoldHandler , l = e ( "./keyboard/keybinding" ) . KeyBinding , c = e ( "./edit_session" ) . EditSession , h = e ( "./search" ) . Search , p = e ( "./range" ) . Range , d = e ( "./lib/event_emitter" ) . EventEmitter , v = e ( "./commands/command_manager" ) . CommandManager , m = e ( "./commands/default_commands" ) . commands , g = e ( "./config" ) , y = e ( "./token_iterator" ) . TokenIterator , b = function ( e , t ) { var n = e . getContainerElement ( ) ; this . container = n , this . renderer = e , this . commands = new v ( o . isMac ? "mac" : "win" , m ) , this . textInput = new u ( e . getTextAreaContainer ( ) , this ) , this . renderer . textarea = this . textInput . getElement ( ) , this . keyBinding = new l ( this ) , this . $mouseHandler = new a ( this ) , new f ( this ) , this . $blockScrolling = 0 , this . $search = ( new h ) . set ( { wrap : ! 0 } ) , this . $historyTracker = this . $historyTracker . bind ( this ) , this . commands . on ( "exec" , this . $historyTracker ) , this . $initOperationListeners ( ) , this . _$emitInputEvent = s . delayedCall ( function ( ) { this . _signal ( "input" , { } ) , this . session && this . session . bgTokenizer && this . session . bgTokenizer . scheduleStart ( ) } . bind ( this ) ) , this . on ( "change" , function ( e , t ) { t . _$emitInputEvent . schedule ( 31 ) } ) , this . setSession ( t || new c ( "" ) ) , g . resetOptions ( this ) , g . _signal ( "editor" , this ) } ; ( function ( ) { r . implement ( this , d ) , this . $initOperationListeners = function ( ) { this . selections = [ ] , this . commands . on ( "exec" , this . startOperation . bind ( this ) , ! 0 ) , this . commands . on ( "afterExec" , this . endOperation . bind ( this ) , ! 0 ) , this . $opResetTimer = s . delayedCall ( this . endOperation . bind ( this ) ) , this . on ( "change" , function ( ) { this . curOp || this . startOperation ( ) , this . curOp . docChanged = ! 0 } . bind ( this ) , ! 0 ) , this . on ( "changeSelection" , function ( ) { this . curOp || this . startOperation ( ) , this . curOp . selectionChanged = ! 0 } . bind ( this ) , ! 0 ) } , this . curOp = null , this . prevOp = { } , this . startOperation = function ( e ) { if ( this . curOp ) { if ( ! e || this . curOp . command ) return ; this . prevOp = this . curOp } e || ( this . previousCommand = null , e = { } ) , this . $opResetTimer . schedule ( ) , this . curOp = { command : e . command || { } , args : e . args , scrollTop : this . renderer . scrollTop } , this . curOp . command . name && void 0 !== this . curOp . command . scrollIntoView && this . $blockScrolling ++ } , this . endOperation = function ( e ) Line truncated
return e . x < t . left + n . left ? "markers" : this . $showFoldWidgets && e . x > n . right - t . right ? "foldWidgets" : void 0 } } ) . call ( u . prototype ) , t . Gutter = u } ) , ace . define ( "ace/layer/marker" , [ "require" , "exports" , "module" , "ace/range" , "ace/lib/dom" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../range" ) . Range , i = e ( "../lib/dom" ) , s = function ( e ) { this . element = i . createElement ( "div" ) , this . element . className = "ace_layer ace_marker-layer" , e . appendChild ( this . element ) } ; ( function ( ) { function e ( e , t , n , r ) { return ( e ? 1 : 0 ) | ( t ? 2 : 0 ) | ( n ? 4 : 0 ) | ( r ? 8 : 0 ) } this . $padding = 0 , this . setPadding = function ( e ) { this . $padding = e } , this . setSession = function ( e ) { this . session = e } , this . setMarkers = function ( e ) { this . markers = e } , this . update = function ( e ) { var e = e || this . config ; if ( e ) { this . config = e ; var t = [ ] ; for ( var n in this . markers ) { var r = this . markers [ n ] ; if ( r . range ) { var i = r . range . clipRows ( e . firstRow , e . lastRow ) ; if ( ! i . isEmpty ( ) ) if ( i = i . toScreenRange ( this . session ) , r . renderer ) { var s = this . $getTop ( i . start . row , e ) , o = this . $padding + i . start . column * e . characterWidth ; r . renderer ( t , i , o , s , e ) } else "fullLine" == r . type ? this . drawFullLineMarker ( t , i , r . clazz , e ) : "screenLine" == r . type ? this . drawScreenLineMarker ( t , i , r . clazz , e ) : i . isMultiLine ( ) ? "text" == r . type ? this . drawTextMarker ( t , i , r . clazz , e ) : this . drawMultiLineMarker ( t , i , r . clazz , e ) : this . drawSingleLineMarker ( t , i , r . clazz + " ace_start ace_br15" , e ) } else r . update ( t , this , this . session , e ) } this . element . innerHTML = t . join ( "" ) } } , this . $getTop = function ( e , t ) { return ( e - t . firstRowScreen ) * t . lineHeight } , this . drawTextMarker = function ( t , n , i , s , o ) { for ( var u = this . session , a = n . start . row , f = n . end . row , l = a , c = 0 , h = 0 , p = u . getScreenLastRowColumn ( l ) , d = new r ( l , n . start . column , l , h ) ; l <= f ; l ++ ) d . start . row = d . end . row = l , d . start . column = l == a ? n . start . column : u . getRowWrapIndent ( l ) , d . end . column = p , c = h , h = p , p = l + 1 < f ? u . getScreenLastRowColumn ( l + 1 ) : l == f ? 0 : n . end . column , this . drawSingleLineMarker ( t , d , i + ( l == a ? " ace_start" : "" ) + " ace_br" + e ( l == a || l == a + 1 && n . start . column , c < h , h > p , l == f ) , s , l == f ? 0 : 1 , o ) } , this . drawMultiLineMarker = function ( e , t , n , r , i ) { var s = this . $padding , o = r . lineHeight , u = this . $getTop ( t . start . row , r ) , a = s + t . start . column * r . characterWidth ; i = i || "" , e . push ( "<div class='" , n , " ace_br1 ace_start' style='" , "height:" , o , "px;" , "right:0;" , "top:" , u , "px;" , "left:" , a , "px;" , i , "'></div>" ) , u = this . $getTop ( t . end . row , r ) ; var f = t . end . column * r . characterWidth ; if ( e . push ( "<div class='" , n , " ace_br12' style='" , "height:" , o , "px;" , "width:" , f , "px;" , "top:" , u , "px;" , "left:" , s , "px;" , i , "'></div>" ) , o = ( t . end . row - t . start . row - 1 ) * r . lineHeight , ! ( o <= 0 ) ) { u = this . $getTop ( t . start . row + 1 , r ) ; var l = ( t . start . column ? 1 : 0 ) | ( t . end . column ? 0 : 8 ) ; e . push ( "<div class='" , n , l ? " ace_br" + l : "" , "' style='" , "height:" , o , "px;" , "right:0;" , "top:" , u , "px;" , "left:" , s , "px;" , i , "'></div>" ) } } , this . drawSingleLineMarker = function ( e , t , n , r , i , s ) { var o = r . lineHeight , u = ( t . end . column + ( i || 0 ) - t . start . column ) * r . characterWidth , a = this . $getTop ( t . start . row , r ) , f = this . $padding + t . start . column * r . characterWidth ; e . push ( "<div class='" , n , "' style='" , "height:" , o , "px;" , "width:" , u , "px;" , "top:" , a , "px;" , "left:" , f , "px;" , s || "" , "'></div>" ) } , this . drawFullLineMarker = function ( e , t , n , r , i ) { var s = this . $getTop ( t . start . row , r ) , o = r . lineHeight ; t . start . row != t . end . row && ( o += this . $getTop ( t . end . row , r ) - s ) , e . push ( "<div class='" , n , "' style='" , "height:" , o , "px;" , "top:" , s , "px;" , "left:0;right:0;" , i || "" , "'></div>" ) } , this . drawScreenLineMarker = function ( e , t , n , r , i ) { var s = this . $getTop ( t . start . row , r ) , o = r . lineHeight ; e . push ( "<div class='" , n , "' style='" , "height:" , o , "px;" , "top:" , s , "px;" , "left:0;right:0;" , i || "" , "'></div>" ) } } ) . call ( s . prototype ) , t . Marker = s } ) , ace . define ( "ace/layer/text" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/dom" , "ace/lib/lang" , "ace/lib/useragent" , "ace/lib/event_emitter" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../lib/oop" ) , i = e ( "../lib/dom" ) , s = e ( "../lib/lang" ) , u = ( e ( "../lib/useragent" ) , e ( "../lib/event_emitter" ) . EventEmitter ) , a = function ( e ) { this . element = i . createElement ( "div" ) , this . element . className = "ace_layer ace_text-layer" , e . appendChild ( this . element ) , this . $updateEolChar = this . $updateEolChar . bind ( this ) } ; ( function ( ) { r . implement ( this , u ) , this . EOF _CHAR = "¶" , this . EOL _CHAR _LF = "¬" , this . EOL _CHAR _CRLF = "¤" , this . EOL _CHAR = this . EOL _CHAR _LF , this . TAB _CHAR = "—" , this . SPACE _CHAR = "·" , this . $padding = 0 , this . $updateEolChar = function ( ) { var e = "\n" == this . session . doc . getNewLineCharacter ( ) ? this . EOL _CHAR _LF : this . EOL _CHAR _CRLF ; if ( this . EOL _CHAR != e ) return this . EOL _CHAR = e , ! 0 } , this . setPadding = function ( e ) { this . $padding = e , this . element . style . padding = "0 " + e + "px" } , this . getLineHeight = function ( ) { return this . $fontMetrics . $characterSize . height || 0 } , this . getCharacterWidth = function ( ) { return this . $fontMetrics . $characterSize . width || 0 } , this . $setFontMetrics = function ( e ) { this . $fontMetrics = e , this . $fontMetrics . on ( "changeCharacterSize" , function ( e ) { this . _signal ( "changeCharacterSize" , e ) } . bind ( this ) ) , this . $pollSizeChanges ( ) } , this . checkForSizeChanges = function ( ) { this . $fontMetrics . checkForSizeChanges ( ) } , this . $pollSizeChanges = function ( ) { return this . $pollSizeChangesTimer = this . $fontMetrics . $pollSizeChanges ( ) } , this . setSession = function ( e ) { this . session = e , e && this . $computeTabString ( ) } , this . showInvisibles = ! 1 , this . setShowInvisibles = function ( e ) { r Line truncated
return this . moveCursorToPosition ( t ) } this . selection . clearSelection ( ) , this . selection . moveCursorBy ( - e || - 1 , 0 ) } , this . navigateDown = function ( e ) { if ( this . selection . isMultiLine ( ) && this . selection . isBackwards ( ) ) { var t = this . selection . anchor . getPosition ( ) ; return this . moveCursorToPosition ( t ) } this . selection . clearSelection ( ) , this . selection . moveCursorBy ( e || 1 , 0 ) } , this . navigateLeft = function ( e ) { if ( this . selection . isEmpty ( ) ) for ( e = e || 1 ; e -- ; ) this . selection . moveCursorLeft ( ) ; else { var t = this . getSelectionRange ( ) . start ; this . moveCursorToPosition ( t ) } this . clearSelection ( ) } , this . navigateRight = function ( e ) { if ( this . selection . isEmpty ( ) ) for ( e = e || 1 ; e -- ; ) this . selection . moveCursorRight ( ) ; else { var t = this . getSelectionRange ( ) . end ; this . moveCursorToPosition ( t ) } this . clearSelection ( ) } , this . navigateLineStart = function ( ) { this . selection . moveCursorLineStart ( ) , this . clearSelection ( ) } , this . navigateLineEnd = function ( ) { this . selection . moveCursorLineEnd ( ) , this . clearSelection ( ) } , this . navigateFileEnd = function ( ) { this . selection . moveCursorFileEnd ( ) , this . clearSelection ( ) } , this . navigateFileStart = function ( ) { this . selection . moveCursorFileStart ( ) , this . clearSelection ( ) } , this . navigateWordRight = function ( ) { this . selection . moveCursorWordRight ( ) , this . clearSelection ( ) } , this . navigateWordLeft = function ( ) { this . selection . moveCursorWordLeft ( ) , this . clearSelection ( ) } , this . replace = function ( e , t ) { t && this . $search . set ( t ) ; var n = this . $search . find ( this . session ) , r = 0 ; return n ? ( this . $tryReplace ( n , e ) && ( r = 1 ) , null !== n && ( this . selection . setSelectionRange ( n ) , this . renderer . scrollSelectionIntoView ( n . start , n . end ) ) , r ) : r } , this . replaceAll = function ( e , t ) { t && this . $search . set ( t ) ; var n = this . $search . findAll ( this . session ) , r = 0 ; if ( ! n . length ) return r ; this . $blockScrolling += 1 ; var i = this . getSelectionRange ( ) ; this . selection . moveTo ( 0 , 0 ) ; for ( var s = n . length - 1 ; s >= 0 ; -- s ) this . $tryReplace ( n [ s ] , e ) && r ++ ; return this . selection . setSelectionRange ( i ) , this . $blockScrolling -= 1 , r } , this . $tryReplace = function ( e , t ) { var n = this . session . getTextRange ( e ) ; return t = this . $search . replace ( n , t ) , null !== t ? ( e . end = this . session . replace ( e , t ) , e ) : null } , this . getLastSearchOptions = function ( ) { return this . $search . getOptions ( ) } , this . find = function ( e , t , n ) { t || ( t = { } ) , "string" == typeof e || e instanceof RegExp ? t . needle = e : "object" == typeof e && r . mixin ( t , e ) ; var i = this . selection . getRange ( ) ; null == t . needle && ( e = this . session . getTextRange ( i ) || this . $search . $options . needle , e || ( i = this . session . getWordRange ( i . start . row , i . start . column ) , e = this . session . getTextRange ( i ) ) , this . $search . set ( { needle : e } ) ) , this . $search . set ( t ) , t . start || this . $search . set ( { start : i } ) ; var s = this . $search . find ( this . session ) ; return t . preventScroll ? s : s ? ( this . revealRange ( s , n ) , s ) : ( t . backwards ? i . start = i . end : i . end = i . start , void this . selection . setRange ( i ) ) } , this . findNext = function ( e , t ) { this . find ( { skipCurrent : ! 0 , backwards : ! 1 } , e , t ) } , this . findPrevious = function ( e , t ) { this . find ( e , { skipCurrent : ! 0 , backwards : ! 0 } , t ) } , this . revealRange = function ( e , t ) { this . $blockScrolling += 1 , this . session . unfold ( e ) , this . selection . setSelectionRange ( e ) , this . $blockScrolling -= 1 ; var n = this . renderer . scrollTop ; this . renderer . scrollSelectionIntoView ( e . start , e . end , . 5 ) , t !== ! 1 && this . renderer . animateScrolling ( n ) } , this . undo = function ( ) { this . $blockScrolling ++ , this . session . getUndoManager ( ) . undo ( ) , this . $blockScrolling -- , this . renderer . scrollCursorIntoView ( null , . 5 ) } , this . redo = function ( ) { this . $blockScrolling ++ , this . session . getUndoManager ( ) . redo ( ) , this . $blockScrolling -- , this . renderer . scrollCursorIntoView ( null , . 5 ) } , this . destroy = function ( ) { this . renderer . destroy ( ) , this . _signal ( "destroy" , this ) , this . session && this . session . destroy ( ) } , this . setAutoScrollEditorIntoView = function ( e ) { if ( e ) { var t , n = this , r = ! 1 ; this . $scrollAnchor || ( this . $scrollAnchor = document . createElement ( "div" ) ) ; var i = this . $scrollAnchor ; i . style . cssText = "position:absolute" , this . container . insertBefore ( i , this . container . firstChild ) ; var s = this . on ( "changeSelection" , function ( ) { r = ! 0 } ) , o = this . renderer . on ( "beforeRender" , function ( ) { r && ( t = n . renderer . container . getBoundingClientRect ( ) ) } ) , u = this . renderer . on ( "afterRender" , function ( ) { if ( r && t && ( n . isFocused ( ) || n . searchBox && n . searchBox . isFocused ( ) ) ) { var e = n . renderer , s = e . $cursorLayer . $pixelPos , o = e . layerConfig , u = s . top - o . offset ; r = s . top >= 0 && u + t . top < 0 || ! ( s . top < o . height && s . top + t . top + o . lineHeight > window . innerHeight ) && null , null != r && ( i . style . top = u + "px" , i . style . left = s . left + "px" , i . style . height = o . lineHeight + "px" , i . scrollIntoView ( r ) ) , r = t = null } } ) ; this . setAutoScrollEditorIntoView = function ( e ) { e || ( delete this . setAutoScrollEditorIntoView , this . off ( "changeSelection" , s ) , this . renderer . off ( "afterRender" , u ) , this . renderer . off ( "beforeRender" , o ) ) } } } , this . $resetCursorStyle = function ( ) { var e = this . $cursorStyle || "ace" , t = this . renderer . $cursorLayer ; t && ( t . setSmoothBlinking ( /smooth/ . test ( e ) ) , t . isBlinking = ! this . $readOnly && "wide" != e , i . setCssClass ( t . element , "ace_slim-cursors" , /slim/ . test ( e ) ) ) } } ) . call ( b . prototype ) , g . defineOptions ( b . prototype , "editor" , { selectionStyle : { set : function ( e ) { this . onSelectionChange ( ) , this . _signal ( "changeSelectionStyle" , { data : e } ) } , initialValue : "line" } , highlightActiveLine : { set : function ( ) { this . $updateHighlightActiveLine ( ) } , initialVa Line truncated
i . importCssString ( m , "ace_editor.css" ) ; var g = function ( e , t ) { var n = this ; this . container = e || i . createElement ( "div" ) , this . $keepTextAreaAtCursor = ! o . isOldIE , i . addCssClass ( this . container , "ace_editor" ) , this . setTheme ( t ) , this . $gutter = i . createElement ( "div" ) , this . $gutter . className = "ace_gutter" , this . container . appendChild ( this . $gutter ) , this . scroller = i . createElement ( "div" ) , this . scroller . className = "ace_scroller" , this . container . appendChild ( this . scroller ) , this . content = i . createElement ( "div" ) , this . content . className = "ace_content" , this . scroller . appendChild ( this . content ) , this . $gutterLayer = new u ( this . $gutter ) , this . $gutterLayer . on ( "changeGutterWidth" , this . onGutterResize . bind ( this ) ) , this . $markerBack = new a ( this . content ) ; var r = this . $textLayer = new f ( this . content ) ; this . canvas = r . element , this . $markerFront = new a ( this . content ) , this . $cursorLayer = new l ( this . content ) , this . $horizScroll = ! 1 , this . $vScroll = ! 1 , this . scrollBar = this . scrollBarV = new h ( this . container , this ) , this . scrollBarH = new c ( this . container , this ) , this . scrollBarV . addEventListener ( "scroll" , function ( e ) { n . $scrollAnimation || n . session . setScrollTop ( e . data - n . scrollMargin . top ) } ) , this . scrollBarH . addEventListener ( "scroll" , function ( e ) { n . $scrollAnimation || n . session . setScrollLeft ( e . data - n . scrollMargin . left ) } ) , this . scrollTop = 0 , this . scrollLeft = 0 , this . cursorPos = { row : 0 , column : 0 } , this . $fontMetrics = new d ( this . container ) , this . $textLayer . $setFontMetrics ( this . $fontMetrics ) , this . $textLayer . addEventListener ( "changeCharacterSize" , function ( e ) { n . updateCharacterSize ( ) , n . onResize ( ! 0 , n . gutterWidth , n . $size . width , n . $size . height ) , n . _signal ( "changeCharacterSize" , e ) } ) , this . $size = { width : 0 , height : 0 , scrollerHeight : 0 , scrollerWidth : 0 , $dirty : ! 0 } , this . layerConfig = { width : 1 , padding : 0 , firstRow : 0 , firstRowScreen : 0 , lastRow : 0 , lineHeight : 0 , characterWidth : 0 , minHeight : 1 , maxHeight : 1 , offset : 0 , height : 1 , gutterOffset : 1 } , this . scrollMargin = { left : 0 , right : 0 , top : 0 , bottom : 0 , v : 0 , h : 0 } , this . $loop = new p ( this . $renderChanges . bind ( this ) , this . container . ownerDocument . defaultView ) , this . $loop . schedule ( this . CHANGE _FULL ) , this . updateCharacterSize ( ) , this . setPadding ( 4 ) , s . resetOptions ( this ) , s . _emit ( "renderer" , this ) } ; ( function ( ) { this . CHANGE _CURSOR = 1 , this . CHANGE _MARKER = 2 , this . CHANGE _GUTTER = 4 , this . CHANGE _SCROLL = 8 , this . CHANGE _LINES = 16 , this . CHANGE _TEXT = 32 , this . CHANGE _SIZE = 64 , this . CHANGE _MARKER _BACK = 128 , this . CHANGE _MARKER _FRONT = 256 , this . CHANGE _FULL = 512 , this . CHANGE _H _SCROLL = 1024 , r . implement ( this , v ) , this . updateCharacterSize = function ( ) { this . $textLayer . allowBoldFonts != this . $allowBoldFonts && ( this . $allowBoldFonts = this . $textLayer . allowBoldFonts , this . setStyle ( "ace_nobold" , ! this . $allowBoldFonts ) ) , this . layerConfig . characterWidth = this . characterWidth = this . $textLayer . getCharacterWidth ( ) , this . layerConfig . lineHeight = this . lineHeight = this . $textLayer . getLineHeight ( ) , this . $updatePrintMargin ( ) } , this . setSession = function ( e ) { this . session && this . session . doc . off ( "changeNewLineMode" , this . onChangeNewLineMode ) , this . session = e , e && this . scrollMargin . top && e . getScrollTop ( ) <= 0 && e . setScrollTop ( - this . scrollMargin . top ) , this . $cursorLayer . setSession ( e ) , this . $markerBack . setSession ( e ) , this . $markerFront . setSession ( e ) , this . $gutterLayer . setSession ( e ) , this . $textLayer . setSession ( e ) , e && ( this . $loop . schedule ( this . CHANGE _FULL ) , this . session . $setFontMetrics ( this . $fontMetrics ) , this . scrollBarV . scrollLeft = this . scrollBarV . scrollTop = null , this . onChangeNewLineMode = this . onChangeNewLineMode . bind ( this ) , this . onChangeNewLineMode ( ) , this . session . doc . on ( "changeNewLineMode" , this . onChangeNewLineMode ) ) } , this . updateLines = function ( e , t , n ) { if ( void 0 === t && ( t = 1 / 0 ) , this . $changedLines ? ( this . $changedLines . firstRow > e && ( this . $changedLines . firstRow = e ) , this . $changedLines . lastRow < t && ( this . $changedLines . lastRow = t ) ) : this . $changedLines = { firstRow : e , lastRow : t } , this . $changedLines . lastRow < this . layerConfig . firstRow ) { if ( ! n ) return ; this . $changedLines . lastRow = this . layerConfig . lastRow } this . $changedLines . firstRow > this . layerConfig . lastRow || this . $loop . schedule ( this . CHANGE _LINES ) } , this . onChangeNewLineMode = function ( ) { this . $loop . schedule ( this . CHANGE _TEXT ) , this . $textLayer . $updateEolChar ( ) } , this . onChangeTabSize = function ( ) { this . $loop . schedule ( this . CHANGE _TEXT | this . CHANGE _MARKER ) , this . $textLayer . onChangeTabSize ( ) } , this . updateText = function ( ) { this . $loop . schedule ( this . CHANGE _TEXT ) } , this . updateFull = function ( e ) { e ? this . $renderChanges ( this . CHANGE _FULL , ! 0 ) : this . $loop . schedule ( this . CHANGE _FULL ) } , this . updateFontSize = function ( ) { this . $textLayer . checkForSizeChanges ( ) } , this . $changes = 0 , this . $updateSizeAsync = function ( ) { this . $loop . pending ? this . $size . $dirty = ! 0 : this . onResize ( ) } , this . onResize = function ( e , t , n , r ) { if ( ! ( this . resizing > 2 ) ) { this . resizing > 0 ? this . resizing ++ : this . resizing = e ? 1 : 0 ; var i = this . container ; r || ( r = i . clientHeight || i . scrollHeight ) , n || ( n = i . clientWidth || i . scrollWidth ) ; var s = this . $updateCachedSize ( e , t , n , r ) ; return this . $size . scrollerHeight && ( n || r ) ? ( e && ( this . $gutterLayer . $padding = null ) , e ? this . $renderChanges ( s | this . $changes , ! 0 ) : this . $loop . schedule ( s | this . $changes ) , this . resizing && ( this . resizing = 0 ) , this . scrollBarV . scrollLeft = this . scrollBarV . scrollTop = null , void 0 ) : this . resizing = 0 } } , this . $updateCach Line truncated
this . el = i . createElement ( "div" ) , this . $setMeasureNodeStyles ( this . el . style , ! 0 ) , this . $main = i . createElement ( "div" ) , this . $setMeasureNodeStyles ( this . $main . style ) , this . $measureNode = i . createElement ( "div" ) , this . $setMeasureNodeStyles ( this . $measureNode . style ) , this . el . appendChild ( this . $main ) , this . el . appendChild ( this . $measureNode ) , e . appendChild ( this . el ) , a || this . $testFractionalRect ( ) , this . $measureNode . innerHTML = s . stringRepeat ( "X" , a ) , this . $characterSize = { width : 0 , height : 0 } , this . checkForSizeChanges ( ) } ; ( function ( ) { r . implement ( this , u ) , this . $characterSize = { width : 0 , height : 0 } , this . $testFractionalRect = function ( ) { var e = i . createElement ( "div" ) ; this . $setMeasureNodeStyles ( e . style ) , e . style . width = "0.2px" , document . documentElement . appendChild ( e ) ; var t = e . getBoundingClientRect ( ) . width ; a = t > 0 && t < 1 ? 50 : 100 , e . parentNode . removeChild ( e ) } , this . $setMeasureNodeStyles = function ( e , t ) { e . width = e . height = "auto" , e . left = e . top = "0px" , e . visibility = "hidden" , e . position = "absolute" , e . whiteSpace = "pre" , o . isIE < 8 ? e [ "font-family" ] = "inherit" : e . font = "inherit" , e . overflow = t ? "hidden" : "visible" } , this . checkForSizeChanges = function ( ) { var e = this . $measureSizes ( ) ; if ( e && ( this . $characterSize . width !== e . width || this . $characterSize . height !== e . height ) ) { this . $measureNode . style . fontWeight = "bold" ; var t = this . $measureSizes ( ) ; this . $measureNode . style . fontWeight = "" , this . $characterSize = e , this . charSizes = Object . create ( null ) , this . allowBoldFonts = t && t . width === e . width && t . height === e . height , this . _emit ( "changeCharacterSize" , { data : e } ) } } , this . $pollSizeChanges = function ( ) { if ( this . $pollSizeChangesTimer ) return this . $pollSizeChangesTimer ; var e = this ; return this . $pollSizeChangesTimer = setInterval ( function ( ) { e . checkForSizeChanges ( ) } , 500 ) } , this . setPolling = function ( e ) { e ? this . $pollSizeChanges ( ) : this . $pollSizeChangesTimer && ( clearInterval ( this . $pollSizeChangesTimer ) , this . $pollSizeChangesTimer = 0 ) } , this . $measureSizes = function ( ) { if ( 50 === a ) { var e = null ; try { e = this . $measureNode . getBoundingClientRect ( ) } catch ( t ) { e = { width : 0 , height : 0 } } var n = { height : e . height , width : e . width / a } } else var n = { height : this . $measureNode . clientHeight , width : this . $measureNode . clientWidth / a } ; return 0 === n . width || 0 === n . height ? null : n } , this . $measureCharWidth = function ( e ) { this . $main . innerHTML = s . stringRepeat ( e , a ) ; var t = this . $main . getBoundingClientRect ( ) ; return t . width / a } , this . getCharacterWidth = function ( e ) { var t = this . charSizes [ e ] ; return void 0 === t && ( t = this . charSizes [ e ] = this . $measureCharWidth ( e ) / this . $characterSize . width ) , t } , this . destroy = function ( ) { clearInterval ( this . $pollSizeChangesTimer ) , this . el && this . el . parentNode && this . el . parentNode . removeChild ( this . el ) } } ) . call ( f . prototype ) } ) , ace . define ( "ace/virtual_renderer" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/dom" , "ace/config" , "ace/lib/useragent" , "ace/layer/gutter" , "ace/layer/marker" , "ace/layer/text" , "ace/layer/cursor" , "ace/scrollbar" , "ace/scrollbar" , "ace/renderloop" , "ace/layer/font_metrics" , "ace/lib/event_emitter" ] , function ( e , t , n ) { "use strict" ; var r = e ( "./lib/oop" ) , i = e ( "./lib/dom" ) , s = e ( "./config" ) , o = e ( "./lib/useragent" ) , u = e ( "./layer/gutter" ) . Gutter , a = e ( "./layer/marker" ) . Marker , f = e ( "./layer/text" ) . Text , l = e ( "./layer/cursor" ) . Cursor , c = e ( "./scrollbar" ) . HScrollBar , h = e ( "./scrollbar" ) . VScrollBar , p = e ( "./renderloop" ) . RenderLoop , d = e ( "./layer/font_metrics" ) . FontMetrics , v = e ( "./lib/event_emitter" ) . EventEmitter , m = '.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\' ; background : rgba ( 250 , 250 , 250 , 0.01 ) ; z - index : 1000 ; } . ace _dragging . ace _dark . ace _scroller : before { background : rgba ( 0 , 0 , 0 , 0.01 ) ; } . ace _selecting , . ace _selecting * { cursor : text ! important ; } . ace _gutter { position : absolute ; overflow : hidden ; width : auto ; top : 0 ; bottom : 0 ; left : 0 ; cursor : default ; z - index : 4 ; - ms - user - select : none ; - moz - user - select : none ; - webkit - user - select : none ; user - select : none ; } . ace _gutter - active - line { position : absolute ; left : 0 ; right : 0 ; } . ace _scroller . ace _scroll - left { box - shadow : 17 px 0 16 px - 16 px rgba ( 0 , 0 , 0 , 0.4 ) inset ; } . ace _gutter - cell { padding - left : 19 px ; padding - right : 6 px ; background - repeat : no - repeat ; } . ace _gutter - cell . ace _error { background - image : url ( " data : image / png ; base64 , iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX /////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew
Line truncated
if ( this . othersActive ) { this . othersActive = ! 1 ; for ( var e = 0 ; e < this . others . length ; e ++ ) this . session . removeMarker ( this . others [ e ] . markerId ) } } , this . onUpdate = function ( e ) { if ( this . $updating ) return this . updateAnchors ( e ) ; var t = e ; if ( t . start . row === t . end . row && t . start . row === this . pos . row ) { this . $updating = ! 0 ; var n = "insert" === e . action ? t . end . column - t . start . column : t . start . column - t . end . column , i = t . start . column >= this . pos . column && t . start . column <= this . pos . column + this . length + 1 , s = t . start . column - this . pos . column ; if ( this . updateAnchors ( e ) , i && ( this . length += n ) , i && ! this . session . $fromUndo ) if ( "insert" === e . action ) for ( var o = this . others . length - 1 ; o >= 0 ; o -- ) { var u = this . others [ o ] , a = { row : u . row , column : u . column + s } ; this . doc . insertMergedLines ( a , e . lines ) } else if ( "remove" === e . action ) for ( var o = this . others . length - 1 ; o >= 0 ; o -- ) { var u = this . others [ o ] , a = { row : u . row , column : u . column + s } ; this . doc . remove ( new r ( a . row , a . column , a . row , a . column - n ) ) } this . $updating = ! 1 , this . updateMarkers ( ) } } , this . updateAnchors = function ( e ) { this . pos . onChange ( e ) ; for ( var t = this . others . length ; t -- ; ) this . others [ t ] . onChange ( e ) ; this . updateMarkers ( ) } , this . updateMarkers = function ( ) { if ( ! this . $updating ) { var e = this , t = this . session , n = function ( n , i ) { t . removeMarker ( n . markerId ) , n . markerId = t . addMarker ( new r ( n . row , n . column , n . row , n . column + e . length ) , i , null , ! 1 ) } ; n ( this . pos , this . mainClass ) ; for ( var i = this . others . length ; i -- ; ) n ( this . others [ i ] , this . othersClass ) } } , this . onCursorChange = function ( e ) { if ( ! this . $updating && this . session ) { var t = this . session . selection . getCursor ( ) ; t . row === this . pos . row && t . column >= this . pos . column && t . column <= this . pos . column + this . length ? ( this . showOtherMarkers ( ) , this . _emit ( "cursorEnter" , e ) ) : ( this . hideOtherMarkers ( ) , this . _emit ( "cursorLeave" , e ) ) } } , this . detach = function ( ) { this . session . removeMarker ( this . pos && this . pos . markerId ) , this . hideOtherMarkers ( ) , this . doc . removeEventListener ( "change" , this . $onUpdate ) , this . session . selection . removeEventListener ( "changeCursor" , this . $onCursorChange ) , this . session . setUndoSelect ( ! 0 ) , this . session = null } , this . cancel = function ( ) { if ( this . $undoStackDepth !== - 1 ) { for ( var e = this . session . getUndoManager ( ) , t = ( e . $undoStack || e . $undostack ) . length - this . $undoStackDepth , n = 0 ; n < t ; n ++ ) e . undo ( ! 0 ) ; this . selectionBefore && this . session . selection . fromJSON ( this . selectionBefore ) } } } ) . call ( o . prototype ) , t . PlaceHolder = o } ) , ace . define ( "ace/mouse/multi_select_handler" , [ "require" , "exports" , "module" , "ace/lib/event" , "ace/lib/useragent" ] , function ( e , t , n ) { function s ( e , t ) { return e . row == t . row && e . column == t . column } function o ( e ) { var t = e . domEvent , n = t . altKey , o = t . shiftKey , u = t . ctrlKey , a = e . getAccelKey ( ) , f = e . getButton ( ) ; if ( u && i . isMac && ( f = t . button ) , e . editor . inMultiSelectMode && 2 == f ) return void e . editor . textInput . onContextMenu ( e . domEvent ) ; if ( ! u && ! n && ! a ) return void ( 0 === f && e . editor . inMultiSelectMode && e . editor . exitMultiSelectMode ( ) ) ; if ( 0 === f ) { var S , l = e . editor , c = l . selection , h = l . inMultiSelectMode , p = e . getDocumentPosition ( ) , d = c . getCursor ( ) , v = e . inSelection ( ) || c . isEmpty ( ) && s ( p , d ) , m = e . x , g = e . y , y = function ( e ) { m = e . clientX , g = e . clientY } , b = l . session , w = l . renderer . pixelToScreenCoordinates ( m , g ) , E = w ; if ( l . $mouseHandler . $enableJumpToDef ) u && n || a && n ? S = o ? "block" : "add" : n && l . $blockSelectEnabled && ( S = "block" ) ; else if ( a && ! n ) { if ( S = "add" , ! h && o ) return } else n && l . $blockSelectEnabled && ( S = "block" ) ; if ( S && i . isMac && t . ctrlKey && l . $mouseHandler . cancelContextMenu ( ) , "add" == S ) { if ( ! h && v ) return ; if ( ! h ) { var x = c . toOrientedRange ( ) ; l . addSelectionMarker ( x ) } var T = c . rangeList . rangeAtPoint ( p ) ; l . $blockScrolling ++ , l . inVirtualSelectionMode = ! 0 , o && ( T = null , x = c . ranges [ 0 ] || x , l . removeSelectionMarker ( x ) ) , l . once ( "mouseup" , function ( ) { var e = c . toOrientedRange ( ) ; T && e . isEmpty ( ) && s ( T . cursor , e . cursor ) ? c . substractPoint ( e . cursor ) : ( o ? c . substractPoint ( x . cursor ) : x && ( l . removeSelectionMarker ( x ) , c . addRange ( x ) ) , c . addRange ( e ) ) , l . $blockScrolling -- , l . inVirtualSelectionMode = ! 1 } ) } else if ( "block" == S ) { e . stop ( ) , l . inVirtualSelectionMode = ! 0 ; var N , C = [ ] , k = function ( ) { var e = l . renderer . pixelToScreenCoordinates ( m , g ) , t = b . screenToDocumentPosition ( e . row , e . column ) ; s ( E , e ) && s ( t , c . lead ) || ( E = e , l . $blockScrolling ++ , l . selection . moveToPosition ( t ) , l . renderer . scrollCursorIntoView ( ) , l . removeSelectionMarkers ( C ) , C = c . rectangularRangeBlock ( E , w ) , l . $mouseHandler . $clickSelection && 1 == C . length && C [ 0 ] . isEmpty ( ) && ( C [ 0 ] = l . $mouseHandler . $clickSelection . clone ( ) ) , C . forEach ( l . addSelectionMarker , l ) , l . updateSelectionMarkers ( ) , l . $blockScrolling -- ) } ; l . $blockScrolling ++ , h && ! a ? c . toSingleRange ( ) : ! h && a && ( N = c . toOrientedRange ( ) , l . addSelectionMarker ( N ) ) , o ? w = b . documentToScreenPosition ( c . lead ) : c . moveToPosition ( p ) , l . $blockScrolling -- , E = { row : - 1 , column : - 1 } ; var L = function ( e ) { clearInterval ( O ) , l . removeSelectionMarkers ( C ) , C . length || ( C = [ c . toOrientedRange ( ) ] ) , l . $blockScrolling ++ , N && ( l . removeSelectionMarker ( N ) , c . toSingleRange ( N ) ) ; for ( var t = 0 ; t < C . length ; t ++ ) c . addRange ( C [ t ] ) ; l . inVirtualSelectionMode = ! 1 , l . $mouseHandler . $clickSelection = null , l . $blockScrolling -- } , A = k ; r . capture ( l . container , y , L ) ; var O = setInterval ( function ( ) { A ( ) } , 20 ) ; return e . preventDefault ( ) } } } var r = e ( "../lib/event" ) , i = e ( "../lib/useragent" ) ; t . onMouseDown = o } ) , ace . define ( "ace/commands/multi_select_commands" , [ "require" , "exports" , "module" , " ace / Line truncated
void this . $textLayer . update ( n ) ) : ( this . $textLayer . updateLines ( n , e , t ) , ! 0 ) } , this . $getLongestLine = function ( ) { var e = this . session . getScreenWidth ( ) ; return this . showInvisibles && ! this . session . $useWrapMode && ( e += 1 ) , Math . max ( this . $size . scrollerWidth - 2 * this . $padding , Math . round ( e * this . characterWidth ) ) } , this . updateFrontMarkers = function ( ) { this . $markerFront . setMarkers ( this . session . getMarkers ( ! 0 ) ) , this . $loop . schedule ( this . CHANGE _MARKER _FRONT ) } , this . updateBackMarkers = function ( ) { this . $markerBack . setMarkers ( this . session . getMarkers ( ) ) , this . $loop . schedule ( this . CHANGE _MARKER _BACK ) } , this . addGutterDecoration = function ( e , t ) { this . $gutterLayer . addGutterDecoration ( e , t ) } , this . removeGutterDecoration = function ( e , t ) { this . $gutterLayer . removeGutterDecoration ( e , t ) } , this . updateBreakpoints = function ( e ) { this . $loop . schedule ( this . CHANGE _GUTTER ) } , this . setAnnotations = function ( e ) { this . $gutterLayer . setAnnotations ( e ) , this . $loop . schedule ( this . CHANGE _GUTTER ) } , this . updateCursor = function ( ) { this . $loop . schedule ( this . CHANGE _CURSOR ) } , this . hideCursor = function ( ) { this . $cursorLayer . hideCursor ( ) } , this . showCursor = function ( ) { this . $cursorLayer . showCursor ( ) } , this . scrollSelectionIntoView = function ( e , t , n ) { this . scrollCursorIntoView ( e , n ) , this . scrollCursorIntoView ( t , n ) } , this . scrollCursorIntoView = function ( e , t , n ) { if ( 0 !== this . $size . scrollerHeight ) { var r = this . $cursorLayer . getPixelPosition ( e ) , i = r . left , s = r . top , o = n && n . top || 0 , u = n && n . bottom || 0 , a = this . $scrollAnimation ? this . session . getScrollTop ( ) : this . scrollTop ; a + o > s ? ( t && a + o > s + this . lineHeight && ( s -= t * this . $size . scrollerHeight ) , 0 === s && ( s = - this . scrollMargin . top ) , this . session . setScrollTop ( s ) ) : a + this . $size . scrollerHeight - u < s + this . lineHeight && ( t && a + this . $size . scrollerHeight - u < s - this . lineHeight && ( s += t * this . $size . scrollerHeight ) , this . session . setScrollTop ( s + this . lineHeight - this . $size . scrollerHeight ) ) ; var f = this . scrollLeft ; f > i ? ( i < this . $padding + 2 * this . layerConfig . characterWidth && ( i = - this . scrollMargin . left ) , this . session . setScrollLeft ( i ) ) : f + this . $size . scrollerWidth < i + this . characterWidth ? this . session . setScrollLeft ( Math . round ( i + this . characterWidth - this . $size . scrollerWidth ) ) : f <= this . $padding && i - f < this . characterWidth && this . session . setScrollLeft ( 0 ) } } , this . getScrollTop = function ( ) { return this . session . getScrollTop ( ) } , this . getScrollLeft = function ( ) { return this . session . getScrollLeft ( ) } , this . getScrollTopRow = function ( ) { return this . scrollTop / this . lineHeight } , this . getScrollBottomRow = function ( ) { return Math . max ( 0 , Math . floor ( ( this . scrollTop + this . $size . scrollerHeight ) / this . lineHeight ) - 1 ) } , this . scrollToRow = function ( e ) { this . session . setScrollTop ( e * this . lineHeight ) } , this . alignCursor = function ( e , t ) { "number" == typeof e && ( e = { row : e , column : 0 } ) ; var n = this . $cursorLayer . getPixelPosition ( e ) , r = this . $size . scrollerHeight - this . lineHeight , i = n . top - r * ( t || 0 ) ; return this . session . setScrollTop ( i ) , i } , this . STEPS = 8 , this . $calcSteps = function ( e , t ) { var n = 0 , r = this . STEPS , i = [ ] , s = function ( e , t , n ) { return n * ( Math . pow ( e - 1 , 3 ) + 1 ) + t } ; for ( n = 0 ; n < r ; ++ n ) i . push ( s ( n / this . STEPS , e , t - e ) ) ; return i } , this . scrollToLine = function ( e , t , n , r ) { var i = this . $cursorLayer . getPixelPosition ( { row : e , column : 0 } ) , s = i . top ; t && ( s -= this . $size . scrollerHeight / 2 ) ; var o = this . scrollTop ; this . session . setScrollTop ( s ) , n !== ! 1 && this . animateScrolling ( o , r ) } , this . animateScrolling = function ( e , t ) { var n = this . scrollTop ; if ( this . $animatedScroll ) { var r = this ; if ( e != n ) { if ( this . $scrollAnimation ) { var i = this . $scrollAnimation . steps ; if ( i . length && ( e = i [ 0 ] , e == n ) ) return } var s = r . $calcSteps ( e , n ) ; this . $scrollAnimation = { from : e , to : n , steps : s } , clearInterval ( this . $timer ) , r . session . setScrollTop ( s . shift ( ) ) , r . session . $scrollTop = n , this . $timer = setInterval ( function ( ) { s . length ? ( r . session . setScrollTop ( s . shift ( ) ) , r . session . $scrollTop = n ) : null != n ? ( r . session . $scrollTop = - 1 , r . session . setScrollTop ( n ) , n = null ) : ( r . $timer = clearInterval ( r . $timer ) , r . $scrollAnimation = null , t && t ( ) ) } , 10 ) } } } , this . scrollToY = function ( e ) { this . scrollTop !== e && ( this . $loop . schedule ( this . CHANGE _SCROLL ) , this . scrollTop = e ) } , this . scrollToX = function ( e ) { this . scrollLeft !== e && ( this . scrollLeft = e ) , this . $loop . schedule ( this . CHANGE _H _SCROLL ) } , this . scrollTo = function ( e , t ) { this . session . setScrollTop ( t ) , this . session . setScrollLeft ( t ) } , this . scrollBy = function ( e , t ) { t && this . session . setScrollTop ( this . session . getScrollTop ( ) + t ) , e && this . session . setScrollLeft ( this . session . getScrollLeft ( ) + e ) } , this . isScrollableBy = function ( e , t ) { return t < 0 && this . session . getScrollTop ( ) >= 1 - this . scrollMargin . top || ( t > 0 && this . session . getScrollTop ( ) + this . $size . scrollerHeight - this . layerConfig . maxHeight < - 1 + this . scrollMargin . bottom || ( e < 0 && this . session . getScrollLeft ( ) >= 1 - this . scrollMargin . left || ( e > 0 && this . session . getScrollLeft ( ) + this . $size . scrollerWidth - this . layerConfig . width < - 1 + this . scrollMargin . right || void 0 ) ) ) } , this . pixelToScreenCoordinates = function ( e , t ) { var n = this . scroller . getBoundingClientRect ( ) , r = ( e + this . scrollLeft - n . left - this . $padding ) / this . characterWidth , i = Math . floor ( ( t + this . scrollTop - n . top ) / this . lineHeight ) , s = Math . round ( r ) ; return { row : i , column : s , side : r - s > 0 ? 1 : - 1 } } , this . screenToTextCoordinates = function ( e , t ) { var n = this . scroller . getBoundingClientRect ( ) , r = Math . round ( ( e + this . scrollLeft - n . left - th Line truncated
} var a = [ ] ; t = u . row ; do a [ n < 0 ? "unshift" : "push" ] ( u ) , u = r [ i += n ] ; while ( u && u . row == t ) ; return a . length && a } } } var r = e ( "../line_widgets" ) . LineWidgets , i = e ( "../lib/dom" ) , s = e ( "../range" ) . Range ; t . showErrorMarker = function ( e , t ) { var n = e . session ; n . widgetManager || ( n . widgetManager = new r ( n ) , n . widgetManager . attach ( e ) ) ; var s = e . getCursorPosition ( ) , o = s . row , a = n . widgetManager . getWidgetsAtRow ( o ) . filter ( function ( e ) { return "errorMarker" == e . type } ) [ 0 ] ; a ? a . destroy ( ) : o -= t ; var l , f = u ( n , o , t ) ; if ( f ) { var c = f [ 0 ] ; s . column = ( c . pos && "number" != typeof c . column ? c . pos . sc : c . column ) || 0 , s . row = c . row , l = e . renderer . $gutterLayer . $annotations [ s . row ] } else { if ( a ) return ; l = { text : [ "Looks good!" ] , className : "ace_ok" } } e . session . unfold ( s . row ) , e . selection . moveToPosition ( s ) ; var h = { row : s . row , fixedWidth : ! 0 , coverGutter : ! 0 , el : i . createElement ( "div" ) , type : "errorMarker" } , p = h . el . appendChild ( i . createElement ( "div" ) ) , d = h . el . appendChild ( i . createElement ( "div" ) ) ; d . className = "error_widget_arrow " + l . className ; var v = e . renderer . $cursorLayer . getPixelPosition ( s ) . left ; d . style . left = v + e . renderer . gutterWidth - 5 + "px" , h . el . className = "error_widget_wrapper" , p . className = "error_widget " + l . className , p . innerHTML = l . text . join ( "<br>" ) , p . appendChild ( i . createElement ( "div" ) ) ; var m = function ( e , t , n ) { if ( 0 === t && ( "esc" === n || "return" === n ) ) return h . destroy ( ) , { command : "null" } } ; h . destroy = function ( ) { e . $mouseHandler . isMousePressed || ( e . keyBinding . removeKeyboardHandler ( m ) , n . widgetManager . removeLineWidget ( h ) , e . off ( "changeSelection" , h . destroy ) , e . off ( "changeSession" , h . destroy ) , e . off ( "mouseup" , h . destroy ) , e . off ( "change" , h . destroy ) ) } , e . keyBinding . addKeyboardHandler ( m ) , e . on ( "changeSelection" , h . destroy ) , e . on ( "changeSession" , h . destroy ) , e . on ( "mouseup" , h . destroy ) , e . on ( "change" , h . destroy ) , e . session . widgetManager . addLineWidget ( h ) , h . el . onmousedown = e . focus . bind ( e ) , e . renderer . scrollCursorIntoView ( null , . 5 , { bottom : h . el . offsetHeight } ) } , i . importCssString ( " .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }" , "" ) } ) , ace . define ( "ace/ace" , [ "require" , "exports" , "module" , "ace/lib/fixoldbrowsers" , "ace/lib/dom" , "ace/lib/event" , "ace/editor" , "ace/edit_session" , "ace/undomanager" , "ace/virtual_renderer" , "ace/worker/worker_client" , "ace/keyboard/hash_handler" , "ace/placeholder" , "ace/multi_select" , "ace/mode/folding/fold_mode" , "ace/theme/textmate" , "ace/ext/error_marker" , "ace/config" ] , function ( e , t , n ) { "use strict" ; e ( "./lib/fixoldbrowsers" ) ; var r = e ( "./lib/dom" ) , i = e ( "./lib/event" ) , s = e ( "./editor" ) . Editor , o = e ( "./edit_session" ) . EditSession , u = e ( "./undomanager" ) . UndoManager , a = e ( "./virtual_renderer" ) . VirtualRenderer ; e ( "./worker/worker_client" ) , e ( "./keyboard/hash_handler" ) , e ( "./placeholder" ) , e ( "./multi_select" ) , e ( "./mode/folding/fold_mode" ) , e ( "./theme/textmate" ) , e ( "./ext/error_marker" ) , t . config = e ( "./config" ) , t . require = e , "function" == typeof define && ( t . define = define ) , t . edit = function ( e ) { if ( "string" == typeof e ) { var n = e ; if ( e = document . getElementById ( n ) , ! e ) throw new Error ( "ace.edit can't find div #" + n ) } if ( e && e . env && e . env . editor instanceof s ) return e . env . editor ; var o = "" ; if ( e && /input|textarea/i . test ( e . tagName ) ) { var u = e ; o = u . value , e = r . createElement ( "pre" ) , u . parentNode . replaceChild ( e , u ) } else e && ( o = r . getInnerText ( e ) , e . innerHTML = "" ) ; var f = t . createEditSession ( o ) , l = new s ( new a ( e ) ) ; l . setSession ( f ) ; var c = { document : f , editor : l , onResize : l . resize . bind ( l , null ) } ; return u && ( c . textarea = u ) , i . addListener ( window , "resize" , c . onResize ) , l . on ( "destroy" , function ( ) { i . removeListener ( window , "resize" , c . onResize ) , c . editor . container . env = null } ) , l . container . env = l . env = c , l } , t . createEditSession = function ( e , t ) { var n = new o ( e , t ) ; return n . setUndoManager ( new u ) , n } , t . EditSession = o , t . UndoManager = u , t . version = "1.2.6" } ) , function ( ) { ace . require ( [ "ace/ace" ] , function ( a ) { a && ( a . config . init ( ! 0 ) , a . define = ace . define ) , window . ace || ( window . ace = a ) ; for ( var key in a ) a . hasOwnProperty ( key ) && ( window . ace [ key ] = a [ key ] ) } ) } ( ) , ace . define ( "ace/ext/modelist" , [ "require" , "exports" , "module" ] , function ( e , t , n ) { "use strict" ; function i ( e ) { for ( var t = a . text , n = e . split ( /[\/\\]/ ) . pop ( ) , i = 0 ; i < r . length ; i ++ ) if ( r [ i ] . supportsFile ( n ) ) { t = r [ i ] ; break } return t } var r = [ ] , s = function ( e , t , n ) { this . name = e , this . caption = t , this . mode = "ace/mode/" + e , this . extensions = n ; var r ; r = /\^/ . test ( n ) ? n . replace ( /\|(\^)?/g , function ( e , t ) { return "$|" + ( t ? "^" : "^.*\\." ) } ) + "$" : "^.*\\.(" + n + ")$" , this . extRe Line truncated
this . $blockScrolling += 1 ; var s = this . multiSelect ; n || s . toSingleRange ( i [ 0 ] ) ; for ( var o = i . length ; o -- ; ) s . addRange ( i [ o ] , ! 0 ) ; return r && s . rangeList . rangeAtPoint ( r . start ) && s . addRange ( r , ! 0 ) , this . $blockScrolling -= 1 , i . length } , this . selectMoreLines = function ( e , t ) { var n = this . selection . toOrientedRange ( ) , r = n . cursor == n . end , s = this . session . documentToScreenPosition ( n . cursor ) ; this . selection . $desiredColumn && ( s . column = this . selection . $desiredColumn ) ; var o = this . session . screenToDocumentPosition ( s . row + e , s . column ) ; if ( n . isEmpty ( ) ) var a = o ; else var u = this . session . documentToScreenPosition ( r ? n . end : n . start ) , a = this . session . screenToDocumentPosition ( u . row + e , u . column ) ; if ( r ) { var f = i . fromPoints ( o , a ) ; f . cursor = f . start } else { var f = i . fromPoints ( a , o ) ; f . cursor = f . end } if ( f . desiredColumn = s . column , this . selection . inMultiSelectMode ) { if ( t ) var l = n . cursor } else this . selection . addRange ( n ) ; this . selection . addRange ( f ) , l && this . selection . substractPoint ( l ) } , this . transposeSelections = function ( e ) { for ( var t = this . session , n = t . multiSelect , r = n . ranges , i = r . length ; i -- ; ) { var s = r [ i ] ; if ( s . isEmpty ( ) ) { var o = t . getWordRange ( s . start . row , s . start . column ) ; s . start . row = o . start . row , s . start . column = o . start . column , s . end . row = o . end . row , s . end . column = o . end . column } } n . mergeOverlappingRanges ( ) ; for ( var u = [ ] , i = r . length ; i -- ; ) { var s = r [ i ] ; u . unshift ( t . getTextRange ( s ) ) } e < 0 ? u . unshift ( u . pop ( ) ) : u . push ( u . shift ( ) ) ; for ( var i = r . length ; i -- ; ) { var s = r [ i ] , o = s . clone ( ) ; t . replace ( s , u [ i ] ) , s . start . row = o . start . row , s . start . column = o . start . column } } , this . selectMore = function ( e , t , n ) { var r = this . session , i = r . multiSelect , s = i . toOrientedRange ( ) ; if ( ! s . isEmpty ( ) || ( s = r . getWordRange ( s . start . row , s . start . column ) , s . cursor = e == - 1 ? s . start : s . end , this . multiSelect . addRange ( s ) , ! n ) ) { var o = r . getTextRange ( s ) , u = h ( r , o , e ) ; u && ( u . cursor = e == - 1 ? u . start : u . end , this . $blockScrolling += 1 , this . session . unfold ( u ) , this . multiSelect . addRange ( u ) , this . $blockScrolling -= 1 , this . renderer . scrollCursorIntoView ( null , . 5 ) ) , t && this . multiSelect . substractPoint ( s . cursor ) } } , this . alignCursors = function ( ) { var e = this . session , t = e . multiSelect , n = t . ranges , r = - 1 , s = n . filter ( function ( e ) { return e . cursor . row == r || void ( r = e . cursor . row ) } ) ; if ( n . length && s . length != n . length - 1 ) { s . forEach ( function ( e ) { t . substractPoint ( e . cursor ) } ) ; var d = 0 , v = 1 / 0 , m = n . map ( function ( t ) { var n = t . cursor , r = e . getLine ( n . row ) , i = r . substr ( n . column ) . search ( /\S/g ) ; return i == - 1 && ( i = 0 ) , n . column > d && ( d = n . column ) , i < v && ( v = i ) , i } ) ; n . forEach ( function ( t , n ) { var r = t . cursor , s = d - r . column , o = m [ n ] - v ; s > o ? e . insert ( r , a . stringRepeat ( " " , s - o ) ) : e . remove ( new i ( r . row , r . column , r . row , r . column - s + o ) ) , t . start . column = t . end . column = d , t . start . row = t . end . row = r . row , t . cursor = t . end } ) , t . fromOrientedRange ( n [ 0 ] ) , this . renderer . updateCursor ( ) , this . renderer . updateBackMarkers ( ) } else { var o = this . selection . getRange ( ) , u = o . start . row , f = o . end . row , l = u == f ; if ( l ) { var h , c = this . session . getLength ( ) ; do h = this . session . getLine ( f ) ; while ( /[=:]/ . test ( h ) && ++ f < c ) ; do h = this . session . getLine ( u ) ; while ( /[=:]/ . test ( h ) && -- u > 0 ) ; u < 0 && ( u = 0 ) , f >= c && ( f = c - 1 ) } var p = this . session . removeFullLines ( u , f ) ; p = this . $reAlignText ( p , l ) , this . session . insert ( { row : u , column : 0 } , p . join ( "\n" ) + "\n" ) , l || ( o . start . column = 0 , o . end . column = p [ p . length - 1 ] . length ) , this . selection . setRange ( o ) } } , this . $reAlignText = function ( e , t ) { function u ( e ) { return a . stringRepeat ( " " , e ) } function f ( e ) { return e [ 2 ] ? u ( i ) + e [ 2 ] + u ( s - e [ 2 ] . length + o ) + e [ 4 ] . replace ( /^([=:])\s+/ , "$1 " ) : e [ 0 ] } function l ( e ) { return e [ 2 ] ? u ( i + s - e [ 2 ] . length ) + e [ 2 ] + u ( o , " " ) + e [ 4 ] . replace ( /^([=:])\s+/ , "$1 " ) : e [ 0 ] } function c ( e ) { return e [ 2 ] ? u ( i ) + e [ 2 ] + u ( o ) + e [ 4 ] . replace ( /^([=:])\s+/ , "$1 " ) : e [ 0 ] } var i , s , o , n = ! 0 , r = ! 0 ; return e . map ( function ( e ) { var t = e . match ( /(\s*)(.*?)(\s*)([=:].*)/ ) ; return t ? null == i ? ( i = t [ 1 ] . length , s = t [ 2 ] . length , o = t [ 3 ] . length , t ) : ( i + s + o != t [ 1 ] . length + t [ 2 ] . length + t [ 3 ] . length && ( r = ! 1 ) , i != t [ 1 ] . length && ( n = ! 1 ) , i > t [ 1 ] . length && ( i = t [ 1 ] . length ) , s < t [ 2 ] . length && ( s = t [ 2 ] . length ) , o > t [ 3 ] . length && ( o = t [ 3 ] . length ) , t ) : [ e ] } ) . map ( t ? f : n ? r ? l : f : c ) } } ) . call ( d . prototype ) , t . onSessionChange = function ( e ) { var t = e . session ; t && ! t . multiSelect && ( t . $selectionMarkers = [ ] , t . selection . $initRangeList ( ) , t . multiSelect = t . selection ) , this . multiSelect = t && t . multiSelect ; var n = e . oldSession ; n && ( n . multiSelect . off ( "addRange" , this . $onAddRange ) , n . multiSelect . off ( "removeRange" , this . $onRemoveRange ) , n . multiSelect . off ( "multiSelect" , this . $onMultiSelect ) , n . multiSelect . off ( "singleSelect" , this . $onSingleSelect ) , n . multiSelect . lead . off ( "change" , this . $checkMultiselectChange ) , n . multiSelect . anchor . off ( "change" , this . $checkMultiselectChange ) ) , t && ( t . multiSelect . on ( "addRange" , this . $onAddRange ) , t . multiSelect . on ( "removeRange" , this . $onRemoveRange ) , t . multiSelect . on ( "multiSelect" , this . $onMultiSelect ) , t . multiSelect . on ( "singleSelect" , this . $onSingleSelect ) , t . multiSelect . lead . on ( "change" , this . $checkMultiselectChange ) , t . multiSelect . anchor . on ( "change" , this . $checkMultiselectChange ) ) , t && this . inMultiSelectMode != t . selection . inMultiSelectMode && ( t . selection . inMultiSelectMode ? this . $onMultiSelect ( ) : this . $onSingleSelect ( ) ) } , t . MultiSelect = m , e ( "./config" ) . defineOptions ( d . prototype , "editor" , { enableMultiselect : { set : function ( e ) { m ( this ) , e ? ( this . on ( "changeSession" , this . $multiselectOnSessionChange ) , this . on ( "mousedown" , o ) Line truncated
if ( u ( f , "reference.attribute-value" ) ) return ; if ( u ( f , "attribute-value" ) ) { var l = f . value . charAt ( 0 ) ; if ( '"' == l || "'" == l ) { var c = f . value . charAt ( f . value . length - 1 ) , h = a . getCurrentTokenColumn ( ) + f . value . length ; if ( h > o . column || h == o . column && l != c ) return } } for ( ; ! u ( f , "tag-name" ) ; ) if ( f = a . stepBackward ( ) , "<" == f . value ) { f = a . stepForward ( ) ; break } var p = a . getCurrentTokenRow ( ) , d = a . getCurrentTokenColumn ( ) ; if ( u ( a . stepBackward ( ) , "end-tag-open" ) ) return ; var v = f . value ; if ( p == o . row && ( v = v . substring ( 0 , o . column - d ) ) , this . voidElements . hasOwnProperty ( v . toLowerCase ( ) ) ) return ; return { text : "></" + v + ">" , selection : [ 1 , 1 ] } } } ) , this . add ( "autoindent" , "insertion" , function ( e , t , n , r , i ) { if ( "\n" == i ) { var o = n . getCursorPosition ( ) , u = r . getLine ( o . row ) , a = new s ( r , o . row , o . column ) , f = a . getCurrentToken ( ) ; if ( f && f . type . indexOf ( "tag-close" ) !== - 1 ) { if ( "/>" == f . value ) return ; for ( ; f && f . type . indexOf ( "tag-name" ) === - 1 ; ) f = a . stepBackward ( ) ; if ( ! f ) return ; var l = f . value , c = a . getCurrentTokenRow ( ) ; if ( f = a . stepBackward ( ) , ! f || f . type . indexOf ( "end-tag" ) !== - 1 ) return ; if ( this . voidElements && ! this . voidElements [ l ] ) { var h = r . getTokenAt ( o . row , o . column + 1 ) , u = r . getLine ( c ) , p = this . $getIndent ( u ) , d = p + r . getTabString ( ) ; return h && "</" === h . value ? { text : "\n" + d + "\n" + p , selection : [ 1 , d . length , 1 , d . length ] } : { text : "\n" + d } } } } } ) } ) ; r . inherits ( a , i ) , t . XmlBehaviour = a } ) , ace . define ( "ace/mode/folding/xml" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/lang" , "ace/range" , "ace/mode/folding/fold_mode" , "ace/token_iterator" ] , function ( e , t , n ) { "use strict" ; function l ( e , t ) { return e . type . lastIndexOf ( t + ".xml" ) > - 1 } var r = e ( "../../lib/oop" ) , s = ( e ( "../../lib/lang" ) , e ( "../../range" ) . Range ) , o = e ( "./fold_mode" ) . FoldMode , u = e ( "../../token_iterator" ) . TokenIterator , a = t . FoldMode = function ( e , t ) { o . call ( this ) , this . voidElements = e || { } , this . optionalEndTags = r . mixin ( { } , this . voidElements ) , t && r . mixin ( this . optionalEndTags , t ) } ; r . inherits ( a , o ) ; var f = function ( ) { this . tagName = "" , this . closing = ! 1 , this . selfClosing = ! 1 , this . start = { row : 0 , column : 0 } , this . end = { row : 0 , column : 0 } } ; ( function ( ) { this . getFoldWidget = function ( e , t , n ) { var r = this . _getFirstTagInLine ( e , n ) ; return r ? r . closing || ! r . tagName && r . selfClosing ? "markbeginend" == t ? "end" : "" : ! r . tagName || r . selfClosing || this . voidElements . hasOwnProperty ( r . tagName . toLowerCase ( ) ) ? "" : this . _findEndTagInLine ( e , n , r . tagName , r . end . column ) ? "" : "start" : "" } , this . _getFirstTagInLine = function ( e , t ) { for ( var n = e . getTokens ( t ) , r = new f , i = 0 ; i < n . length ; i ++ ) { var s = n [ i ] ; if ( l ( s , "tag-open" ) ) { if ( r . end . column = r . start . column + s . value . length , r . closing = l ( s , "end-tag-open" ) , s = n [ ++ i ] , ! s ) return null ; for ( r . tagName = s . value , r . end . column += s . value . length , i ++ ; i < n . length ; i ++ ) if ( s = n [ i ] , r . end . column += s . value . length , l ( s , "tag-close" ) ) { r . selfClosing = "/>" == s . value ; break } return r } if ( l ( s , "tag-close" ) ) return r . selfClosing = "/>" == s . value , r ; r . start . column += s . value . length } return null } , this . _findEndTagInLine = function ( e , t , n , r ) { for ( var i = e . getTokens ( t ) , s = 0 , o = 0 ; o < i . length ; o ++ ) { var u = i [ o ] ; if ( s += u . value . length , ! ( s < r ) && l ( u , "end-tag-open" ) && ( u = i [ o + 1 ] , u && u . value == n ) ) return ! 0 } return ! 1 } , this . _readTagForward = function ( e ) { var t = e . getCurrentToken ( ) ; if ( ! t ) return null ; var n = new f ; do if ( l ( t , "tag-open" ) ) n . closing = l ( t , "end-tag-open" ) , n . start . row = e . getCurrentTokenRow ( ) , n . start . column = e . getCurrentTokenColumn ( ) ; else if ( l ( t , "tag-name" ) ) n . tagName = t . value ; else if ( l ( t , "tag-close" ) ) return n . selfClosing = "/>" == t . value , n . end . row = e . getCurrentTokenRow ( ) , n . end . column = e . getCurrentTokenColumn ( ) + t . value . length , e . stepForward ( ) , n ; while ( t = e . stepForward ( ) ) ; return null } , this . _readTagBackward = function ( e ) { var t = e . getCurrentToken ( ) ; if ( ! t ) return null ; var n = new f ; do { if ( l ( t , "tag-open" ) ) return n . closing = l ( t , "end-tag-open" ) , n . start . row = e . getCurrentTokenRow ( ) , n . start . column = e . getCurrentTokenColumn ( ) , e . stepBackward ( ) , n ; l ( t , "tag-name" ) ? n . tagName = t . value : l ( t , "tag-close" ) && ( n . selfClosing = "/>" == t . value , n . end . row = e . getCurrentTokenRow ( ) , n . end . column = e . getCurrentTokenColumn ( ) + t . value . length ) } while ( t = e . stepBackward ( ) ) ; return null } , this . _pop = function ( e , t ) { for ( ; e . length ; ) { var n = e [ e . length - 1 ] ; if ( ! t || n . tagName == t . tagName ) return e . pop ( ) ; { if ( ! this . optionalEndTags . hasOwnProperty ( n . tagName ) ) return null ; e . pop ( ) } } } , this . getFoldWidgetRange = function ( e , t , n ) { var r = this . _getFirstTagInLine ( e , n ) ; if ( ! r ) return null ; var a , i = r . closing || r . selfClosing , o = [ ] ; if ( i ) { for ( var f = new u ( e , n , r . end . column ) , c = { row : n , column : r . start . column } ; a = this . _readTagBackward ( f ) ; ) if ( a . selfClosing ) { if ( ! o . length ) return a . start . column += a . tagName . length + 2 , a . end . column -= 2 , s . fromPoints ( a . start , a . end ) } else if ( a . closing ) o . push ( a ) ; else if ( this . _pop ( o , a ) , 0 == o . length ) return a . start . column += a . tagName . length + 2 , a . start . row == a . end . row && a . start . column < a . end . column && ( a . start . column = a . end . column ) , s . fromPoints ( a . start , c ) } else { var f = new u ( e , n , r . start . column ) , l = { row : n , column : r . start . column + r . tagName . length + 2 } ; for ( r . start . row == r . end . row && ( l . column = r . end . column ) ; a = this . _readTagForward ( f ) ; ) if ( a . selfClosing ) { if ( ! o . length ) return a . start . column += a . tagName . length + 2 , a . end . column -= 2 , s . fromPoints ( a . start , a . end ) } else if ( a . closing ) { if ( this . _pop ( o , a ) , 0 == o . length ) return s . fromPoints ( l , a . start ) } else o . push ( a ) } } } ) . call ( a . prototype ) } ) , ace . define ( " ace / mod Line truncated
} , { token : "support.function.dom" , regex : /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/ } , { token : "support.constant" , regex : /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/ } , { token : "identifier" , regex : o } , { regex : "" , token : "empty" , next : "no_regex" } ] , start : [ i . getStartRule ( "doc-start" ) , f ( "start" ) , { token : "string.regexp" , regex : "\\/" , next : "regex" } , { token : "text" , regex : "\\s+|^$" , next : "start" } , { token : "empty" , regex : "" , next : "no_regex" } ] , regex : [ { token : "regexp.keyword.operator" , regex : "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)" } , { token : "string.regexp" , regex : "/[sxngimy]*" , next : "no_regex" } , { token : "invalid" , regex : /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/ } , { token : "constant.language.escape" , regex : /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/ } , { token : "constant.language.delimiter" , regex : /\|/ } , { token : "constant.language.escape" , regex : /\[\^?/ , next : "regex_character_class" } , { token : "empty" , regex : "$" , next : "no_regex" } , { defaultToken : "string.regexp" } ] , regex _character _class : [ { token : "regexp.charclass.keyword.operator" , regex : "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)" } , { token : "constant.language.escape" , regex : "]" , next : "regex" } , { token : "constant.language.escape" , regex : "-" } , { token : "empty" , regex : "$" , next : "no_regex" } , { defaultToken : "string.regexp.charachterclass" } ] , function _arguments : [ { token : "variable.parameter" , regex : o } , { token : "punctuation.operator" , regex : "[, ]+" } , { token : "punctuation.operator" , regex : "$" } , { token : "empty" , regex : "" , next : "no_regex" } ] , qqstring : [ { token : "constant.language.escape" , regex : r } , { token : "string" , regex : "\\\\$" , next : "qqstring" } , { token : "string" , regex : '"|$' , next : "no_regex" } , { defaultToken : "string" } ] , qstring : [ { token : "constant.language.escape" , regex : r } , { token : "string" , regex : "\\\\$" , next : "qstring" } , { token : "string" , regex : "'|$" , next : "no_regex" } , { defaultToken : "string" } ] } , e && e . noES6 || ( this . $rules . no _regex . unshift ( { regex : "[{}]" , onMatch : function ( e , t , n ) { if ( this . next = "{" == e ? this . nextState : "" , "{" == e && n . length ) n . unshift ( "start" , t ) ; else if ( "}" == e && n . length && ( n . shift ( ) , this . next = n . shift ( ) , this . next . indexOf ( "string" ) != - 1 || this . next . indexOf ( "jsx" ) != - 1 ) ) return "paren.quasi.end" ; return "{" == e ? "paren.lparen" : "paren.rparen" } , nextState : "start" } , { token : "string.quasi.start" , regex : /`/ , push : [ { token : "constant.language.escape" , regex : r } , { token : "paren.quasi.start" , regex : /\${/ , push : "start" } , { token : "string.quasi.end" , regex : /`/ , next : "pop" } , { defaultToken : "string.quasi" } ] } ) , ( ! e || 0 != e . jsx ) && a . call ( this ) ) , this . embedRules ( i , "doc-" , [ i . getEndRule ( "no_regex" ) ] ) , this . normalizeRules ( ) } ; r . inherits ( u , s ) , t . JavaScriptHighlightRules = u } ) , ace . define ( "ace/mode/matching_brace_outdent" , [ "require" , "exports" , "module" , "ace/range" ] , f Line truncated
return i . map ( function ( e ) { return { caption : e , snippet : e , meta : "html entity" , score : Number . MAX _VALUE } } ) } } ) . call ( h . prototype ) , t . HtmlCompletions = h } ) , ace . define ( "ace/mode/html" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/lang" , "ace/mode/text" , "ace/mode/javascript" , "ace/mode/css" , "ace/mode/html_highlight_rules" , "ace/mode/behaviour/xml" , "ace/mode/folding/html" , "ace/mode/html_completions" , "ace/worker/worker_client" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../lib/oop" ) , i = e ( "../lib/lang" ) , s = e ( "./text" ) . Mode , o = e ( "./javascript" ) . Mode , u = e ( "./css" ) . Mode , a = e ( "./html_highlight_rules" ) . HtmlHighlightRules , f = e ( "./behaviour/xml" ) . XmlBehaviour , l = e ( "./folding/html" ) . FoldMode , c = e ( "./html_completions" ) . HtmlCompletions , h = e ( "../worker/worker_client" ) . WorkerClient , p = [ "area" , "base" , "br" , "col" , "embed" , "hr" , "img" , "input" , "keygen" , "link" , "meta" , "menuitem" , "param" , "source" , "track" , "wbr" ] , d = [ "li" , "dt" , "dd" , "p" , "rt" , "rp" , "optgroup" , "option" , "colgroup" , "td" , "th" ] , v = function ( e ) { this . fragmentContext = e && e . fragmentContext , this . HighlightRules = a , this . $behaviour = new f , this . $completer = new c , this . createModeDelegates ( { "js-" : o , "css-" : u } ) , this . foldingRules = new l ( this . voidElements , i . arrayToMap ( d ) ) } ; r . inherits ( v , s ) , function ( ) { this . blockComment = { start : "<!--" , end : "-->" } , this . voidElements = i . arrayToMap ( p ) , this . getNextLineIndent = function ( e , t , n ) { return this . $getIndent ( t ) } , this . checkOutdent = function ( e , t , n ) { return ! 1 } , this . getCompletions = function ( e , t , n , r ) { return this . $completer . getCompletions ( e , t , n , r ) } , this . createWorker = function ( e ) { if ( this . constructor == v ) { var t = new h ( [ "ace" ] , "ace/mode/html_worker" , "Worker" ) ; return t . attachToDocument ( e . getDocument ( ) ) , this . fragmentContext && t . call ( "setOptions" , [ { context : this . fragmentContext } ] ) , t . on ( "error" , function ( t ) { e . setAnnotations ( t . data ) } ) , t . on ( "terminate" , function ( ) { e . clearAnnotations ( ) } ) , t } } , this . $id = "ace/mode/html" } . call ( v . prototype ) , t . Mode = v } ) , ace . define ( "ace/mode/markdown_highlight_rules" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/lang" , "ace/mode/text_highlight_rules" , "ace/mode/javascript_highlight_rules" , "ace/mode/xml_highlight_rules" , "ace/mode/html_highlight_rules" , "ace/mode/css_highlight_rules" ] , function ( e , t , n ) { "use strict" ; function c ( e , t ) { return { token : "support.function" , regex : "^\\s*```" + e + "\\s*$" , push : t + "start" } } var r = e ( "../lib/oop" ) , i = e ( "../lib/lang" ) , s = e ( "./text_highlight_rules" ) . TextHighlightRules , o = e ( "./javascript_highlight_rules" ) . JavaScriptHighlightRules , u = e ( "./xml_highlight_rules" ) . XmlHighlightRules , a = e ( "./html_highlight_rules" ) . HtmlHighlightRules , f = e ( "./css_highlight_rules" ) . CssHighlightRules , l = function ( e ) { return "(?:[^" + i . escapeRegExp ( e ) + "\\\\]|\\\\.)*" } , h = function ( ) { a . call ( this ) , this . $rules . start . unshift ( { token : "empty_line" , regex : "^$" , next : "allowBlock" } , { token : "markup.heading.1" , regex : "^=+(?=\\s*$)" } , { token : "markup.heading.2" , regex : "^\\-+(?=\\s*$)" } , { token : function ( e ) { return "markup.heading." + e . length } , regex : /^#{1,6}(?=\s*[^ #]|\s+#.)/ , next : "header" } , c ( "(?:javascript|js)" , "jscode-" ) , c ( "xml" , "xmlcode-" ) , c ( "html" , "htmlcode-" ) , c ( "css" , "csscode-" ) , { token : "support.function" , regex : "^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$" , next : "githubblock" } , { token : "string.blockquote" , regex : "^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+" , next : "blockquote" } , { token : "constant" , regex : "^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$" , next : "allowBlock" } , { token : "markup.list" , regex : "^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+" , next : "listblock-start" } , { include : "basic" } ) , this . addRules ( { basic : [ { token : "constant.language.escape" , regex : /\\[\\`*_{}\[\]()#+\-.!]/ } , { token : "support.function" , regex : "(`+)(.*?[^`])(\\1)" } , { token : [ "text" , "constant" , "text" , "url" , "string" , "text" ] , regex : '^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$' } , { token : [ "text" , "string" , "text" , "constant" , "text" ] , regex : "(\\[)(" + l ( "]" ) + ")(\\]\\s*\\[)(" + l ( "]" ) + ")(\\])" } , { token : [ "text" , "string" , "text" , "markup.underline" , "string" , "text" ] , regex : "(\\[)(" + l ( "]" ) + ')(\\]\\()((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)(\\s*"' + l ( '"' ) + '"\\s*)?(\\))' } , { token : "string.strong" , regex : "([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)" } , { token : "string.emphasis" , regex : "([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)" } , { token : [ "text" , "url" , "text" ] , regex : "(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)" } ] , allowBlock : [ { token : "support.function" , regex : "^ {4}.+" , next : "allowBlock" } , { token : "empty_line" , regex : "^$" , next : "allowBlock" } , { token : "empty" , regex : "" , next : "start" } ] , header : [ { regex : "$" , next : "start" } , { include : "basic" } , { defaultToken : "heading" } ] , "listblock-start" : [ { token : "support.variable" , regex : /(?:\[[ x]\])?/ , next : "listblock" } ] , listblock : [ { token : "empty_line" , regex : "^$" , next : "start" } , { token : "markup.list" , regex : "^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+" , next : "listblock-start" } , { include : "basic" , noEscape : ! 0 } , { token : "support.function" , regex : "^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$" , next : "githubblock" } , { defaultToken : "list" } ] , blockquote : [ { token : "empty_line" , regex : "^\\s*$" , next : "start" } , { token : "string.blockquote" , regex : "^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+" , next : "blockquote" } , { include : " basi Line truncated
"-webkit-border-bottom-left-radius" : 1 , "-moz-box-shadow" : 1 , "-webkit-box-shadow" : 1 , transform : { "rotate($00deg)" : 1 , "skew($00deg)" : 1 } , "-moz-transform" : { "rotate($00deg)" : 1 , "skew($00deg)" : 1 } , "-webkit-transform" : { "rotate($00deg)" : 1 , "skew($00deg)" : 1 } } , i = function ( ) { } ; ( function ( ) { this . completionsDefined = ! 1 , this . defineCompletions = function ( ) { if ( document ) { var e = document . createElement ( "c" ) . style ; for ( var t in e ) if ( "string" == typeof e [ t ] ) { var n = t . replace ( /[A-Z]/g , function ( e ) { return "-" + e . toLowerCase ( ) } ) ; r . hasOwnProperty ( n ) || ( r [ n ] = 1 ) } } this . completionsDefined = ! 0 } , this . getCompletions = function ( e , t , n , r ) { this . completionsDefined || this . defineCompletions ( ) ; var i = t . getTokenAt ( n . row , n . column ) ; if ( ! i ) return [ ] ; if ( "ruleset" === e ) { var s = t . getLine ( n . row ) . substr ( 0 , n . column ) ; return /:[^;]+$/ . test ( s ) ? ( /([\w\-]+):[^:]*$/ . test ( s ) , this . getPropertyValueCompletions ( e , t , n , r ) ) : this . getPropertyCompletions ( e , t , n , r ) } return [ ] } , this . getPropertyCompletions = function ( e , t , n , i ) { var s = Object . keys ( r ) ; return s . map ( function ( e ) { return { caption : e , snippet : e + ": $0" , meta : "property" , score : Number . MAX _VALUE } } ) } , this . getPropertyValueCompletions = function ( e , t , n , i ) { var s = t . getLine ( n . row ) . substr ( 0 , n . column ) , o = ( /([\w\-]+):[^:]*$/ . exec ( s ) || { } ) [ 1 ] ; if ( ! o ) return [ ] ; var u = [ ] ; return o in r && "object" == typeof r [ o ] && ( u = Object . keys ( r [ o ] ) ) , u . map ( function ( e ) { return { caption : e , snippet : e , meta : "property value" , score : Number . MAX _VALUE } } ) } } ) . call ( i . prototype ) , t . CssCompletions = i } ) , ace . define ( "ace/mode/behaviour/css" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/mode/behaviour" , "ace/mode/behaviour/cstyle" , "ace/token_iterator" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../../lib/oop" ) , s = ( e ( "../behaviour" ) . Behaviour , e ( "./cstyle" ) . CstyleBehaviour ) , o = e ( "../../token_iterator" ) . TokenIterator , u = function ( ) { this . inherit ( s ) , this . add ( "colon" , "insertion" , function ( e , t , n , r , i ) { if ( ":" === i ) { var s = n . getCursorPosition ( ) , u = new o ( r , s . row , s . column ) , a = u . getCurrentToken ( ) ; if ( a && a . value . match ( /\s+/ ) && ( a = u . stepBackward ( ) ) , a && "support.type" === a . type ) { var f = r . doc . getLine ( s . row ) , l = f . substring ( s . column , s . column + 1 ) ; if ( ":" === l ) return { text : "" , selection : [ 1 , 1 ] } ; if ( ! f . substring ( s . column ) . match ( /^\s*;/ ) ) return { text : ":;" , selection : [ 1 , 1 ] } } } } ) , this . add ( "colon" , "deletion" , function ( e , t , n , r , i ) { var s = r . doc . getTextRange ( i ) ; if ( ! i . isMultiLine ( ) && ":" === s ) { var u = n . getCursorPosition ( ) , a = new o ( r , u . row , u . column ) , f = a . getCurrentToken ( ) ; if ( f && f . value . match ( /\s+/ ) && ( f = a . stepBackward ( ) ) , f && "support.type" === f . type ) { var l = r . doc . getLine ( i . start . row ) , c = l . substring ( i . end . column , i . end . column + 1 ) ; if ( ";" === c ) return i . end . column ++ , i } } } ) , this . add ( "semicolon" , "insertion" , function ( e , t , n , r , i ) { if ( ";" === i ) { var s = n . getCursorPosition ( ) , o = r . doc . getLine ( s . row ) , u = o . substring ( s . column , s . column + 1 ) ; if ( ";" === u ) return { text : "" , selection : [ 1 , 1 ] } } } ) } ; r . inherits ( u , s ) , t . CssBehaviour = u } ) , ace . define ( "ace/mode/css" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/mode/text" , "ace/mode/css_highlight_rules" , "ace/mode/matching_brace_outdent" , "ace/worker/worker_client" , "ace/mode/css_completions" , "ace/mode/behaviour/css" , "ace/mode/folding/cstyle" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../lib/oop" ) , i = e ( "./text" ) . Mode , s = e ( "./css_highlight_rules" ) . CssHighlightRules , o = e ( "./matching_brace_outdent" ) . MatchingBraceOutdent , u = e ( "../worker/worker_client" ) . WorkerClient , a = e ( "./css_completions" ) . CssCompletions , f = e ( "./behaviour/css" ) . CssBehaviour , l = e ( "./folding/cstyle" ) . FoldMode , c = function ( ) { this . HighlightRules = s , this . $outdent = new o , this . $behaviour = new f , this . $completer = new a , this . foldingRules = new l } ; r . inherits ( c , i ) , function ( ) { this . foldingRules = "cStyle" , this . blockComment = { start : "/*" , end : "*/" } , this . getNextLineIndent = function ( e , t , n ) { var r = this . $getIndent ( t ) , i = this . getTokenizer ( ) . getLineTokens ( t , e ) . tokens ; if ( i . length && "comment" == i [ i . length - 1 ] . type ) return r ; var s = t . match ( /^.*\{\s*$/ ) ; return s && ( r += n ) , r } , this . checkOutdent = function ( e , t , n ) { return this . $outdent . checkOutdent ( t , n ) } , this . autoOutdent = function ( e , t , n ) { this . $outdent . autoOutdent ( t , n ) } , this . getCompletions = function ( e , t , n , r ) { return this . $completer . getCompletions ( e , t , n , r ) } , this . createWorker = function ( e ) { var t = new u ( [ "ace" ] , "ace/mode/css_worker" , "Worker" ) ; return t . attachToDocument ( e . getDocument ( ) ) , t . on ( "annotate" , function ( t ) { e . setAnnotations ( t . data ) } ) , t . on ( "terminate" , function ( ) { e . clearAnnotations ( ) } ) , t } , this . $id = "ace/mode/css" } . call ( c . prototype ) , t . Mode = c } ) , ace . define ( "ace/mode/html_highlight_rules" , [ "require" , "exports" , "module" , "ace/lib/oop" , "ace/lib/lang" , "ace/mode/css_highlight_rules" , "ace/mode/javascript_highlight_rules" , "ace/mode/xml_highlight_rules" ] , function ( e , t , n ) { "use strict" ; var r = e ( "../lib/oop" ) , i = e ( "../lib/lang" ) , s = e ( "./css_highlight_rules" ) . CssHighlightRules , o = e ( "./javascript_highlight_rules" ) . JavaScriptHighlightRules , u = e ( "./xml_highlight_rules" ) . XmlHighlightRules , a = i . createMap ( { a : "anchor" , button : "form" , form : "form" , img : "image" , input : "form" , label : "form" , option : "form" , script : "script" , select : "form" , textarea : "form" , style : "style" , table : "table" , tbody : "table" , td : "table" , tfoot : "table" , th : "table" , tr : "table" } ) , f = function ( ) { u . call ( this ) , this . addRules ( { attributes : [ { inc Line truncated
return "number" == typeof n ? n : Au ( n ) ? P : + n } function jr ( n ) { if ( "string" == typeof n ) return n ; if ( af ( n ) ) return l ( n , jr ) + "" ; if ( Au ( n ) ) return uo ? uo . call ( n ) : "" ; var t = n + "" ; return "0" == t && 1 / n == - N ? "-0" : t } function wr ( n , t , r ) { var e = - 1 , u = c , i = n . length , o = ! 0 , f = [ ] , l = f ; if ( r ) o = ! 1 , u = a ; else if ( 200 <= i ) { if ( u = t ? null : po ( n ) ) return D ( u ) ; o = ! 1 , u = R , l = new qn } else l = t ? [ ] : f ; n : for ( ; ++ e < i ; ) { var s = n [ e ] , h = t ? t ( s ) : s , s = r || 0 !== s ? s : 0 ; if ( o && h === h ) { for ( var p = l . length ; p -- ; ) if ( l [ p ] === h ) continue n ; t && l . push ( h ) , f . push ( s ) } else u ( l , h , r ) || ( l !== f && l . push ( h ) , f . push ( s ) ) } return f } function mr ( n , t ) { return t = Rr ( t , n ) , n = 2 > t . length ? n : It ( n , vr ( t , 0 , - 1 ) ) , null == n || delete n [ $e ( Ge ( t ) ) ] } function Ar ( n , t , r , e ) { for ( var u = n . length , i = e ? u : - 1 ; ( e ? i -- : ++ i < u ) && t ( n [ i ] , i , n ) ; ) ; return r ? vr ( n , e ? 0 : i , e ? i + 1 : u ) : vr ( n , e ? i + 1 : 0 , e ? u : i ) } function kr ( n , t ) { var r = n ; return r instanceof Mn && ( r = r . value ( ) ) , h ( t , function ( n , t ) { return t . func . apply ( t . thisArg , s ( [ n ] , t . args ) ) } , r ) } function Er ( n , t , r ) { var e = n . length ; if ( 2 > e ) return e ? wr ( n [ 0 ] ) : [ ] ; for ( var u = - 1 , i = Hu ( e ) ; ++ u < e ; ) for ( var o = n [ u ] , f = - 1 ; ++ f < e ; ) f != u && ( i [ u ] = jt ( i [ u ] || o , n [ f ] , t , r ) ) ; return wr ( kt ( i , 1 ) , t , r ) } function Or ( n , t , r ) { for ( var e = - 1 , u = n . length , i = t . length , o = { } ; ++ e < u ; ) r ( o , n [ e ] , e < i ? t [ e ] : F ) ; return o } function Sr ( n ) { return _u ( n ) ? n : [ ] } function Ir ( n ) { return "function" == typeof n ? n : Nu } function Rr ( n , t ) { return af ( n ) ? n : We ( n , t ) ? [ n ] : mo ( zu ( n ) ) } function zr ( n , t , r ) { var e = n . length ; return r = r === F ? e : r , ! t && r >= e ? n : vr ( n , t , r ) } function Wr ( n , t ) { if ( t ) return n . slice ( ) ; var r = n . length , r = yi ? yi ( r ) : new n . constructor ( r ) ; return n . copy ( r ) , r } function Br ( n ) { var t = new n . constructor ( n . byteLength ) ; return new di ( t ) . set ( new di ( n ) ) , t } function Lr ( n , t ) { return new n . constructor ( t ? Br ( n . buffer ) : n . buffer , n . byteOffset , n . length ) } function Ur ( n , t ) { if ( n !== t ) { var r = n !== F , e = null === n , u = n === n , i = Au ( n ) , o = t !== F , f = null === t , c = t === t , a = Au ( t ) ; if ( ! f && ! a && ! i && n > t || i && o && c && ! f && ! a || e && o && c || ! r && c || ! u ) return 1 ; if ( ! e && ! i && ! a && n < t || a && r && u && ! e && ! i || f && r && u || ! o && u || ! c ) return - 1 } return 0 } function Cr ( n , t , r , e ) { var u = - 1 , i = n . length , o = r . length , f = - 1 , c = t . length , a = Di ( i - o , 0 ) , l = Hu ( c + a ) ; for ( e = ! e ; ++ f < c ; ) l [ f ] = t [ f ] ; for ( ; ++ u < o ; ) ( e || u < i ) && ( l [ r [ u ] ] = n [ u ] ) ; for ( ; a -- ; ) l [ f ++ ] = n [ u ++ ] ; return l } function Dr ( n , t , r , e ) { var u = - 1 , i = n . length , o = - 1 , f = r . length , c = - 1 , a = t . length , l = Di ( i - f , 0 ) , s = Hu ( l + a ) ; for ( e = ! e ; ++ u < l ; ) s [ u ] = n [ u ] ; for ( l = u ; ++ c < a ; ) s [ l + c ] = t [ c ] ; for ( ; ++ o < f ; ) ( e || u < i ) && ( s [ l + r [ o ] ] = n [ u ++ ] ) ; return s } function Mr ( n , t ) { var r = - 1 , e = n . length ; for ( t || ( t = Hu ( e ) ) ; ++ r < e ; ) t [ r ] = n [ r ] ; return t } function Tr ( n , t , r , e ) { var u = ! r ; r || ( r = { } ) ; for ( var i = - 1 , o = t . length ; ++ i < o ; ) { var f = t [ i ] , c = e ? e ( r [ f ] , n [ f ] , f , r , n ) : F ; c === F && ( c = n [ f ] ) , u ? _t ( r , f , c ) : at ( r , f , c ) } return r } function $r ( n , t ) { return Tr ( n , vo ( n ) , t ) } function Fr ( n , t ) { return Tr ( n , go ( n ) , t ) } function Nr ( n , t ) { return function ( r , u ) { var i = af ( r ) ? e : st , o = t ? t ( ) : { } ; return i ( r , n , je ( u , 2 ) , o ) } } function Pr ( n ) { return lr ( function ( t , r ) { var e = - 1 , u = r . length , i = 1 < u ? r [ u - 1 ] : F , o = 2 < u ? r [ 2 ] : F , i = 3 < n . length && "function" == typeof i ? ( u -- , i ) : F ; for ( o && ze ( r [ 0 ] , r [ 1 ] , o ) && ( i = 3 > u ? F : i , u = 1 ) , t = ni ( t ) ; ++ e < u ; ) ( o = r [ e ] ) && n ( t , o , e , i ) ; return t } ) } function Zr ( n , t ) { return function ( r , e ) { if ( null == r ) return r ; if ( ! pu ( r ) ) return n ( r , e ) ; for ( var u = r . length , i = t ? u : - 1 , o = ni ( r ) ; ( t ? i -- : ++ i < u ) && ! 1 !== e ( o [ i ] , i , o ) ; ) ; return r } } function qr ( n ) { return function ( t , r , e ) { var u = - 1 , i = ni ( t ) ; e = e ( t ) ; for ( var o = e . length ; o -- ; ) { var f = e [ n ? o : ++ u ] ; if ( ! 1 === r ( i [ f ] , f , i ) ) break } return t } } function Vr ( n , t , r ) { function e ( ) { return ( this && this !== Zn && this instanceof e ? i : n ) . apply ( u ? r : this , arguments ) } var u = 1 & t , i = Hr ( n ) ; return e } function Kr ( n ) { return function ( t ) { t = zu ( t ) ; var r = Bn . test ( t ) ? $ ( t ) : F , e = r ? r [ 0 ] : t . charAt ( 0 ) ; return t = r ? zr ( r , 1 ) . join ( "" ) : t . slice ( 1 ) , e [ n ] ( ) + t } } function Gr ( n ) { return function ( t ) { return h ( $u ( Tu ( t ) . replace ( In , "" ) ) , n , "" ) } } function Hr ( n ) { return function ( ) { var t = arguments ; switch ( t . length ) { case 0 : return new n ; case 1 : return new n ( t [ 0 ] ) ; case 2 : return new n ( t [ 0 ] , t [ 1 ] ) ; case 3 : return new n ( t [ 0 ] , t [ 1 ] , t [ 2 ] ) ; case 4 : return new n ( t [ 0 ] , t [ 1 ] , t [ 2 ] , t [ 3 ] ) ; case 5 : return new n ( t [ 0 ] , t [ 1 ] , t [ 2 ] , t [ 3 ] , t [ 4 ] ) ; case 6 : return new n ( t [ 0 ] , t [ 1 ] , t [ 2 ] , t [ 3 ] , t [ 4 ] , t [ 5 ] ) ; case 7 : return new n ( t [ 0 ] , t [ 1 ] , t [ 2 ] , t [ 3 ] , t [ 4 ] , t [ 5 ] , t [ 6 ] ) } var r = io ( n . prototype ) , t = n . apply ( r , t ) ; return bu ( t ) ? t : r } } function Jr ( n , t , e ) { function u ( ) { for ( var o = arguments . length , f = Hu ( o ) , c = o , a = xe ( u ) ; c -- ; ) f [ c ] = arguments [ c ] ; return c = 3 > o && f [ 0 ] !== a && f [ o - 1 ] !== a ? [ ] : C ( f , a ) , o -= c . length , o < e ? fe ( n , t , Xr , u . placeholder , F , f , c , F , F , e - o ) : r ( this && this !== Zn && this instanceof u ? i : n , this , f ) } var i = Hr ( n ) ; return u } function Yr ( n ) { return function ( t , r , e ) { var u = ni ( t ) ; if ( ! pu ( t ) ) { var i = je ( r , 3 ) ; t = Lu ( t ) , r = function ( n ) { return i ( u [ n ] , n , u ) } } return r = n ( t , r , e ) , - 1 < r ? u [ i ? t [ r ] : r ] : F } } function Qr ( n ) { return ge ( function ( t ) { var r = t . length , e = r , u = zn . prototype . thru ; for ( n && t . reverse ( ) ; e -- ; ) { var i = t [ e ] ; if ( "function" != typeof i ) throw new ei ( "Expected a function" ) ; if ( u && ! o && "wrapper" == be ( i ) ) var o = new zn ( [ ] , ! 0 ) } for ( e = o ? e : r ; ++ e < r ; ) var i = t [ e ] , u = be ( i ) , f = "wrapper" == u ? _o ( i ) : F , o = f && Be ( f [ 0 ] ) && 424 == f [ 1 ] && ! f [ 4 ] . length && 1 == f [ 9 ] ? o [ be ( f [ 0 ] ) ] . apply ( o , f [ 3 ] ) : 1 == i . length && Be ( i ) ? o [ u ] ( ) : o . thru ( i ) ; return function ( ) { var n = arguments , e = n [ 0 ] ; if ( o && 1 == n . length && af ( e ) ) return o . plant ( e ) . value ( ) ; for ( var u = 0 , n = r ? t [ u ] . apply ( this , n ) : e ; ++ u < r ; ) n = t [ u ] . call ( this , n ) ; return n } } ) } function Xr ( n , t , r , e , u , i , o , f , c , a ) { function l ( ) { for ( var d = argument Line truncated
Cn [ "[object Float32Array]" ] = Cn [ "[object Float64Array]" ] = Cn [ "[object Int8Array]" ] = Cn [ "[object Int16Array]" ] = Cn [ "[object Int32Array]" ] = Cn [ "[object Uint8Array]" ] = Cn [ "[object Uint8ClampedArray]" ] = Cn [ "[object Uint16Array]" ] = Cn [ "[object Uint32Array]" ] = ! 0 , Cn [ "[object Arguments]" ] = Cn [ "[object Array]" ] = Cn [ "[object ArrayBuffer]" ] = Cn [ "[object Boolean]" ] = Cn [ "[object DataView]" ] = Cn [ "[object Date]" ] = Cn [ "[object Error]" ] = Cn [ "[object Function]" ] = Cn [ "[object Map]" ] = Cn [ "[object Number]" ] = Cn [ "[object Object]" ] = Cn [ "[object RegExp]" ] = Cn [ "[object Set]" ] = Cn [ "[object String]" ] = Cn [ "[object WeakMap]" ] = ! 1 ; var Dn = { } ; Dn [ "[object Arguments]" ] = Dn [ "[object Array]" ] = Dn [ "[object ArrayBuffer]" ] = Dn [ "[object DataView]" ] = Dn [ "[object Boolean]" ] = Dn [ "[object Date]" ] = Dn [ "[object Float32Array]" ] = Dn [ "[object Float64Array]" ] = Dn [ "[object Int8Array]" ] = Dn [ "[object Int16Array]" ] = Dn [ "[object Int32Array]" ] = Dn [ "[object Map]" ] = Dn [ "[object Number]" ] = Dn [ "[object Object]" ] = Dn [ "[object RegExp]" ] = Dn [ "[object Set]" ] = Dn [ "[object String]" ] = Dn [ "[object Symbol]" ] = Dn [ "[object Uint8Array]" ] = Dn [ "[object Uint8ClampedArray]" ] = Dn [ "[object Uint16Array]" ] = Dn [ "[object Uint32Array]" ] = ! 0 , Dn [ "[object Error]" ] = Dn [ "[object Function]" ] = Dn [ "[object WeakMap]" ] = ! 1 ; var Mn , Tn = { "\\" : "\\" , "'" : "'" , "\n" : "n" , "\r" : "r" , "\u2028" : "u2028" , "\u2029" : "u2029" } , $n = parseFloat , Fn = parseInt , Nn = "object" == typeof global && global && global . Object === Object && global , Pn = "object" == typeof self && self && self . Object === Object && self , Zn = Nn || Pn || Function ( "return this" ) ( ) , qn = "object" == typeof exports && exports && ! exports . nodeType && exports , Vn = qn && "object" == typeof module && module && ! module . nodeType && module , Kn = Vn && Vn . exports === qn , Gn = Kn && Nn . process ; n : { try { Mn = Gn && Gn . binding && Gn . binding ( "util" ) ; break n } catch ( n ) { } Mn = void 0 } var Hn = Mn && Mn . isArrayBuffer , Jn = Mn && Mn . isDate , Yn = Mn && Mn . isMap , Qn = Mn && Mn . isRegExp , Xn = Mn && Mn . isSet , nt = Mn && Mn . isTypedArray , tt = j ( "length" ) , rt = w ( { "À" : "A" , "Á" : "A" , "Â" : "A" , "Ã" : "A" , "Ä" : "A" , "Å" : "A" , "à" : "a" , "á" : "a" , "â" : "a" , "ã" : "a" , "ä" : "a" , "å" : "a" , "Ç" : "C" , "ç" : "c" , "Ð" : "D" , "ð" : "d" , "È" : "E" , "É" : "E" , "Ê" : "E" , "Ë" : "E" , "è" : "e" , "é" : "e" , "ê" : "e" , "ë" : "e" , "Ì" : "I" , "Í" : "I" , "Î" : "I" , "Ï" : "I" , "ì" : "i" , "í" : "i" , "î" : "i" , "ï" : "i" , "Ñ" : "N" , "ñ" : "n" , "Ò" : "O" , "Ó" : "O" , "Ô" : "O" , "Õ" : "O" , "Ö" : "O" , "Ø" : "O" , "ò" : "o" , "ó" : "o" , "ô" : "o" , "õ" : "o" , "ö" : "o" , "ø" : "o" , "Ù" : "U" , "Ú" : "U" , "Û" : "U" , "Ü" : "U" , "ù" : "u" , "ú" : "u" , "û" : "u" , "ü" : "u" , "Ý" : "Y" , "ý" : "y" , "ÿ" : "y" , "Æ" : "Ae" , "æ" : "ae" , "Þ" : "Th" , "þ" : "th" , "ß" : "ss" , "Ā" : "A" , "Ă" : "A" , "Ą" : "A" , "ā" : "a" , "ă" : "a" , "ą" : "a" , "Ć" : "C" , "Ĉ" : "C" , "Ċ" : "C" , "Č" : "C" , "ć" : "c" , "ĉ" : "c" , "ċ" : "c" , "č" : "c" , "Ď" : "D" , "Đ" : "D" , "ď" : "d" , "đ" : "d" , "Ē" : "E" , "Ĕ" : "E" , "Ė" : "E" , "Ę" : "E" , "Ě" : "E" , "ē" : "e" , "ĕ" : "e" , "ė" : "e" , "ę" : "e" , "ě" : "e" , "Ĝ" : "G" , "Ğ" : "G" , "Ġ" : "G" , "Ģ" : "G" , "ĝ" : "g" , "ğ" : "g" , "ġ" : "g" , "ģ" : "g" , "Ĥ" : "H" , "Ħ" : "H" , "ĥ" : "h" , "ħ" : "h" , "Ĩ" : "I" , "Ī" : "I" , "Ĭ" : "I" , "Į" : "I" , "İ" : "I" , "ĩ" : "i" , "ī" : "i" , "ĭ" : "i" , "į" : "i" , "ı " : "i" , "Ĵ" : "J" , "ĵ" : "j" , "Ķ" : "K" , "ķ" : "k" , "ĸ" : "k" , "Ĺ" : "L" , "Ļ" : "L" , "Ľ" : "L" , "Ŀ" : "L" , "Ł" : "L" , "ĺ" : "l" , "ļ" : "l" , "ľ" : "l" , "ŀ" : "l" , "ł" : "l" , "Ń" : "N" , "Ņ" : "N" , "Ň" : "N" , "Ŋ" : "N" , "ń" : "n" , "ņ" : "n" , "ň" : "n" , "ŋ" : "n" , "Ō" : "O" , "Ŏ" : "O" , "Ő" : "O" , "ō" : "o" , "ŏ" : "o" , "ő" : "o" , "Ŕ" : "R" , "Ŗ" : "R" , "Ř" : "R" , "ŕ" : "r" , "ŗ" : "r" , "ř" : "r" , "Ś" : "S" , "Ŝ" : "S" , "Ş" : "S" , "Š" : "S" , "ś" : "s" , "ŝ" : "s" , "ş" : "s" , "š" : "s" , "Ţ" : "T" , "Ť" : "T" , "Ŧ" : "T" , "ţ" : "t" , "ť" : "t" , "ŧ" : "t" , "Ũ" : "U" , "Ū" : "U" , "Ŭ" : "U" , "Ů" : "U" , "Ű" : "U" , "Ų" : "U" , "ũ" : "u" , "ū" : "u" , "ŭ" : "u" , "ů" : "u" , "ű" : "u" , "ų" : "u" , "Ŵ" : "W" , "ŵ" : "w" , "Ŷ" : "Y" , "ŷ" : "y" , "Ÿ" : "Y" , "Ź" : "Z" , "Ż" : "Z" , "Ž" : "Z" , "ź" : "z" , "ż" : "z" , "ž" : "z" , "IJ" : "IJ" , "ij" : "ij" , "Œ" : "Oe" , "œ" : "oe" , "ʼn" : "'n" , "ſ " : "s" } ) , et = w ( { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" } ) , ut = w ( { "&" : "&" , "<" : "<" , ">" : ">" , """ : '"' , "'" : "'" } ) , it = function w ( En ) { function On ( n ) { if ( xu ( n ) && ! af ( n ) && ! ( n instanceof Mn ) ) { if ( n instanceof zn ) return n ; if ( ci . call ( n , "__wrapped__" ) ) return Pe ( n ) } return new zn ( n ) } function Sn ( ) { } function zn ( n , t ) { this . _ _wrapped _ _ = n , this . _ _actions _ _ = [ ] , this . _ _chain _ _ = ! ! t , this . _ _index _ _ = 0 , this . _ _values _ _ = F } function Mn ( n ) { this . _ _wrapped _ _ = n , this . _ _actions _ _ = [ ] , this . _ _dir _ _ = 1 , this . _ _filtered _ _ = ! 1 , this . _ _iteratees _ _ = [ ] , this . _ _takeCount _ _ = 4294967295 , this . _ _views _ _ = [ ] } function Tn ( n ) { var t = - 1 , r = null == n ? 0 : n . length ; for ( this . clear ( ) ; ++ t < r ; ) { var e = n [ t ] ; this . set ( e [ 0 ] , e [ 1 ] ) } } function Nn ( n ) { var t = - 1 , r = null == n ? 0 : n . length ; for ( this . clear ( ) ; ++ t < r ; ) { var e = n [ t ] ; this . set ( e [ 0 ] , e [ 1 ] ) } } function Pn ( n ) { var t = - 1 , r = null == n ? 0 : n . length ; for ( this . clear ( ) ; ++ t < r ; ) { var e = n [ t ] ; this . set ( e [ 0 ] , e [ 1 ] ) } } function qn ( n ) { var t = - 1 , r = null == n ? 0 : n . length ; for ( this . _ _data _ _ = new Pn ; ++ t < r ; ) this . add ( n [ t ] ) } function Vn ( n ) { this . size = ( this . _ _data _ _ = new Nn ( n ) ) . size } function Gn ( n , t ) { var r , e = af ( n ) , u = ! e && cf ( n ) , i = ! e && ! u && sf ( n ) , o = ! e && ! u && ! i && gf ( n ) , u = ( e = e || u || i || o ) ? E ( n . length , ri ) : [ ] , f = u . length ; for ( r in n ) ! t && ! ci . call ( n , r ) || e && ( "length" == r || i && ( "offset" == r || "parent" == r ) || o && ( "buffer" == r || "byteLength" == r || "byteOffset" == r ) || Re ( r , f ) ) || u . push ( r ) ; return u } function tt ( n ) { var t = n . length ; return t ? n [ cr ( 0 , t - 1 ) ] : F } function ot ( n , t ) { return Te ( Mr ( n ) , gt ( t , 0 , n . length ) ) Line truncated
var r = { } ; return t = je ( t , 3 ) , Et ( n , function ( n , e , u ) { _t ( r , e , t ( n , e , u ) ) } ) , r } , On . matches = function ( n ) { return Qt ( dt ( n , 1 ) ) } , On . matchesProperty = function ( n , t ) { return Xt ( n , dt ( t , 1 ) ) } , On . memoize = lu , On . merge = If , On . mergeWith = Rf , On . method = Kf , On . methodOf = Gf , On . mixin = Zu , On . negate = su , On . nthArg = function ( n ) { return n = Ou ( n ) , lr ( function ( t ) { return tr ( t , n ) } ) } , On . omit = zf , On . omitBy = function ( n , t ) { return Cu ( n , su ( je ( t ) ) ) } , On . once = function ( n ) { return ou ( 2 , n ) } , On . orderBy = function ( n , t , r , e ) { return null == n ? [ ] : ( af ( t ) || ( t = null == t ? [ ] : [ t ] ) , r = e ? F : r , af ( r ) || ( r = null == r ? [ ] : [ r ] ) , rr ( n , t , r ) ) } , On . over = Hf , On . overArgs = tf , On . overEvery = Jf , On . overSome = Yf , On . partial = rf , On . partialRight = ef , On . partition = Go , On . pick = Wf , On . pickBy = Cu , On . property = Vu , On . propertyOf = function ( n ) { return function ( t ) { return null == n ? F : It ( n , t ) } } , On . pull = Ro , On . pullAll = He , On . pullAllBy = function ( n , t , r ) { return n && n . length && t && t . length ? or ( n , t , je ( r , 2 ) ) : n } , On . pullAllWith = function ( n , t , r ) { return n && n . length && t && t . length ? or ( n , t , F , r ) : n } , On . pullAt = zo , On . range = Qf , On . rangeRight = Xf , On . rearg = uf , On . reject = function ( n , t ) { return ( af ( n ) ? f : At ) ( n , su ( je ( t , 3 ) ) ) } , On . remove = function ( n , t ) { var r = [ ] ; if ( ! n || ! n . length ) return r ; var e = - 1 , u = [ ] , i = n . length ; for ( t = je ( t , 3 ) ; ++ e < i ; ) { var o = n [ e ] ; t ( o , e , n ) && ( r . push ( o ) , u . push ( e ) ) } return fr ( n , u ) , r } , On . rest = function ( n , t ) { if ( "function" != typeof n ) throw new ei ( "Expected a function" ) ; return t = t === F ? t : Ou ( t ) , lr ( n , t ) } , On . reverse = Je , On . sampleSize = function ( n , t , r ) { return t = ( r ? ze ( n , t , r ) : t === F ) ? 1 : Ou ( t ) , ( af ( n ) ? ot : hr ) ( n , t ) } , On . set = function ( n , t , r ) { return null == n ? n : pr ( n , t , r ) } , On . setWith = function ( n , t , r , e ) { return e = "function" == typeof e ? e : F , null == n ? n : pr ( n , t , r , e ) } , On . shuffle = function ( n ) { return ( af ( n ) ? ft : _r ) ( n ) } , On . slice = function ( n , t , r ) { var e = null == n ? 0 : n . length ; return e ? ( r && "number" != typeof r && ze ( n , t , r ) ? ( t = 0 , r = e ) : ( t = null == t ? 0 : Ou ( t ) , r = r === F ? e : Ou ( r ) ) , vr ( n , t , r ) ) : [ ] } , On . sortBy = Ho , On . sortedUniq = function ( n ) { return n && n . length ? br ( n ) : [ ] } , On . sortedUniqBy = function ( n , t ) { return n && n . length ? br ( n , je ( t , 2 ) ) : [ ] } , On . split = function ( n , t , r ) { return r && "number" != typeof r && ze ( n , t , r ) && ( t = r = F ) , r = r === F ? 4294967295 : r >>> 0 , r ? ( n = zu ( n ) ) && ( "string" == typeof t || null != t && ! _f ( t ) ) && ( t = jr ( t ) , ! t && Bn . test ( n ) ) ? zr ( $ ( n ) , 0 , r ) : n . split ( t , r ) : [ ] } , On . spread = function ( n , t ) { if ( "function" != typeof n ) throw new ei ( "Expected a function" ) ; return t = null == t ? 0 : Di ( Ou ( t ) , 0 ) , lr ( function ( e ) { var u = e [ t ] ; return e = zr ( e , 0 , t ) , u && s ( e , u ) , r ( n , this , e ) } ) } , On . tail = function ( n ) { var t = null == n ? 0 : n . length ; return t ? vr ( n , 1 , t ) : [ ] } , On . take = function ( n , t , r ) { return n && n . length ? ( t = r || t === F ? 1 : Ou ( t ) , vr ( n , 0 , 0 > t ? 0 : t ) ) : [ ] } , On . takeRight = function ( n , t , r ) { var e = null == n ? 0 : n . length ; return e ? ( t = r || t === F ? 1 : Ou ( t ) , t = e - t , vr ( n , 0 > t ? 0 : t , e ) ) : [ ] } , On . takeRightWhile = function ( n , t ) { return n && n . length ? Ar ( n , je ( t , 3 ) , ! 1 , ! 0 ) : [ ] } , On . takeWhile = function ( n , t ) { return n && n . length ? Ar ( n , je ( t , 3 ) ) : [ ] } , On . tap = function ( n , t ) { return t ( n ) , n } , On . throttle = function ( n , t , r ) { var e = ! 0 , u = ! 0 ; if ( "function" != typeof n ) throw new ei ( "Expected a function" ) ; return bu ( r ) && ( e = "leading" in r ? ! ! r . leading : e , u = "trailing" in r ? ! ! r . trailing : u ) , au ( n , t , { leading : e , maxWait : t , trailing : u } ) } , On . thru = nu , On . toArray = ku , On . toPairs = Bf , On . toPairsIn = Lf , On . toPath = function ( n ) { return af ( n ) ? l ( n , $e ) : Au ( n ) ? [ n ] : Mr ( mo ( zu ( n ) ) ) } , On . toPlainObject = Ru , On . transform = function ( n , t , r ) { var e = af ( n ) , i = e || sf ( n ) || gf ( n ) ; if ( t = je ( t , 4 ) , null == r ) { var o = n && n . constructor ; r = i ? e ? new o : [ ] : bu ( n ) && gu ( o ) ? io ( bi ( n ) ) : { } } return ( i ? u : Et ) ( n , function ( n , e , u ) { return t ( r , n , e , u ) } ) , r } , On . unary = function ( n ) { return iu ( n , 1 ) } , On . union = Wo , On . unionBy = Bo , On . unionWith = Lo , On . uniq = function ( n ) { return n && n . length ? wr ( n ) : [ ] } , On . uniqBy = function ( n , t ) { return n && n . length ? wr ( n , je ( t , 2 ) ) : [ ] } , On . uniqWith = function ( n , t ) { return t = "function" == typeof t ? t : F , n && n . length ? wr ( n , F , t ) : [ ] } , On . unset = function ( n , t ) { return null == n || mr ( n , t ) } , On . unzip = Ye , On . unzipWith = Qe , On . update = function ( n , t , r ) { return null == n ? n : pr ( n , t , Ir ( r ) ( It ( n , t ) ) , void 0 ) } , On . updateWith = function ( n , t , r , e ) { return e = "function" == typeof e ? e : F , null != n && ( n = pr ( n , t , Ir ( r ) ( It ( n , t ) ) , e ) ) , n } , On . values = Du , On . valuesIn = function ( n ) { return null == n ? [ ] : I ( n , Uu ( n ) ) } , On . without = Uo , On . words = $u , On . wrap = function ( n , t ) { return rf ( Ir ( t ) , n ) } , On . xor = Co , On . xorBy = Do , On . xorWith = Mo , On . zip = To , On . zipObject = function ( n , t ) { return Or ( n || [ ] , t || [ ] , at ) } , On . zipObjectDeep = function ( n , t ) { return Or ( n || [ ] , t || [ ] , pr ) } , On . zipWith = $o , On . entries = Bf , On . entriesIn = Lf , On . extend = xf , On . extendWith = jf , Zu ( On , On ) , On . add = nc , On . attempt = Pf , On . camelCase = Uf , On . capitalize = Mu , On . ceil = tc , On . clamp = function ( n , t , r ) { return r === F && ( r = t , t = F ) , r !== F && ( r = Iu ( r ) , r = r === r ? r : 0 ) , t !== F && ( t = Iu ( t ) , t = t === t ? t : 0 ) , gt ( Iu ( n ) , t , r ) } , On . clone = function ( n ) { return dt ( n , 4 ) } , On . cloneDeep = function ( n ) { return dt ( n , 5 ) } , On . cloneDeepWith = function ( n , t ) { return t = "function" == typeof t ? t : F , dt ( n , 5 , t ) } , On . cloneWith = function ( n , t ) { return t = "function" == typeof t ? t : F , dt ( n , 4 , t ) } , On . conformsTo = function ( n , t ) { return null == t || bt ( n , t , Lu ( t ) ) } , On . deburr = Tu , On . defaultTo = function ( n , t ) { return null == n || n !== n ? t : n } , On . divide = rc , On . endsWith = function ( n , t , r ) { n = zu ( n ) , t = jr ( t ) ; var e = n . length , e = r = r === F ? e : gt ( Ou ( r ) , 0 , e ) ; return r -= t . length , 0 <= r && n . slice ( r , e ) == t } , On . eq = hu , On . escape = function ( n ) { return ( n = zu ( n ) ) && Y . test ( n ) ? n . replace ( H , et ) : n } , On . escapeRegExp = functi Line truncated
return ( n = zu ( n ) ) && n . replace ( mn , rt ) . replace ( Rn , "" ) } function $u ( n , t , r ) { return n = zu ( n ) , t = r ? F : t , t === F ? Ln . test ( n ) ? n . match ( Wn ) || [ ] : n . match ( _n ) || [ ] : n . match ( t ) || [ ] } function Fu ( n ) { return function ( ) { return n } } function Nu ( n ) { return n } function Pu ( n ) { return Gt ( "function" == typeof n ? n : dt ( n , 1 ) ) } function Zu ( n , t , r ) { var e = Lu ( t ) , i = St ( t , e ) ; null != r || bu ( t ) && ( i . length || ! e . length ) || ( r = t , t = n , n = this , i = St ( t , Lu ( t ) ) ) ; var o = ! ( bu ( r ) && "chain" in r && ! r . chain ) , f = gu ( n ) ; return u ( i , function ( r ) { var e = t [ r ] ; n [ r ] = e , f && ( n . prototype [ r ] = function ( ) { var t = this . _ _chain _ _ ; if ( o || t ) { var r = n ( this . _ _wrapped _ _ ) ; return ( r . _ _actions _ _ = Mr ( this . _ _actions _ _ ) ) . push ( { func : e , args : arguments , thisArg : n } ) , r . _ _chain _ _ = t , r } return e . apply ( n , s ( [ this . value ( ) ] , arguments ) ) } ) } ) , n } function qu ( ) { } function Vu ( n ) { return We ( n ) ? j ( $e ( n ) ) : ir ( n ) } function Ku ( ) { return [ ] } function Gu ( ) { return ! 1 } En = null == En ? Zn : it . defaults ( Zn . Object ( ) , En , it . pick ( Zn , Un ) ) ; var Hu = En . Array , Ju = En . Date , Yu = En . Error , Qu = En . Function , Xu = En . Math , ni = En . Object , ti = En . RegExp , ri = En . String , ei = En . TypeError , ui = Hu . prototype , ii = ni . prototype , oi = En [ "__core-js_shared__" ] , fi = Qu . prototype . toString , ci = ii . hasOwnProperty , ai = 0 , li = function ( ) { var n = /[^.]+$/ . exec ( oi && oi . keys && oi . keys . IE _PROTO || "" ) ; return n ? "Symbol(src)_1." + n : "" } ( ) , si = ii . toString , hi = fi . call ( ni ) , pi = Zn . _ , _i = ti ( "^" + fi . call ( ci ) . replace ( on , "\\$&" ) . replace ( /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g , "$1.*?" ) + "$" ) , vi = Kn ? En . Buffer : F , gi = En . Symbol , di = En . Uint8Array , yi = vi ? vi . f : F , bi = U ( ni . getPrototypeOf , ni ) , xi = ni . create , ji = ii . propertyIsEnumerable , wi = ui . splice , mi = gi ? gi . isConcatSpreadable : F , Ai = gi ? gi . iterator : F , ki = gi ? gi . toStringTag : F , Ei = function ( ) { try { var n = Ae ( ni , "defineProperty" ) ; return n ( { } , "" , { } ) , n } catch ( n ) { } } ( ) , Oi = En . clearTimeout !== Zn . clearTimeout && En . clearTimeout , Si = Ju && Ju . now !== Zn . Date . now && Ju . now , Ii = En . setTimeout !== Zn . setTimeout && En . setTimeout , Ri = Xu . ceil , zi = Xu . floor , Wi = ni . getOwnPropertySymbols , Bi = vi ? vi . isBuffer : F , Li = En . isFinite , Ui = ui . join , Ci = U ( ni . keys , ni ) , Di = Xu . max , Mi = Xu . min , Ti = Ju . now , $i = En . parseInt , Fi = Xu . random , Ni = ui . reverse , Pi = Ae ( En , "DataView" ) , Zi = Ae ( En , "Map" ) , qi = Ae ( En , "Promise" ) , Vi = Ae ( En , "Set" ) , Ki = Ae ( En , "WeakMap" ) , Gi = Ae ( ni , "create" ) , Hi = Ki && new Ki , Ji = { } , Yi = Fe ( Pi ) , Qi = Fe ( Zi ) , Xi = Fe ( qi ) , no = Fe ( Vi ) , to = Fe ( Ki ) , ro = gi ? gi . prototype : F , eo = ro ? ro . valueOf : F , uo = ro ? ro . toString : F , io = function ( ) { function n ( ) { } return function ( t ) { return bu ( t ) ? xi ? xi ( t ) : ( n . prototype = t , t = new n , n . prototype = F , t ) : { } } } ( ) ; On . templateSettings = { escape : Q , evaluate : X , interpolate : nn , variable : "" , imports : { _ : On } } , On . prototype = Sn . prototype , On . prototype . constructor = On , zn . prototype = io ( Sn . prototype ) , zn . prototype . constructor = zn , Mn . prototype = io ( Sn . prototype ) , Mn . prototype . constructor = Mn , Tn . prototype . clear = function ( ) { this . _ _data _ _ = Gi ? Gi ( null ) : { } , this . size = 0 } , Tn . prototype . delete = function ( n ) { return n = this . has ( n ) && delete this . _ _data _ _ [ n ] , this . size -= n ? 1 : 0 , n } , Tn . prototype . get = function ( n ) { var t = this . _ _data _ _ ; return Gi ? ( n = t [ n ] , "__lodash_hash_undefined__" === n ? F : n ) : ci . call ( t , n ) ? t [ n ] : F } , Tn . prototype . has = function ( n ) { var t = this . _ _data _ _ ; return Gi ? t [ n ] !== F : ci . call ( t , n ) } , Tn . prototype . set = function ( n , t ) { var r = this . _ _data _ _ ; return this . size += this . has ( n ) ? 0 : 1 , r [ n ] = Gi && t === F ? "__lodash_hash_undefined__" : t , this } , Nn . prototype . clear = function ( ) { this . _ _data _ _ = [ ] , this . size = 0 } , Nn . prototype . delete = function ( n ) { var t = this . _ _data _ _ ; return n = lt ( t , n ) , ! ( 0 > n || ( n == t . length - 1 ? t . pop ( ) : wi . call ( t , n , 1 ) , -- this . size , 0 ) ) } , Nn . prototype . get = function ( n ) { var t = this . _ _data _ _ ; return n = lt ( t , n ) , 0 > n ? F : t [ n ] [ 1 ] } , Nn . prototype . has = function ( n ) { return - 1 < lt ( this . _ _data _ _ , n ) } , Nn . prototype . set = function ( n , t ) { var r = this . _ _data _ _ , e = lt ( r , n ) ; return 0 > e ? ( ++ this . size , r . push ( [ n , t ] ) ) : r [ e ] [ 1 ] = t , this } , Pn . prototype . clear = function ( ) { this . size = 0 , this . _ _data _ _ = { hash : new Tn , map : new ( Zi || Nn ) , string : new Tn } } , Pn . prototype . delete = function ( n ) { return n = we ( this , n ) . delete ( n ) , this . size -= n ? 1 : 0 , n } , Pn . prototype . get = function ( n ) { return we ( this , n ) . get ( n ) } , Pn . prototype . has = function ( n ) { return we ( this , n ) . has ( n ) } , Pn . prototype . set = function ( n , t ) { var r = we ( this , n ) , e = r . size ; return r . set ( n , t ) , this . size += r . size == e ? 0 : 1 , this } , qn . prototype . add = qn . prototype . push = function ( n ) { return this . _ _data _ _ . set ( n , "__lodash_hash_undefined__" ) , this } , qn . prototype . has = function ( n ) { return this . _ _data _ _ . has ( n ) } , Vn . prototype . clear = function ( ) { this . _ _data _ _ = new Nn , this . size = 0 } , Vn . prototype . delete = function ( n ) { var t = this . _ _data _ _ ; return n = t . delete ( n ) , this . size = t . size , n } , Vn . prototype . get = function ( n ) { return this . _ _data _ _ . get ( n ) } , Vn . prototype . has = function ( n ) { return this . _ _data _ _ . has ( n ) } , Vn . prototype . set = function ( n , t ) { var r = this . _ _data _ _ ; if ( r instanceof Nn ) { var e = r . _ _data _ _ ; if ( ! Zi || 199 > e . length ) return e . push ( [ n , t ] ) , this . size = ++ r . size , this ; r = this . _ _data _ _ = new Pn ( e ) } return r . set ( n , t ) , this . size = r . size , this } ; var oo = Zr ( Et ) , fo = Zr ( Ot , ! 0 ) , co = qr ( ) , ao = qr ( ! 0 ) , lo = Hi ? function ( n , t ) { return Hi . set ( n , t ) , n } : Nu , so = Ei ? function ( n , t ) { return Ei ( n , "toString" , { configurable : ! 0 , enumerable : ! 1 , value : Fu ( t ) , writable : ! 0 } ) } : Nu , ho = Oi || function ( n ) { return Zn . clearTimeout ( n ) } , po = Vi && 1 / D ( new Vi ( [ , - 0 ] ) ) [ 1 ] == N ? function ( n ) { return new Vi ( n ) } : qu , _o = Hi ? function ( n ) { return Hi . get ( n ) } : qu , vo = Wi ? function ( n ) { return null == n ? [ Line truncated