2015-11-18 00:19:01 +01:00
// 4.2.8 (2015-11-13)
2015-11-08 03:32:26 +01:00
! function ( e , t ) { "use strict" ; function n ( e , t ) { for ( var n , r = [ ] , i = 0 ; i < e . length ; ++ i ) { if ( n = s [ e [ i ] ] || o ( e [ i ] ) , ! n ) throw "module definition dependecy not found: " + e [ i ] ; r . push ( n ) } t . apply ( null , r ) } function r ( e , r , i ) { if ( "string" != typeof e ) throw "invalid module definition, module id must be defined and be a string" ; if ( r === t ) throw "invalid module definition, dependencies must be specified" ; if ( i === t ) throw "invalid module definition, definition function must be specified" ; n ( r , function ( ) { s [ e ] = i . apply ( null , arguments ) } ) } function i ( e ) { return ! ! s [ e ] } function o ( t ) { for ( var n = e , r = t . split ( /[.\/]/ ) , i = 0 ; i < r . length ; ++ i ) { if ( ! n [ r [ i ] ] ) return ; n = n [ r [ i ] ] } return n } function a ( n ) { var r , i , o , a , l ; for ( r = 0 ; r < n . length ; r ++ ) { i = e , o = n [ r ] , a = o . split ( /[.\/]/ ) ; for ( var c = 0 ; c < a . length - 1 ; ++ c ) i [ a [ c ] ] === t && ( i [ a [ c ] ] = { } ) , i = i [ a [ c ] ] ; i [ a [ a . length - 1 ] ] = s [ o ] } if ( e . AMDLC _TESTS ) { l = e . privateModules || { } ; for ( o in s ) l [ o ] = s [ o ] ; for ( r = 0 ; r < n . length ; r ++ ) delete l [ n [ r ] ] ; e . privateModules = l } } var s = { } , l = "tinymce/dom/EventUtils" , c = "tinymce/dom/Sizzle" , u = "tinymce/Env" , d = "tinymce/util/Arr" , f = "tinymce/util/Tools" , h = "tinymce/dom/DomQuery" , p = "tinymce/html/Styles" , m = "tinymce/dom/TreeWalker" , g = "tinymce/dom/Range" , v = "tinymce/html/Entities" , y = "tinymce/dom/StyleSheetLoader" , b = "tinymce/dom/DOMUtils" , x = "tinymce/dom/ScriptLoader" , C = "tinymce/AddOnManager" , w = "tinymce/dom/RangeUtils" , _ = "tinymce/NodeChange" , E = "tinymce/html/Node" , N = "tinymce/html/Schema" , S = "tinymce/html/SaxParser" , k = "tinymce/html/DomParser" , T = "tinymce/html/Writer" , R = "tinymce/html/Serializer" , A = "tinymce/dom/Serializer" , B = "tinymce/dom/TridentSelection" , D = "tinymce/util/VK" , L = "tinymce/dom/ControlSelection" , M = "tinymce/dom/BookmarkManager" , H = "tinymce/dom/Selection" , P = "tinymce/dom/ElementUtils" , O = "tinymce/fmt/Preview" , I = "tinymce/Formatter" , F = "tinymce/UndoManager" , z = "tinymce/EnterKey" , W = "tinymce/ForceBlocks" , V = "tinymce/EditorCommands" , U = "tinymce/util/URI" , $ = "tinymce/util/Class" , q = "tinymce/util/EventDispatcher" , j = "tinymce/data/Binding" , K = "tinymce/util/Observable" , Y = "tinymce/data/ObservableObject" , G = "tinymce/ui/Selector" , X = "tinymce/ui/Collection" , J = "tinymce/ui/DomUtils" , Q = "tinymce/ui/BoxUtils" , Z = "tinymce/ui/ClassList" , ee = "tinymce/ui/ReflowQueue" , te = "tinymce/ui/Control" , ne = "tinymce/ui/Factory" , re = "tinymce/ui/KeyboardNavigation" , ie = "tinymce/ui/Container" , oe = "tinymce/ui/DragHelper" , ae = "tinymce/ui/Scrollable" , se = "tinymce/ui/Panel" , le = "tinymce/ui/Movable" , ce = "tinymce/ui/Resizable" , ue = "tinymce/ui/FloatPanel" , de = "tinymce/ui/Window" , fe = "tinymce/ui/MessageBox" , he = "tinymce/WindowManager" , pe = "tinymce/dom/NodePath" , me = "tinymce/util/Quirks" , ge = "tinymce/EditorObservable" , ve = "tinymce/Shortcuts" , ye = "tinymce/util/Promise" , be = "tinymce/util/Fun" , xe = "tinymce/file/Uploader" , Ce = "tinymce/file/Conversions" , we = "tinymce/file/ImageScanner" , _e = "tinymce/file/BlobCache" , Ee = "tinymce/EditorUpload" , Ne = "tinymce/Editor" , Se = "tinymce/util/I18n" , ke = "tinymce/FocusManager" , Te = "tinymce/EditorManager" , Re = "tinymce/LegacyInput" , Ae = "tinymce/util/XHR" , Be = "tinymce/util/JSON" , De = "tinymce/util/JSONRequest" , Le = "tinymce/util/JSONP" , Me = "tinymce/util/LocalStorage" , He = "tinymce/Compat" , Pe = "tinymce/ui/Layout" , Oe = "tinymce/ui/AbsoluteLayout" , Ie = "tinymce/ui/Tooltip" , Fe = "tinymce/ui/Widget" , ze = "tinymce/ui/Button" , We = "tinymce/ui/ButtonGroup" , Ve = "tinymce/ui/Checkbox" , Ue = "tinymce/ui/ComboBox" , $e = "tinymce/ui/ColorBox" , qe = "tinymce/ui/PanelButton" , je = "tinymce/ui/ColorButton" , Ke = "tinymce/util/Color" , Ye = "tinymce/ui/ColorPicker" , Ge = "tinymce/ui/Path" , Xe = "tinymce/ui/ElementPath" , Je = "tinymce/ui/FormItem" , Qe = "tinymce/ui/Form" , Ze = "tinymce/ui/FieldSet" , et = "tinymce/ui/FilePicker" , tt = "tinymce/ui/FitLayout" , nt = "tinymce/ui/FlexLayout" , rt = "tinymce/ui/FlowLayout" , it = "tinymce/ui/FormatControls" , ot = "tinymce/ui/GridLayout" , at = "tinymce/ui/Iframe" , st = "tinymce/ui/Label" , lt = "tinymce/ui/Toolbar" , ct = "tinymce/ui/MenuBar" , ut = "tinymce/ui/MenuButton" , dt = "tinymce/ui/MenuItem" , ft = "tinymce/ui/Menu" , ht = "tinymce/ui/ListBox" , pt = "tinymce/ui/Radio" , mt = "tinymce/ui/Rect" , gt = "tinymce/ui/ResizeHandle" , vt = "tinymce/ui/Slider" , yt = "tinymce/ui/Spacer" , bt = "tinymce/ui/SplitButton" , xt = "tinymce/ui/StackLayout" , Ct = "tinymce/ui/TabPanel" , wt = "tinymce/ui/TextBox" , _t = "tinymce/ui/Throbber" ; r
"for" : "htmlFor" , "class" : "className" , readonly : "readOnly" } , D = { "float" : "cssFloat" } , L = { } , M = { } , H = /^\s*|\s*$/g ; return f . fn = f . prototype = { constructor : f , selector : "" , context : null , length : 0 , init : function ( e , t ) { var n = this , r , i ; if ( ! e ) return n ; if ( e . nodeType ) return n . context = n [ 0 ] = e , n . length = 1 , n ; if ( t && t . nodeType ) n . context = t ; else { if ( t ) return f ( e ) . attr ( t ) ; n . context = t = document } if ( a ( e ) ) { if ( n . selector = e , r = "<" === e . charAt ( 0 ) && ">" === e . charAt ( e . length - 1 ) && e . length >= 3 ? [ null , e , null ] : N . exec ( e ) , ! r ) return f ( t ) . find ( e ) ; if ( r [ 1 ] ) for ( i = l ( e , v ( t ) ) . firstChild ; i ; ) _ . call ( n , i ) , i = i . nextSibling ; else { if ( i = v ( t ) . getElementById ( r [ 2 ] ) , ! i ) return n ; if ( i . id !== r [ 2 ] ) return n . find ( e ) ; n . length = 1 , n [ 0 ] = i } } else this . add ( e , ! 1 ) ; return n } , toArray : function ( ) { return r . toArray ( this ) } , add : function ( e , t ) { var n = this , r , i ; if ( a ( e ) ) return n . add ( f ( e ) ) ; if ( t !== ! 1 ) for ( r = f . unique ( n . toArray ( ) . concat ( f . makeArray ( e ) ) ) , n . length = r . length , i = 0 ; i < r . length ; i ++ ) n [ i ] = r [ i ] ; else _ . apply ( n , f . makeArray ( e ) ) ; return n } , attr : function ( e , t ) { var n = this , r ; if ( "object" == typeof e ) m ( e , function ( e , t ) { n . attr ( e , t ) } ) ; else { if ( ! o ( t ) ) { if ( n [ 0 ] && 1 === n [ 0 ] . nodeType ) { if ( r = L [ e ] , r && r . get ) return r . get ( n [ 0 ] , e ) ; if ( A [ e ] ) return n . prop ( e ) ? e : k ; t = n [ 0 ] . getAttribute ( e , 2 ) , null === t && ( t = k ) } return t } this . each ( function ( ) { var n ; if ( 1 === this . nodeType ) { if ( n = L [ e ] , n && n . set ) return void n . set ( this , t ) ; null === t ? this . removeAttribute ( e , 2 ) : this . setAttribute ( e , t , 2 ) } } ) } return n } , removeAttr : function ( e ) { return this . attr ( e , null ) } , prop : function ( e , t ) { var n = this ; if ( e = B [ e ] || e , "object" == typeof e ) m ( e , function ( e , t ) { n . prop ( e , t ) } ) ; else { if ( ! o ( t ) ) return n [ 0 ] && n [ 0 ] . nodeType && e in n [ 0 ] ? n [ 0 ] [ e ] : t ; this . each ( function ( ) { 1 == this . nodeType && ( this [ e ] = t ) } ) } return n } , css : function ( e , t ) { function n ( e ) { return e . replace ( /-(\D)/g , function ( e , t ) { return t . toUpperCase ( ) } ) } function r ( e ) { return e . replace ( /[A-Z]/g , function ( e ) { return "-" + e } ) } var i = this , a , s ; if ( "object" == typeof e ) m ( e , function ( e , t ) { i . css ( e , t ) } ) ; else if ( o ( t ) ) e = n ( e ) , "number" != typeof t || R [ e ] || ( t += "px" ) , i . each ( function ( ) { var n = this . style ; if ( s = M [ e ] , s && s . set ) return void s . set ( this , t ) ; try { this . style [ D [ e ] || e ] = t } catch ( i ) { } ( null === t || "" === t ) && ( n . removeProperty ? n . removeProperty ( r ( e ) ) : n . removeAttribute ( e ) ) } ) ; else { if ( a = i [ 0 ] , s = M [ e ] , s && s . get ) return s . get ( a ) ; if ( a . ownerDocument . defaultView ) try { return a . ownerDocument . defaultView . getComputedStyle ( a , null ) . getPropertyValue ( r ( e ) ) } catch ( l ) { return k } else if ( a . currentStyle ) return a . currentStyle [ n ( e ) ] } return i } , remove : function ( ) { for ( var e = this , t , n = this . length ; n -- ; ) t = e [ n ] , S . clean ( t ) , t . parentNode && t . parentNode . removeChild ( t ) ; return this } , empty : function ( ) { for ( var e = this , t , n = this . length ; n -- ; ) for ( t = e [ n ] ; t . firstChild ; ) t . removeChild ( t . firstChild ) ; return this } , html : function ( e ) { var t = this , n ; if ( o ( e ) ) { n = t . length ; try { for ( ; n -- ; ) t [ n ] . innerHTML = e } catch ( r ) { f ( t [ n ] ) . empty ( ) . append ( e ) } return t } return t [ 0 ] ? t [ 0 ] . innerHTML : "" } , text : function ( e ) { var t = this , n ; if ( o ( e ) ) { for ( n = t . length ; n -- ; ) "innerText" in t [ n ] ? t [ n ] . innerText = e : t [ 0 ] . textContent = e ; return t } return t [ 0 ] ? t [ 0 ] . innerText || t [ 0 ] . textContent : "" } , append : function ( ) { return c ( this , arguments , function ( e ) { 1 === this . nodeType && this . appendChild ( e ) } ) } , prepend : function ( ) { return c ( this , arguments , function ( e ) { 1 === this . nodeType && this . insertBefore ( e , this . firstChild ) } , ! 0 ) } , before : function ( ) { var e = this ; return e [ 0 ] && e [ 0 ] . parentNode ? c ( e , arguments , function ( e ) { this . parentNode . insertBefore ( e , this ) } ) : e } , after : function ( ) { var e = this ; return e [ 0 ] && e [ 0 ] . parentNode ? c ( e , arguments , function ( e ) { this . parentNode . insertBefore ( e , this . nextSibling ) } , ! 0 ) : e } , appendTo : function ( e ) { return f ( e ) . append ( this ) , this } , prependTo : function ( e ) { return f ( e ) . prepend ( this ) , this } , replaceWith : function ( e ) { return this . before ( e ) . remove ( ) } , wrap : function ( e ) { return d ( this , e ) } , wrapAll : function ( e ) { return d ( this , e , ! 0 ) } , wrapInner : function ( e ) { return this . each ( function ( ) { f ( this ) . contents ( ) . wrapAll ( e ) } ) , this } , unwrap : function ( ) { return this . parent ( ) . each ( function ( ) { f ( this ) . replaceWith ( this . childNodes ) } ) } , clone : function ( ) { var e = [ ] ; return this . each ( function ( ) { e . push ( this . cloneNode ( ! 0 ) ) } ) , f ( e ) } , addClass : function ( e ) { return this . toggleClass ( e , ! 0 ) } , removeClass : function ( e ) { return this . toggleClass ( e , ! 1 ) } , toggleClass : function ( e , t ) { var n = this ; return "string" != typeof e ? n : ( - 1 !== e .
return e . cloneNode ( ! 1 ) . outerHTML . replace ( n , "" ) . replace ( /[\w:\-]+/gi , function ( e ) { t . push ( { specified : 1 , nodeName : e } ) } ) , t } return e . attributes } , isEmpty : function ( e , t ) { var n = this , r , i , a , s , l , c = 0 ; if ( e = e . firstChild ) { s = new o ( e , e . parentNode ) , t = t || ( n . schema ? n . schema . getNonEmptyElements ( ) : null ) ; do { if ( a = e . nodeType , 1 === a ) { if ( e . getAttribute ( "data-mce-bogus" ) ) continue ; if ( l = e . nodeName . toLowerCase ( ) , t && t [ l ] ) { if ( "br" === l ) { c ++ ; continue } return ! 1 } for ( i = n . getAttribs ( e ) , r = i . length ; r -- ; ) if ( l = i [ r ] . nodeName , "name" === l || "data-mce-bookmark" === l ) return ! 1 } if ( 8 == a ) return ! 1 ; if ( 3 === a && ! C . test ( e . nodeValue ) ) return ! 1 } while ( e = s . next ( ) ) } return 1 >= c } , createRng : function ( ) { var e = this . doc ; return e . createRange ? e . createRange ( ) : new a ( this ) } , nodeIndex : h , split : function ( e , t , n ) { function r ( e ) { function t ( e ) { var t = e . previousSibling && "SPAN" == e . previousSibling . nodeName , n = e . nextSibling && "SPAN" == e . nextSibling . nodeName ; return t && n } var n , o = e . childNodes , a = e . nodeType ; if ( 1 != a || "bookmark" != e . getAttribute ( "data-mce-type" ) ) { for ( n = o . length - 1 ; n >= 0 ; n -- ) r ( o [ n ] ) ; if ( 9 != a ) { if ( 3 == a && e . nodeValue . length > 0 ) { var s = y ( e . nodeValue ) . length ; if ( ! i . isBlock ( e . parentNode ) || s > 0 || 0 === s && t ( e ) ) return } else if ( 1 == a && ( o = e . childNodes , 1 == o . length && o [ 0 ] && 1 == o [ 0 ] . nodeType && "bookmark" == o [ 0 ] . getAttribute ( "data-mce-type" ) && e . parentNode . insertBefore ( o [ 0 ] , e ) , o . length || /^(br|hr|input|img)$/i . test ( e . nodeName ) ) ) return ; i . remove ( e ) } return e } } var i = this , o = i . createRng ( ) , a , s , l ; return e && t ? ( o . setStart ( e . parentNode , i . nodeIndex ( e ) ) , o . setEnd ( t . parentNode , i . nodeIndex ( t ) ) , a = o . extractContents ( ) , o = i . createRng ( ) , o . setStart ( t . parentNode , i . nodeIndex ( t ) + 1 ) , o . setEnd ( e . parentNode , i . nodeIndex ( e ) + 1 ) , s = o . extractContents ( ) , l = e . parentNode , l . insertBefore ( r ( a ) , e ) , n ? l . replaceChild ( n , t ) : l . insertBefore ( t , e ) , l . insertBefore ( r ( s ) , e ) , i . remove ( e ) , n || t ) : void 0 } , bind : function ( e , t , n , r ) { var i = this ; if ( c . isArray ( e ) ) { for ( var o = e . length ; o -- ; ) e [ o ] = i . bind ( e [ o ] , t , n , r ) ; return e } return ! i . settings . collect || e !== i . doc && e !== i . win || i . boundEvents . push ( [ e , t , n , r ] ) , i . events . bind ( e , t , n , r || i ) } , unbind : function ( e , t , n ) { var r = this , i ; if ( c . isArray ( e ) ) { for ( i = e . length ; i -- ; ) e [ i ] = r . unbind ( e [ i ] , t , n ) ; return e } if ( r . boundEvents && ( e === r . doc || e === r . win ) ) for ( i = r . boundEvents . length ; i -- ; ) { var o = r . boundEvents [ i ] ; e != o [ 0 ] || t && t != o [ 1 ] || n && n != o [ 2 ] || this . events . unbind ( o [ 0 ] , o [ 1 ] , o [ 2 ] ) } return this . events . unbind ( e , t , n ) } , fire : function ( e , t , n ) { return this . events . fire ( e , t , n ) } , getContentEditable : function ( e ) { var t ; return e && 1 == e . nodeType ? ( t = e . getAttribute ( "data-mce-contenteditable" ) , t && "inherit" !== t ? t : "inherit" !== e . contentEditable ? e . contentEditable : null ) : null } , getContentEditableParent : function ( e ) { for ( var t = this . getRoot ( ) , n = null ; e && e !== t && ( n = this . getContentEditable ( e ) , null === n ) ; e = e . parentNode ) ; return n } , destroy : function ( ) { var t = this ; if ( t . boundEvents ) { for ( var n = t . boundEvents . length ; n -- ; ) { var r = t . boundEvents [ n ] ; this . events . unbind ( r [ 0 ] , r [ 1 ] , r [ 2 ] ) } t . boundEvents = null } e . setDocument && e . setDocument ( ) , t . win = t . doc = t . root = t . events = t . frag = null } , isChildOf : function ( e , t ) { for ( ; e ; ) { if ( t === e ) return ! 0 ; e = e . parentNode } return ! 1 } , dumpRng : function ( e ) { return "startContainer: " + e . startContainer . nodeName + ", startOffset: " + e . startOffset + ", endContainer: " + e . endContainer . nodeName + ", endOffset: " + e . endOffset } , _findSib : function ( e , t , n ) { var r = this , i = t ; if ( e ) for ( "string" == typeof i && ( i = function ( e ) { return r . is ( e , t ) } ) , e = e [ n ] ; e ; e = e [ n ] ) if ( i ( e ) ) return e ; return null } } , p . DOM = new p ( document ) , p . nodeIndex = h , p } ) , r ( x , [ b , f ] , function ( e , t ) { function n ( ) { function e ( e , n ) { function i ( ) { a . remove ( l ) , s && ( s . onreadystatechange = s . onload = s = null ) , n ( ) } function o ( ) { "undefined" != typeof console && console . log && console . log ( "Failed to load: " + e ) } var a = r , s , l ; l = a . uniqueId ( ) , s = document . createElement ( "script" ) , s . id = l , s . type = "text/javascript" , s . src = t . _addCacheSuffix ( e ) , "onreadystatechange" in s ? s . onreadystatechange = function ( ) { /loaded|complete/ . test ( s . readyState ) && i ( ) } : s . onload = i , s . onerror = o , ( document . getElementsByTagName ( "head" ) [ 0 ] || document . body ) . appendChild ( s ) } var n = 0 , a = 1 , s = 2 , l = { } , c = [ ] , u = { } , d = [ ] , f = 0 , h ; this . isDone = function ( e ) { return l [ e ] == s } , this . markDone = function ( e ) { l [ e ] = s } , this . add = this . load = function ( e , t , r ) { var i = l [ e ] ; i == h && ( c . push ( e ) , l [ e ] = n ) , t && ( u [ e ] || ( u [ e ] = [ ] ) , u [ e ] . push ( { func : t , scope : r || thi
2015-11-18 00:19:01 +01:00
t = t . prev ; continue } if ( ! o [ n . name ] && "script" != n . name && "style" != n . name ) { t = t . prev ; continue } } i = t . prev , t . remove ( ) , t = i } } function g ( e ) { var t , n = { } ; for ( t in e ) "li" !== t && "p" != t && ( n [ t ] = e [ t ] ) ; return n } var v , y , b , x , C , w , _ , E , N , S , k , T , R , A = [ ] , B , D , L , M , H , P , O , I ; if ( o = o || { } , h = { } , p = { } , T = s ( i ( "script,style,head,html,body,title,meta,param" ) , l . getBlockElements ( ) ) , O = l . getNonEmptyElements ( ) , P = l . children , k = r . validate , I = "forced_root_block" in o ? o . forced _root _block : r . forced _root _block , H = l . getWhiteSpaceElements ( ) , R = /^[ \t\r\n]+/ , D = /[ \t\r\n]+$/ , L = /[ \t\r\n]+/g , M = /^[ \t\r\n]+$/ , v = new n ( { validate : k , allow _script _urls : r . allow _script _urls , allow _conditional _comments : r . allow _conditional _comments , self _closing _elements : g ( l . getSelfClosingElements ( ) ) , cdata : function ( e ) { b . append ( u ( "#cdata" , 4 ) ) . value = e } , text : function ( e , t ) { var n ; B || ( e = e . replace ( L , " " ) , b . lastChild && T [ b . lastChild . name ] && ( e = e . replace ( R , "" ) ) ) , 0 !== e . length && ( n = u ( "#text" , 3 ) , n . raw = ! ! t , b . append ( n ) . value = e ) } , comment : function ( e ) { b . append ( u ( "#comment" , 8 ) ) . value = e } , pi : function ( e , t ) { b . append ( u ( e , 7 ) ) . value = t , m ( b ) } , doctype : function ( e ) { var t ; t = b . append ( u ( "#doctype" , 10 ) ) , t . value = e , m ( b ) } , start : function ( e , t , n ) { var r , i , o , a , s ; if ( o = k ? l . getElementRule ( e ) : { } ) { for ( r = u ( o . outputName || e , 1 ) , r . attributes = t , r . shortEnded = n , b . append ( r ) , s = P [ b . name ] , s && P [ r . name ] && ! s [ r . name ] && A . push ( r ) , i = f . length ; i -- ; ) a = f [ i ] . name , a in t . map && ( N = p [ a ] , N ? N . push ( r ) : p [ a ] = [ r ] ) ; T [ e ] && m ( r ) , n || ( b = r ) , ! B && H [ e ] && ( B = ! 0 ) } } , end : function ( t ) { var n , r , i , o , a ; if ( r = k ? l . getElementRule ( t ) : { } ) { if ( T [ t ] && ! B ) { if ( n = b . firstChild , n && 3 === n . type ) if ( i = n . value . replace ( R , "" ) , i . length > 0 ) n . value = i , n = n . next ; else for ( o = n . next , n . remove ( ) , n = o ; n && 3 === n . type ; ) i = n . value , o = n . next , ( 0 === i . length || M . test ( i ) ) && ( n . remove ( ) , n = o ) , n = o ; if ( n = b . lastChild , n && 3 === n . type ) if ( i = n . value . replace ( D , "" ) , i . length > 0 ) n . value = i , n = n . prev ; else for ( o = n . prev , n . remove ( ) , n = o ; n && 3 === n . type ; ) i = n . value , o = n . prev , ( 0 === i . length || M . test ( i ) ) && ( n . remove ( ) , n = o ) , n = o } if ( B && H [ t ] && ( B = ! 1 ) , ( r . removeEmpty || r . paddEmpty ) && b . isEmpty ( O ) ) if ( r . paddEmpty ) b . empty ( ) . append ( new e ( "#text" , "3" ) ) . value = "\xa0" ; else if ( ! b . attributes . map . name && ! b . attributes . map . id ) return a = b . parent , T [ b . name ] ? b . empty ( ) . remove ( ) : b . unwrap ( ) , void ( b = a ) ; b = b . parent } } } , l ) , y = b = new e ( o . context || r . root _name , 11 ) , v . parse ( t ) , k && A . length && ( o . context ? o . invalid = ! 0 : c ( A ) ) , I && ( "body" == y . name || o . isRootContent ) && a ( ) , ! o . invalid ) { for ( S in h ) { for ( N = d [ S ] , x = h [ S ] , _ = x . length ; _ -- ; ) x [ _ ] . parent || x . splice ( _ , 1 ) ; for ( C = 0 , w = N . length ; w > C ; C ++ ) N [ C ] ( x , S , o ) } for ( C = 0 , w = f . length ; w > C ; C ++ ) if ( N = f [ C ] , N . name in p ) { for ( x = p [ N . name ] , _ = x . length ; _ -- ; ) x [ _ ] . parent || x . splice ( _ , 1 ) ; for ( _ = 0 , E = N . callbacks . length ; E > _ ; _ ++ ) N . callbacks [ _ ] ( x , N . name , o ) } } return y } , r . remove _trailing _brs && u . addNodeFilter ( "br" , function ( t ) { var n , r = t . length , i , o = s ( { } , l . getBlockElements ( ) ) , a = l . getNonEmptyElements ( ) , c , u , d , f , h , p ; for ( o . body = 1 , n = 0 ; r > n ; n ++ ) if ( i = t [ n ] , c = i . parent , o [ i . parent . name ] && i === c . lastChild ) { for ( d = i . prev ; d ; ) { if ( f = d . name , "span" !== f || "bookmark" !== d . attr ( "data-mce-type" ) ) { if ( "br" !== f ) break ; if ( "br" === f ) { i = null ; break } } d = d . prev } i && ( i . remove ( ) , c . isEmpty ( a ) && ( h = l . getElementRule ( c . name ) , h && ( h . removeEmpty ? c . remove ( ) : h . paddEmpty && ( c . empty ( ) . append ( new e ( "#text" , 3 ) ) . value = "\xa0" ) ) ) ) } else { for ( u = i ; c && c . firstChild === u && c . lastChild === u && ( u = c , ! o [ c . name ] ) ; ) c = c . parent ; u === c && ( p = new e ( "#text" , 3 ) , p . value = "\xa0" , i . replace ( p ) ) } } ) , r . allow _html _in _named _anchor || u . addAttributeFilter ( "id,name" , function ( e ) { for ( var t = e . length , n , r , i , o ; t -- ; ) if ( o = e [ t ] , "a" === o . name && o . firstChild && ! o . attr ( "href" ) ) { i = o . parent , n = o . lastChild ; do r = n . prev , i . insert ( n , o ) , n = r ; while ( n ) } } ) , r . validate && l . getValidClasses ( ) && u . addAttributeFilter ( "class" , function ( e ) { for ( var t = e . length , n , r , i , o , a , s = l . getValidClasses ( ) , c , u ; t -- ; ) { for ( n = e [ t ] , r = n . attr ( "class" ) . split ( " " ) , a = "" , i = 0 ; i < r . length ; i ++ ) o = r [ i ] , u = ! 1 , c = s [ "*" ] , c && c [ o ] && ( u = ! 0 ) , c = s [ n . name ] , ! u && c && c [ o ] && ( u = ! 0 ) , u && ( a && ( a += " " ) , a += o ) ; a . length || ( a = null ) , n . attr ( "class" , a ) } } ) } } ) , r ( T , [ v , f ] , function ( e , t ) { var n = t . makeMap ; return function ( t ) { var r = [ ] , i , o , a , s , l ; return t = t || { } , i = t . indent , o = n ( t . indent _before || "" ) , a = n ( t . indent _after || "" ) , s = e . getEncodeFunc ( t . entity _encoding || "raw" , t . entities ) , l = "html" == t . element _format , { start : function ( e , t , n ) { var c , u , d , f ; if ( i && o [ e ] && r . length > 0 && ( f = r [ r . lengt
r . setStart ( i . offsetNode , i . offset ) , r . collapse ( ! 0 ) ; else if ( n . caretRangeFromPoint ) r = n . caretRangeFromPoint ( e , t ) ; else if ( n . body . createTextRange ) { r = n . body . createTextRange ( ) ; try { r . moveToPoint ( e , t ) , r . collapse ( ! 0 ) } catch ( o ) { r . collapse ( t < n . body . clientHeight ) } } this . setRng ( r ) } , _moveEndPoint : function ( t , n , r ) { var i = n , o = new e ( n , i ) , s = this . dom . schema . getNonEmptyElements ( ) ; do { if ( 3 == n . nodeType && 0 !== u ( n . nodeValue ) . length ) return void ( r ? t . setStart ( n , 0 ) : t . setEnd ( n , n . nodeValue . length ) ) ; if ( s [ n . nodeName ] && ! /^(TD|TH)$/ . test ( n . nodeName ) ) return void ( r ? t . setStartBefore ( n ) : "BR" == n . nodeName ? t . setEndBefore ( n ) : t . setEndAfter ( n ) ) ; if ( a . ie && a . ie < 11 && this . dom . isBlock ( n ) && this . dom . isEmpty ( n ) ) return void ( r ? t . setStart ( n , 0 ) : t . setEnd ( n , 0 ) ) } while ( n = r ? o . next ( ) : o . prev ( ) ) ; "BODY" == i . nodeName && ( r ? t . setStart ( i , 0 ) : t . setEnd ( i , i . childNodes . length ) ) } , destroy : function ( ) { this . win = null , this . controlSelection . destroy ( ) } } , l } ) , r ( P , [ M , f ] , function ( e , t ) { function n ( t ) { this . compare = function ( n , i ) { function o ( e ) { var n = { } ; return r ( t . getAttribs ( e ) , function ( r ) { var i = r . nodeName . toLowerCase ( ) ; 0 !== i . indexOf ( "_" ) && "style" !== i && "data-mce-style" !== i && ( n [ i ] = t . getAttrib ( e , i ) ) } ) , n } function a ( e , t ) { var n , r ; for ( r in e ) if ( e . hasOwnProperty ( r ) ) { if ( n = t [ r ] , "undefined" == typeof n ) return ! 1 ; if ( e [ r ] != n ) return ! 1 ; delete t [ r ] } for ( r in t ) if ( t . hasOwnProperty ( r ) ) return ! 1 ; return ! 0 } return n . nodeName != i . nodeName ? ! 1 : a ( o ( n ) , o ( i ) ) && a ( t . parseStyle ( t . getAttrib ( n , "style" ) ) , t . parseStyle ( t . getAttrib ( i , "style" ) ) ) ? ! e . isBookmarkNode ( n ) && ! e . isBookmarkNode ( i ) : ! 1 } } var r = t . each ; return n } ) , r ( O , [ f ] , function ( e ) { function t ( e , t ) { function r ( e ) { return e . replace ( /%(\w+)/g , "" ) } var i , o , a = e . dom , s = "" , l , c ; if ( c = e . settings . preview _styles , c === ! 1 ) return "" ; if ( c || ( c = "font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow" ) , "string" == typeof t ) { if ( t = e . formatter . get ( t ) , ! t ) return ; t = t [ 0 ] } return i = t . block || t . inline || "span" , o = a . create ( i ) , n ( t . styles , function ( e , t ) { e = r ( e ) , e && a . setStyle ( o , t , e ) } ) , n ( t . attributes , function ( e , t ) { e = r ( e ) , e && a . setAttrib ( o , t , e ) } ) , n ( t . classes , function ( e ) { e = r ( e ) , a . hasClass ( o , e ) || a . addClass ( o , e ) } ) , e . fire ( "PreviewFormats" ) , a . setStyles ( o , { position : "absolute" , left : - 65535 } ) , e . getBody ( ) . appendChild ( o ) , l = a . getStyle ( e . getBody ( ) , "fontSize" , ! 0 ) , l = /px$/ . test ( l ) ? parseInt ( l , 10 ) : 0 , n ( c . split ( " " ) , function ( t ) { var n = a . getStyle ( o , t , ! 0 ) ; if ( ! ( "background-color" == t && /transparent|rgba\s*\([^)]+,\s*0\)/ . test ( n ) && ( n = a . getStyle ( e . getBody ( ) , t , ! 0 ) , "#ffffff" == a . toHex ( n ) . toLowerCase ( ) ) || "color" == t && "#000000" == a . toHex ( n ) . toLowerCase ( ) ) ) { if ( "font-size" == t && /em|%$/ . test ( n ) ) { if ( 0 === l ) return ; n = parseFloat ( n , 10 ) / ( /%$/ . test ( n ) ? 100 : 1 ) , n = n * l + "px" } "border" == t && n && ( s += "padding:0 2px;" ) , s += t + ":" + n + ";" } } ) , e . fire ( "AfterPreviewFormats" ) , a . remove ( o ) , s } var n = e . each ; return { getCssText : t } } ) , r ( I , [ m , w , M , P , f , O ] , function ( e , t , n , r , i , o ) { return function ( a ) { function s ( e ) { return e . nodeType && ( e = e . nodeName ) , ! ! a . schema . getTextBlockElements ( ) [ e . toLowerCase ( ) ] } function l ( e ) { return /^(TH|TD)$/ . test ( e . nodeName ) } function c ( e ) { return e && /^(IMG)$/ . test ( e . nodeName ) } function u ( e , t ) { return q . getParents ( e , t , q . getRoot ( ) ) } function d ( e ) { return 1 === e . nodeType && "_mce_caret" === e . id } function f ( ) { m ( { valigntop : [ { selector : "td,th" , styles : { verticalAlign : "top" } } ] , valignmiddle : [ { selector : "td,th" , styles : { verticalAlign : "middle" } } ] , valignbottom : [ { selector : "td,th" , styles : { verticalAlign : "bottom" } } ] , alignleft : [ { selector : "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li" , styles : { textAlign : "left" } , defaultBlock : "div" } , { selector : "img,table" , collapsed : ! 1 , styles : { "float" : "left" } } ] , aligncenter : [ { selector : "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li" , styles : { textAlign : "center" } , defaultBlock : "div" } , { selector : "img" , collapsed : ! 1 , styles : { display : "block" , marginLeft : "auto" , marginRight : "auto" } } , { selector : "table" , collapsed : ! 1 , styles : { marginLeft : "auto" , marginRight : "auto" } } ] , alignright : [ { selector : "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li" , styles : { textAlign : "right" } , defaultBlock : "div" } , { selector : "img,table" , collapsed : ! 1 , styles : { "float" : "right" } } ] , alignjustify : [ { selector : "figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li" , styles : { textAlign : "justify" } , defaultBlock
C ( ) ? T ( ) : C ( ! 0 ) ? ( O = M . parentNode . insertBefore ( x ( ) , M ) , m ( O ) , v ( M ) ) : ( A = R . cloneRange ( ) , A . setEndAfter ( M ) , I = A . extractContents ( ) , N ( I ) , O = I . firstChild , a . insertAfter ( I , M ) , g ( O ) , k ( M ) , a . isEmpty ( M ) && b ( M ) , a . isEmpty ( O ) ? ( a . remove ( O ) , T ( ) ) : v ( O ) ) , a . setAttrib ( O , "id" , "" ) , i . fire ( "NewBlock" , { newBlock : O } ) , c . add ( ) ) } } } var a = i . dom , s = i . selection , l = i . settings , c = i . undoManager , u = i . schema , d = u . getNonEmptyElements ( ) , f = u . getMoveCaretBeforeOnEnterElements ( ) ; i . on ( "keydown" , function ( e ) { 13 == e . keyCode && o ( e ) !== ! 1 && e . preventDefault ( ) } ) } } ) , r ( W , [ ] , function ( ) { return function ( e ) { function t ( ) { var t = i . getStart ( ) , s = e . getBody ( ) , l , c , u , d , f , h , p , m = - 16777215 , g , v , y , b , x ; if ( x = n . forced _root _block , t && 1 === t . nodeType && x ) { for ( ; t && t != s ; ) { if ( a [ t . nodeName ] ) return ; t = t . parentNode } if ( l = i . getRng ( ) , l . setStart ) { c = l . startContainer , u = l . startOffset , d = l . endContainer , f = l . endOffset ; try { v = e . getDoc ( ) . activeElement === s } catch ( C ) { } } else l . item && ( t = l . item ( 0 ) , l = e . getDoc ( ) . body . createTextRange ( ) , l . moveToElementText ( t ) ) , v = l . parentElement ( ) . ownerDocument === e . getDoc ( ) , y = l . duplicate ( ) , y . collapse ( ! 0 ) , u = - 1 * y . move ( "character" , m ) , y . collapsed || ( y = l . duplicate ( ) , y . collapse ( ! 1 ) , f = - 1 * y . move ( "character" , m ) - u ) ; for ( t = s . firstChild , b = s . nodeName . toLowerCase ( ) ; t ; ) if ( ( 3 === t . nodeType || 1 == t . nodeType && ! a [ t . nodeName ] ) && o . isValidChild ( b , x . toLowerCase ( ) ) ) { if ( 3 === t . nodeType && 0 === t . nodeValue . length ) { p = t , t = t . nextSibling , r . remove ( p ) ; continue } h || ( h = r . create ( x , e . settings . forced _root _block _attrs ) , t . parentNode . insertBefore ( h , t ) , g = ! 0 ) , p = t , t = t . nextSibling , h . appendChild ( p ) } else h = null , t = t . nextSibling ; if ( g && v ) { if ( l . setStart ) l . setStart ( c , u ) , l . setEnd ( d , f ) , i . setRng ( l ) ; else try { l = e . getDoc ( ) . body . createTextRange ( ) , l . moveToElementText ( s ) , l . collapse ( ! 0 ) , l . moveStart ( "character" , u ) , f > 0 && l . moveEnd ( "character" , f ) , l . select ( ) } catch ( C ) { } e . nodeChanged ( ) } } } var n = e . settings , r = e . dom , i = e . selection , o = e . schema , a = o . getBlockElements ( ) ; n . forced _root _block && e . on ( "NodeChange" , t ) } } ) , r ( V , [ R , u , f , P , w , m ] , function ( e , n , r , i , o , a ) { var s = r . each , l = r . extend , c = r . map , u = r . inArray , d = r . explode , f = n . gecko , h = n . ie , p = n . ie && n . ie < 11 , m = ! 0 , g = ! 1 ; return function ( r ) { function v ( e , t , n , i ) { var o , a , l = 0 ; if ( /^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/ . test ( e ) || i && i . skip _focus || r . focus ( ) , i = r . fire ( "BeforeExecCommand" , { command : e , ui : t , value : n } ) , i . isDefaultPrevented ( ) ) return ! 1 ; if ( a = e . toLowerCase ( ) , o = M . exec [ a ] ) return o ( a , t , n ) , r . fire ( "ExecCommand" , { command : e , ui : t , value : n } ) , ! 0 ; if ( s ( r . plugins , function ( i ) { return i . execCommand && i . execCommand ( e , t , n ) ? ( r . fire ( "ExecCommand" , { command : e , ui : t , value : n } ) , l = ! 0 , ! 1 ) : void 0 } ) , l ) return l ; if ( r . theme && r . theme . execCommand && r . theme . execCommand ( e , t , n ) ) return r . fire ( "ExecCommand" , { command : e , ui : t , value : n } ) , ! 0 ; try { l = r . getDoc ( ) . execCommand ( e , t , n ) } catch ( c ) { } return l ? ( r . fire ( "ExecCommand" , { command : e , ui : t , value : n } ) , ! 0 ) : ! 1 } function y ( e ) { var t ; if ( ! r . _isHidden ( ) ) { if ( e = e . toLowerCase ( ) , t = M . state [ e ] ) return t ( e ) ; try { return r . getDoc ( ) . queryCommandState ( e ) } catch ( n ) { } return ! 1 } } function b ( e ) { var t ; if ( ! r . _isHidden ( ) ) { if ( e = e . toLowerCase ( ) , t = M . value [ e ] ) return t ( e ) ; try { return r . getDoc ( ) . queryCommandValue ( e ) } catch ( n ) { } } } function x ( e , t ) { t = t || "exec" , s ( e , function ( e , n ) { s ( n . toLowerCase ( ) . split ( "," ) , function ( n ) { M [ t ] [ n ] = e } ) } ) } function C ( e , t , n ) { e = e . toLowerCase ( ) , M . exec [ e ] = function ( e , i , o , a ) { return t . call ( n || r , i , o , a ) } } function w ( e ) { if ( e = e . toLowerCase ( ) , M . exec [ e ] ) return ! 0 ; try { return r . getDoc ( ) . queryCommandSupported ( e ) } catch ( t ) { } return ! 1 } function _ ( e , t , n ) { e = e . toLowerCase ( ) , M . state [ e ] = function ( ) { return t . call ( n || r ) } } function E ( e , t , n ) { e = e . toLowerCase ( ) , M . value [ e ] = function ( ) { return t . call ( n || r ) } } function N ( e ) { return e = e . toLowerCase ( ) , ! ! M . exec [ e ] } function S ( e , n , i ) { return n === t && ( n = g ) , i === t && ( i = null ) , r . getDoc ( ) . execCommand ( e , n , i ) } function k ( e ) { return L . match ( e ) } function T ( e , n ) { L . toggle ( e , n ? { value : n } : t ) , r . nodeChanged ( ) } function R ( e ) { P = D . getBookmark ( e ) } function A ( ) { D . moveToBookmark ( P ) } var B , D , L , M = { state : { } , exec : { } , value : { } } , H = r . settings , P ; r . on ( "PreInit" , function ( ) { B = r . dom , D = r . selection , H = r . settings , L = r . formatter } ) , l ( this , { execCommand : v , queryCommandState : y , queryCommandValue : b , queryCommandSupported : w , addCommands : x , addCommand : C , addQueryStateHandler : _ , addQueryValueHandler : E , hasCustomCommand : N } ) , x ( { " mceResetDesig
l && l . map && ! l . map [ t . _id ] && ( l . push ( t ) , l . map [ t . _id ] = ! 0 ) , r . x = n . x , r . y = n . y , r . w = n . w , r . h = n . h ) , t ) : n } , repaint : function ( ) { var e = this , t , n , r , i , o , a , s , l , c , u ; c = document . createRange ? function ( e ) { return e } : Math . round , t = e . getEl ( ) . style , i = e . _layoutRect , l = e . _lastRepaintRect || { } , o = e . borderBox , a = o . left + o . right , s = o . top + o . bottom , i . x !== l . x && ( t . left = c ( i . x ) + "px" , l . x = i . x ) , i . y !== l . y && ( t . top = c ( i . y ) + "px" , l . y = i . y ) , i . w !== l . w && ( u = c ( i . w - a ) , t . width = ( u >= 0 ? u : 0 ) + "px" , l . w = i . w ) , i . h !== l . h && ( u = c ( i . h - s ) , t . height = ( u >= 0 ? u : 0 ) + "px" , l . h = i . h ) , e . _hasBody && i . innerW !== l . innerW && ( u = c ( i . innerW ) , r = e . getEl ( "body" ) , r && ( n = r . style , n . width = ( u >= 0 ? u : 0 ) + "px" ) , l . innerW = i . innerW ) , e . _hasBody && i . innerH !== l . innerH && ( u = c ( i . innerH ) , r = r || e . getEl ( "body" ) , r && ( n = n || r . style , n . height = ( u >= 0 ? u : 0 ) + "px" ) , l . innerH = i . innerH ) , e . _lastRepaintRect = l , e . fire ( "repaint" , { } , ! 1 ) } , on : function ( e , t ) { function n ( e ) { var t , n ; return "string" != typeof e ? e : function ( i ) { return t || r . parentsAndSelf ( ) . each ( function ( r ) { var i = r . settings . callbacks ; return i && ( t = i [ e ] ) ? ( n = r , ! 1 ) : void 0 } ) , t ? t . call ( n , i ) : ( i . action = e , void this . fire ( "execute" , i ) ) } } var r = this ; return u ( r ) . on ( e , n ( t ) ) , r } , off : function ( e , t ) { return u ( this ) . off ( e , t ) , this } , fire : function ( e , t , n ) { var r = this ; if ( t = t || { } , t . control || ( t . control = r ) , t = u ( r ) . fire ( e , t ) , n !== ! 1 && r . parent ) for ( var i = r . parent ( ) ; i && ! t . isPropagationStopped ( ) ; ) i . fire ( e , t , ! 1 ) , i = i . parent ( ) ; return t } , hasEventListeners : function ( e ) { return u ( this ) . has ( e ) } , parents : function ( e ) { var t = this , n , r = new i ; for ( n = t . parent ( ) ; n ; n = n . parent ( ) ) r . add ( n ) ; return e && ( r = r . filter ( e ) ) , r } , parentsAndSelf : function ( e ) { return new i ( this ) . add ( this . parents ( e ) ) } , next : function ( ) { var e = this . parent ( ) . items ( ) ; return e [ e . indexOf ( this ) + 1 ] } , prev : function ( ) { var e = this . parent ( ) . items ( ) ; return e [ e . indexOf ( this ) - 1 ] } , innerHtml : function ( e ) { return this . $el . html ( e ) , this } , getEl : function ( e ) { var t = e ? this . _id + "-" + e : this . _id ; return this . _elmCache [ t ] || ( this . _elmCache [ t ] = a ( "#" + t ) [ 0 ] ) , this . _elmCache [ t ] } , show : function ( ) { return this . visible ( ! 0 ) } , hide : function ( ) { return this . visible ( ! 1 ) } , focus : function ( ) { try { this . getEl ( ) . focus ( ) } catch ( e ) { } return this } , blur : function ( ) { return this . getEl ( ) . blur ( ) , this } , aria : function ( e , t ) { var n = this , r = n . getEl ( n . ariaTarget ) ; return "undefined" == typeof t ? n . _aria [ e ] : ( n . _aria [ e ] = t , n . state . get ( "rendered" ) && r . setAttribute ( "role" == e ? e : "aria-" + e , t ) , n ) } , encode : function ( e , t ) { return t !== ! 1 && ( e = this . translate ( e ) ) , ( e || "" ) . replace ( /[&<>"]/g , function ( e ) { return "&#" + e . charCodeAt ( 0 ) + ";" } ) } , translate : function ( e ) { return m . translate ? m . translate ( e ) : e } , before : function ( e ) { var t = this , n = t . parent ( ) ; return n && n . insert ( e , n . items ( ) . indexOf ( t ) , ! 0 ) , t } , after : function ( e ) { var t = this , n = t . parent ( ) ; return n && n . insert ( e , n . items ( ) . indexOf ( t ) ) , t } , remove : function ( ) { var e = this , t = e . getEl ( ) , n = e . parent ( ) , r , i ; if ( e . items ) { var o = e . items ( ) . toArray ( ) ; for ( i = o . length ; i -- ; ) o [ i ] . remove ( ) } n && n . items && ( r = [ ] , n . items ( ) . each ( function ( t ) { t !== e && r . push ( t ) } ) , n . items ( ) . set ( r ) , n . _lastRect = null ) , e . _eventsRoot && e . _eventsRoot == e && a ( t ) . off ( ) ; var s = e . getRoot ( ) . controlIdLookup ; return s && delete s [ e . _id ] , t && t . parentNode && t . parentNode . removeChild ( t ) , e . state . set ( "rendered" , ! 1 ) , e . state . destroy ( ) , e . fire ( "remove" ) , e } , renderBefore : function ( e ) { return a ( e ) . before ( this . renderHtml ( ) ) , this . postRender ( ) , this } , renderTo : function ( e ) { return a ( e || this . getContainerElm ( ) ) . append ( this . renderHtml ( ) ) , this . postRender ( ) , this } , preRender : function ( ) { } , render : function ( ) { } , renderHtml : function ( ) { return '<div id="' + this . _id + '" class="' + this . classes + '"></div>' } , postRender : function ( ) { var e = this , t = e . settings , n , r , i , o , s ; e . $el = a ( e . getEl ( ) ) , e . state . set ( "rendered" , ! 0 ) ; for ( o in t ) 0 === o . indexOf ( "on" ) && e . on ( o . substr ( 2 ) , t [ o ] ) ; if ( e . _eventsRoot ) { for ( i = e . parent ( ) ; ! s && i ; i = i . parent ( ) ) s = i . _eventsRoot ; if ( s ) for ( o in s . _nativeEvents ) e . _nativeEvents [ o ] = ! 0 } d ( e ) , t . style && ( n = e . getEl ( ) , n && ( n . setAttribute ( "style" , t . style ) , n . style . cssText = t . style ) ) , e . settings . border && ( r = e . borderBox , e . $el . css ( { "border-top-width" : r . top , "border-right-width" : r . right , "border-bottom-width" : r . bottom , "border-left-width" : r . left } ) ) ; var l = e . getRoot ( ) ; l . controlIdLookup || ( l . controlIdLookup = { } ) , l . controlIdLookup [ e . _id ] = e ; for ( var u in e . _aria ) e . aria ( u , e . _aria [ u ] ) ; e . state . get ( "visible" ) === ! 1 && ( e . getEl ( ) . style . display = " n
} s . each ( e . addedNodes , function ( e ) { if ( "SPAN" == e . nodeName && ! e . getAttribute ( "mce-data-marked" ) ) { var t , i ; e == r && ( t = n . startOffset , i = e . firstChild ) , b . remove ( e , ! 0 ) , i && ( n . setStart ( i , t ) , n . setEnd ( i , t ) , l . selection . setRng ( n ) ) } } ) } } ) , t . disconnect ( ) , s . each ( l . dom . select ( "span[mce-data-marked]" ) , function ( e ) { e . removeAttribute ( "mce-data-marked" ) } ) ) } var y = l . getDoc ( ) , b = l . dom , x = l . selection , C = window . MutationObserver , w , _ ; C || ( w = ! 0 , C = function ( ) { function e ( e ) { var t = e . relatedNode || e . target ; n . push ( { target : t , addedNodes : [ t ] } ) } function t ( e ) { var t = e . relatedNode || e . target ; n . push ( { target : t , attributeName : e . attrName } ) } var n = [ ] , r ; this . observe = function ( n ) { r = n , r . addEventListener ( "DOMSubtreeModified" , e , ! 1 ) , r . addEventListener ( "DOMNodeInsertedIntoDocument" , e , ! 1 ) , r . addEventListener ( "DOMNodeInserted" , e , ! 1 ) , r . addEventListener ( "DOMAttrModified" , t , ! 1 ) } , this . disconnect = function ( ) { r . removeEventListener ( "DOMSubtreeModified" , e , ! 1 ) , r . removeEventListener ( "DOMNodeInsertedIntoDocument" , e , ! 1 ) , r . removeEventListener ( "DOMNodeInserted" , e , ! 1 ) , r . removeEventListener ( "DOMAttrModified" , t , ! 1 ) } , this . takeRecords = function ( ) { return n } } ) , l . on ( "keydown" , function ( e ) { var t = e . keyCode == G , n = e . ctrlKey || e . metaKey ; if ( ! d ( e ) && ( t || e . keyCode == Y ) ) { var r = l . selection . getRng ( ) , i = r . startContainer , o = r . startOffset ; if ( t && e . shiftKey ) return ; if ( g ( t , r ) ) return void e . preventDefault ( ) ; if ( ! n && r . collapsed && 3 == i . nodeType && ( t ? o < i . data . length : o > 0 ) ) return ; e . preventDefault ( ) , n && l . selection . getSel ( ) . modify ( "extend" , t ? "forward" : "backward" , e . metaKey ? "lineboundary" : "word" ) , v ( t ) } } ) , l . on ( "keypress" , function ( t ) { if ( ! d ( t ) && ! x . isCollapsed ( ) && t . charCode > 31 && ! e . metaKeyPressed ( t ) ) { var n , r , i , o , a , s ; n = l . selection . getRng ( ) , s = String . fromCharCode ( t . charCode ) , t . preventDefault ( ) , r = K ( n . startContainer ) . parents ( ) . filter ( function ( e , t ) { return ! ! l . schema . getTextInlineElements ( ) [ t . nodeName ] } ) , v ( ! 0 ) , r = r . filter ( function ( e , t ) { return ! K . contains ( l . getBody ( ) , t ) } ) , r . length ? ( i = b . createFragment ( ) , r . each ( function ( e , t ) { t = t . cloneNode ( ! 1 ) , i . hasChildNodes ( ) ? ( t . appendChild ( i . firstChild ) , i . appendChild ( t ) ) : ( a = t , i . appendChild ( t ) ) , i . appendChild ( t ) } ) , a . appendChild ( l . getDoc ( ) . createTextNode ( s ) ) , o = b . getParent ( n . startContainer , b . isBlock ) , b . isEmpty ( o ) ? K ( o ) . empty ( ) . append ( i ) : n . insertNode ( i ) , n . setStart ( a . firstChild , 1 ) , n . setEnd ( a . firstChild , 1 ) , l . selection . setRng ( n ) ) : l . selection . setContent ( s ) } } ) , l . addCommand ( "Delete" , function ( ) { v ( ) } ) , l . addCommand ( "ForwardDelete" , function ( ) { v ( ! 0 ) } ) , w || ( l . on ( "dragstart" , function ( e ) { _ = x . getRng ( ) , f ( e ) } ) , l . on ( "drop" , function ( e ) { if ( ! d ( e ) ) { var n = h ( e ) ; n && ( e . preventDefault ( ) , window . setTimeout ( function ( ) { var r = t . getCaretRangeFromPoint ( e . x , e . y , y ) ; _ && ( x . setRng ( _ ) , _ = null ) , v ( ) , x . setRng ( r ) , p ( n . html ) } , 0 ) ) } } ) , l . on ( "cut" , function ( e ) { d ( e ) || ! e . clipboardData || l . selection . isCollapsed ( ) || ( e . preventDefault ( ) , e . clipboardData . clearData ( ) , e . clipboardData . setData ( "text/html" , l . selection . getContent ( ) ) , e . clipboardData . setData ( "text/plain" , l . selection . getContent ( { format : "text" } ) ) , window . setTimeout ( function ( ) { v ( ! 0 ) } , 0 ) ) } ) ) } function g ( ) { function e ( e ) { var t = X . create ( "body" ) , n = e . cloneContents ( ) ; return t . appendChild ( n ) , J . serializer . serialize ( t , { format : "html" } ) } function n ( n ) { if ( ! n . setStart ) { if ( n . item ) return ! 1 ; var r = n . duplicate ( ) ; return r . moveToElementText ( l . getBody ( ) ) , t . compareRanges ( n , r ) } var i = e ( n ) , o = X . createRng ( ) ; o . selectNode ( l . getBody ( ) ) ; var a = e ( o ) ; return i === a } l . on ( "keydown" , function ( e ) { var t = e . keyCode , r , i ; if ( ! d ( e ) && ( t == G || t == Y ) ) { if ( r = l . selection . isCollapsed ( ) , i = l . getBody ( ) , r && ! X . isEmpty ( i ) ) return ; if ( ! r && ! n ( l . selection . getRng ( ) ) ) return ; e . preventDefault ( ) , l . setContent ( "" ) , i . firstChild && X . isBlock ( i . firstChild ) ? l . selection . setCursorLocation ( i . firstChild , 0 ) : l . selection . setCursorLocation ( i , 0 ) , l . nodeChanged ( ) } } ) } function v ( ) { l . shortcuts . add ( "meta+a" , null , "SelectAll" ) } function y ( ) { l . settings . content _editable || ( X . bind ( l . getDoc ( ) , "focusin" , function ( ) { J . setRng ( J . getRng ( ) ) } ) , X . bind ( l . getDoc ( ) , "mousedown mouseup" , function ( e ) { e . target == l . getDoc ( ) . documentElement && ( l . getBody ( ) . focus ( ) , "mousedown" == e . type ? J . placeCaretAt ( e . clientX , e . clientY ) : J . setRng ( J . getRng ( ) ) ) } ) ) } function b ( ) { l . on ( "keydown" , function ( e ) { if ( ! d ( e ) && e . keyCode === Y ) { if ( ! l . getBody ( ) . getElementsByTagName ( "hr" ) . length ) return ; if ( J . isColl
n . addVisual ( n . getBody ( ) ) } ) , r . padd _empty _editor && n . on ( "PostProcess" , function ( e ) { e . content = e . content . replace ( /^(<p[^>]*>( | |\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/ , "" ) } ) , n . load ( { initial : ! 0 , format : "html" } ) , n . startContent = n . getContent ( { format : "raw" } ) , n . initialized = ! 0 , n . bindPendingEventDelegates ( ) , n . fire ( "init" ) , n . focus ( ! 0 ) , n . nodeChanged ( { initial : ! 0 } ) , n . execCallback ( "init_instance_callback" , n ) , n . contentStyles . length > 0 && ( m = "" , B ( n . contentStyles , function ( e ) { m += e + "\r\n" } ) , n . dom . addStyle ( m ) ) , B ( n . contentCSS , function ( e ) { n . loadedCSS [ e ] || ( n . dom . loadCSS ( e ) , n . loadedCSS [ e ] = ! 0 ) } ) , r . auto _focus && setTimeout ( function ( ) { var e ; e = r . auto _focus === ! 0 ? n : n . editorManager . get ( r . auto _focus ) , e . destroyed || e . focus ( ) } , 100 ) , s = h = p = null } , focus : function ( e ) { var t = this , n = t . selection , r = t . settings . content _editable , i , o , a = t . getDoc ( ) , s ; if ( ! e ) { if ( i = n . getRng ( ) , i . item && ( o = i . item ( 0 ) ) , t . _refreshContentEditable ( ) , r || ( C . opera || t . getBody ( ) . focus ( ) , t . getWin ( ) . focus ( ) ) , O || r ) { if ( s = t . getBody ( ) , s . setActive ) try { s . setActive ( ) } catch ( l ) { s . focus ( ) } else s . focus ( ) ; r && n . normalize ( ) } o && o . ownerDocument == a && ( i = a . body . createControlRange ( ) , i . addElement ( o ) , i . select ( ) ) } t . editorManager . setActive ( t ) } , execCallback : function ( e ) { var t = this , n = t . settings [ e ] , r ; if ( n ) return t . callbackLookup && ( r = t . callbackLookup [ e ] ) && ( n = r . func , r = r . scope ) , "string" == typeof n && ( r = n . replace ( /\.\w+$/ , "" ) , r = r ? H ( r ) : 0 , n = H ( n ) , t . callbackLookup = t . callbackLookup || { } , t . callbackLookup [ e ] = { func : n , scope : r } ) , n . apply ( r || t , Array . prototype . slice . call ( arguments , 1 ) ) } , translate : function ( e ) { var t = this . settings . language || "en" , n = this . editorManager . i18n ; return e ? n . data [ t + "." + e ] || e . replace ( /\{\#([^\}]+)\}/g , function ( e , r ) { return n . data [ t + "." + r ] || "{#" + r + "}" } ) : "" } , getLang : function ( e , n ) { return this . editorManager . i18n . data [ ( this . settings . language || "en" ) + "." + e ] || ( n !== t ? n : "{#" + e + "}" ) } , getParam : function ( e , t , n ) { var r = e in this . settings ? this . settings [ e ] : t , i ; return "hash" === n ? ( i = { } , "string" == typeof r ? B ( r . indexOf ( "=" ) > 0 ? r . split ( /[;,](?![^=;,]*(?:[;,]|$))/ ) : r . split ( "," ) , function ( e ) { e = e . split ( "=" ) , e . length > 1 ? i [ M ( e [ 0 ] ) ] = M ( e [ 1 ] ) : i [ M ( e [ 0 ] ) ] = M ( e ) } ) : i = r , i ) : r } , nodeChanged : function ( e ) { this . _nodeChangeDispatcher . nodeChanged ( e ) } , addButton : function ( e , t ) { var n = this ; t . cmd && ( t . onclick = function ( ) { n . execCommand ( t . cmd ) } ) , t . text || t . icon || ( t . icon = e ) , n . buttons = n . buttons || { } , t . tooltip = t . tooltip || t . title , n . buttons [ e ] = t } , addMenuItem : function ( e , t ) { var n = this ; t . cmd && ( t . onclick = function ( ) { n . execCommand ( t . cmd ) } ) , n . menuItems = n . menuItems || { } , n . menuItems [ e ] = t } , addContextToolbar : function ( e , t ) { var n = this , r ; n . contextToolbars = n . contextToolbars || [ ] , "string" == typeof e && ( r = e , e = function ( e ) { return n . dom . is ( e , r ) } ) , n . contextToolbars . push ( { predicate : e , items : t } ) } , addCommand : function ( e , t , n ) { this . editorCommands . addCommand ( e , t , n ) } , addQueryStateHandler : function ( e , t , n ) { this . editorCommands . addQueryStateHandler ( e , t , n ) } , addQueryValueHandler : function ( e , t , n ) { this . editorCommands . addQueryValueHandler ( e , t , n ) } , addShortcut : function ( e , t , n , r ) { this . shortcuts . add ( e , t , n , r ) } , execCommand : function ( e , t , n , r ) { return this . editorCommands . execCommand ( e , t , n , r ) } , queryCommandState : function ( e ) { return this . editorCommands . queryCommandState ( e ) } , queryCommandValue : function ( e ) { return this . editorCommands . queryCommandValue ( e ) } , queryCommandSupported : function ( e ) { return this . editorCommands . queryCommandSupported ( e ) } , show : function ( ) { var e = this ; e . hidden && ( e . hidden = ! 1 , e . inline ? e . getBody ( ) . contentEditable = ! 0 : ( k . show ( e . getContainer ( ) ) , k . hide ( e . id ) ) , e . load ( ) , e . fire ( "show" ) ) } , hide : function ( ) { var e = this , t = e . getDoc ( ) ; e . hidden || ( I && t && ! e . inline && t . execCommand ( "SelectAll" ) , e . save ( ) , e . inline ? ( e . getBody ( ) . contentEditable = ! 1 , e == e . editorManager . focusedEditor && ( e . editorManager . focusedEditor = null ) ) : ( k . hide ( e . getContainer ( ) ) , k . setStyle ( e . id , "display" , e . orgDisplay ) ) , e . hidden = ! 0 , e . fire ( "hide" ) ) } , isHidden : function ( ) { return ! ! this . hidden } , setProgressState : function ( e , t ) { this . fire ( "ProgressState" , { state : e , time : t } ) } , load : function ( e ) { var n = this , r = n . getElement ( ) , i ; return r ? ( e = e || { } , e . load = ! 0 , i = n . setContent ( r . value !== t ? r . value : r . innerHTML , e ) , e . element = r , e . no _events || n . fire ( "LoadContent" , e ) , e . element = r = null , i ) : void 0 } , save : function ( e ) { var t = this , n = t . getElement ( ) , r , i ;
return '<div id="' + t + '" class="' + e . classes + '" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">' + ( i ? '<i class="' + i + '"' + o + "></i>" : "" ) + '<span id="' + t + '-preview" class="' + n + 'preview"></span>' + ( r ? ( i ? " " : "" ) + r : "" ) + '</button><button type="button" class="' + n + 'open" hidefocus="1" tabindex="-1"> <i class="' + n + 'caret"></i></button></div>' } , postRender : function ( ) { var e = this , t = e . settings . onclick ; return e . on ( "click" , function ( r ) { r . aria && "down" == r . aria . key || r . control != e || n . getParent ( r . target , "." + e . classPrefix + "open" ) || ( r . stopImmediatePropagation ( ) , t . call ( e , r ) ) } ) , delete e . settings . onclick , e . _super ( ) } } ) } ) , r ( Ke , [ ] , function ( ) { function e ( e ) { function i ( e , i , o ) { var a , s , l , c , u , d ; return a = 0 , s = 0 , l = 0 , e /= 255 , i /= 255 , o /= 255 , u = t ( e , t ( i , o ) ) , d = n ( e , n ( i , o ) ) , u == d ? ( l = u , { h : 0 , s : 0 , v : 100 * l } ) : ( c = e == u ? i - o : o == u ? e - i : o - e , a = e == u ? 3 : o == u ? 1 : 5 , a = 60 * ( a - c / ( d - u ) ) , s = ( d - u ) / d , l = d , { h : r ( a ) , s : r ( 100 * s ) , v : r ( 100 * l ) } ) } function o ( e , i , o ) { var a , s , l , c ; if ( e = ( parseInt ( e , 10 ) || 0 ) % 360 , i = parseInt ( i , 10 ) / 100 , o = parseInt ( o , 10 ) / 100 , i = n ( 0 , t ( i , 1 ) ) , o = n ( 0 , t ( o , 1 ) ) , 0 === i ) return void ( d = f = h = r ( 255 * o ) ) ; switch ( a = e / 60 , s = o * i , l = s * ( 1 - Math . abs ( a % 2 - 1 ) ) , c = o - s , Math . floor ( a ) ) { case 0 : d = s , f = l , h = 0 ; break ; case 1 : d = l , f = s , h = 0 ; break ; case 2 : d = 0 , f = s , h = l ; break ; case 3 : d = 0 , f = l , h = s ; break ; case 4 : d = l , f = 0 , h = s ; break ; case 5 : d = s , f = 0 , h = l ; break ; default : d = f = h = 0 } d = r ( 255 * ( d + c ) ) , f = r ( 255 * ( f + c ) ) , h = r ( 255 * ( h + c ) ) } function a ( ) { function e ( e ) { return e = parseInt ( e , 10 ) . toString ( 16 ) , e . length > 1 ? e : "0" + e } return "#" + e ( d ) + e ( f ) + e ( h ) } function s ( ) { return { r : d , g : f , b : h } } function l ( ) { return i ( d , f , h ) } function c ( e ) { var t ; return "object" == typeof e ? "r" in e ? ( d = e . r , f = e . g , h = e . b ) : "v" in e && o ( e . h , e . s , e . v ) : ( t = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi . exec ( e ) ) ? ( d = parseInt ( t [ 1 ] , 10 ) , f = parseInt ( t [ 2 ] , 10 ) , h = parseInt ( t [ 3 ] , 10 ) ) : ( t = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi . exec ( e ) ) ? ( d = parseInt ( t [ 1 ] , 16 ) , f = parseInt ( t [ 2 ] , 16 ) , h = parseInt ( t [ 3 ] , 16 ) ) : ( t = /#([0-F])([0-F])([0-F])/gi . exec ( e ) ) && ( d = parseInt ( t [ 1 ] + t [ 1 ] , 16 ) , f = parseInt ( t [ 2 ] + t [ 2 ] , 16 ) , h = parseInt ( t [ 3 ] + t [ 3 ] , 16 ) ) , d = 0 > d ? 0 : d > 255 ? 255 : d , f = 0 > f ? 0 : f > 255 ? 255 : f , h = 0 > h ? 0 : h > 255 ? 255 : h , u } var u = this , d = 0 , f = 0 , h = 0 ; e && c ( e ) , u . toRgb = s , u . toHsv = l , u . toHex = a , u . parse = c } var t = Math . min , n = Math . max , r = Math . round ; return e } ) , r ( Ye , [ Fe , oe , J , Ke ] , function ( e , t , n , r ) { return e . extend ( { Defaults : { classes : "widget colorpicker" } , init : function ( e ) { this . _super ( e ) } , postRender : function ( ) { function e ( e , t ) { var r = n . getPos ( e ) , i , o ; return i = t . pageX - r . x , o = t . pageY - r . y , i = Math . max ( 0 , Math . min ( i / e . clientWidth , 1 ) ) , o = Math . max ( 0 , Math . min ( o / e . clientHeight , 1 ) ) , { x : i , y : o } } function i ( e , t ) { var i = ( 360 - e . h ) / 360 ; n . css ( d , { top : 100 * i + "%" } ) , t || n . css ( h , { left : e . s + "%" , top : 100 - e . v + "%" } ) , f . style . background = new r ( { s : 100 , v : 100 , h : e . h } ) . toHex ( ) , s . color ( ) . parse ( { s : e . s , v : e . v , h : e . h } ) } function o ( t ) { var n ; n = e ( f , t ) , c . s = 100 * n . x , c . v = 100 * ( 1 - n . y ) , i ( c ) , s . fire ( "change" ) } function a ( t ) { var n ; n = e ( u , t ) , c = l . toHsv ( ) , c . h = 360 * ( 1 - n . y ) , i ( c , ! 0 ) , s . fire ( "change" ) } var s = this , l = s . color ( ) , c , u , d , f , h ; u = s . getEl ( "h" ) , d = s . getEl ( "hp" ) , f = s . getEl ( "sv" ) , h = s . getEl ( "svp" ) , s . _repaint = function ( ) { c = l . toHsv ( ) , i ( c ) } , s . _super ( ) , s . _svdraghelper = new t ( s . _id + "-sv" , { start : o , drag : o } ) , s . _hdraghelper = new t ( s . _id + "-h" , { start : a , drag : a } ) , s . _repaint ( ) } , rgb : function ( ) { return this . color ( ) . toRgb ( ) } , value : function ( e ) { var t = this ; return arguments . length ? ( t . color ( ) . parse ( e ) , void ( t . _rendered && t . _repaint ( ) ) ) : t . color ( ) . toHex ( ) } , color : function ( ) { return this . _color || ( this . _color = new r ) , this . _color } , renderHtml : function ( ) { function e ( ) { var e , t , n = "" , i , a ; for ( i = "filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=" , a = o . split ( "," ) , e = 0 , t = a . length - 1 ; t > e ; e ++ ) n += '<div class="' + r + 'colorpicker-h-chunk" style="height:' + 100 / t + "%;" + i + a [ e ] + ",endColorstr=" + a [ e + 1 ] + ");-ms-" + i + a [ e ] + ",endColorstr=" + a [ e + 1 ] + ')"></div>' ; return n } var t = this , n = t . _id , r = t . classPrefix , i , o = "#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000" , a = "background: -ms-linear-gradient(top," + o + ");background: linear-gradient(to bottom," + o + ");" ; return i = '<div id="' + n + '-h" class="' + r + 'colorpicker-h" style="' + a + '">' + e ( ) + '<div id="' + n + '-hp" class="' + r + 'colorpicker-h-marker"></div></div>' , '<div id="' + n +
e . getEl ( "handle" ) . style . height = e . layoutRect ( ) . h + "px" } return e . extend ( { init : function ( e ) { var t = this ; e . previewFilter || ( e . previewFilter = function ( e ) { return Math . round ( 100 * e ) / 100 } ) , t . _super ( e ) , t . classes . add ( "slider" ) , "v" == e . orientation && t . classes . add ( "vertical" ) , t . _minValue = e . minValue || 0 , t . _maxValue = e . maxValue || 100 , t . _initValue = t . state . get ( "value" ) } , renderHtml : function ( ) { var e = this , t = e . _id , n = e . classPrefix ; return '<div id="' + t + '" class="' + e . classes + '"><div id="' + t + '-handle" class="' + n + 'slider-handle"></div></div>' } , reset : function ( ) { this . value ( this . _initValue ) . repaint ( ) } , postRender : function ( ) { var e = this , i , o , a = 0 , s , l , c , u , d , f , h , p ; l = e . _minValue , c = e . _maxValue , s = e . value ( ) , "v" == e . settings . orientation ? ( d = "screenY" , f = "top" , h = "height" , p = "h" ) : ( d = "screenX" , f = "left" , h = "width" , p = "w" ) , e . _super ( ) , e . _dragHelper = new t ( e . _id , { handle : e . _id + "-handle" , start : function ( t ) { i = t [ d ] , o = parseInt ( e . getEl ( "handle" ) . style [ f ] , 10 ) , u = ( e . layoutRect ( ) [ p ] || 100 ) - n . getSize ( e . getEl ( "handle" ) ) [ h ] , e . fire ( "dragstart" , { value : s } ) } , drag : function ( t ) { var n = t [ d ] - i , h = e . getEl ( "handle" ) ; a = r ( o + n , 0 , u ) , h . style [ f ] = a + "px" , s = l + a / u * ( c - l ) , e . value ( s ) , e . tooltip ( ) . text ( "" + e . settings . previewFilter ( s ) ) . show ( ) . moveRel ( h , "bc tc" ) , e . fire ( "drag" , { value : s } ) } , stop : function ( ) { e . tooltip ( ) . hide ( ) , e . fire ( "dragend" , { value : s } ) } } ) } , repaint : function ( ) { this . _super ( ) , i ( this , this . value ( ) ) } , bindStates : function ( ) { var e = this ; return e . state . on ( "change:value" , function ( t ) { i ( e , t . value ) } ) , e . _super ( ) } } ) } ) , r ( yt , [ Fe ] , function ( e ) { return e . extend ( { renderHtml : function ( ) { var e = this ; return e . classes . add ( "spacer" ) , e . canFocus = ! 1 , '<div id="' + e . _id + '" class="' + e . classes + '"></div>' } } ) } ) , r ( bt , [ ut , J , h ] , function ( e , t , n ) { return e . extend ( { Defaults : { classes : "widget btn splitbtn" , role : "button" } , repaint : function ( ) { var e = this , r = e . getEl ( ) , i = e . layoutRect ( ) , o , a ; return e . _super ( ) , o = r . firstChild , a = r . lastChild , n ( o ) . css ( { width : i . w - t . getSize ( a ) . width , height : i . h - 2 } ) , n ( a ) . css ( { height : i . h - 2 } ) , e } , activeMenu : function ( e ) { var t = this ; n ( t . getEl ( ) . lastChild ) . toggleClass ( t . classPrefix + "active" , e ) } , renderHtml : function ( ) { var e = this , t = e . _id , n = e . classPrefix , r , i = e . state . get ( "icon" ) , o = e . state . get ( "text" ) ; return r = e . settings . image , r ? ( i = "none" , "string" != typeof r && ( r = window . getSelection ? r [ 0 ] : r [ 1 ] ) , r = " style=\"background-image: url('" + r + "')\"" ) : r = "" , i = e . settings . icon ? n + "ico " + n + "i-" + i : "" , '<div id="' + t + '" class="' + e . classes + '" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">' + ( i ? '<i class="' + i + '"' + r + "></i>" : "" ) + ( o ? ( i ? " " : "" ) + o : "" ) + '</button><button type="button" class="' + n + 'open" hidefocus="1" tabindex="-1">' + ( e . _menuBtnText ? ( i ? "\xa0" : "" ) + e . _menuBtnText : "" ) + ' <i class="' + n + 'caret"></i></button></div>' } , postRender : function ( ) { var e = this , t = e . settings . onclick ; return e . on ( "click" , function ( e ) { var n = e . target ; if ( e . control == this ) for ( ; n ; ) { if ( e . aria && "down" != e . aria . key || "BUTTON" == n . nodeName && - 1 == n . className . indexOf ( "open" ) ) return e . stopImmediatePropagation ( ) , void ( t && t . call ( this , e ) ) ; n = n . parentNode } } ) , delete e . settings . onclick , e . _super ( ) } } ) } ) , r ( xt , [ rt ] , function ( e ) { return e . extend ( { Defaults : { containerClass : "stack-layout" , controlClass : "stack-layout-item" , endClass : "break" } , isNative : function ( ) { return ! 0 } } ) } ) , r ( Ct , [ se , h , J ] , function ( e , t , n ) { return e . extend ( { Defaults : { layout : "absolute" , defaults : { type : "panel" } } , activateTab : function ( e ) { var n ; this . activeTabId && ( n = this . getEl ( this . activeTabId ) , t ( n ) . removeClass ( this . classPrefix + "active" ) , n . setAttribute ( "aria-selected" , "false" ) ) , this . activeTabId = "t" + e , n = this . getEl ( "t" + e ) , n . setAttribute ( "aria-selected" , "true" ) , t ( n ) . addClass ( this . classPrefix + "active" ) , this . items ( ) [ e ] . show ( ) . fire ( "showtab" ) , this . reflow ( ) , this . items ( ) . each ( function ( t , n ) { e != n && t . hide ( ) } ) } , renderHtml : function ( ) { var e = this , t = e . _layout , n = "" , r = e . classPrefix ; return e . preRender ( ) , t . preRender ( e ) , e . items ( ) . each ( function ( t , i ) { var o = e . _id + "-t" + i ; t . aria ( "role" , "tabpanel" ) , t . aria ( "labelledby" , o ) , n += '<div id="' + o + '" class="' + r + 'tab" unselectable="on" role="tab" aria-controls="' + t . _id + '" aria-selected="false" tabIndex="-1">' + e . encode ( t . settings . title ) + "</div>" } ) , '<div id="' + e . _id + '" class="' + e . classes + '" hidefocus="1" tabindex="-1"><div id="' + e . _id + '-head" class="' + r + ' tabs