2020-11-12 23:38:12 -08:00
if ( "undefined" == typeof jQuery ) throw new Error ( "AdminLTE requires jQuery" ) ; ! function ( t ) { "use strict" ; function e ( e , i ) { if ( this . element = e , this . options = i , this . $overlay = t ( i . overlayTemplate ) , "" === i . source ) throw new Error ( "Source url was not defined. Please specify a url in your BoxRefresh source option." ) ; this . _setUpListeners ( ) , this . load ( ) } function i ( i ) { return this . each ( function ( ) { var o = t ( this ) , a = o . data ( n ) ; if ( ! a ) { var r = t . extend ( { } , s , o . data ( ) , "object" == typeof i && i ) ; o . data ( n , a = new e ( o , r ) ) } if ( "string" == typeof a ) { if ( void 0 === a [ i ] ) throw new Error ( "No method named " + i ) ; a [ i ] ( ) } } ) } var n = "lte.boxrefresh" , s = { source : "" , params : { } , trigger : ".refresh-btn" , content : ".box-body" , loadInContent : ! 0 , responseType : "" , overlayTemplate : '<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>' , onLoadStart : function ( ) { } , onLoadDone : function ( t ) { return t } } ; e . prototype . load = function ( ) { this . _addOverlay ( ) , this . options . onLoadStart . call ( t ( this ) ) , t . get ( this . options . source , this . options . params , function ( e ) { this . options . loadInContent && t ( this . element ) . find ( this . options . content ) . html ( e ) , this . options . onLoadDone . call ( t ( this ) , e ) , this . _removeOverlay ( ) } . bind ( this ) , "" !== this . options . responseType && this . options . responseType ) } , e . prototype . _setUpListeners = function ( ) { t ( this . element ) . on ( "click" , this . options . trigger , function ( t ) { t && t . preventDefault ( ) , this . load ( ) } . bind ( this ) ) } , e . prototype . _addOverlay = function ( ) { t ( this . element ) . append ( this . $overlay ) } , e . prototype . _removeOverlay = function ( ) { t ( this . $overlay ) . remove ( ) } ; var o = t . fn . boxRefresh ; t . fn . boxRefresh = i , t . fn . boxRefresh . Constructor = e , t . fn . boxRefresh . noConflict = function ( ) { return t . fn . boxRefresh = o , this } , t ( window ) . on ( "load" , function ( ) { t ( '[data-widget="box-refresh"]' ) . each ( function ( ) { i . call ( t ( this ) ) } ) } ) } ( jQuery ) , function ( t ) { "use strict" ; function e ( t , e ) { this . element = t , this . options = e , this . _setUpListeners ( ) } function i ( i ) { return this . each ( function ( ) { var o = t ( this ) , a = o . data ( n ) ; if ( ! a ) { var r = t . extend ( { } , s , o . data ( ) , "object" == typeof i && i ) ; o . data ( n , a = new e ( o , r ) ) } if ( "string" == typeof i ) { if ( void 0 === a [ i ] ) throw new Error ( "No method named " + i ) ; a [ i ] ( ) } } ) } var n = "lte.boxwidget" , s = { animationSpeed : 500 , collapseTrigger : '[data-widget="collapse"]' , removeTrigger : '[data-widget="remove"]' , collapseIcon : "fa-minus" , expandIcon : "fa-plus" , removeIcon : "fa-times" } , o = ".box-header" , a = ".box-body" , r = ".box-footer" , l = ".box-tools" , h = "collapsed-box" ; e . prototype . toggle = function ( ) { t ( this . element ) . is ( ".collapsed-box" ) ? this . expand ( ) : this . collapse ( ) } , e . prototype . expand = function ( ) { var e = t . Event ( "expanded.boxwidget" ) , i = t . Event ( "expanding.boxwidget" ) , n = this . options . collapseIcon , s = this . options . expandIcon ; t ( this . element ) . removeClass ( h ) , t ( this . element ) . children ( o + ", " + a + ", " + r ) . children ( l ) . find ( "." + s ) . removeClass ( s ) . addClass ( n ) , t ( this . element ) . children ( a + ", " + r ) . slideDown ( this . options . animationSpeed , function ( ) { t ( this . element ) . trigger ( e ) } . bind ( this ) ) . trigger ( i ) } , e . prototype . collapse = function ( ) { var e = t . Event ( "collapsed.boxwidget" ) , i = t . Event ( "collapsing.boxwidget" ) , n = this . options . collapseIcon , s = this . options . expandIcon ; t ( this . element ) . children ( o + ", " + a + ", " + r ) . children ( l ) . find ( "." + n ) . removeClass ( n ) . addClass ( s ) , t ( this . element ) . children ( a + ", " + r ) . slideUp ( this . options . animationSpeed , function ( ) { t ( this . element ) . addClass ( h ) , t ( this . element ) . trigger ( e ) } . bind ( this ) ) . trigger ( i ) } , e . prototype . remove = function ( ) { var e = t . Event ( "removed.boxwidget" ) , i = t . Event ( "removing.boxwidget" ) ; t ( this . element ) . slideUp ( this . options . animationSpeed , function ( ) { t ( this . element ) . trigger ( e ) , t ( this . element ) . remove ( ) } . bind ( this ) ) . trigger ( i ) } , e . prototype . _setUpListeners = function ( ) { var e = this ; t ( this . element ) . on ( "click" , this . options . collapseTrigger , function ( i ) { return i && i . preventDefault ( ) , e . toggle ( t ( this ) ) , ! 1 } ) , t ( this . element ) . on ( "click" , this . options . removeTrigger , function ( i ) { return i && i . preventDefault ( ) , e . remove ( t ( this ) ) , ! 1 } ) } ; var u = t . fn . boxWidget ; t . fn . boxWidget = i , t . fn . boxWidget . Constructor = e , t . fn . boxWidget . noConflict = function ( ) { return t . fn . boxWidget = u , this } , t ( window ) . on ( "load" , function ( ) { t ( ".box" ) . each ( function ( ) { i . call ( t ( this ) ) } ) } ) } ( jQuery ) , function ( t ) { "use strict" ; function e ( t , e ) { this . element = t , this . options = e , this . hasBindedResi
var i = [ ] , n = ! 0 , s = ! 1 , o = void 0 ; try { for ( var a , r = t [ Symbol . iterator ] ( ) ; ! ( n = ( a = r . next ( ) ) . done ) && ( i . push ( a . value ) , ! e || i . length !== e ) ; n = ! 0 ) ; } catch ( t ) { s = ! 0 , o = t } finally { try { ! n && r . return && r . return ( ) } finally { if ( s ) throw o } } return i } return function ( e , i ) { if ( Array . isArray ( e ) ) return e ; if ( Symbol . iterator in Object ( e ) ) return t ( e , i ) ; throw new TypeError ( "Invalid attempt to destructure non-iterable instance" ) } } ( ) , O = x . Utils , s = O . getBounds , r = O . extend , f = O . updateClasses , T = O . defer , q = [ "left" , "top" , "right" , "bottom" ] ; x . modules . push ( { position : function ( t ) { var e = this , i = t . top , n = t . left , o = t . targetAttachment ; if ( ! this . options . constraints ) return ! 0 ; var a = this . cache ( "element-bounds" , function ( ) { return s ( e . element ) } ) , l = a . height , h = a . width ; if ( 0 === h && 0 === l && void 0 !== this . lastSize ) { var u = this . lastSize ; h = u . width , l = u . height } var c = this . cache ( "target-bounds" , function ( ) { return e . getTargetBounds ( ) } ) , d = c . height , p = c . width , g = [ this . getClass ( "pinned" ) , this . getClass ( "out-of-bounds" ) ] ; this . options . constraints . forEach ( function ( t ) { var e = t . outOfBoundsClass , i = t . pinnedClass ; e && g . push ( e ) , i && g . push ( i ) } ) , g . forEach ( function ( t ) { [ "left" , "top" , "right" , "bottom" ] . forEach ( function ( e ) { g . push ( t + "-" + e ) } ) } ) ; var m = [ ] , v = r ( { } , o ) , b = r ( { } , this . attachment ) ; return this . options . constraints . forEach ( function ( t ) { var s = t . to , a = t . attachment , r = t . pin ; void 0 === a && ( a = "" ) ; var u = void 0 , c = void 0 ; if ( a . indexOf ( " " ) >= 0 ) { var f = a . split ( " " ) , g = A ( f , 2 ) ; c = g [ 0 ] , u = g [ 1 ] } else u = c = a ; var y = _ ( e , s ) ; "target" !== c && "both" !== c || ( i < y [ 1 ] && "top" === v . top && ( i += d , v . top = "bottom" ) , i + l > y [ 3 ] && "bottom" === v . top && ( i -= d , v . top = "top" ) ) , "together" === c && ( "top" === v . top && ( "bottom" === b . top && i < y [ 1 ] ? ( i += d , v . top = "bottom" , i += l , b . top = "top" ) : "top" === b . top && i + l > y [ 3 ] && i - ( l - d ) >= y [ 1 ] && ( i -= l - d , v . top = "bottom" , b . top = "bottom" ) ) , "bottom" === v . top && ( "top" === b . top && i + l > y [ 3 ] ? ( i -= d , v . top = "top" , i -= l , b . top = "bottom" ) : "bottom" === b . top && i < y [ 1 ] && i + ( 2 * l - d ) <= y [ 3 ] && ( i += l - d , v . top = "top" , b . top = "top" ) ) , "middle" === v . top && ( i + l > y [ 3 ] && "top" === b . top ? ( i -= l , b . top = "bottom" ) : i < y [ 1 ] && "bottom" === b . top && ( i += l , b . top = "top" ) ) ) , "target" !== u && "both" !== u || ( n < y [ 0 ] && "left" === v . left && ( n += p , v . left = "right" ) , n + h > y [ 2 ] && "right" === v . left && ( n -= p , v . left = "left" ) ) , "together" === u && ( n < y [ 0 ] && "left" === v . left ? "right" === b . left ? ( n += p , v . left = "right" , n += h , b . left = "left" ) : "left" === b . left && ( n += p , v . left = "right" , n -= h , b . left = "right" ) : n + h > y [ 2 ] && "right" === v . left ? "left" === b . left ? ( n -= p , v . left = "left" , n -= h , b . left = "right" ) : "right" === b . left && ( n -= p , v . left = "left" , n += h , b . left = "left" ) : "center" === v . left && ( n + h > y [ 2 ] && "left" === b . left ? ( n -= h , b . left = "right" ) : n < y [ 0 ] && "right" === b . left && ( n += h , b . left = "left" ) ) ) , "element" !== c && "both" !== c || ( i < y [ 1 ] && "bottom" === b . top && ( i += l , b . top = "top" ) , i + l > y [ 3 ] && "top" === b . top && ( i -= l , b . top = "bottom" ) ) , "element" !== u && "both" !== u || ( n < y [ 0 ] && ( "right" === b . left ? ( n += h , b . left = "left" ) : "center" === b . left && ( n += h / 2 , b . left = "left" ) ) , n + h > y [ 2 ] && ( "left" === b . left ? ( n -= h , b . left = "right" ) : "center" === b . left && ( n -= h / 2 , b . left = "right" ) ) ) , "string" == typeof r ? r = r . split ( "," ) . map ( function ( t ) { return t . trim ( ) } ) : ! 0 === r && ( r = [ "top" , "left" , "right" , "bottom" ] ) , r = r || [ ] ; var x = [ ] , w = [ ] ; i < y [ 1 ] && ( r . indexOf ( "top" ) >= 0 ? ( i = y [ 1 ] , x . push ( "top" ) ) : w . push ( "top" ) ) , i + l > y [ 3 ] && ( r . indexOf ( "bottom" ) >= 0 ? ( i = y [ 3 ] - l , x . push ( "bottom" ) ) : w . push ( "bottom" ) ) , n < y [ 0 ] && ( r . indexOf ( "left" ) >= 0 ? ( n = y [ 0 ] , x . push ( "left" ) ) : w . push ( "left" ) ) , n + h > y [ 2 ] && ( r . indexOf ( "right" ) >= 0 ? ( n = y [ 2 ] - h , x . push ( "right" ) ) : w . push ( "right" ) ) , x . length && function ( ) { var t = void 0 ; t = void 0 !== e . options . pinnedClass ? e . options . pinnedClass : e . getClass ( "pinned" ) , m . push ( t ) , x . forEach ( function ( e ) { m . push ( t + "-" + e ) } ) } ( ) , w . length && function ( ) { var t = void 0 ; t = void 0 !== e . options . outOfBoundsClass ? e . options . outOfBoundsClass : e . getClass ( "out-of-bounds" ) , m . push ( t ) , w . forEach ( function ( e ) { m . push ( t + "-" + e ) } ) } ( ) , ( x . indexOf ( "left" ) >= 0 || x . indexOf ( "right" ) >= 0 ) && ( b . left = v . left = ! 1 ) , ( x . indexOf ( "top" ) >= 0 || x . indexOf ( "bottom" ) >= 0 ) && ( b . top = v . top = ! 1 ) , v . top === o . top && v . left === o . left && b . top === e . attachment . top && b . left === e . attachment . left || ( e . updateAttachClasses ( b , v ) , e . trigger ( "update" , { attachment : b , targetAttachment : v } ) ) } ) , T ( function ( ) { ! 1 !== e . options . addTargetClasses && f ( e . target , m , g ) , f ( e . element , m , g ) } ) , { top : i , left : n } } } ) ; var O = x . Utils , s = O . getBounds , f = O . updateClasses , T = O . defer ; x . modules . push ( { positio
; t ( e . target ) . closest ( i ) . length || t . ui . safeBlur ( i ) } , _mouseStart : function ( e ) { var i = this . options ; return this . helper = this . _createHelper ( e ) , this . _addClass ( this . helper , "ui-draggable-dragging" ) , this . _cacheHelperProportions ( ) , t . ui . ddmanager && ( t . ui . ddmanager . current = this ) , this . _cacheMargins ( ) , this . cssPosition = this . helper . css ( "position" ) , this . scrollParent = this . helper . scrollParent ( ! 0 ) , this . offsetParent = this . helper . offsetParent ( ) , this . hasFixedAncestor = this . helper . parents ( ) . filter ( function ( ) { return "fixed" === t ( this ) . css ( "position" ) } ) . length > 0 , this . positionAbs = this . element . offset ( ) , this . _refreshOffsets ( e ) , this . originalPosition = this . position = this . _generatePosition ( e , ! 1 ) , this . originalPageX = e . pageX , this . originalPageY = e . pageY , i . cursorAt && this . _adjustOffsetFromHelper ( i . cursorAt ) , this . _setContainment ( ) , ! 1 === this . _trigger ( "start" , e ) ? ( this . _clear ( ) , ! 1 ) : ( this . _cacheHelperProportions ( ) , t . ui . ddmanager && ! i . dropBehaviour && t . ui . ddmanager . prepareOffsets ( this , e ) , this . _mouseDrag ( e , ! 0 ) , t . ui . ddmanager && t . ui . ddmanager . dragStart ( this , e ) , ! 0 ) } , _refreshOffsets : function ( t ) { this . offset = { top : this . positionAbs . top - this . margins . top , left : this . positionAbs . left - this . margins . left , scroll : ! 1 , parent : this . _getParentOffset ( ) , relative : this . _getRelativeOffset ( ) } , this . offset . click = { left : t . pageX - this . offset . left , top : t . pageY - this . offset . top } } , _mouseDrag : function ( e , i ) { if ( this . hasFixedAncestor && ( this . offset . parent = this . _getParentOffset ( ) ) , this . position = this . _generatePosition ( e , ! 0 ) , this . positionAbs = this . _convertPositionTo ( "absolute" ) , ! i ) { var n = this . _uiHash ( ) ; if ( ! 1 === this . _trigger ( "drag" , e , n ) ) return this . _mouseUp ( new t . Event ( "mouseup" , e ) ) , ! 1 ; this . position = n . position } return this . helper [ 0 ] . style . left = this . position . left + "px" , this . helper [ 0 ] . style . top = this . position . top + "px" , t . ui . ddmanager && t . ui . ddmanager . drag ( this , e ) , ! 1 } , _mouseStop : function ( e ) { var i = this , n = ! 1 ; return t . ui . ddmanager && ! this . options . dropBehaviour && ( n = t . ui . ddmanager . drop ( this , e ) ) , this . dropped && ( n = this . dropped , this . dropped = ! 1 ) , "invalid" === this . options . revert && ! n || "valid" === this . options . revert && n || ! 0 === this . options . revert || t . isFunction ( this . options . revert ) && this . options . revert . call ( this . element , n ) ? t ( this . helper ) . animate ( this . originalPosition , parseInt ( this . options . revertDuration , 10 ) , function ( ) { ! 1 !== i . _trigger ( "stop" , e ) && i . _clear ( ) } ) : ! 1 !== this . _trigger ( "stop" , e ) && this . _clear ( ) , ! 1 } , _mouseUp : function ( e ) { return this . _unblockFrames ( ) , t . ui . ddmanager && t . ui . ddmanager . dragStop ( this , e ) , this . handleElement . is ( e . target ) && this . element . trigger ( "focus" ) , t . ui . mouse . prototype . _mouseUp . call ( this , e ) } , cancel : function ( ) { return this . helper . is ( ".ui-draggable-dragging" ) ? this . _mouseUp ( new t . Event ( "mouseup" , { target : this . element [ 0 ] } ) ) : this . _clear ( ) , this } , _getHandle : function ( e ) { return ! this . options . handle || ! ! t ( e . target ) . closest ( this . element . find ( this . options . handle ) ) . length } , _setHandleClassName : function ( ) { this . handleElement = this . options . handle ? this . element . find ( this . options . handle ) : this . element , this . _addClass ( this . handleElement , "ui-draggable-handle" ) } , _removeHandleClassName : function ( ) { this . _removeClass ( this . handleElement , "ui-draggable-handle" ) } , _createHelper : function ( e ) { var i = this . options , n = t . isFunction ( i . helper ) , s = n ? t ( i . helper . apply ( this . element [ 0 ] , [ e ] ) ) : "clone" === i . helper ? this . element . clone ( ) . removeAttr ( "id" ) : this . element ; return s . parents ( "body" ) . length || s . appendTo ( "parent" === i . appendTo ? this . element [ 0 ] . parentNode : i . appendTo ) , n && s [ 0 ] === this . element [ 0 ] && this . _setPositionRelative ( ) , s [ 0 ] === this . element [ 0 ] || /(fixed|absolute)/ . test ( s . css ( "position" ) ) || s . css ( "position" , "absolute" ) , s } , _setPositionRelative : function ( ) { /^(?:r|a|f)/ . test ( this . element . css ( "position" ) ) || ( this . element [ 0 ] . style . position = "relative" ) } , _adjustOffsetFromHelper : function ( e ) { "string" == typeof e && ( e = e . split ( " " ) ) , t . isArray ( e ) && ( e = { left : + e [ 0 ] , top : + e [ 1 ] || 0 } ) , "left" in e && ( this . offset . click . left = e . left + this . margins . left ) , "right" in e && ( this . offset . click . left = this . helperProportions . width - e . right + this . margins . left ) , "top" in e && ( this . offset . click . top = e . top + this . margins . top ) , "bottom" in e && ( this . offset . click . top = this . helperProportions . height - e . bottom + this . margins . top ) } , _isRootNode : function ( t ) { return / ( h t m l | b o
var e = this . _vBoundaries , i = this . axis , n = this . _isNumber ( t . width ) && e . maxWidth && e . maxWidth < t . width , s = this . _isNumber ( t . height ) && e . maxHeight && e . maxHeight < t . height , o = this . _isNumber ( t . width ) && e . minWidth && e . minWidth > t . width , a = this . _isNumber ( t . height ) && e . minHeight && e . minHeight > t . height , r = this . originalPosition . left + this . originalSize . width , l = this . originalPosition . top + this . originalSize . height , h = /sw|nw|w/ . test ( i ) , u = /nw|ne|n/ . test ( i ) ; return o && ( t . width = e . minWidth ) , a && ( t . height = e . minHeight ) , n && ( t . width = e . maxWidth ) , s && ( t . height = e . maxHeight ) , o && h && ( t . left = r - e . minWidth ) , n && h && ( t . left = r - e . maxWidth ) , a && u && ( t . top = l - e . minHeight ) , s && u && ( t . top = l - e . maxHeight ) , t . width || t . height || t . left || ! t . top ? t . width || t . height || t . top || ! t . left || ( t . left = null ) : t . top = null , t } , _getPaddingPlusBorderDimensions : function ( t ) { for ( var e = 0 , i = [ ] , n = [ t . css ( "borderTopWidth" ) , t . css ( "borderRightWidth" ) , t . css ( "borderBottomWidth" ) , t . css ( "borderLeftWidth" ) ] , s = [ t . css ( "paddingTop" ) , t . css ( "paddingRight" ) , t . css ( "paddingBottom" ) , t . css ( "paddingLeft" ) ] ; e < 4 ; e ++ ) i [ e ] = parseFloat ( n [ e ] ) || 0 , i [ e ] += parseFloat ( s [ e ] ) || 0 ; return { height : i [ 0 ] + i [ 2 ] , width : i [ 1 ] + i [ 3 ] } } , _proportionallyResize : function ( ) { if ( this . _proportionallyResizeElements . length ) for ( var t , e = 0 , i = this . helper || this . element ; e < this . _proportionallyResizeElements . length ; e ++ ) t = this . _proportionallyResizeElements [ e ] , this . outerDimensions || ( this . outerDimensions = this . _getPaddingPlusBorderDimensions ( t ) ) , t . css ( { height : i . height ( ) - this . outerDimensions . height || 0 , width : i . width ( ) - this . outerDimensions . width || 0 } ) } , _renderProxy : function ( ) { var e = this . element , i = this . options ; this . elementOffset = e . offset ( ) , this . _helper ? ( this . helper = this . helper || t ( "<div style='overflow:hidden;'></div>" ) , this . _addClass ( this . helper , this . _helper ) , this . helper . css ( { width : this . element . outerWidth ( ) , height : this . element . outerHeight ( ) , position : "absolute" , left : this . elementOffset . left + "px" , top : this . elementOffset . top + "px" , zIndex : ++ i . zIndex } ) , this . helper . appendTo ( "body" ) . disableSelection ( ) ) : this . helper = this . element } , _change : { e : function ( t , e ) { return { width : this . originalSize . width + e } } , w : function ( t , e ) { var i = this . originalSize ; return { left : this . originalPosition . left + e , width : i . width - e } } , n : function ( t , e , i ) { var n = this . originalSize ; return { top : this . originalPosition . top + i , height : n . height - i } } , s : function ( t , e , i ) { return { height : this . originalSize . height + i } } , se : function ( e , i , n ) { return t . extend ( this . _change . s . apply ( this , arguments ) , this . _change . e . apply ( this , [ e , i , n ] ) ) } , sw : function ( e , i , n ) { return t . extend ( this . _change . s . apply ( this , arguments ) , this . _change . w . apply ( this , [ e , i , n ] ) ) } , ne : function ( e , i , n ) { return t . extend ( this . _change . n . apply ( this , arguments ) , this . _change . e . apply ( this , [ e , i , n ] ) ) } , nw : function ( e , i , n ) { return t . extend ( this . _change . n . apply ( this , arguments ) , this . _change . w . apply ( this , [ e , i , n ] ) ) } } , _propagate : function ( e , i ) { t . ui . plugin . call ( this , e , [ i , this . ui ( ) ] ) , "resize" !== e && this . _trigger ( e , i , this . ui ( ) ) } , plugins : { } , ui : function ( ) { return { originalElement : this . originalElement , element : this . element , helper : this . helper , position : this . position , size : this . size , originalSize : this . originalSize , originalPosition : this . originalPosition } } } ) , t . ui . plugin . add ( "resizable" , "animate" , { stop : function ( e ) { var i = t ( this ) . resizable ( "instance" ) , n = i . options , s = i . _proportionallyResizeElements , o = s . length && /textarea/i . test ( s [ 0 ] . nodeName ) , a = o && i . _hasScroll ( s [ 0 ] , "left" ) ? 0 : i . sizeDiff . height , r = o ? 0 : i . sizeDiff . width , l = { width : i . size . width - r , height : i . size . height - a } , h = parseFloat ( i . element . css ( "left" ) ) + ( i . position . left - i . originalPosition . left ) || null , u = parseFloat ( i . element . css ( "top" ) ) + ( i . position . top - i . originalPosition . top ) || null ; i . element . animate ( t . extend ( l , u && h ? { top : u , left : h } : { } ) , { duration : n . animateDuration , easing : n . animateEasing , step : function ( ) { var n = { width : parseFloat ( i . element . css ( "width" ) ) , height : parseFloat ( i . element . css ( "height" ) ) , top : parseFloat ( i . element . css ( "top" ) ) , left : parseFloat ( i . element . css ( "left" ) ) } ; s && s . length && t ( s [ 0 ] ) . css ( { width : n . width , height : n . height } ) , i . _updateCache ( n ) , i . _propagate ( "resize" , e ) } } ) } } ) , t . ui . plugin . add ( "resizable" , "containment" , { start : function ( ) { var e , i , n , s , o , a , r , l = t ( this ) . resizable ( "instance" ) , h = l . options , u = l . element , c = h . containment , d = c instanceof t ? c . g
"document" !== s . containment && "window" !== s . containment || ( this . containment = [ 0 - this . offset . relative . left - this . offset . parent . left , 0 - this . offset . relative . top - this . offset . parent . top , "document" === s . containment ? this . document . width ( ) : this . window . width ( ) - this . helperProportions . width - this . margins . left , ( "document" === s . containment ? this . document . height ( ) || document . body . parentNode . scrollHeight : this . window . height ( ) || this . document [ 0 ] . body . parentNode . scrollHeight ) - this . helperProportions . height - this . margins . top ] ) , /^(document|window|parent)$/ . test ( s . containment ) || ( e = t ( s . containment ) [ 0 ] , i = t ( s . containment ) . offset ( ) , n = "hidden" !== t ( e ) . css ( "overflow" ) , this . containment = [ i . left + ( parseInt ( t ( e ) . css ( "borderLeftWidth" ) , 10 ) || 0 ) + ( parseInt ( t ( e ) . css ( "paddingLeft" ) , 10 ) || 0 ) - this . margins . left , i . top + ( parseInt ( t ( e ) . css ( "borderTopWidth" ) , 10 ) || 0 ) + ( parseInt ( t ( e ) . css ( "paddingTop" ) , 10 ) || 0 ) - this . margins . top , i . left + ( n ? Math . max ( e . scrollWidth , e . offsetWidth ) : e . offsetWidth ) - ( parseInt ( t ( e ) . css ( "borderLeftWidth" ) , 10 ) || 0 ) - ( parseInt ( t ( e ) . css ( "paddingRight" ) , 10 ) || 0 ) - this . helperProportions . width - this . margins . left , i . top + ( n ? Math . max ( e . scrollHeight , e . offsetHeight ) : e . offsetHeight ) - ( parseInt ( t ( e ) . css ( "borderTopWidth" ) , 10 ) || 0 ) - ( parseInt ( t ( e ) . css ( "paddingBottom" ) , 10 ) || 0 ) - this . helperProportions . height - this . margins . top ] ) } , _convertPositionTo : function ( e , i ) { i || ( i = this . position ) ; var n = "absolute" === e ? 1 : - 1 , s = "absolute" !== this . cssPosition || this . scrollParent [ 0 ] !== this . document [ 0 ] && t . contains ( this . scrollParent [ 0 ] , this . offsetParent [ 0 ] ) ? this . scrollParent : this . offsetParent , o = /(html|body)/i . test ( s [ 0 ] . tagName ) ; return { top : i . top + this . offset . relative . top * n + this . offset . parent . top * n - ( "fixed" === this . cssPosition ? - this . scrollParent . scrollTop ( ) : o ? 0 : s . scrollTop ( ) ) * n , left : i . left + this . offset . relative . left * n + this . offset . parent . left * n - ( "fixed" === this . cssPosition ? - this . scrollParent . scrollLeft ( ) : o ? 0 : s . scrollLeft ( ) ) * n } } , _generatePosition : function ( e ) { var i , n , s = this . options , o = e . pageX , a = e . pageY , r = "absolute" !== this . cssPosition || this . scrollParent [ 0 ] !== this . document [ 0 ] && t . contains ( this . scrollParent [ 0 ] , this . offsetParent [ 0 ] ) ? this . scrollParent : this . offsetParent , l = /(html|body)/i . test ( r [ 0 ] . tagName ) ; return "relative" !== this . cssPosition || this . scrollParent [ 0 ] !== this . document [ 0 ] && this . scrollParent [ 0 ] !== this . offsetParent [ 0 ] || ( this . offset . relative = this . _getRelativeOffset ( ) ) , this . originalPosition && ( this . containment && ( e . pageX - this . offset . click . left < this . containment [ 0 ] && ( o = this . containment [ 0 ] + this . offset . click . left ) , e . pageY - this . offset . click . top < this . containment [ 1 ] && ( a = this . containment [ 1 ] + this . offset . click . top ) , e . pageX - this . offset . click . left > this . containment [ 2 ] && ( o = this . containment [ 2 ] + this . offset . click . left ) , e . pageY - this . offset . click . top > this . containment [ 3 ] && ( a = this . containment [ 3 ] + this . offset . click . top ) ) , s . grid && ( i = this . originalPageY + Math . round ( ( a - this . originalPageY ) / s . grid [ 1 ] ) * s . grid [ 1 ] , a = this . containment ? i - this . offset . click . top >= this . containment [ 1 ] && i - this . offset . click . top <= this . containment [ 3 ] ? i : i - this . offset . click . top >= this . containment [ 1 ] ? i - s . grid [ 1 ] : i + s . grid [ 1 ] : i , n = this . originalPageX + Math . round ( ( o - this . originalPageX ) / s . grid [ 0 ] ) * s . grid [ 0 ] , o = this . containment ? n - this . offset . click . left >= this . containment [ 0 ] && n - this . offset . click . left <= this . containment [ 2 ] ? n : n - this . offset . click . left >= this . containment [ 0 ] ? n - s . grid [ 0 ] : n + s . grid [ 0 ] : n ) ) , { top : a - this . offset . click . top - this . offset . relative . top - this . offset . parent . top + ( "fixed" === this . cssPosition ? - this . scrollParent . scrollTop ( ) : l ? 0 : r . scrollTop ( ) ) , left : o - this . offset . click . left - this . offset . relative . left - this . offset . parent . left + ( "fixed" === this . cssPosition ? - this . scrollParent . scrollLeft ( ) : l ? 0 : r . scrollLeft ( ) ) } } , _rearrange : function ( t , e , i , n ) { i ? i [ 0 ] . appendChild ( this . placeholder [ 0 ] ) : e . item [ 0 ] . parentNode . insertBefore ( this . placeholder [ 0 ] , "down" === this . direction ? e . item [ 0 ] : e . item [ 0 ] . nextSibling ) , this . counter = this . counter ? ++ this . counter : 1 ; var s = this . counter ; this . _delay ( function ( ) { s === this . counter && this . refreshPositions ( ! n ) } ) } , _clear : function ( t , e ) { function i ( t , e , i ) { return function ( n ) { i . _trigger ( t , n , e . _uiHash ( e ) ) } } this . reverting = ! 1 ; var n , s = [ ] ; if ( ! this . _noFinalSort && this . currentItem . parent ( ) . length && this . placeholder . before
this . options . disabled || this . cancelSearch || ( i = e && e . length ? this . options . messages . results ( e . length ) : this . options . messages . noResults , this . liveRegion . children ( ) . hide ( ) , t ( "<div>" ) . text ( i ) . appendTo ( this . liveRegion ) ) } } ) ; var d = ( t . ui . autocomplete , /ui-corner-([a-z]){2,6}/g ) ; t . widget ( "ui.controlgroup" , { version : "1.12.1" , defaultElement : "<div>" , options : { direction : "horizontal" , disabled : null , onlyVisible : ! 0 , items : { button : "input[type=button], input[type=submit], input[type=reset], button, a" , controlgroupLabel : ".ui-controlgroup-label" , checkboxradio : "input[type='checkbox'], input[type='radio']" , selectmenu : "select" , spinner : ".ui-spinner-input" } } , _create : function ( ) { this . _enhance ( ) } , _enhance : function ( ) { this . element . attr ( "role" , "toolbar" ) , this . refresh ( ) } , _destroy : function ( ) { this . _callChildMethod ( "destroy" ) , this . childWidgets . removeData ( "ui-controlgroup-data" ) , this . element . removeAttr ( "role" ) , this . options . items . controlgroupLabel && this . element . find ( this . options . items . controlgroupLabel ) . find ( ".ui-controlgroup-label-contents" ) . contents ( ) . unwrap ( ) } , _initWidgets : function ( ) { var e = this , i = [ ] ; t . each ( this . options . items , function ( n , s ) { var o , a = { } ; if ( s ) return "controlgroupLabel" === n ? ( o = e . element . find ( s ) , o . each ( function ( ) { var e = t ( this ) ; e . children ( ".ui-controlgroup-label-contents" ) . length || e . contents ( ) . wrapAll ( "<span class='ui-controlgroup-label-contents'></span>" ) } ) , e . _addClass ( o , null , "ui-widget ui-widget-content ui-state-default" ) , void ( i = i . concat ( o . get ( ) ) ) ) : void ( t . fn [ n ] && ( a = e [ "_" + n + "Options" ] ? e [ "_" + n + "Options" ] ( "middle" ) : { classes : { } } , e . element . find ( s ) . each ( function ( ) { var s = t ( this ) , o = s [ n ] ( "instance" ) , r = t . widget . extend ( { } , a ) ; if ( "button" !== n || ! s . parent ( ".ui-spinner" ) . length ) { o || ( o = s [ n ] ( ) [ n ] ( "instance" ) ) , o && ( r . classes = e . _resolveClassesValues ( r . classes , o ) ) , s [ n ] ( r ) ; var l = s [ n ] ( "widget" ) ; t . data ( l [ 0 ] , "ui-controlgroup-data" , o || s [ n ] ( "instance" ) ) , i . push ( l [ 0 ] ) } } ) ) ) } ) , this . childWidgets = t ( t . unique ( i ) ) , this . _addClass ( this . childWidgets , "ui-controlgroup-item" ) } , _callChildMethod : function ( e ) { this . childWidgets . each ( function ( ) { var i = t ( this ) , n = i . data ( "ui-controlgroup-data" ) ; n && n [ e ] && n [ e ] ( ) } ) } , _updateCornerClass : function ( t , e ) { var i = this . _buildSimpleOptions ( e , "label" ) . classes . label ; this . _removeClass ( t , null , "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all" ) , this . _addClass ( t , null , i ) } , _buildSimpleOptions : function ( t , e ) { var i = "vertical" === this . options . direction , n = { classes : { } } ; return n . classes [ e ] = { middle : "" , first : "ui-corner-" + ( i ? "top" : "left" ) , last : "ui-corner-" + ( i ? "bottom" : "right" ) , only : "ui-corner-all" } [ t ] , n } , _spinnerOptions : function ( t ) { var e = this . _buildSimpleOptions ( t , "ui-spinner" ) ; return e . classes [ "ui-spinner-up" ] = "" , e . classes [ "ui-spinner-down" ] = "" , e } , _buttonOptions : function ( t ) { return this . _buildSimpleOptions ( t , "ui-button" ) } , _checkboxradioOptions : function ( t ) { return this . _buildSimpleOptions ( t , "ui-checkboxradio-label" ) } , _selectmenuOptions : function ( t ) { var e = "vertical" === this . options . direction ; return { width : ! ! e && "auto" , classes : { middle : { "ui-selectmenu-button-open" : "" , "ui-selectmenu-button-closed" : "" } , first : { "ui-selectmenu-button-open" : "ui-corner-" + ( e ? "top" : "tl" ) , "ui-selectmenu-button-closed" : "ui-corner-" + ( e ? "top" : "left" ) } , last : { "ui-selectmenu-button-open" : e ? "" : "ui-corner-tr" , "ui-selectmenu-button-closed" : "ui-corner-" + ( e ? "bottom" : "right" ) } , only : { "ui-selectmenu-button-open" : "ui-corner-top" , "ui-selectmenu-button-closed" : "ui-corner-all" } } [ t ] } } , _resolveClassesValues : function ( e , i ) { var n = { } ; return t . each ( e , function ( s ) { var o = i . options . classes [ s ] || "" ; o = t . trim ( o . replace ( d , "" ) ) , n [ s ] = ( o + " " + e [ s ] ) . replace ( /\s+/g , " " ) } ) , n } , _setOption : function ( t , e ) { if ( "direction" === t && this . _removeClass ( "ui-controlgroup-" + this . options . direction ) , this . _super ( t , e ) , "disabled" === t ) return void this . _callChildMethod ( e ? "disable" : "enable" ) ; this . refresh ( ) } , refresh : function ( ) { var e , i = this ; this . _addClass ( "ui-controlgroup ui-controlgroup-" + this . options . direction ) , "horizontal" === this . options . direction && this . _addClass ( null , "ui-helper-clearfix" ) , this . _initWidgets ( ) , e = this . childWidgets , this . options . onlyVisible && ( e = e . filter ( ":visible" ) ) , e . length && ( t . each ( [ "first" , "last" ] , function ( t , n ) { var s = e [ n ] ( ) . data ( " ui - controlgroup -
r . getFullYear ( ) !== g || r . getMonth ( ) + 1 !== m || r . getDate ( ) !== v ) throw "Invalid date" ; return r } , ATOM : "yy-mm-dd" , COOKIE : "D, dd M yy" , ISO _8601 : "yy-mm-dd" , RFC _822 : "D, d M y" , RFC _850 : "DD, dd-M-y" , RFC _1036 : "D, d M y" , RFC _1123 : "D, d M yy" , RFC _2822 : "D, d M yy" , RSS : "D, d M y" , TICKS : "!" , TIMESTAMP : "@" , W3C : "yy-mm-dd" , _ticksTo1970 : 24 * ( 718685 + Math . floor ( 492.5 ) - Math . floor ( 19.7 ) + Math . floor ( 4.925 ) ) * 60 * 60 * 1e7 , formatDate : function ( t , e , i ) { if ( ! e ) return "" ; var n , s = ( i ? i . dayNamesShort : null ) || this . _defaults . dayNamesShort , o = ( i ? i . dayNames : null ) || this . _defaults . dayNames , a = ( i ? i . monthNamesShort : null ) || this . _defaults . monthNamesShort , r = ( i ? i . monthNames : null ) || this . _defaults . monthNames , l = function ( e ) { var i = n + 1 < t . length && t . charAt ( n + 1 ) === e ; return i && n ++ , i } , h = function ( t , e , i ) { var n = "" + e ; if ( l ( t ) ) for ( ; n . length < i ; ) n = "0" + n ; return n } , u = function ( t , e , i , n ) { return l ( t ) ? n [ e ] : i [ e ] } , c = "" , d = ! 1 ; if ( e ) for ( n = 0 ; n < t . length ; n ++ ) if ( d ) "'" !== t . charAt ( n ) || l ( "'" ) ? c += t . charAt ( n ) : d = ! 1 ; else switch ( t . charAt ( n ) ) { case "d" : c += h ( "d" , e . getDate ( ) , 2 ) ; break ; case "D" : c += u ( "D" , e . getDay ( ) , s , o ) ; break ; case "o" : c += h ( "o" , Math . round ( ( new Date ( e . getFullYear ( ) , e . getMonth ( ) , e . getDate ( ) ) . getTime ( ) - new Date ( e . getFullYear ( ) , 0 , 0 ) . getTime ( ) ) / 864e5 ) , 3 ) ; break ; case "m" : c += h ( "m" , e . getMonth ( ) + 1 , 2 ) ; break ; case "M" : c += u ( "M" , e . getMonth ( ) , a , r ) ; break ; case "y" : c += l ( "y" ) ? e . getFullYear ( ) : ( e . getFullYear ( ) % 100 < 10 ? "0" : "" ) + e . getFullYear ( ) % 100 ; break ; case "@" : c += e . getTime ( ) ; break ; case "!" : c += 1e4 * e . getTime ( ) + this . _ticksTo1970 ; break ; case "'" : l ( "'" ) ? c += "'" : d = ! 0 ; break ; default : c += t . charAt ( n ) } return c } , _possibleChars : function ( t ) { var e , i = "" , n = ! 1 , s = function ( i ) { var n = e + 1 < t . length && t . charAt ( e + 1 ) === i ; return n && e ++ , n } ; for ( e = 0 ; e < t . length ; e ++ ) if ( n ) "'" !== t . charAt ( e ) || s ( "'" ) ? i += t . charAt ( e ) : n = ! 1 ; else switch ( t . charAt ( e ) ) { case "d" : case "m" : case "y" : case "@" : i += "0123456789" ; break ; case "D" : case "M" : return null ; case "'" : s ( "'" ) ? i += "'" : n = ! 0 ; break ; default : i += t . charAt ( e ) } return i } , _get : function ( t , e ) { return void 0 !== t . settings [ e ] ? t . settings [ e ] : this . _defaults [ e ] } , _setDateFromField : function ( t , e ) { if ( t . input . val ( ) !== t . lastVal ) { var i = this . _get ( t , "dateFormat" ) , n = t . lastVal = t . input ? t . input . val ( ) : null , s = this . _getDefaultDate ( t ) , o = s , a = this . _getFormatConfig ( t ) ; try { o = this . parseDate ( i , n , a ) || s } catch ( t ) { n = e ? "" : n } t . selectedDay = o . getDate ( ) , t . drawMonth = t . selectedMonth = o . getMonth ( ) , t . drawYear = t . selectedYear = o . getFullYear ( ) , t . currentDay = n ? o . getDate ( ) : 0 , t . currentMonth = n ? o . getMonth ( ) : 0 , t . currentYear = n ? o . getFullYear ( ) : 0 , this . _adjustInstDate ( t ) } } , _getDefaultDate : function ( t ) { return this . _restrictMinMax ( t , this . _determineDate ( t , this . _get ( t , "defaultDate" ) , new Date ) ) } , _determineDate : function ( e , i , n ) { var s = null == i || "" === i ? n : "string" == typeof i ? function ( i ) { try { return t . datepicker . parseDate ( t . datepicker . _get ( e , "dateFormat" ) , i , t . datepicker . _getFormatConfig ( e ) ) } catch ( t ) { } for ( var n = ( i . toLowerCase ( ) . match ( /^c/ ) ? t . datepicker . _getDate ( e ) : null ) || new Date , s = n . getFullYear ( ) , o = n . getMonth ( ) , a = n . getDate ( ) , r = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g , l = r . exec ( i ) ; l ; ) { switch ( l [ 2 ] || "d" ) { case "d" : case "D" : a += parseInt ( l [ 1 ] , 10 ) ; break ; case "w" : case "W" : a += 7 * parseInt ( l [ 1 ] , 10 ) ; break ; case "m" : case "M" : o += parseInt ( l [ 1 ] , 10 ) , a = Math . min ( a , t . datepicker . _getDaysInMonth ( s , o ) ) ; break ; case "y" : case "Y" : s += parseInt ( l [ 1 ] , 10 ) , a = Math . min ( a , t . datepicker . _getDaysInMonth ( s , o ) ) } l = r . exec ( i ) } return new Date ( s , o , a ) } ( i ) : "number" == typeof i ? isNaN ( i ) ? n : function ( t ) { var e = new Date ; return e . setDate ( e . getDate ( ) + t ) , e } ( i ) : new Date ( i . getTime ( ) ) ; return s = s && "Invalid Date" === s . toString ( ) ? n : s , s && ( s . setHours ( 0 ) , s . setMinutes ( 0 ) , s . setSeconds ( 0 ) , s . setMilliseconds ( 0 ) ) , this . _daylightSavingAdjust ( s ) } , _daylightSavingAdjust : function ( t ) { return t ? ( t . setHours ( t . getHours ( ) > 12 ? t . getHours ( ) + 2 : 0 ) , t ) : null } , _setDate : function ( t , e , i ) { var n = ! e , s = t . selectedMonth , o = t . selectedYear , a = this . _restrictMinMax ( t , this . _determineDate ( t , e , new Date ) ) ; t . selectedDay = t . currentDay = a . getDate ( ) , t . drawMonth = t . selectedMonth = t . currentMonth = a . getMonth ( ) , t . drawYear = t . selectedYear = t . currentYear = a . getFullYear ( ) , s === t . selectedMonth && o === t . selectedYear || i || this . _notifyChange ( t ) , this . _adjustInstDate ( t ) , t . input && t . input . val ( n ? "" : this . _formatDate ( t ) ) } , _getDate : function ( t ) { return ! t . currentYear || t . input && "" === t . input . val ( ) ? null : this . _dayl
this . _refreshMenu ( ) , this . buttonItem . replaceWith ( this . buttonItem = this . _renderButtonItem ( this . _getSelectedItem ( ) . data ( "ui-selectmenu-item" ) || { } ) ) , null === this . options . width && this . _resizeButton ( ) } , _refreshMenu : function ( ) { var t , e = this . element . find ( "option" ) ; this . menu . empty ( ) , this . _parseOptions ( e ) , this . _renderMenu ( this . menu , this . items ) , this . menuInstance . refresh ( ) , this . menuItems = this . menu . find ( "li" ) . not ( ".ui-selectmenu-optgroup" ) . find ( ".ui-menu-item-wrapper" ) , this . _rendered = ! 0 , e . length && ( t = this . _getSelectedItem ( ) , this . menuInstance . focus ( null , t ) , this . _setAria ( t . data ( "ui-selectmenu-item" ) ) , this . _setOption ( "disabled" , this . element . prop ( "disabled" ) ) ) } , open : function ( t ) { this . options . disabled || ( this . _rendered ? ( this . _removeClass ( this . menu . find ( ".ui-state-active" ) , null , "ui-state-active" ) , this . menuInstance . focus ( null , this . _getSelectedItem ( ) ) ) : this . _refreshMenu ( ) , this . menuItems . length && ( this . isOpen = ! 0 , this . _toggleAttr ( ) , this . _resizeMenu ( ) , this . _position ( ) , this . _on ( this . document , this . _documentClick ) , this . _trigger ( "open" , t ) ) ) } , _position : function ( ) { this . menuWrap . position ( t . extend ( { of : this . button } , this . options . position ) ) } , close : function ( t ) { this . isOpen && ( this . isOpen = ! 1 , this . _toggleAttr ( ) , this . range = null , this . _off ( this . document ) , this . _trigger ( "close" , t ) ) } , widget : function ( ) { return this . button } , menuWidget : function ( ) { return this . menu } , _renderButtonItem : function ( e ) { var i = t ( "<span>" ) ; return this . _setText ( i , e . label ) , this . _addClass ( i , "ui-selectmenu-text" ) , i } , _renderMenu : function ( e , i ) { var n = this , s = "" ; t . each ( i , function ( i , o ) { var a ; o . optgroup !== s && ( a = t ( "<li>" , { text : o . optgroup } ) , n . _addClass ( a , "ui-selectmenu-optgroup" , "ui-menu-divider" + ( o . element . parent ( "optgroup" ) . prop ( "disabled" ) ? " ui-state-disabled" : "" ) ) , a . appendTo ( e ) , s = o . optgroup ) , n . _renderItemData ( e , o ) } ) } , _renderItemData : function ( t , e ) { return this . _renderItem ( t , e ) . data ( "ui-selectmenu-item" , e ) } , _renderItem : function ( e , i ) { var n = t ( "<li>" ) , s = t ( "<div>" , { title : i . element . attr ( "title" ) } ) ; return i . disabled && this . _addClass ( n , null , "ui-state-disabled" ) , this . _setText ( s , i . label ) , n . append ( s ) . appendTo ( e ) } , _setText : function ( t , e ) { e ? t . text ( e ) : t . html ( " " ) } , _move : function ( t , e ) { var i , n , s = ".ui-menu-item" ; this . isOpen ? i = this . menuItems . eq ( this . focusIndex ) . parent ( "li" ) : ( i = this . menuItems . eq ( this . element [ 0 ] . selectedIndex ) . parent ( "li" ) , s += ":not(.ui-state-disabled)" ) , n = "first" === t || "last" === t ? i [ "first" === t ? "prevAll" : "nextAll" ] ( s ) . eq ( - 1 ) : i [ t + "All" ] ( s ) . eq ( 0 ) , n . length && this . menuInstance . focus ( e , n ) } , _getSelectedItem : function ( ) { return this . menuItems . eq ( this . element [ 0 ] . selectedIndex ) . parent ( "li" ) } , _toggle : function ( t ) { this [ this . isOpen ? "close" : "open" ] ( t ) } , _setSelection : function ( ) { var t ; this . range && ( window . getSelection ? ( t = window . getSelection ( ) , t . removeAllRanges ( ) , t . addRange ( this . range ) ) : this . range . select ( ) , this . button . focus ( ) ) } , _documentClick : { mousedown : function ( e ) { this . isOpen && ( t ( e . target ) . closest ( ".ui-selectmenu-menu, #" + t . ui . escapeSelector ( this . ids . button ) ) . length || this . close ( e ) ) } } , _buttonEvents : { mousedown : function ( ) { var t ; window . getSelection ? ( t = window . getSelection ( ) , t . rangeCount && ( this . range = t . getRangeAt ( 0 ) ) ) : this . range = document . selection . createRange ( ) } , click : function ( t ) { this . _setSelection ( ) , this . _toggle ( t ) } , keydown : function ( e ) { var i = ! 0 ; switch ( e . keyCode ) { case t . ui . keyCode . TAB : case t . ui . keyCode . ESCAPE : this . close ( e ) , i = ! 1 ; break ; case t . ui . keyCode . ENTER : this . isOpen && this . _selectFocusedItem ( e ) ; break ; case t . ui . keyCode . UP : e . altKey ? this . _toggle ( e ) : this . _move ( "prev" , e ) ; break ; case t . ui . keyCode . DOWN : e . altKey ? this . _toggle ( e ) : this . _move ( "next" , e ) ; break ; case t . ui . keyCode . SPACE : this . isOpen ? this . _selectFocusedItem ( e ) : this . _toggle ( e ) ; break ; case t . ui . keyCode . LEFT : this . _move ( "prev" , e ) ; break ; case t . ui . keyCode . RIGHT : this . _move ( "next" , e ) ; break ; case t . ui . keyCode . HOME : case t . ui . keyCode . PAGE _UP : this . _move ( "first" , e ) ; break ; case t . ui . keyCode . END : case t . ui . keyCode . PAGE _DOWN : this . _move ( "last" , e ) ; break ; default : this . menu . trigger ( e ) , i = ! 1 } i && e . preventDefault ( ) } } , _selectFocusedItem : function ( t ) { var e = this . menuItems . eq ( this . focusIndex ) . parent ( "li" ) ; e . hasClass ( "ui-state-disabled" ) || this . _select ( e . data ( "ui-selectmenu-item" ) , t ) } , _select : function ( t , e ) { var i = this . element [ 0 ] . s
oldPanel : h , newTab : r ? t ( ) : o , newPanel : l } ; e . preventDefault ( ) , o . hasClass ( "ui-state-disabled" ) || o . hasClass ( "ui-tabs-loading" ) || this . running || a && ! i . collapsible || ! 1 === this . _trigger ( "beforeActivate" , e , u ) || ( i . active = ! r && this . tabs . index ( o ) , this . active = a ? t ( ) : o , this . xhr && this . xhr . abort ( ) , h . length || l . length || t . error ( "jQuery UI Tabs: Mismatching fragment identifier." ) , l . length && this . load ( this . tabs . index ( o ) , e ) , this . _toggle ( e , u ) ) } , _toggle : function ( e , i ) { function n ( ) { o . running = ! 1 , o . _trigger ( "activate" , e , i ) } function s ( ) { o . _addClass ( i . newTab . closest ( "li" ) , "ui-tabs-active" , "ui-state-active" ) , a . length && o . options . show ? o . _show ( a , o . options . show , n ) : ( a . show ( ) , n ( ) ) } var o = this , a = i . newPanel , r = i . oldPanel ; this . running = ! 0 , r . length && this . options . hide ? this . _hide ( r , this . options . hide , function ( ) { o . _removeClass ( i . oldTab . closest ( "li" ) , "ui-tabs-active" , "ui-state-active" ) , s ( ) } ) : ( this . _removeClass ( i . oldTab . closest ( "li" ) , "ui-tabs-active" , "ui-state-active" ) , r . hide ( ) , s ( ) ) , r . attr ( "aria-hidden" , "true" ) , i . oldTab . attr ( { "aria-selected" : "false" , "aria-expanded" : "false" } ) , a . length && r . length ? i . oldTab . attr ( "tabIndex" , - 1 ) : a . length && this . tabs . filter ( function ( ) { return 0 === t ( this ) . attr ( "tabIndex" ) } ) . attr ( "tabIndex" , - 1 ) , a . attr ( "aria-hidden" , "false" ) , i . newTab . attr ( { "aria-selected" : "true" , "aria-expanded" : "true" , tabIndex : 0 } ) } , _activate : function ( e ) { var i , n = this . _findActive ( e ) ; n [ 0 ] !== this . active [ 0 ] && ( n . length || ( n = this . active ) , i = n . find ( ".ui-tabs-anchor" ) [ 0 ] , this . _eventHandler ( { target : i , currentTarget : i , preventDefault : t . noop } ) ) } , _findActive : function ( e ) { return ! 1 === e ? t ( ) : this . tabs . eq ( e ) } , _getIndex : function ( e ) { return "string" == typeof e && ( e = this . anchors . index ( this . anchors . filter ( "[href$='" + t . ui . escapeSelector ( e ) + "']" ) ) ) , e } , _destroy : function ( ) { this . xhr && this . xhr . abort ( ) , this . tablist . removeAttr ( "role" ) . off ( this . eventNamespace ) , this . anchors . removeAttr ( "role tabIndex" ) . removeUniqueId ( ) , this . tabs . add ( this . panels ) . each ( function ( ) { t . data ( this , "ui-tabs-destroy" ) ? t ( this ) . remove ( ) : t ( this ) . removeAttr ( "role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded" ) } ) , this . tabs . each ( function ( ) { var e = t ( this ) , i = e . data ( "ui-tabs-aria-controls" ) ; i ? e . attr ( "aria-controls" , i ) . removeData ( "ui-tabs-aria-controls" ) : e . removeAttr ( "aria-controls" ) } ) , this . panels . show ( ) , "content" !== this . options . heightStyle && this . panels . css ( "height" , "" ) } , enable : function ( e ) { var i = this . options . disabled ; ! 1 !== i && ( void 0 === e ? i = ! 1 : ( e = this . _getIndex ( e ) , i = t . isArray ( i ) ? t . map ( i , function ( t ) { return t !== e ? t : null } ) : t . map ( this . tabs , function ( t , i ) { return i !== e ? i : null } ) ) , this . _setOptionDisabled ( i ) ) } , disable : function ( e ) { var i = this . options . disabled ; if ( ! 0 !== i ) { if ( void 0 === e ) i = ! 0 ; else { if ( e = this . _getIndex ( e ) , - 1 !== t . inArray ( e , i ) ) return ; i = t . isArray ( i ) ? t . merge ( [ e ] , i ) . sort ( ) : [ e ] } this . _setOptionDisabled ( i ) } } , load : function ( e , i ) { e = this . _getIndex ( e ) ; var n = this , s = this . tabs . eq ( e ) , o = s . find ( ".ui-tabs-anchor" ) , a = this . _getPanelForTab ( s ) , r = { tab : s , panel : a } , l = function ( t , e ) { "abort" === e && n . panels . stop ( ! 1 , ! 0 ) , n . _removeClass ( s , "ui-tabs-loading" ) , a . removeAttr ( "aria-busy" ) , t === n . xhr && delete n . xhr } ; this . _isLocal ( o [ 0 ] ) || ( this . xhr = t . ajax ( this . _ajaxSettings ( o , i , r ) ) , this . xhr && "canceled" !== this . xhr . statusText && ( this . _addClass ( s , "ui-tabs-loading" ) , a . attr ( "aria-busy" , "true" ) , this . xhr . done ( function ( t , e , s ) { setTimeout ( function ( ) { a . html ( t ) , n . _trigger ( "load" , i , r ) , l ( s , e ) } , 1 ) } ) . fail ( function ( t , e ) { setTimeout ( function ( ) { l ( t , e ) } , 1 ) } ) ) ) } , _ajaxSettings : function ( e , i , n ) { var s = this ; return { url : e . attr ( "href" ) . replace ( /#.*$/ , "" ) , beforeSend : function ( e , o ) { return s . _trigger ( "beforeLoad" , i , t . extend ( { jqXHR : e , ajaxSettings : o } , n ) ) } } } , _getPanelForTab : function ( e ) { var i = t ( e ) . attr ( "aria-controls" ) ; return this . element . find ( this . _sanitizeSelector ( "#" + i ) ) } } ) , ! 1 !== t . uiBackCompat && t . widget ( "ui.tabs" , t . ui . tabs , { _processTabs : function ( ) { this . _superApply ( arguments ) , this . _addClass ( this . tabs , "ui-tab" ) } } ) ; t . ui . tabs ; t . widget ( "ui.tooltip" , { version : "1.12.1" , options : { classes : { "ui-tooltip" : "ui-corner-all ui-widget-shadow" } , content : function ( ) { var e = t ( this ) . attr ( "title" ) || "" ; return t ( "<a>" ) . text ( e ) . html ( ) } , hide : ! 0 , items : "[title]:not([disabled])" , position : { my : "left top+15" , at : "left bottom" , collision : "flipfit flip" }
s . from . x !== s . to . x && ( o = t . effects . setTransition ( i , h , s . from . x , o ) , a = t . effects . setTransition ( i , h , s . to . x , a ) ) , c && t . effects . saveStyle ( i ) , i . css ( o ) , i . animate ( a , e . duration , e . easing , function ( ) { c && t . effects . restoreStyle ( i ) } ) } ) ) , a . animate ( b , { queue : ! 1 , duration : e . duration , easing : e . easing , complete : function ( ) { var e = a . offset ( ) ; 0 === b . opacity && a . css ( "opacity" , v . opacity ) , c || ( a . css ( "position" , "static" === p ? "relative" : p ) . offset ( e ) , t . effects . saveStyle ( a ) ) , i ( ) } } ) } ) , t . effects . define ( "scale" , function ( e , i ) { var n = t ( this ) , s = e . mode , o = parseInt ( e . percent , 10 ) || ( 0 === parseInt ( e . percent , 10 ) ? 0 : "effect" !== s ? 0 : 100 ) , a = t . extend ( ! 0 , { from : t . effects . scaledDimensions ( n ) , to : t . effects . scaledDimensions ( n , o , e . direction || "both" ) , origin : e . origin || [ "middle" , "center" ] } , e ) ; e . fade && ( a . from . opacity = 1 , a . to . opacity = 0 ) , t . effects . effect . size . call ( this , a , i ) } ) , t . effects . define ( "puff" , "hide" , function ( e , i ) { var n = t . extend ( ! 0 , { } , e , { fade : ! 0 , percent : parseInt ( e . percent , 10 ) || 150 } ) ; t . effects . effect . scale . call ( this , n , i ) } ) , t . effects . define ( "pulsate" , "show" , function ( e , i ) { var n = t ( this ) , s = e . mode , o = "show" === s , a = "hide" === s , r = o || a , l = 2 * ( e . times || 5 ) + ( r ? 1 : 0 ) , h = e . duration / l , u = 0 , c = 1 , d = n . queue ( ) . length ; for ( ! o && n . is ( ":visible" ) || ( n . css ( "opacity" , 0 ) . show ( ) , u = 1 ) ; c < l ; c ++ ) n . animate ( { opacity : u } , h , e . easing ) , u = 1 - u ; n . animate ( { opacity : u } , h , e . easing ) , n . queue ( i ) , t . effects . unshift ( n , d , l + 1 ) } ) , t . effects . define ( "shake" , function ( e , i ) { var n = 1 , s = t ( this ) , o = e . direction || "left" , a = e . distance || 20 , r = e . times || 3 , l = 2 * r + 1 , h = Math . round ( e . duration / l ) , u = "up" === o || "down" === o ? "top" : "left" , c = "up" === o || "left" === o , d = { } , f = { } , p = { } , g = s . queue ( ) . length ; for ( t . effects . createPlaceholder ( s ) , d [ u ] = ( c ? "-=" : "+=" ) + a , f [ u ] = ( c ? "+=" : "-=" ) + 2 * a , p [ u ] = ( c ? "-=" : "+=" ) + 2 * a , s . animate ( d , h , e . easing ) ; n < r ; n ++ ) s . animate ( f , h , e . easing ) . animate ( p , h , e . easing ) ; s . animate ( f , h , e . easing ) . animate ( d , h / 2 , e . easing ) . queue ( i ) , t . effects . unshift ( s , g , l + 1 ) } ) , t . effects . define ( "slide" , "show" , function ( e , i ) { var n , s , o = t ( this ) , a = { up : [ "bottom" , "top" ] , down : [ "top" , "bottom" ] , left : [ "right" , "left" ] , right : [ "left" , "right" ] } , r = e . mode , l = e . direction || "left" , h = "up" === l || "down" === l ? "top" : "left" , u = "up" === l || "left" === l , c = e . distance || o [ "top" === h ? "outerHeight" : "outerWidth" ] ( ! 0 ) , d = { } ; t . effects . createPlaceholder ( o ) , n = o . cssClip ( ) , s = o . position ( ) [ h ] , d [ h ] = ( u ? - 1 : 1 ) * c + s , d . clip = o . cssClip ( ) , d . clip [ a [ l ] [ 1 ] ] = d . clip [ a [ l ] [ 0 ] ] , "show" === r && ( o . cssClip ( d . clip ) , o . css ( h , d [ h ] ) , d . clip = n , d [ h ] = s ) , o . animate ( d , { queue : ! 1 , duration : e . duration , easing : e . easing , complete : i } ) } ) ; ! 1 !== t . uiBackCompat && t . effects . define ( "transfer" , function ( e , i ) { t ( this ) . transfer ( e , i ) } ) } ) , function ( e ) { e . fn . extend ( { slimScroll : function ( i ) { var n = { width : "auto" , height : "250px" , size : "7px" , color : "#000" , position : "right" , distance : "1px" , start : "top" , opacity : . 4 , alwaysVisible : ! 1 , disableFadeOut : ! 1 , railVisible : ! 1 , railColor : "#333" , railOpacity : . 2 , railDraggable : ! 0 , railClass : "slimScrollRail" , barClass : "slimScrollBar" , wrapperClass : "slimScrollDiv" , allowPageScroll : ! 1 , wheelStep : 20 , touchScrollStep : 200 , borderRadius : "7px" , railBorderRadius : "7px" } , s = e . extend ( n , i ) ; return this . each ( function ( ) { function n ( t ) { if ( h ) { var t = t || window . event , i = 0 ; t . wheelDelta && ( i = - t . wheelDelta / 120 ) , t . detail && ( i = t . detail / 3 ) ; var n = t . target || t . srcTarget || t . srcElement ; e ( n ) . closest ( "." + s . wrapperClass ) . is ( y . parent ( ) ) && o ( i , ! 0 ) , t . preventDefault && ! _ && t . preventDefault ( ) , _ || ( t . returnValue = ! 1 ) } } function o ( t , e , i ) { _ = ! 1 ; var n = t , o = y . outerHeight ( ) - M . outerHeight ( ) ; if ( e && ( n = parseInt ( M . css ( "top" ) ) + t * parseInt ( s . wheelStep ) / 100 * M . outerHeight ( ) , n = Math . min ( Math . max ( n , 0 ) , o ) , n = t > 0 ? Math . ceil ( n ) : Math . floor ( n ) , M . css ( { top : n + "px" } ) ) , g = parseInt ( M . css ( "top" ) ) / ( y . outerHeight ( ) - M . outerHeight ( ) ) , n = g * ( y [ 0 ] . scrollHeight - y . outerHeight ( ) ) , i ) { n = t ; var a = n / y [ 0 ] . scrollHeight * y . outerHeight ( ) ; a = Math . min ( Math . max ( a , 0 ) , o ) , M . css ( { top : a + "px" } ) } y . scrollTop ( n ) , y . trigger ( "slimscrolling" , ~ ~ n ) , r ( ) , l ( ) } function a ( ) { p = Math . max ( y . outerHeight ( ) / y [ 0 ] . scrollHeight * y . outerHeight ( ) , b ) , M . css ( { height : p + "px" } ) ; var t = p == y . outerHeight ( ) ? "none" : "block" ; M . css ( { display : t } ) } function r ( ) { if ( a ( ) , clearTimeout ( d ) , g == ~ ~ g ) { if ( _ = s . allowPageScroll , m != g ) { var t = 0 == ~ ~ g ? "top" : "bottom" ; y . trigger ( "slimscroll" , t ) } } else _ = ! 1 ; if ( m = g , p >= y . outerHeight ( ) ) return void ( _ = ! 0 ) ; M . stop ( ! 0 , ! 0 ) . fadeIn ( "fast" ) , s . railVisible && D . sto
toRGB : function ( t , e , i , n ) { 0 === arguments . length && ( t = this . value . h , e = this . value . s , i = this . value . b , n = this . value . a ) , t *= 360 ; var s , o , a , r , l ; return t = t % 360 / 60 , l = i * e , r = l * ( 1 - Math . abs ( t % 2 - 1 ) ) , s = o = a = i - l , t = ~ ~ t , s += [ l , r , 0 , 0 , r , l ] [ t ] , o += [ r , l , l , r , 0 , 0 ] [ t ] , a += [ 0 , 0 , r , l , l , r ] [ t ] , { r : Math . round ( 255 * s ) , g : Math . round ( 255 * o ) , b : Math . round ( 255 * a ) , a : n } } , toHex : function ( t , e , i , n , s ) { arguments . length <= 1 && ( e = this . value . h , i = this . value . s , n = this . value . b , s = this . value . a ) ; var o = "#" , a = this . toRGB ( e , i , n , s ) ; return this . rgbaIsTransparent ( a ) ? "transparent" : ( t || ( o = this . hexNumberSignPrefix ? "#" : "" ) , o + ( ( 1 << 24 ) + ( parseInt ( a . r ) << 16 ) + ( parseInt ( a . g ) << 8 ) + parseInt ( a . b ) ) . toString ( 16 ) . slice ( 1 ) ) } , toHSL : function ( t , e , i , n ) { 0 === arguments . length && ( t = this . value . h , e = this . value . s , i = this . value . b , n = this . value . a ) ; var s = t , o = ( 2 - e ) * i , a = e * i ; return a /= o > 0 && o <= 1 ? o : 2 - o , o /= 2 , a > 1 && ( a = 1 ) , { h : isNaN ( s ) ? 0 : s , s : isNaN ( a ) ? 0 : a , l : isNaN ( o ) ? 0 : o , a : isNaN ( n ) ? 0 : n } } , toAlias : function ( t , e , i , n ) { var s , o = 0 === arguments . length ? this . toHex ( ! 0 ) : this . toHex ( ! 0 , t , e , i , n ) , a = "alias" === this . origFormat ? o : this . toString ( ! 1 , this . origFormat ) ; for ( var r in this . colors ) if ( ( s = this . colors [ r ] . toLowerCase ( ) . trim ( ) ) === o || s === a ) return r ; return ! 1 } , RGBtoHSB : function ( t , e , i , n ) { t /= 255 , e /= 255 , i /= 255 ; var s , o , a , r ; return a = Math . max ( t , e , i ) , r = a - Math . min ( t , e , i ) , s = 0 === r ? null : a === t ? ( e - i ) / r : a === e ? ( i - t ) / r + 2 : ( t - e ) / r + 4 , s = ( s + 360 ) % 6 * 60 / 360 , o = 0 === r ? 0 : r / a , { h : this . _sanitizeNumber ( s ) , s : o , b : a , a : this . _sanitizeNumber ( n ) } } , HueToRGB : function ( t , e , i ) { return i < 0 ? i += 1 : i > 1 && ( i -= 1 ) , 6 * i < 1 ? t + ( e - t ) * i * 6 : 2 * i < 1 ? e : 3 * i < 2 ? t + ( e - t ) * ( 2 / 3 - i ) * 6 : t } , HSLtoRGB : function ( t , e , i , n ) { e < 0 && ( e = 0 ) ; var s ; s = i <= . 5 ? i * ( 1 + e ) : i + e - i * e ; var o = 2 * i - s , a = t + 1 / 3 , r = t , l = t - 1 / 3 ; return [ Math . round ( 255 * this . HueToRGB ( o , s , a ) ) , Math . round ( 255 * this . HueToRGB ( o , s , r ) ) , Math . round ( 255 * this . HueToRGB ( o , s , l ) ) , this . _sanitizeNumber ( n ) ] } , parse : function ( e ) { if ( "string" != typeof e ) return this . fallbackValue ; if ( 0 === arguments . length ) return ! 1 ; var i , n , s = this , o = ! 1 , a = void 0 !== this . colors [ e ] ; return a && ( e = this . colors [ e ] . toLowerCase ( ) . trim ( ) ) , t . each ( this . stringParsers , function ( t , r ) { var l = r . re . exec ( e ) ; return ! ( i = l && r . parse . apply ( s , [ l ] ) ) || ( o = { } , n = a ? "alias" : r . format ? r . format : s . getValidFallbackFormat ( ) , o = n . match ( /hsla?/ ) ? s . RGBtoHSB . apply ( s , s . HSLtoRGB . apply ( s , i ) ) : s . RGBtoHSB . apply ( s , i ) , o instanceof Object && ( o . format = n ) , ! 1 ) } ) , o } , getValidFallbackFormat : function ( ) { var t = [ "rgba" , "rgb" , "hex" , "hsla" , "hsl" ] ; return this . origFormat && - 1 !== t . indexOf ( this . origFormat ) ? this . origFormat : this . fallbackFormat && - 1 !== t . indexOf ( this . fallbackFormat ) ? this . fallbackFormat : "rgba" } , toString : function ( t , i , n ) { i = i || this . origFormat || this . fallbackFormat , n = n || ! 1 ; var s = ! 1 ; switch ( i ) { case "rgb" : return s = this . toRGB ( ) , this . rgbaIsTransparent ( s ) ? "transparent" : "rgb(" + s . r + "," + s . g + "," + s . b + ")" ; case "rgba" : return s = this . toRGB ( ) , "rgba(" + s . r + "," + s . g + "," + s . b + "," + s . a + ")" ; case "hsl" : return s = this . toHSL ( ) , "hsl(" + Math . round ( 360 * s . h ) + "," + Math . round ( 100 * s . s ) + "%," + Math . round ( 100 * s . l ) + "%)" ; case "hsla" : return s = this . toHSL ( ) , "hsla(" + Math . round ( 360 * s . h ) + "," + Math . round ( 100 * s . s ) + "%," + Math . round ( 100 * s . l ) + "%," + s . a + ")" ; case "hex" : return this . toHex ( t ) ; case "alias" : return s = this . toAlias ( ) , ! 1 === s ? this . toString ( t , this . getValidFallbackFormat ( ) ) : n && ! ( s in e . webColors ) && s in this . predefinedColors ? this . predefinedColors [ s ] : s ; default : return s } } , stringParsers : [ { re : /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/ , format : "rgb" , parse : function ( t ) { return [ t [ 1 ] , t [ 2 ] , t [ 3 ] , 1 ] } } , { re : /rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/ , format : "rgb" , parse : function ( t ) { return [ 2.55 * t [ 1 ] , 2.55 * t [ 2 ] , 2.55 * t [ 3 ] , 1 ] } } , { re : /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ , format : "rgba" , parse : function ( t ) { return [ t [ 1 ] , t [ 2 ] , t [ 3 ] , t [ 4 ] ] } } , { re : /rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ , format : "rgba" , parse : function ( t ) { return [ 2.55 * t [ 1 ] , 2.55 * t [ 2 ] , 2.55 * t [ 3 ] , t [ 4 ] ] } } , { re : /hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/ , format : "hsl" , parse : function ( t ) { return [ t [ 1 ] / 360 , t [ 2 ] / 100 , t [ 3 ] / 100 , t [ 4 ] ] } } , { re : /hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/ , format : "hsla" , parse : funct
return Math . floor ( t . getUTCFullYear ( ) / f ) * f } ) , _ = g - f ; _ <= m + f ; _ += f ) h = [ n ] , u = null , _ === g - f ? h . push ( "old" ) : _ === m + f && h . push ( "new" ) , - 1 !== t . inArray ( _ , b ) && h . push ( "active" ) , ( _ < a || _ > r ) && h . push ( "disabled" ) , _ === v && h . push ( "focused" ) , l !== t . noop && ( c = l ( new Date ( _ , 0 , 1 ) ) , c === e ? c = { } : "boolean" == typeof c ? c = { enabled : c } : "string" == typeof c && ( c = { classes : c } ) , ! 1 === c . enabled && h . push ( "disabled" ) , c . classes && ( h = h . concat ( c . classes . split ( /\s+/ ) ) ) , c . tooltip && ( u = c . tooltip ) ) , d += '<span class="' + h . join ( " " ) + '"' + ( u ? ' title="' + u + '"' : "" ) + ">" + _ + "</span>" ; p . find ( ".datepicker-switch" ) . text ( g + "-" + m ) , p . find ( "td" ) . html ( d ) } , fill : function ( ) { var s , o , a = new Date ( this . viewDate ) , r = a . getUTCFullYear ( ) , l = a . getUTCMonth ( ) , h = this . o . startDate !== - 1 / 0 ? this . o . startDate . getUTCFullYear ( ) : - 1 / 0 , u = this . o . startDate !== - 1 / 0 ? this . o . startDate . getUTCMonth ( ) : - 1 / 0 , c = this . o . endDate !== 1 / 0 ? this . o . endDate . getUTCFullYear ( ) : 1 / 0 , d = this . o . endDate !== 1 / 0 ? this . o . endDate . getUTCMonth ( ) : 1 / 0 , f = m [ this . o . language ] . today || m . en . today || "" , p = m [ this . o . language ] . clear || m . en . clear || "" , g = m [ this . o . language ] . titleFormat || m . en . titleFormat , b = n ( ) , _ = ( ! 0 === this . o . todayBtn || "linked" === this . o . todayBtn ) && b >= this . o . startDate && b <= this . o . endDate && ! this . weekOfDateIsDisabled ( b ) ; if ( ! isNaN ( r ) && ! isNaN ( l ) ) { this . picker . find ( ".datepicker-days .datepicker-switch" ) . text ( v . formatDate ( a , g , this . o . language ) ) , this . picker . find ( "tfoot .today" ) . text ( f ) . css ( "display" , _ ? "table-cell" : "none" ) , this . picker . find ( "tfoot .clear" ) . text ( p ) . css ( "display" , ! 0 === this . o . clearBtn ? "table-cell" : "none" ) , this . picker . find ( "thead .datepicker-title" ) . text ( this . o . title ) . css ( "display" , "string" == typeof this . o . title && "" !== this . o . title ? "table-cell" : "none" ) , this . updateNavArrows ( ) , this . fillMonths ( ) ; var y = i ( r , l , 0 ) , x = y . getUTCDate ( ) ; y . setUTCDate ( x - ( y . getUTCDay ( ) - this . o . weekStart + 7 ) % 7 ) ; var w = new Date ( y ) ; y . getUTCFullYear ( ) < 100 && w . setUTCFullYear ( y . getUTCFullYear ( ) ) , w . setUTCDate ( w . getUTCDate ( ) + 42 ) , w = w . valueOf ( ) ; for ( var k , C , D = [ ] ; y . valueOf ( ) < w ; ) { if ( ( k = y . getUTCDay ( ) ) === this . o . weekStart && ( D . push ( "<tr>" ) , this . o . calendarWeeks ) ) { var M = new Date ( + y + ( this . o . weekStart - k - 7 ) % 7 * 864e5 ) , S = new Date ( Number ( M ) + ( 11 - M . getUTCDay ( ) ) % 7 * 864e5 ) , T = new Date ( Number ( T = i ( S . getUTCFullYear ( ) , 0 , 1 ) ) + ( 11 - T . getUTCDay ( ) ) % 7 * 864e5 ) , I = ( S - T ) / 864e5 / 7 + 1 ; D . push ( '<td class="cw">' + I + "</td>" ) } C = this . getClassNames ( y ) , C . push ( "day" ) ; var P = y . getUTCDate ( ) ; this . o . beforeShowDay !== t . noop && ( o = this . o . beforeShowDay ( this . _utc _to _local ( y ) ) , o === e ? o = { } : "boolean" == typeof o ? o = { enabled : o } : "string" == typeof o && ( o = { classes : o } ) , ! 1 === o . enabled && C . push ( "disabled" ) , o . classes && ( C = C . concat ( o . classes . split ( /\s+/ ) ) ) , o . tooltip && ( s = o . tooltip ) , o . content && ( P = o . content ) ) , C = t . isFunction ( t . uniqueSort ) ? t . uniqueSort ( C ) : t . unique ( C ) , D . push ( '<td class="' + C . join ( " " ) + '"' + ( s ? ' title="' + s + '"' : "" ) + ' data-date="' + y . getTime ( ) . toString ( ) + '">' + P + "</td>" ) , s = null , k === this . o . weekEnd && D . push ( "</tr>" ) , y . setUTCDate ( y . getUTCDate ( ) + 1 ) } this . picker . find ( ".datepicker-days tbody" ) . html ( D . join ( "" ) ) ; var A = m [ this . o . language ] . monthsTitle || m . en . monthsTitle || "Months" , F = this . picker . find ( ".datepicker-months" ) . find ( ".datepicker-switch" ) . text ( this . o . maxViewMode < 2 ? A : r ) . end ( ) . find ( "tbody span" ) . removeClass ( "active" ) ; if ( t . each ( this . dates , function ( t , e ) { e . getUTCFullYear ( ) === r && F . eq ( e . getUTCMonth ( ) ) . addClass ( "active" ) } ) , ( r < h || r > c ) && F . addClass ( "disabled" ) , r === h && F . slice ( 0 , u ) . addClass ( "disabled" ) , r === c && F . slice ( d + 1 ) . addClass ( "disabled" ) , this . o . beforeShowMonth !== t . noop ) { var O = this ; t . each ( F , function ( i , n ) { var s = new Date ( r , i , 1 ) , o = O . o . beforeShowMonth ( s ) ; o === e ? o = { } : "boolean" == typeof o ? o = { enabled : o } : "string" == typeof o && ( o = { classes : o } ) , ! 1 !== o . enabled || t ( n ) . hasClass ( "disabled" ) || t ( n ) . addClass ( "disabled" ) , o . classes && t ( n ) . addClass ( o . classes ) , o . tooltip && t ( n ) . prop ( "title" , o . tooltip ) } ) } this . _fill _yearsView ( ".datepicker-years" , "year" , 10 , r , h , c , this . o . beforeShowYear ) , this . _fill _yearsView ( ".datepicker-decades" , "decade" , 100 , r , h , c , this . o . beforeShowDecade ) , this . _fill _yearsView ( ".datepicker-centuries" , "century" , 1e3 , r , h , c , this . o . beforeShowCentury ) } } , updateNavArrows : function ( ) { if ( this . _allow _update ) { var t , e , i = new Date ( this . viewDate ) , n = i . getUTCFullYear ( ) , s = i . getUTCMonth ( ) , o = this . o . startDate !== - 1 / 0 ? this . o . startDate . getUTCFullYear ( ) : - 1 / 0 , a = this
key : "_jQueryInterface" , value : function ( e ) { var i = this ; return e = e || { } , this . each ( function ( ) { var s = t ( i ) , o = t . extend ( { } , n . Default , s . data ( ) , "object" == typeof e && e ) ; new n ( i , o ) } ) } } ] ) , n } ( ) ; t . fn [ n ] = a . _jQueryInterface , t . fn [ n ] . Constructor = a , t . fn [ n ] . noConflict = function ( ) { return t . fn [ n ] = s , a . _jQueryInterface } } ( jQuery ) } ( jQuery ) , function ( t ) { function e ( t , e , s ) { var o = t [ 0 ] , a = /er/ . test ( s ) ? g : /bl/ . test ( s ) ? f : c , r = s == m ? { checked : o [ c ] , disabled : o [ f ] , indeterminate : "true" == t . attr ( g ) || "false" == t . attr ( p ) } : o [ a ] ; if ( /^(ch|di|in)/ . test ( s ) && ! r ) i ( t , a ) ; else if ( /^(un|en|de)/ . test ( s ) && r ) n ( t , a ) ; else if ( s == m ) for ( var l in r ) r [ l ] ? i ( t , l , ! 0 ) : n ( t , l , ! 0 ) ; else e && "toggle" != s || ( e || t [ x ] ( "ifClicked" ) , r ? o [ v ] !== u && n ( t , a ) : i ( t , a ) ) } function i ( e , i , s ) { var m = e [ 0 ] , b = e . parent ( ) , x = i == c , w = i == g , C = i == f , D = w ? p : x ? d : "enabled" , M = o ( e , D + a ( m [ v ] ) ) , S = o ( e , i + a ( m [ v ] ) ) ; if ( ! 0 !== m [ i ] ) { if ( ! s && i == c && m [ v ] == u && m . name ) { var T = e . closest ( "form" ) , I = 'input[name="' + m . name + '"]' ; I = T . length ? T . find ( I ) : t ( I ) , I . each ( function ( ) { this !== m && t ( this ) . data ( l ) && n ( t ( this ) , i ) } ) } w ? ( m [ i ] = ! 0 , m [ c ] && n ( e , c , "force" ) ) : ( s || ( m [ i ] = ! 0 ) , x && m [ g ] && n ( e , g , ! 1 ) ) , r ( e , x , i , s ) } m [ f ] && o ( e , k , ! 0 ) && b . find ( "." + h ) . css ( k , "default" ) , b [ _ ] ( S || o ( e , i ) || "" ) , b . attr ( "role" ) && ! w && b . attr ( "aria-" + ( C ? f : c ) , "true" ) , b [ y ] ( M || o ( e , D ) || "" ) } function n ( t , e , i ) { var n = t [ 0 ] , s = t . parent ( ) , l = e == c , u = e == g , m = e == f , b = u ? p : l ? d : "enabled" , x = o ( t , b + a ( n [ v ] ) ) , w = o ( t , e + a ( n [ v ] ) ) ; ! 1 !== n [ e ] && ( ! u && i && "force" != i || ( n [ e ] = ! 1 ) , r ( t , l , b , i ) ) , ! n [ f ] && o ( t , k , ! 0 ) && s . find ( "." + h ) . css ( k , "pointer" ) , s [ y ] ( w || o ( t , e ) || "" ) , s . attr ( "role" ) && ! u && s . attr ( "aria-" + ( m ? f : c ) , "false" ) , s [ _ ] ( x || o ( t , b ) || "" ) } function s ( e , i ) { e . data ( l ) && ( e . parent ( ) . html ( e . attr ( "style" , e . data ( l ) . s || "" ) ) , i && e [ x ] ( i ) , e . off ( ".i" ) . unwrap ( ) , t ( w + '[for="' + e [ 0 ] . id + '"]' ) . add ( e . closest ( w ) ) . off ( ".i" ) ) } function o ( t , e , i ) { if ( t . data ( l ) ) return t . data ( l ) . o [ e + ( i ? "" : "Class" ) ] } function a ( t ) { return t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) } function r ( t , e , i , n ) { n || ( e && t [ x ] ( "ifToggled" ) , t [ x ] ( "ifChanged" ) [ x ] ( "if" + a ( i ) ) ) } var l = "iCheck" , h = l + "-helper" , u = "radio" , c = "checked" , d = "un" + c , f = "disabled" , p = "determinate" , g = "in" + p , m = "update" , v = "type" , b = "touchbegin.i touchend.i" , _ = "addClass" , y = "removeClass" , x = "trigger" , w = "label" , k = "cursor" , C = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i . test ( navigator . userAgent ) ; t . fn [ l ] = function ( o , a ) { var r = 'input[type="checkbox"], input[type="' + u + '"]' , d = t ( ) , p = function ( e ) { e . each ( function ( ) { var e = t ( this ) ; d = e . is ( r ) ? d . add ( e ) : d . add ( e . find ( r ) ) } ) } ; if ( /^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i . test ( o ) ) return o = o . toLowerCase ( ) , p ( this ) , d . each ( function ( ) { var i = t ( this ) ; "destroy" == o ? s ( i , "ifDestroyed" ) : e ( i , ! 0 , o ) , t . isFunction ( a ) && a ( ) } ) ; if ( "object" != typeof o && o ) return this ; var k = t . extend ( { checkedClass : c , disabledClass : f , indeterminateClass : g , labelHover : ! 0 } , o ) , D = k . handle , M = k . hoverClass || "hover" , S = k . focusClass || "focus" , T = k . activeClass || "active" , I = ! ! k . labelHover , P = k . labelHoverClass || "hover" , A = 0 | ( "" + k . increaseArea ) . replace ( "%" , "" ) ; return "checkbox" != D && D != u || ( r = 'input[type="' + D + '"]' ) , A < - 50 && ( A = - 50 ) , p ( this ) , d . each ( function ( ) { var o = t ( this ) ; s ( o ) ; var a , r = this , d = r . id , p = - A + "%" , g = 100 + 2 * A + "%" , D = { position : "absolute" , top : p , left : p , display : "block" , width : g , height : g , margin : 0 , padding : 0 , background : "#fff" , border : 0 , opacity : 0 } , F = C ? { position : "absolute" , visibility : "hidden" } : A ? D : { position : "absolute" , opacity : 0 } , O = "checkbox" == r [ v ] ? k . checkboxClass || "icheckbox" : k . radioClass || "i" + u , E = t ( w + '[for="' + d + '"]' ) . add ( o . closest ( w ) ) , N = ! ! k . aria , z = l + "-" + Math . random ( ) . toString ( 36 ) . substr ( 2 , 6 ) , L = '<div class="' + O + '" ' + ( N ? 'role="' + r [ v ] + '" ' : "" ) ; N && E . each ( function ( ) { L += 'aria-labelledby="' , this . id ? L += this . id : ( this . id = z , L += z ) , L += '"' } ) , L = o . wrap ( L + "/>" ) [ x ] ( "ifCreated" ) . parent ( ) . append ( k . insert ) , a = t ( '<ins class="' + h + '"/>' ) . css ( D ) . appendTo ( L ) , o . data ( l , { o : k , s : o . attr ( "style" ) } ) . css ( F ) , ! ! k . inheritClass && L [ _ ] ( r . className || "" ) , ! ! k . inheritID && d && L . attr ( "id" , l + "-" + d ) , "static" == L . css ( "position" ) && L . css ( "position" , "relative" ) , e ( o , ! 0 , m ) , E . length && E . on ( "click.i mouseover.i mouseout.i " + b , function ( i ) { var n = i [ v ] , s = t ( this ) ; if ( ! r [ f ] ) { if ( "click" == n ) { if ( t ( i . target ) . is ( "a" ) ) return ; e ( o , ! 1 , ! 0 ) } else I && ( /ut|nd/ . test ( n ) ? ( L [ y ] ( M ) , s [ y ] ( P ) ) : ( L [ _ ] ( M ) , s [ _ ] ( P ) ) ) ; if ( ! C ) return ! 1 ; i . stopPropagation ( ) } } ) , o . on ( " click . i foc
var s , o = t . ctx , a = e . circular , r = t . chart . data . labels . length , l = Ms ( e . color , n - 1 ) , h = Ms ( e . lineWidth , n - 1 ) ; if ( ( a || r ) && l && h ) { if ( o . save ( ) , o . strokeStyle = l , o . lineWidth = h , o . setLineDash && ( o . setLineDash ( e . borderDash || [ ] ) , o . lineDashOffset = e . borderDashOffset || 0 ) , o . beginPath ( ) , a ) o . arc ( t . xCenter , t . yCenter , i , 0 , 2 * Math . PI ) ; else { s = t . getPointPosition ( 0 , i ) , o . moveTo ( s . x , s . y ) ; for ( var u = 1 ; u < r ; u ++ ) s = t . getPointPosition ( u , i ) , o . lineTo ( s . x , s . y ) } o . closePath ( ) , o . stroke ( ) , o . restore ( ) } } function ve ( t ) { return Si . isNumber ( t ) ? t : 0 } function be ( t , e ) { return t - e } function _e ( t ) { var e , i , n , s = { } , o = [ ] ; for ( e = 0 , i = t . length ; e < i ; ++ e ) n = t [ e ] , s [ n ] || ( s [ n ] = ! 0 , o . push ( n ) ) ; return o } function ye ( t ) { return Si . valueOrDefault ( t . time . min , t . ticks . min ) } function xe ( t ) { return Si . valueOrDefault ( t . time . max , t . ticks . max ) } function we ( t , e , i , n ) { if ( "linear" === n || ! t . length ) return [ { time : e , pos : 0 } , { time : i , pos : 1 } ] ; var s , o , a , r , l , h = [ ] , u = [ e ] ; for ( s = 0 , o = t . length ; s < o ; ++ s ) ( r = t [ s ] ) > e && r < i && u . push ( r ) ; for ( u . push ( i ) , s = 0 , o = u . length ; s < o ; ++ s ) l = u [ s + 1 ] , a = u [ s - 1 ] , r = u [ s ] , void 0 !== a && void 0 !== l && Math . round ( ( l + a ) / 2 ) === r || h . push ( { time : r , pos : s / ( o - 1 ) } ) ; return h } function ke ( t , e , i ) { for ( var n , s , o , a = 0 , r = t . length - 1 ; a >= 0 && a <= r ; ) { if ( n = a + r >> 1 , s = t [ n - 1 ] || null , o = t [ n ] , ! s ) return { lo : null , hi : o } ; if ( o [ e ] < i ) a = n + 1 ; else { if ( ! ( s [ e ] > i ) ) return { lo : s , hi : o } ; r = n - 1 } } return { lo : o , hi : null } } function Ce ( t , e , i , n ) { var s = ke ( t , e , i ) , o = s . lo ? s . hi ? s . lo : t [ t . length - 2 ] : t [ 0 ] , a = s . lo ? s . hi ? s . hi : t [ t . length - 1 ] : t [ 1 ] , r = a [ e ] - o [ e ] , l = r ? ( i - o [ e ] ) / r : 0 , h = ( a [ n ] - o [ n ] ) * l ; return o [ n ] + h } function De ( t , e ) { var i = t . _adapter , n = t . options . time , s = n . parser , o = s || n . format , a = e ; return "function" == typeof s && ( a = s ( a ) ) , Si . isFinite ( a ) || ( a = "string" == typeof o ? i . parse ( a , o ) : i . parse ( a ) ) , null !== a ? + a : ( s || "function" != typeof o || ( a = o ( e ) , Si . isFinite ( a ) || ( a = i . parse ( a ) ) ) , a ) } function Me ( t , e ) { if ( Si . isNullOrUndef ( e ) ) return null ; var i = t . options . time , n = De ( t , t . getRightValue ( e ) ) ; return null === n ? n : ( i . round && ( n = + t . _adapter . startOf ( n , i . round ) ) , n ) } function Se ( t , e , i , n ) { var s , o , a , r = Ls . length ; for ( s = Ls . indexOf ( t ) ; s < r - 1 ; ++ s ) if ( o = zs [ Ls [ s ] ] , a = o . steps ? o . steps : Ns , o . common && Math . ceil ( ( i - e ) / ( a * o . size ) ) <= n ) return Ls [ s ] ; return Ls [ r - 1 ] } function Te ( t , e , i , n , s ) { var o , a ; for ( o = Ls . length - 1 ; o >= Ls . indexOf ( i ) ; o -- ) if ( a = Ls [ o ] , zs [ a ] . common && t . _adapter . diff ( s , n , a ) >= e - 1 ) return a ; return Ls [ i ? Ls . indexOf ( i ) : 0 ] } function Ie ( t ) { for ( var e = Ls . indexOf ( t ) + 1 , i = Ls . length ; e < i ; ++ e ) if ( zs [ Ls [ e ] ] . common ) return Ls [ e ] } function Pe ( t , e , i , n ) { var s , o = t . _adapter , a = t . options , r = a . time , l = r . unit || Se ( r . minUnit , e , i , n ) , h = Fs ( [ r . stepSize , r . unitStepSize , 1 ] ) , u = "week" === l && r . isoWeekday , c = e , d = [ ] ; if ( u && ( c = + o . startOf ( c , "isoWeek" , u ) ) , c = + o . startOf ( c , u ? "day" : l ) , o . diff ( i , e , l ) > 1e5 * h ) throw e + " and " + i + " are too far apart with stepSize of " + h + " " + l ; for ( s = c ; s < i ; s = + o . add ( s , h , l ) ) d . push ( s ) ; return s !== i && "ticks" !== a . bounds || d . push ( s ) , d } function Ae ( t , e , i , n , s ) { var o , a , r = 0 , l = 0 ; return s . offset && e . length && ( o = Ce ( t , "time" , e [ 0 ] , "pos" ) , r = 1 === e . length ? 1 - o : ( Ce ( t , "time" , e [ 1 ] , "pos" ) - o ) / 2 , a = Ce ( t , "time" , e [ e . length - 1 ] , "pos" ) , l = 1 === e . length ? a : ( a - Ce ( t , "time" , e [ e . length - 2 ] , "pos" ) ) / 2 ) , { start : r , end : l , factor : 1 / ( r + 1 + l ) } } function Fe ( t , e , i , n ) { var s , o , a = t . _adapter , r = + a . startOf ( e [ 0 ] . value , n ) , l = e [ e . length - 1 ] . value ; for ( s = r ; s <= l ; s = + a . add ( s , 1 , n ) ) ( o = i [ s ] ) >= 0 && ( e [ o ] . major = ! 0 ) ; return e } function Oe ( t , e , i ) { var n , s , o = [ ] , a = { } , r = e . length ; for ( n = 0 ; n < r ; ++ n ) s = e [ n ] , a [ s ] = n , o . push ( { value : s , major : ! 1 } ) ; return 0 !== r && i ? Fe ( t , o , a , i ) : o } function Ee ( t , e , i ) { var n , s = t . _model || { } , o = s . fill ; if ( void 0 === o && ( o = ! ! s . backgroundColor ) , ! 1 === o || null === o ) return ! 1 ; if ( ! 0 === o ) return "origin" ; if ( n = parseFloat ( o , 10 ) , isFinite ( n ) && Math . floor ( n ) === n ) return "-" !== o [ 0 ] && "+" !== o [ 0 ] || ( n = e + n ) , ! ( n === e || n < 0 || n >= i ) && n ; switch ( o ) { case "bottom" : return "start" ; case "top" : return "end" ; case "zero" : return "origin" ; case "origin" : case "start" : case "end" : return o ; default : return ! 1 } } function Ne ( t ) { var e , i = t . el . _model || { } , n = t . el . _scale || { } , s = t . fill , o = null ; if ( isFinite ( s ) ) return null ; if ( "start" === s ? o = void 0 === i . scaleBottom ? n . bottom : i . scaleBottom : "end" === s ? o = void 0 === i . scaleTop ? n . top : i . scaleTop : void 0 !== i . scaleZero ? o = i . scaleZero : n . getBasePixel && ( o = n . getBasePixel ( ) ) , void 0 !== o && null !== o ) { if ( void 0 !== o . x && void 0 !== o . y ) return o ; if ( Si . isFinite ( o ) ) return e = n . isHorizontal ( ) , { x : e ? o : null , y : e ? null : o } } return null } function ze ( t ) { var e ,
easeInExpo : function ( t ) { return 0 === t ? 0 : Math . pow ( 2 , 10 * ( t - 1 ) ) } , easeOutExpo : function ( t ) { return 1 === t ? 1 : 1 - Math . pow ( 2 , - 10 * t ) } , easeInOutExpo : function ( t ) { return 0 === t ? 0 : 1 === t ? 1 : ( t /= . 5 ) < 1 ? . 5 * Math . pow ( 2 , 10 * ( t - 1 ) ) : . 5 * ( 2 - Math . pow ( 2 , - 10 * -- t ) ) } , easeInCirc : function ( t ) { return t >= 1 ? t : - ( Math . sqrt ( 1 - t * t ) - 1 ) } , easeOutCirc : function ( t ) { return Math . sqrt ( 1 - ( t -= 1 ) * t ) } , easeInOutCirc : function ( t ) { return ( t /= . 5 ) < 1 ? - . 5 * ( Math . sqrt ( 1 - t * t ) - 1 ) : . 5 * ( Math . sqrt ( 1 - ( t -= 2 ) * t ) + 1 ) } , easeInElastic : function ( t ) { var e = 1.70158 , i = 0 , n = 1 ; return 0 === t ? 0 : 1 === t ? 1 : ( i || ( i = . 3 ) , n < 1 ? ( n = 1 , e = i / 4 ) : e = i / ( 2 * Math . PI ) * Math . asin ( 1 / n ) , - n * Math . pow ( 2 , 10 * ( t -= 1 ) ) * Math . sin ( ( t - e ) * ( 2 * Math . PI ) / i ) ) } , easeOutElastic : function ( t ) { var e = 1.70158 , i = 0 , n = 1 ; return 0 === t ? 0 : 1 === t ? 1 : ( i || ( i = . 3 ) , n < 1 ? ( n = 1 , e = i / 4 ) : e = i / ( 2 * Math . PI ) * Math . asin ( 1 / n ) , n * Math . pow ( 2 , - 10 * t ) * Math . sin ( ( t - e ) * ( 2 * Math . PI ) / i ) + 1 ) } , easeInOutElastic : function ( t ) { var e = 1.70158 , i = 0 , n = 1 ; return 0 === t ? 0 : 2 == ( t /= . 5 ) ? 1 : ( i || ( i = . 45 ) , n < 1 ? ( n = 1 , e = i / 4 ) : e = i / ( 2 * Math . PI ) * Math . asin ( 1 / n ) , t < 1 ? n * Math . pow ( 2 , 10 * ( t -= 1 ) ) * Math . sin ( ( t - e ) * ( 2 * Math . PI ) / i ) * - . 5 : n * Math . pow ( 2 , - 10 * ( t -= 1 ) ) * Math . sin ( ( t - e ) * ( 2 * Math . PI ) / i ) * . 5 + 1 ) } , easeInBack : function ( t ) { var e = 1.70158 ; return t * t * ( ( e + 1 ) * t - e ) } , easeOutBack : function ( t ) { var e = 1.70158 ; return ( t -= 1 ) * t * ( ( e + 1 ) * t + e ) + 1 } , easeInOutBack : function ( t ) { var e = 1.70158 ; return ( t /= . 5 ) < 1 ? t * t * ( ( 1 + ( e *= 1.525 ) ) * t - e ) * . 5 : . 5 * ( ( t -= 2 ) * t * ( ( 1 + ( e *= 1.525 ) ) * t + e ) + 2 ) } , easeInBounce : function ( t ) { return 1 - oi . easeOutBounce ( 1 - t ) } , easeOutBounce : function ( t ) { return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * ( t -= 1.5 / 2.75 ) * t + . 75 : t < 2.5 / 2.75 ? 7.5625 * ( t -= 2.25 / 2.75 ) * t + . 9375 : 7.5625 * ( t -= 2.625 / 2.75 ) * t + . 984375 } , easeInOutBounce : function ( t ) { return t < . 5 ? . 5 * oi . easeInBounce ( 2 * t ) : . 5 * oi . easeOutBounce ( 2 * t - 1 ) + . 5 } } , ai = { effects : oi } ; si . easingEffects = oi ; var ri = Math . PI , li = ri / 180 , hi = 2 * ri , ui = ri / 2 , ci = ri / 4 , di = 2 * ri / 3 , fi = { clear : function ( t ) { t . ctx . clearRect ( 0 , 0 , t . width , t . height ) } , roundedRect : function ( t , e , i , n , s , o ) { if ( o ) { var a = Math . min ( o , s / 2 , n / 2 ) , r = e + a , l = i + a , h = e + n - a , u = i + s - a ; t . moveTo ( e , l ) , r < h && l < u ? ( t . arc ( r , l , a , - ri , - ui ) , t . arc ( h , l , a , - ui , 0 ) , t . arc ( h , u , a , 0 , ui ) , t . arc ( r , u , a , ui , ri ) ) : r < h ? ( t . moveTo ( r , i ) , t . arc ( h , l , a , - ui , ui ) , t . arc ( r , l , a , ui , ri + ui ) ) : l < u ? ( t . arc ( r , l , a , - ri , 0 ) , t . arc ( r , u , a , 0 , ri ) ) : t . arc ( r , l , a , - ri , ri ) , t . closePath ( ) , t . moveTo ( e , i ) } else t . rect ( e , i , n , s ) } , drawPoint : function ( t , e , i , n , s , o ) { var a , r , l , h , u , c = ( o || 0 ) * li ; if ( e && "object" == typeof e && ( "[object HTMLImageElement]" === ( a = e . toString ( ) ) || "[object HTMLCanvasElement]" === a ) ) return t . save ( ) , t . translate ( n , s ) , t . rotate ( c ) , t . drawImage ( e , - e . width / 2 , - e . height / 2 , e . width , e . height ) , void t . restore ( ) ; if ( ! ( isNaN ( i ) || i <= 0 ) ) { switch ( t . beginPath ( ) , e ) { default : t . arc ( n , s , i , 0 , hi ) , t . closePath ( ) ; break ; case "triangle" : t . moveTo ( n + Math . sin ( c ) * i , s - Math . cos ( c ) * i ) , c += di , t . lineTo ( n + Math . sin ( c ) * i , s - Math . cos ( c ) * i ) , c += di , t . lineTo ( n + Math . sin ( c ) * i , s - Math . cos ( c ) * i ) , t . closePath ( ) ; break ; case "rectRounded" : u = . 516 * i , h = i - u , r = Math . cos ( c + ci ) * h , l = Math . sin ( c + ci ) * h , t . arc ( n - r , s - l , u , c - ri , c - ui ) , t . arc ( n + l , s - r , u , c - ui , c ) , t . arc ( n + r , s + l , u , c , c + ui ) , t . arc ( n - l , s + r , u , c + ui , c + ri ) , t . closePath ( ) ; break ; case "rect" : if ( ! o ) { h = Math . SQRT1 _2 * i , t . rect ( n - h , s - h , 2 * h , 2 * h ) ; break } c += ci ; case "rectRot" : r = Math . cos ( c ) * i , l = Math . sin ( c ) * i , t . moveTo ( n - r , s - l ) , t . lineTo ( n + l , s - r ) , t . lineTo ( n + r , s + l ) , t . lineTo ( n - l , s + r ) , t . closePath ( ) ; break ; case "crossRot" : c += ci ; case "cross" : r = Math . cos ( c ) * i , l = Math . sin ( c ) * i , t . moveTo ( n - r , s - l ) , t . lineTo ( n + r , s + l ) , t . moveTo ( n + l , s - r ) , t . lineTo ( n - l , s + r ) ; break ; case "star" : r = Math . cos ( c ) * i , l = Math . sin ( c ) * i , t . moveTo ( n - r , s - l ) , t . lineTo ( n + r , s + l ) , t . moveTo ( n + l , s - r ) , t . lineTo ( n - l , s + r ) , c += ci , r = Math . cos ( c ) * i , l = Math . sin ( c ) * i , t . moveTo ( n - r , s - l ) , t . lineTo ( n + r , s + l ) , t . moveTo ( n + l , s - r ) , t . lineTo ( n - l , s + r ) ; break ; case "line" : r = Math . cos ( c ) * i , l = Math . sin ( c ) * i , t . moveTo ( n - r , s - l ) , t . lineTo ( n + r , s + l ) ; break ; case "dash" : t . moveTo ( n , s ) , t . lineTo ( n + Math . cos ( c ) * i , s + Math . sin ( c ) * i ) } t . fill ( ) , t . stroke ( ) } } , _isPointInArea : function ( t , e ) { return t . x > e . left - 1e-6 && t . x < e . right + 1e-6 && t . y > e . top - 1e-6 && t . y < e . bottom + 1e-6 } , clipArea : function ( t , e ) { t . save ( ) , t . beginPath ( ) , t . rect ( e . left , e . top , e . right - e . left , e . bottom - e . top ) , t . clip ( ) } , unclipArea : function ( t ) { t . restore ( ) } , lineTo : function ( t , e , i , n ) { var s = i . steppedLine ; if ( s ) { if ( "middle" === s ) { var o = ( e . x + i . x ) / 2 ; t . lineTo ( o , n ? i . y : e . y ) , t . lineTo ( o , n ? e . y : i . y ) } else "after" === s && ! n || "after" !== s && n ? t . lineTo ( e . x
_datasetElementOptions : [ "backgroundColor" , "borderCapStyle" , "borderColor" , "borderDash" , "borderDashOffset" , "borderJoinStyle" , "borderWidth" , "cubicInterpolationMode" , "fill" ] , _dataElementOptions : { backgroundColor : "pointBackgroundColor" , borderColor : "pointBorderColor" , borderWidth : "pointBorderWidth" , hitRadius : "pointHitRadius" , hoverBackgroundColor : "pointHoverBackgroundColor" , hoverBorderColor : "pointHoverBorderColor" , hoverBorderWidth : "pointHoverBorderWidth" , hoverRadius : "pointHoverRadius" , pointStyle : "pointStyle" , radius : "pointRadius" , rotation : "pointRotation" } , update : function ( t ) { var e , i , n = this , s = n . getMeta ( ) , o = s . dataset , a = s . data || [ ] , r = n . chart . options , l = n . _config , h = n . _showLine = mn ( l . showLine , r . showLines ) ; for ( n . _xScale = n . getScaleForId ( s . xAxisID ) , n . _yScale = n . getScaleForId ( s . yAxisID ) , h && ( void 0 !== l . tension && void 0 === l . lineTension && ( l . lineTension = l . tension ) , o . _scale = n . _yScale , o . _datasetIndex = n . index , o . _children = a , o . _model = n . _resolveDatasetElementOptions ( o ) , o . pivot ( ) ) , e = 0 , i = a . length ; e < i ; ++ e ) n . updateElement ( a [ e ] , e , t ) ; for ( h && 0 !== o . _model . tension && n . updateBezierControlPoints ( ) , e = 0 , i = a . length ; e < i ; ++ e ) a [ e ] . pivot ( ) } , updateElement : function ( t , e , i ) { var n , s , o = this , a = o . getMeta ( ) , r = t . custom || { } , l = o . getDataset ( ) , h = o . index , u = l . data [ e ] , c = o . _xScale , d = o . _yScale , f = a . dataset . _model , p = o . _resolveDataElementOptions ( t , e ) ; n = c . getPixelForValue ( "object" == typeof u ? u : NaN , e , h ) , s = i ? d . getBasePixel ( ) : o . calculatePointY ( u , e , h ) , t . _xScale = c , t . _yScale = d , t . _options = p , t . _datasetIndex = h , t . _index = e , t . _model = { x : n , y : s , skip : r . skip || isNaN ( n ) || isNaN ( s ) , radius : p . radius , pointStyle : p . pointStyle , rotation : p . rotation , backgroundColor : p . backgroundColor , borderColor : p . borderColor , borderWidth : p . borderWidth , tension : mn ( r . tension , f ? f . tension : 0 ) , steppedLine : ! ! f && f . steppedLine , hitRadius : p . hitRadius } } , _resolveDatasetElementOptions : function ( t ) { var e = this , i = e . _config , n = t . custom || { } , s = e . chart . options , o = s . elements . line , a = Bi . prototype . _resolveDatasetElementOptions . apply ( e , arguments ) ; return a . spanGaps = mn ( i . spanGaps , s . spanGaps ) , a . tension = mn ( i . lineTension , o . tension ) , a . steppedLine = vn ( [ n . steppedLine , i . steppedLine , o . stepped ] ) , a . clip = q ( mn ( i . clip , Y ( e . _xScale , e . _yScale , a . borderWidth ) ) ) , a } , calculatePointY : function ( t , e , i ) { var n , s , o , a , r , l , h , u = this , c = u . chart , d = u . _yScale , f = 0 , p = 0 ; if ( d . options . stacked ) { for ( r = + d . getRightValue ( t ) , l = c . _getSortedVisibleDatasetMetas ( ) , h = l . length , n = 0 ; n < h && ( o = l [ n ] , o . index !== i ) ; ++ n ) s = c . data . datasets [ o . index ] , "line" === o . type && o . yAxisID === d . id && ( a = + d . getRightValue ( s . data [ e ] ) , a < 0 ? p += a || 0 : f += a || 0 ) ; return r < 0 ? d . getPixelForValue ( p + r ) : d . getPixelForValue ( f + r ) } return d . getPixelForValue ( t ) } , updateBezierControlPoints : function ( ) { function t ( t , e , i ) { return Math . max ( Math . min ( t , i ) , e ) } var e , i , n , s , o = this , a = o . chart , r = o . getMeta ( ) , l = r . dataset . _model , h = a . chartArea , u = r . data || [ ] ; if ( l . spanGaps && ( u = u . filter ( function ( t ) { return ! t . _model . skip } ) ) , "monotone" === l . cubicInterpolationMode ) Si . splineCurveMonotone ( u ) ; else for ( e = 0 , i = u . length ; e < i ; ++ e ) n = u [ e ] . _model , s = Si . splineCurve ( Si . previousItem ( u , e ) . _model , n , Si . nextItem ( u , e ) . _model , l . tension ) , n . controlPointPreviousX = s . previous . x , n . controlPointPreviousY = s . previous . y , n . controlPointNextX = s . next . x , n . controlPointNextY = s . next . y ; if ( a . options . elements . line . capBezierPoints ) for ( e = 0 , i = u . length ; e < i ; ++ e ) n = u [ e ] . _model , bn ( n , h ) && ( e > 0 && bn ( u [ e - 1 ] . _model , h ) && ( n . controlPointPreviousX = t ( n . controlPointPreviousX , h . left , h . right ) , n . controlPointPreviousY = t ( n . controlPointPreviousY , h . top , h . bottom ) ) , e < u . length - 1 && bn ( u [ e + 1 ] . _model , h ) && ( n . controlPointNextX = t ( n . controlPointNextX , h . left , h . right ) , n . controlPointNextY = t ( n . controlPointNextY , h . top , h . bottom ) ) ) } , draw : function ( ) { var t , e = this , i = e . chart , n = e . getMeta ( ) , s = n . data || [ ] , o = i . chartArea , a = i . canvas , r = 0 , l = s . length ; for ( e . _showLine && ( t = n . dataset . _model . clip , Si . canvas . clipArea ( i . ctx , { left : ! 1 === t . left ? 0 : o . left - t . left , right : ! 1 === t . right ? a . width : o . right + t . right , top : ! 1 === t . top ? 0 : o . top - t . top , bottom : ! 1 === t . bottom ? a . height : o . bottom + t . bottom } ) , n . dataset . draw ( ) , Si . canvas . unclipArea ( i . ctx ) ) ; r < l ; ++ r ) s [ r ] . draw ( o ) } , setHoverStyle : function ( t ) { var e = t . _model , i = t . _options , n = Si . getHoverColor ; t . $previousStyle = { backgroundColor : e . backgroundColor , borderColor : e . borderColor , borderWidth : e . borderWidth , r
; return o . sort ( Rt ( "order" , "index" ) ) , o } , _getSortedVisibleDatasetMetas : function ( ) { return this . _getSortedDatasetMetas ( ! 0 ) } , drawDatasets : function ( t ) { var e , i , n = this ; if ( ! 1 !== jn . notify ( n , "beforeDatasetsDraw" , [ t ] ) ) { for ( e = n . _getSortedVisibleDatasetMetas ( ) , i = e . length - 1 ; i >= 0 ; -- i ) n . drawDataset ( e [ i ] , t ) ; jn . notify ( n , "afterDatasetsDraw" , [ t ] ) } } , drawDataset : function ( t , e ) { var i = this , n = { meta : t , index : t . index , easingValue : e } ; ! 1 !== jn . notify ( i , "beforeDatasetDraw" , [ n ] ) && ( t . controller . draw ( e ) , jn . notify ( i , "afterDatasetDraw" , [ n ] ) ) } , _drawTooltip : function ( t ) { var e = this , i = e . tooltip , n = { tooltip : i , easingValue : t } ; ! 1 !== jn . notify ( e , "beforeTooltipDraw" , [ n ] ) && ( i . draw ( ) , jn . notify ( e , "afterTooltipDraw" , [ n ] ) ) } , getElementAtEvent : function ( t ) { return Sn . modes . single ( this , t ) } , getElementsAtEvent : function ( t ) { return Sn . modes . label ( this , t , { intersect : ! 0 } ) } , getElementsAtXAxis : function ( t ) { return Sn . modes [ "x-axis" ] ( this , t , { intersect : ! 0 } ) } , getElementsAtEventForMode : function ( t , e , i ) { var n = Sn . modes [ e ] ; return "function" == typeof n ? n ( this , t , i ) : [ ] } , getDatasetAtEvent : function ( t ) { return Sn . modes . dataset ( this , t , { intersect : ! 0 } ) } , getDatasetMeta : function ( t ) { var e = this , i = e . data . datasets [ t ] ; i . _meta || ( i . _meta = { } ) ; var n = i . _meta [ e . id ] ; return n || ( n = i . _meta [ e . id ] = { type : null , data : [ ] , dataset : null , controller : null , hidden : null , xAxisID : null , yAxisID : null , order : i . order || 0 , index : t } ) , n } , getVisibleDatasetCount : function ( ) { for ( var t = 0 , e = 0 , i = this . data . datasets . length ; e < i ; ++ e ) this . isDatasetVisible ( e ) && t ++ ; return t } , isDatasetVisible : function ( t ) { var e = this . getDatasetMeta ( t ) ; return "boolean" == typeof e . hidden ? ! e . hidden : ! this . data . datasets [ t ] . hidden } , generateLegend : function ( ) { return this . options . legendCallback ( this ) } , destroyDatasetMeta : function ( t ) { var e = this . id , i = this . data . datasets [ t ] , n = i . _meta && i . _meta [ e ] ; n && ( n . controller . destroy ( ) , delete i . _meta [ e ] ) } , destroy : function ( ) { var t , e , i = this , n = i . canvas ; for ( i . stop ( ) , t = 0 , e = i . data . datasets . length ; t < e ; ++ t ) i . destroyDatasetMeta ( t ) ; n && ( i . unbindEvents ( ) , Si . canvas . clear ( i ) , Un . releaseContext ( i . ctx ) , i . canvas = null , i . ctx = null ) , jn . notify ( i , "destroy" ) , delete Jn . instances [ i . id ] } , toBase64Image : function ( ) { return this . canvas . toDataURL . apply ( this . canvas , arguments ) } , initToolTip : function ( ) { var t = this ; t . tooltip = new Qn ( { _chart : t , _chartInstance : t , _data : t . data , _options : t . options . tooltips } , t ) } , bindEvents : function ( ) { var t = this , e = t . _listeners = { } , i = function ( ) { t . eventHandler . apply ( t , arguments ) } ; Si . each ( t . options . events , function ( n ) { Un . addEventListener ( t , n , i ) , e [ n ] = i } ) , t . options . responsive && ( i = function ( ) { t . resize ( ) } , Un . addEventListener ( t , "resize" , i ) , e . resize = i ) } , unbindEvents : function ( ) { var t = this , e = t . _listeners ; e && ( delete t . _listeners , Si . each ( e , function ( e , i ) { Un . removeEventListener ( t , i , e ) } ) ) } , updateHoverStyle : function ( t , e , i ) { var n , s , o , a = i ? "set" : "remove" ; for ( s = 0 , o = t . length ; s < o ; ++ s ) ( n = t [ s ] ) && this . getDatasetMeta ( n . _datasetIndex ) . controller [ a + "HoverStyle" ] ( n ) ; "dataset" === e && this . getDatasetMeta ( t [ 0 ] . _datasetIndex ) . controller [ "_" + a + "DatasetHoverStyle" ] ( ) } , eventHandler : function ( t ) { var e = this , i = e . tooltip ; if ( ! 1 !== jn . notify ( e , "beforeEvent" , [ t ] ) ) { e . _bufferedRender = ! 0 , e . _bufferedRequest = null ; var n = e . handleEvent ( t ) ; i && ( n = i . _start ? i . handleEvent ( t ) : n | i . handleEvent ( t ) ) , jn . notify ( e , "afterEvent" , [ t ] ) ; var s = e . _bufferedRequest ; return s ? e . render ( s ) : n && ! e . animating && ( e . stop ( ) , e . render ( { duration : e . options . hover . animationDuration , lazy : ! 0 } ) ) , e . _bufferedRender = ! 1 , e . _bufferedRequest = null , e } } , handleEvent : function ( t ) { var e = this , i = e . options || { } , n = i . hover , s = ! 1 ; return e . lastActive = e . lastActive || [ ] , "mouseout" === t . type ? e . active = [ ] : e . active = e . getElementsAtEventForMode ( t , n . mode , n ) , Si . callback ( i . onHover || i . hover . onHover , [ t . native , e . active ] , e ) , "mouseup" !== t . type && "click" !== t . type || i . onClick && i . onClick . call ( e , t . native , e . active ) , e . lastActive . length && e . updateHoverStyle ( e . lastActive , n . mode , ! 1 ) , e . active . length && n . mode && e . updateHoverStyle ( e . active , n . mode , ! 0 ) , s = ! Si . arrayEquals ( e . active , e . lastActive ) , e . lastActive = e . active , s } } ) , Jn . instances = { } ; var ts = Jn ; Jn . Controller = Jn , Jn . types = { } , Si . configMerge = Et , Si . scaleMerge = Ot ; Si . extend ( Bt . prototype , { formats : Wt , parse : Wt , format : Wt , add : Wt , diff : Wt , startOf : Wt , endOf : Wt , _create : function ( t ) { return t } } ) , Bt . override = functio
r . _timestamps = { data : p , datasets : g , labels : m } } , buildTicks : function ( ) { var t , e , i , n = this , s = n . min , o = n . max , a = n . options , r = a . ticks , l = a . time , h = n . _timestamps , u = [ ] , c = n . getLabelCapacity ( s ) , d = r . source , f = a . distribution ; for ( h = "data" === d || "auto" === d && "series" === f ? h . data : "labels" === d ? h . labels : Pe ( n , s , o , c ) , "ticks" === a . bounds && h . length && ( s = h [ 0 ] , o = h [ h . length - 1 ] ) , s = Me ( n , ye ( a ) ) || s , o = Me ( n , xe ( a ) ) || o , t = 0 , e = h . length ; t < e ; ++ t ) ( i = h [ t ] ) >= s && i <= o && u . push ( i ) ; return n . min = s , n . max = o , n . _unit = l . unit || ( r . autoSkip ? Se ( l . minUnit , n . min , n . max , c ) : Te ( n , u . length , l . minUnit , n . min , n . max ) ) , n . _majorUnit = r . major . enabled && "year" !== n . _unit ? Ie ( n . _unit ) : void 0 , n . _table = we ( n . _timestamps . data , s , o , f ) , n . _offsets = Ae ( n . _table , u , s , o , a ) , r . reverse && u . reverse ( ) , Oe ( n , u , n . _majorUnit ) } , getLabelForIndex : function ( t , e ) { var i = this , n = i . _adapter , s = i . chart . data , o = i . options . time , a = s . labels && t < s . labels . length ? s . labels [ t ] : "" , r = s . datasets [ e ] . data [ t ] ; return Si . isObject ( r ) && ( a = i . getRightValue ( r ) ) , o . tooltipFormat ? n . format ( De ( i , a ) , o . tooltipFormat ) : "string" == typeof a ? a : n . format ( De ( i , a ) , o . displayFormats . datetime ) } , tickFormatFunction : function ( t , e , i , n ) { var s = this , o = s . _adapter , a = s . options , r = a . time . displayFormats , l = r [ s . _unit ] , h = s . _majorUnit , u = r [ h ] , c = i [ e ] , d = a . ticks , f = h && u && c && c . major , p = o . format ( t , n || ( f ? u : l ) ) , g = f ? d . major : d . minor , m = Fs ( [ g . callback , g . userCallback , d . callback , d . userCallback ] ) ; return m ? m ( p , e , i ) : p } , convertTicksToLabels : function ( t ) { var e , i , n = [ ] ; for ( e = 0 , i = t . length ; e < i ; ++ e ) n . push ( this . tickFormatFunction ( t [ e ] . value , e , t ) ) ; return n } , getPixelForOffset : function ( t ) { var e = this , i = e . _offsets , n = Ce ( e . _table , "time" , t , "pos" ) ; return e . getPixelForDecimal ( ( i . start + n ) * i . factor ) } , getPixelForValue : function ( t , e , i ) { var n = this , s = null ; if ( void 0 !== e && void 0 !== i && ( s = n . _timestamps . datasets [ i ] [ e ] ) , null === s && ( s = Me ( n , t ) ) , null !== s ) return n . getPixelForOffset ( s ) } , getPixelForTick : function ( t ) { var e = this . getTicks ( ) ; return t >= 0 && t < e . length ? this . getPixelForOffset ( e [ t ] . value ) : null } , getValueForPixel : function ( t ) { var e = this , i = e . _offsets , n = e . getDecimalForPixel ( t ) / i . factor - i . end , s = Ce ( e . _table , "pos" , n , "time" ) ; return e . _adapter . _create ( s ) } , _getLabelSize : function ( t ) { var e = this , i = e . options . ticks , n = e . ctx . measureText ( t ) . width , s = Si . toRadians ( e . isHorizontal ( ) ? i . maxRotation : i . minRotation ) , o = Math . cos ( s ) , a = Math . sin ( s ) , r = Os ( i . fontSize , mi . global . defaultFontSize ) ; return { w : n * o + r * a , h : n * a + r * o } } , getLabelWidth : function ( t ) { return this . _getLabelSize ( t ) . w } , getLabelCapacity : function ( t ) { var e = this , i = e . options . time , n = i . displayFormats , s = n [ i . unit ] || n . millisecond , o = e . tickFormatFunction ( t , 0 , Oe ( e , [ t ] , e . _majorUnit ) , s ) , a = e . _getLabelSize ( o ) , r = Math . floor ( e . isHorizontal ( ) ? e . width / a . w : e . height / a . h ) ; return e . options . offset && r -- , r > 0 ? r : 1 } } ) , Ws = Hs ; Rs . _defaults = Ws ; var Bs = { category : ds , linear : bs , logarithmic : ks , radialLinear : Is , time : Rs } , Vs = { datetime : "MMM D, YYYY, h:mm:ss a" , millisecond : "h:mm:ss.SSS a" , second : "h:mm:ss a" , minute : "h:mm a" , hour : "hA" , day : "MMM D" , week : "ll" , month : "MMM YYYY" , quarter : "[Q]Q - YYYY" , year : "YYYY" } ; is . _date . override ( "function" == typeof t ? { _id : "moment" , formats : function ( ) { return Vs } , parse : function ( e , i ) { return "string" == typeof e && "string" == typeof i ? e = t ( e , i ) : e instanceof t || ( e = t ( e ) ) , e . isValid ( ) ? e . valueOf ( ) : null } , format : function ( e , i ) { return t ( e ) . format ( i ) } , add : function ( e , i , n ) { return t ( e ) . add ( i , n ) . valueOf ( ) } , diff : function ( e , i , n ) { return t ( e ) . diff ( t ( i ) , n ) } , startOf : function ( e , i , n ) { return e = t ( e ) , "isoWeek" === i ? e . isoWeekday ( n ) . valueOf ( ) : e . startOf ( i ) . valueOf ( ) } , endOf : function ( e , i ) { return t ( e ) . endOf ( i ) . valueOf ( ) } , _create : function ( e ) { return t ( e ) } } : { } ) , mi . _set ( "global" , { plugins : { filler : { propagate : ! 0 } } } ) ; var Us = { dataset : function ( t ) { var e = t . fill , i = t . chart , n = i . getDatasetMeta ( e ) , s = n && i . isDatasetVisible ( e ) , o = s && n . dataset . _children || [ ] , a = o . length || 0 ; return a ? function ( t , e ) { return e < a && o [ e ] . _view || null } : null } , boundary : function ( t ) { var e = t . boundary , i = e ? e . x : null , n = e ? e . y : null ; return Si . isArray ( e ) ? function ( t , i ) { return e [ i ] } : function ( t ) { return { x : null === i ? t . x : i , y : null === n ? t . y : n } } } } , js = { id : "filler" , afterDatasetsUpdate : function ( t , e ) { var i , n , s , o , a = ( t . data . datasets || [ ] ) . length , r = e . propagate , l = [ ] ; for ( n = 0 ; n < a ; ++ n ) i = t . getDatasetMeta ( n ) , s = i . dataset , o = null , s && s . _model && s instanceof Zi . Line && ( o = { visible : t . isDatase
applyInputErrorStyling : function ( t , e ) { t . addClass ( e . errorElementClass ) . removeClass ( e . successElementClass ) , this . getParentContainer ( t ) . addClass ( e . inputParentClassOnError ) . removeClass ( e . inputParentClassOnSuccess ) , "" !== e . borderColorOnError && t . css ( "border-color" , e . borderColorOnError ) } , applyInputSuccessStyling : function ( t , e ) { t . addClass ( e . successElementClass ) , this . getParentContainer ( t ) . addClass ( e . inputParentClassOnSuccess ) } , removeInputStylingAndMessage : function ( t , i ) { t . removeClass ( i . successElementClass ) . removeClass ( i . errorElementClass ) . css ( "border-color" , "" ) ; var n = e . getParentContainer ( t ) ; if ( n . removeClass ( i . inputParentClassOnError ) . removeClass ( i . inputParentClassOnSuccess ) , "function" == typeof i . inlineErrorMessageCallback ) { var s = i . inlineErrorMessageCallback ( t , ! 1 , i ) ; s && s . html ( "" ) } else n . find ( "." + i . errorMessageClass ) . remove ( ) } , removeAllMessagesAndStyling : function ( i , n ) { if ( "function" == typeof n . submitErrorMessageCallback ) { var s = n . submitErrorMessageCallback ( i , ! 1 , n ) ; s && s . html ( "" ) } else i . find ( "." + n . errorMessageClass + ".alert" ) . remove ( ) ; i . find ( "." + n . errorElementClass + ",." + n . successElementClass ) . each ( function ( ) { e . removeInputStylingAndMessage ( t ( this ) , n ) } ) } , setInlineMessage : function ( e , i , n ) { this . applyInputErrorStyling ( e , n ) ; var s , o = document . getElementById ( e . attr ( "name" ) + "_err_msg" ) , a = ! 1 , r = function ( n ) { t . formUtils . $win . trigger ( "validationErrorDisplay" , [ e , n ] ) , n . html ( i ) } , l = function ( ) { var o = ! 1 ; a . find ( "." + n . errorMessageClass ) . each ( function ( ) { if ( this . inputReferer === e [ 0 ] ) return o = t ( this ) , ! 1 } ) , o ? i ? r ( o ) : o . remove ( ) : "" !== i && ( s = t ( '<div class="' + n . errorMessageClass + ' alert"></div>' ) , r ( s ) , s [ 0 ] . inputReferer = e [ 0 ] , a . prepend ( s ) ) } ; if ( o ) t . formUtils . warn ( "Using deprecated element reference " + o . id ) , a = t ( o ) , l ( ) ; else if ( "function" == typeof n . inlineErrorMessageCallback ) { if ( ! ( a = n . inlineErrorMessageCallback ( e , i , n ) ) ) return ; l ( ) } else { var h = this . getParentContainer ( e ) ; s = h . find ( "." + n . errorMessageClass + ".help-block" ) , 0 === s . length && ( s = t ( "<span></span>" ) . addClass ( "help-block" ) . addClass ( n . errorMessageClass ) , s . appendTo ( h ) ) , r ( s ) } } , setMessageInTopOfForm : function ( e , i , n , s ) { var o = '<div class="{errorMessageClass} alert alert-danger"><strong>{errorTitle}</strong><ul>{fields}</ul></div>' , a = ! 1 ; if ( "function" != typeof n . submitErrorMessageCallback || ( a = n . submitErrorMessageCallback ( e , i , n ) ) ) { var r = { errorTitle : s . errorTitle , fields : "" , errorMessageClass : n . errorMessageClass } ; t . each ( i , function ( t , e ) { r . fields += "<li>" + e + "</li>" } ) , t . each ( r , function ( t , e ) { o = o . replace ( "{" + t + "}" , e ) } ) , a ? a . html ( o ) : e . children ( ) . eq ( 0 ) . before ( t ( o ) ) } } } ; t . formUtils = t . extend ( t . formUtils || { } , { dialogs : e } ) } ( t ) , function ( t , e , i ) { "use strict" ; var n = 0 ; t . fn . validateOnBlur = function ( e , i ) { var n = this , s = this . find ( "*[data-validation]" ) ; return s . each ( function ( ) { var s = t ( this ) ; if ( s . is ( "[type=radio]" ) ) { var o = n . find ( '[type=radio][name="' + s . attr ( "name" ) + '"]' ) ; o . bind ( "blur.validation" , function ( ) { s . validateInputOnBlur ( e , i , ! 0 , "blur" ) } ) , i . validateCheckboxRadioOnClick && o . bind ( "click.validation" , function ( ) { s . validateInputOnBlur ( e , i , ! 0 , "click" ) } ) } } ) , s . bind ( "blur.validation" , function ( ) { t ( this ) . validateInputOnBlur ( e , i , ! 0 , "blur" ) } ) , i . validateCheckboxRadioOnClick && this . find ( "input[type=checkbox][data-validation],input[type=radio][data-validation]" ) . bind ( "click.validation" , function ( ) { t ( this ) . validateInputOnBlur ( e , i , ! 0 , "click" ) } ) , this } , t . fn . validateOnEvent = function ( e , i ) { if ( 0 !== this . length ) { return ( "FORM" === this [ 0 ] . nodeName ? this . find ( "*[data-validation-event]" ) : this ) . each ( function ( ) { var n = t ( this ) , s = n . valAttr ( "event" ) ; s && n . unbind ( s + ".validation" ) . bind ( s + ".validation" , function ( n ) { 9 !== ( n || { } ) . keyCode && t ( this ) . validateInputOnBlur ( e , i , ! 0 , s ) } ) } ) , this } } , t . fn . showHelpOnFocus = function ( e ) { return e || ( e = "data-validation-help" ) , this . find ( "textarea,input" ) . each ( function ( ) { var i = t ( this ) , s = "jquery_form_help_" + ++ n , o = i . attr ( e ) ; i . removeClass ( "has-help-text" ) . unbind ( "focus.help" ) . unbind ( "blur.help" ) , o && i . addClass ( "has-help-txt" ) . bind ( "focus.help" , function ( ) { var e = i . parent ( ) . find ( "." + s ) ; 0 === e . length && ( e = t ( "<span />" ) . addClass ( s ) . addClass ( "help" ) . addClass ( "help-block" ) . text ( o ) . hide ( ) , i . after ( e ) ) , e . fadeIn ( ) } ) . bind ( "blur.help" , function ( ) { t ( this ) . parent ( ) . find ( "." + s ) . fadeOut ( "slow" ) } ) } ) , this } , t . fn . vali
; if ( t === window ) return [ window ] ; if ( "string" == typeof t ) return [ t ] ; if ( i ( t ) ) return t ; if ( "number" != typeof t . length ) return [ t ] ; if ( "function" == typeof t && t instanceof Function ) return [ t ] ; for ( var e = [ ] , n = 0 ; n < t . length ; n ++ ) ( Object . prototype . hasOwnProperty . call ( t , n ) || n in t ) && e . push ( t [ n ] ) ; return e . length ? e : [ ] } } , function ( t , e ) { t . exports = function ( t ) { return t = void 0 === t ? "" : t , t = null === t ? "" : t , t = t . toString ( ) } } , function ( t , e ) { t . exports = function ( t ) { for ( var e , i = Array . prototype . slice . call ( arguments , 1 ) , n = 0 ; e = i [ n ] ; n ++ ) if ( e ) for ( var s in e ) t [ s ] = e [ s ] ; return t } } , function ( t , e ) { t . exports = function ( t ) { var e = function ( i , n , s ) { var o = i . splice ( 0 , 50 ) ; s = s || [ ] , s = s . concat ( t . add ( o ) ) , i . length > 0 ? setTimeout ( function ( ) { e ( i , n , s ) } , 1 ) : ( t . update ( ) , n ( s ) ) } ; return e } } , function ( t , e ) { t . exports = function ( t ) { return t . handlers . filterStart = t . handlers . filterStart || [ ] , t . handlers . filterComplete = t . handlers . filterComplete || [ ] , function ( e ) { if ( t . trigger ( "filterStart" ) , t . i = 1 , t . reset . filter ( ) , void 0 === e ) t . filtered = ! 1 ; else { t . filtered = ! 0 ; for ( var i = t . items , n = 0 , s = i . length ; n < s ; n ++ ) { var o = i [ n ] ; e ( o ) ? o . filtered = ! 0 : o . filtered = ! 1 } } return t . update ( ) , t . trigger ( "filterComplete" ) , t . visibleItems } } } , function ( t , e , i ) { var n = ( i ( 0 ) , i ( 1 ) ) , s = i ( 7 ) , o = i ( 6 ) , a = i ( 3 ) , r = i ( 19 ) ; t . exports = function ( t , e ) { e = e || { } , e = s ( { location : 0 , distance : 100 , threshold : . 4 , multiSearch : ! 0 , searchClass : "fuzzy-search" } , e ) ; var i = { search : function ( n , s ) { for ( var o = e . multiSearch ? n . replace ( / +$/ , "" ) . split ( / +/ ) : [ n ] , a = 0 , r = t . items . length ; a < r ; a ++ ) i . item ( t . items [ a ] , s , o ) } , item : function ( t , e , n ) { for ( var s = ! 0 , o = 0 ; o < n . length ; o ++ ) { for ( var a = ! 1 , r = 0 , l = e . length ; r < l ; r ++ ) i . values ( t . values ( ) , e [ r ] , n [ o ] ) && ( a = ! 0 ) ; a || ( s = ! 1 ) } t . found = s } , values : function ( t , i , n ) { if ( t . hasOwnProperty ( i ) ) { var s = o ( t [ i ] ) . toLowerCase ( ) ; if ( r ( s , n , e ) ) return ! 0 } return ! 1 } } ; return n . bind ( a ( t . listContainer , e . searchClass ) , "keyup" , function ( e ) { var n = e . target || e . srcElement ; t . search ( n . value , i . search ) } ) , function ( e , n ) { t . search ( e , n , i . search ) } } } , function ( t , e , i ) { var n = i ( 18 ) , s = i ( 3 ) , o = i ( 7 ) , a = i ( 4 ) , r = i ( 1 ) , l = i ( 6 ) , h = i ( 0 ) , u = i ( 17 ) , c = i ( 5 ) ; t . exports = function ( t , e , d ) { var f , p = this , g = i ( 2 ) ( p ) , m = i ( 8 ) ( p ) , v = i ( 12 ) ( p ) ; f = { start : function ( ) { p . listClass = "list" , p . searchClass = "search" , p . sortClass = "sort" , p . page = 1e4 , p . i = 1 , p . items = [ ] , p . visibleItems = [ ] , p . matchingItems = [ ] , p . searched = ! 1 , p . filtered = ! 1 , p . searchColumns = void 0 , p . handlers = { updated : [ ] } , p . valueNames = [ ] , p . utils = { getByClass : s , extend : o , indexOf : a , events : r , toString : l , naturalSort : n , classes : h , getAttribute : u , toArray : c } , p . utils . extend ( p , e ) , p . listContainer = "string" == typeof t ? document . getElementById ( t ) : t , p . listContainer && ( p . list = s ( p . listContainer , p . listClass , ! 0 ) , p . parse = i ( 13 ) ( p ) , p . templater = i ( 16 ) ( p ) , p . search = i ( 14 ) ( p ) , p . filter = i ( 9 ) ( p ) , p . sort = i ( 15 ) ( p ) , p . fuzzySearch = i ( 10 ) ( p , e . fuzzySearch ) , this . handlers ( ) , this . items ( ) , this . pagination ( ) , p . update ( ) ) } , handlers : function ( ) { for ( var t in p . handlers ) p [ t ] && p . on ( t , p [ t ] ) } , items : function ( ) { p . parse ( p . list ) , void 0 !== d && p . add ( d ) } , pagination : function ( ) { if ( void 0 !== e . pagination ) { ! 0 === e . pagination && ( e . pagination = [ { } ] ) , void 0 === e . pagination [ 0 ] && ( e . pagination = [ e . pagination ] ) ; for ( var t = 0 , i = e . pagination . length ; t < i ; t ++ ) v ( e . pagination [ t ] ) } } } , this . reIndex = function ( ) { p . items = [ ] , p . visibleItems = [ ] , p . matchingItems = [ ] , p . searched = ! 1 , p . filtered = ! 1 , p . parse ( p . list ) } , this . toJSON = function ( ) { for ( var t = [ ] , e = 0 , i = p . items . length ; e < i ; e ++ ) t . push ( p . items [ e ] . values ( ) ) ; return t } , this . add = function ( t , e ) { if ( 0 !== t . length ) { if ( e ) return void m ( t , e ) ; var i = [ ] , n = ! 1 ; void 0 === t [ 0 ] && ( t = [ t ] ) ; for ( var s = 0 , o = t . length ; s < o ; s ++ ) { var a = null ; n = p . items . length > p . page , a = new g ( t [ s ] , void 0 , n ) , p . items . push ( a ) , i . push ( a ) } return p . update ( ) , i } } , this . show = function ( t , e ) { return this . i = t , this . page = e , p . update ( ) , p } , this . remove = function ( t , e , i ) { for ( var n = 0 , s = 0 , o = p . items . length ; s < o ; s ++ ) p . items [ s ] . values ( ) [ t ] == e && ( p . templater . remove ( p . items [ s ] , i ) , p . items . splice ( s , 1 ) , o -- , s -- , n ++ ) ; return p . update ( ) , n } , this . get = function ( t , e ) { for ( var i = [ ] , n = 0 , s = p . items . length ; n < s ; n ++ ) { var o = p . items [ n ] ; o . values ( ) [ t ] == e && i . push ( o ) } return i } , this . size = function ( ) { return p . items . length } , this . clear = function ( ) { return p . templater . clear ( ) , p . items = [ ] , p } , this . on = function ( t , e ) { return p . handlers [ t ] . push ( e ) , p } , this . off = function ( t , e ) { var i = p . handlers [ t ] , n = a ( i , e ) ; return n > - 1 && i . splice ( n