2015-03-22 20:54:54 +00:00
/ * *
* jQuery JSON plugin 2.4 . 0
* https : //code.google.com/p/jquery-json/
* /
( function ( $ ) { var escape = /["\\\x00-\x1f\x7f-\x9f]/g , meta = { "\b" : "\\b" , "\t" : "\\t" , "\n" : "\\n" , "\f" : "\\f" , "\r" : "\\r" , '"' : '\\"' , "\\" : "\\\\" } , hasOwn = Object . prototype . hasOwnProperty ; $ . toJSON = typeof JSON === "object" && JSON . stringify ? JSON . stringify : function ( o ) { if ( o === null ) { return "null" } var pairs , k , name , val , type = $ . type ( o ) ; if ( type === "undefined" ) { return undefined } if ( type === "number" || type === "boolean" ) { return String ( o ) } if ( type === "string" ) { return $ . quoteString ( o ) } if ( typeof o . toJSON === "function" ) { return $ . toJSON ( o . toJSON ( ) ) } if ( type === "date" ) { var month = o . getUTCMonth ( ) + 1 , day = o . getUTCDate ( ) , year = o . getUTCFullYear ( ) , hours = o . getUTCHours ( ) , minutes = o . getUTCMinutes ( ) , seconds = o . getUTCSeconds ( ) , milli = o . getUTCMilliseconds ( ) ; if ( month < 10 ) { month = "0" + month } if ( day < 10 ) { day = "0" + day } if ( hours < 10 ) { hours = "0" + hours } if ( minutes < 10 ) { minutes = "0" + minutes } if ( seconds < 10 ) { seconds = "0" + seconds } if ( milli < 100 ) { milli = "0" + milli } if ( milli < 10 ) { milli = "0" + milli } return '"' + year + "-" + month + "-" + day + "T" + hours + ":" + minutes + ":" + seconds + "." + milli + 'Z"' } pairs = [ ] ; if ( $ . isArray ( o ) ) { for ( k = 0 ; k < o . length ; k ++ ) { pairs . push ( $ . toJSON ( o [ k ] ) || "null" ) } return "[" + pairs . join ( "," ) + "]" } if ( typeof o === "object" ) { for ( k in o ) { if ( hasOwn . call ( o , k ) ) { type = typeof k ; if ( type === "number" ) { name = '"' + k + '"' } else { if ( type === "string" ) { name = $ . quoteString ( k ) } else { continue } } type = typeof o [ k ] ; if ( type !== "function" && type !== "undefined" ) { val = $ . toJSON ( o [ k ] ) ; pairs . push ( name + ":" + val ) } } } return "{" + pairs . join ( "," ) + "}" } } ; $ . evalJSON = typeof JSON === "object" && JSON . parse ? JSON . parse : function ( str ) { return eval ( "(" + str + ")" ) } ; $ . secureEvalJSON = typeof JSON === "object" && JSON . parse ? JSON . parse : function ( str ) { var filtered = str . replace ( /\\["\\\/bfnrtu]/g , "@" ) . replace ( /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g , "]" ) . replace ( /(?:^|:|,)(?:\s*\[)+/g , "" ) ; if ( /^[\],:{}\s]*$/ . test ( filtered ) ) { return eval ( "(" + str + ")" ) } throw new SyntaxError ( "Error parsing JSON, source is not valid." ) } ; $ . quoteString = function ( str ) { if ( str . match ( escape ) ) { return '"' + str . replace ( escape , function ( a ) { var c = meta [ a ] ; if ( typeof c === "string" ) { return c } c = a . charCodeAt ( ) ; return "\\u00" + Math . floor ( c / 16 ) . toString ( 16 ) + ( c % 16 ) . toString ( 16 ) } ) + '"' } return '"' + str + '"' } } ( jQuery ) ) ;
//简写
2016-12-21 08:01:06 +00:00
var jsonEncode = $ . toJSON ;
var jsonDecode = $ . evalJSON ;
2015-03-22 20:54:54 +00:00
/ * * 2 . 4
* jQuery Easing v1 . 3 - http : //gsgd.co.uk/sandbox/jquery/easing/
* t : current time , b : begInnIng value , c : change In value , d : duration
* /
jQuery . easing [ "jswing" ] = jQuery . easing [ "swing" ] ; jQuery . extend ( jQuery . easing , { def : "easeOutQuad" , swing : function ( e , f , a , h , g ) { return jQuery . easing [ jQuery . easing . def ] ( e , f , a , h , g ) ; } , easeInQuad : function ( e , f , a , h , g ) { return h * ( f /= g ) * f + a ; } , easeOutQuad : function ( e , f , a , h , g ) { return - h * ( f /= g ) * ( f - 2 ) + a ; } , easeInOutQuad : function ( e , f , a , h , g ) { if ( ( f /= g / 2 ) < 1 ) { return h / 2 * f * f + a ; } return - h / 2 * ( ( -- f ) * ( f - 2 ) - 1 ) + a ; } , easeInCubic : function ( e , f , a , h , g ) { return h * ( f /= g ) * f * f + a ; } , easeOutCubic : function ( e , f , a , h , g ) { return h * ( ( f = f / g - 1 ) * f * f + 1 ) + a ; } , easeInOutCubic : function ( e , f , a , h , g ) { if ( ( f /= g / 2 ) < 1 ) { return h / 2 * f * f * f + a ; } return h / 2 * ( ( f -= 2 ) * f * f + 2 ) + a ; } , easeInQuart : function ( e , f , a , h , g ) { return h * ( f /= g ) * f * f * f + a ; } , easeOutQuart : function ( e , f , a , h , g ) { return - h * ( ( f = f / g - 1 ) * f * f * f - 1 ) + a ; } , easeInOutQuart : function ( e , f , a , h , g ) { if ( ( f /= g / 2 ) < 1 ) { return h / 2 * f * f * f * f + a ; } return - h / 2 * ( ( f -= 2 ) * f * f * f - 2 ) + a ; } , easeInQuint : function ( e , f , a , h , g ) { return h * ( f /= g ) * f * f * f * f + a ; } , easeOutQuint : function ( e , f , a , h , g ) { return h * ( ( f = f / g - 1 ) * f * f * f * f + 1 ) + a ; } , easeInOutQuint : function ( e , f , a , h , g ) { if ( ( f /= g / 2 ) < 1 ) { return h / 2 * f * f * f * f * f + a ; } return h / 2 * ( ( f -= 2 ) * f * f * f * f + 2 ) + a ; } , easeInSine : function ( e , f , a , h , g ) { return - h * Math . cos ( f / g * ( Math . PI / 2 ) ) + h + a ; } , easeOutSine : function ( e , f , a , h , g ) { return h * Math . sin ( f / g * ( Math . PI / 2 ) ) + a ; } , easeInOutSine : function ( e , f , a , h , g ) { return - h / 2 * ( Math . cos ( Math . PI * f / g ) - 1 ) + a ; } , easeInExpo : function ( e , f , a , h , g ) { return ( f == 0 ) ? a : h * Math . pow ( 2 , 10 * ( f / g - 1 ) ) + a ; } , easeOutExpo : function ( e , f , a , h , g ) { return ( f == g ) ? a + h : h * ( - Math . pow ( 2 , - 10 * f / g ) + 1 ) + a ; } , easeInOutExpo : function ( e , f , a , h , g ) { if ( f == 0 ) { return a ; } if ( f == g ) { return a + h ; } if ( ( f /= g / 2 ) < 1 ) { return h / 2 * Math . pow ( 2 , 10 * ( f - 1 ) ) + a ; } return h / 2 * ( - Math . pow ( 2 , - 10 * -- f ) + 2 ) + a ; } , easeInCirc : function ( e , f , a , h , g ) { return - h * ( Math . sqrt ( 1 - ( f /= g ) * f ) - 1 ) + a ; } , easeOutCirc : function ( e , f , a , h , g ) { return h * Math . sqrt ( 1 - ( f = f / g - 1 ) * f ) + a ; } , easeInOutCirc : function ( e , f , a , h , g ) { if ( ( f /= g / 2 ) < 1 ) { return - h / 2 * ( Math . sqrt ( 1 - f * f ) - 1 ) + a ; } return h / 2 * ( Math . sqrt ( 1 - ( f -= 2 ) * f ) + 1 ) + a ; } , easeInElastic : function ( f , h , e , l , k ) { var i = 1.70158 ; var j = 0 ; var g = l ; if ( h == 0 ) { return e ; } if ( ( h /= k ) == 1 ) { return e + l ; } if ( ! j ) { j = k * 0.3 ; } if ( g < Math . abs ( l ) ) { g = l ; var i = j / 4 ; } else { var i = j / ( 2 * Math . PI ) * Math . asin ( l / g ) ; } return - ( g * Math . pow ( 2 , 10 * ( h -= 1 ) ) * Math . sin ( ( h * k - i ) * ( 2 * Math . PI ) / j ) ) + e ; } , easeOutElastic : function ( f , h , e , l , k ) { var i = 1.70158 ; var j = 0 ; var g = l ; if ( h == 0 ) { return e ; } if ( ( h /= k ) == 1 ) { return e + l ; } if ( ! j ) { j = k * 0.3 ; } if ( g < Math . abs ( l ) ) { g = l ; var i = j / 4 ; } else { var i = j / ( 2 * Math . PI ) * Math . asin ( l / g ) ; } return g * Math . pow ( 2 , - 10 * h ) * Math . sin ( ( h * k - i ) * ( 2 * Math . PI ) / j ) + l + e ; } , easeInOutElastic : function ( f , h , e , l , k ) { var i = 1.70158 ; var j = 0 ; var g = l ; if ( h == 0 ) { return e ; } if ( ( h /= k / 2 ) == 2 ) { return e + l ; } if ( ! j ) { j = k * ( 0.3 * 1.5 ) ; } if ( g < Math . abs ( l ) ) { g = l ; var i = j / 4 ; } else { var i = j / ( 2 * Math . PI ) * Math . asin ( l / g ) ; } if ( h < 1 ) { return - 0.5 * ( g * Math . pow ( 2 , 10 * ( h -= 1 ) ) * Math . sin ( ( h * k - i ) * ( 2 * Math . PI ) / j ) ) + e ; } return g * Math . pow ( 2 , - 10 * ( h -= 1 ) ) * Math . sin ( ( h * k - i ) * ( 2 * Math . PI ) / j ) * 0.5 + l + e ; } , easeInBack : function ( e , f , a , i , h , g ) { if ( g == undefined ) { g = 1.70158 ; } return i * ( f /= h ) * f * ( ( g + 1 ) * f - g ) + a ; } , easeOutBack : function ( e , f , a , i , h , g ) { if ( g == undefined ) { g = 1.70158 ; } return i * ( ( f = f / h - 1 ) * f * ( ( g + 1 ) * f + g ) + 1 ) + a ; } , easeInOutBack : function ( e , f , a , i , h , g ) { if ( g == undefined ) { g = 1.70158 ; } if ( ( f /= h / 2 ) < 1 ) { return i / 2 * ( f * f * ( ( ( g *= ( 1.525 ) ) + 1 ) * f - g ) ) + a ; } return i / 2 * ( ( f -= 2 ) * f * ( ( ( g *= ( 1.525 ) ) + 1 ) * f + g ) + 2 ) + a ; } , easeInBounce : function ( e , f , a , h , g ) { return h - jQuery . easing . easeOutBounce ( e , g - f , 0 , h , g ) + a ; } , easeOutBounce : function ( e , f , a , h , g ) { if ( ( f /= g ) < ( 1 / 2.75 ) ) { return h * ( 7.5625 * f * f ) + a ; } else { if ( f < ( 2 / 2.75 ) ) { return h * ( 7.5625 * ( f -= ( 1.5 / 2.75 ) ) * f + 0.75 ) + a ; } else { if ( f < ( 2.5 / 2.75 ) ) { return h * ( 7.5625 * ( f -= ( 2.25 / 2.75 ) ) * f + 0.9375 ) + a ; } else { return h * ( 7.5625 * ( f -= ( 2.625 / 2.75 ) ) * f + 0.984375 ) + a ; } } } } , easeInOutBounce : function ( e , f , a , h , g ) { if ( f < g / 2 ) { return jQuery . easing . easeInBounce ( e , f * 2 , 0 , h , g ) * 0.5 + a ; } return jQuery . easing . easeOutBounce ( e , f * 2 - g , 0 , h , g ) * 0.5 + h * 0.5 + a ; } } ) ;
2016-12-21 08:01:06 +00:00
/* mousetrap v1.6.0 craig.is/killing/mice */
( function ( r , t , g ) { function u ( a , b , h ) { a . addEventListener ? a . addEventListener ( b , h , ! 1 ) : a . attachEvent ( "on" + b , h ) } function y ( a ) { if ( "keypress" == a . type ) { var b = String . fromCharCode ( a . which ) ; a . shiftKey || ( b = b . toLowerCase ( ) ) ; return b } return k [ a . which ] ? k [ a . which ] : p [ a . which ] ? p [ a . which ] : String . fromCharCode ( a . which ) . toLowerCase ( ) } function D ( a ) { var b = [ ] ; a . shiftKey && b . push ( "shift" ) ; a . altKey && b . push ( "alt" ) ; a . ctrlKey && b . push ( "ctrl" ) ; a . metaKey && b . push ( "meta" ) ; return b } function v ( a ) { return "shift" == a || "ctrl" == a || "alt" == a || "meta" == a } function z ( a , b ) { var h , c , e , g = [ ] ; h = a ; "+" === h ? h = [ "+" ] : ( h = h . replace ( /\+{2}/g , "+plus" ) , h = h . split ( "+" ) ) ; for ( e = 0 ; e < h . length ; ++ e ) c = h [ e ] , A [ c ] && ( c = A [ c ] ) , b && "keypress" != b && B [ c ] && ( c = B [ c ] , g . push ( "shift" ) ) , v ( c ) && g . push ( c ) ; h = c ; e = b ; if ( ! e ) { if ( ! n ) { n = { } ; for ( var l in k ) 95 < l && 112 > l || k . hasOwnProperty ( l ) && ( n [ k [ l ] ] = l ) } e = n [ h ] ? "keydown" : "keypress" } "keypress" == e && g . length && ( e = "keydown" ) ; return { key : c , modifiers : g , action : e } } function C ( a , b ) { return null === a || a === t ? ! 1 : a === b ? ! 0 : C ( a . parentNode , b ) } function c ( a ) { function b ( a ) { a = a || { } ; var b = ! 1 , m ; for ( m in n ) a [ m ] ? b = ! 0 : n [ m ] = 0 ; b || ( w = ! 1 ) } function h ( a , b , m , f , c , h ) { var g , e , k = [ ] , l = m . type ; if ( ! d . _callbacks [ a ] ) return [ ] ; "keyup" == l && v ( a ) && ( b = [ a ] ) ; for ( g = 0 ; g < d . _callbacks [ a ] . length ; ++ g ) if ( e = d . _callbacks [ a ] [ g ] , ( f || ! e . seq || n [ e . seq ] == e . level ) && l == e . action ) { var q ; ( q = "keypress" == l && ! m . metaKey && ! m . ctrlKey ) || ( q = e . modifiers , q = b . sort ( ) . join ( "," ) === q . sort ( ) . join ( "," ) ) ; q && ( q = f && e . seq == f && e . level == h , ( ! f && e . combo == c || q ) && d . _callbacks [ a ] . splice ( g , 1 ) , k . push ( e ) ) } return k } function g ( a , b , m , f ) { d . stopCallback ( b , b . target || b . srcElement , m , f ) || ! 1 !== a ( b , m ) || ( b . preventDefault ? b . preventDefault ( ) : b . returnValue = ! 1 , b . stopPropagation ? b . stopPropagation ( ) : b . cancelBubble = ! 0 ) } function e ( a ) { "number" !== typeof a . which && ( a . which = a . keyCode ) ; var b = y ( a ) ; b && ( "keyup" == a . type && x === b ? x = ! 1 : d . handleKey ( b , D ( a ) , a ) ) } function k ( a , c , m , f ) { function e ( c ) { return function ( ) { w = c ; ++ n [ a ] ; clearTimeout ( r ) ; r = setTimeout ( b , 1E3 ) } } function h ( c ) { g ( m , c , a ) ; "keyup" !== f && ( x = y ( c ) ) ; setTimeout ( b , 10 ) } for ( var d = n [ a ] = 0 ; d < c . length ; ++ d ) { var p = d + 1 === c . length ? h : e ( f || z ( c [ d + 1 ] ) . action ) ; l ( c [ d ] , p , f , a , d ) } } function l ( a , b , c , f , e ) { d . _directMap [ a + ":" + c ] = b ; a = a . replace ( /\s+/g , " " ) ; var g = a . split ( " " ) ; 1 < g . length ? k ( a , g , b , c ) : ( c = z ( a , c ) , d . _callbacks [ c . key ] = d . _callbacks [ c . key ] || [ ] , h ( c . key , c . modifiers , { type : c . action } , f , a , e ) , d . _callbacks [ c . key ] [ f ? "unshift" : "push" ] ( { callback : b , modifiers : c . modifiers , action : c . action , seq : f , level : e , combo : a } ) ) } var d = this ; a = a || t ; if ( ! ( d instanceof c ) ) return new c ( a ) ; d . target = a ; d . _callbacks = { } ; d . _directMap = { } ; var n = { } , r , x = ! 1 , p = ! 1 , w = ! 1 ; d . _handleKey = function ( a , c , e ) { var f = h ( a , c , e ) , d ; c = { } ; var k = 0 , l = ! 1 ; for ( d = 0 ; d < f . length ; ++ d ) f [ d ] . seq && ( k = Math . max ( k , f [ d ] . level ) ) ; for ( d = 0 ; d < f . length ; ++ d ) f [ d ] . seq ? f [ d ] . level == k && ( l = ! 0 , c [ f [ d ] . seq ] = 1 , g ( f [ d ] . callback , e , f [ d ] . combo , f [ d ] . seq ) ) : l || g ( f [ d ] . callback , e , f [ d ] . combo ) ; f = "keypress" == e . type && p ; e . type != w || v ( a ) || f || b ( c ) ; p = l && "keydown" == e . type } ; d . _bindMultiple = function ( a , b , c ) { for ( var d = 0 ; d < a . length ; ++ d ) l ( a [ d ] , b , c ) } ; u ( a , "keypress" , e ) ; u ( a , "keydown" , e ) ; u ( a , "keyup" , e ) } if ( r ) { var k = { 8 : "backspace" , 9 : "tab" , 13 : "enter" , 16 : "shift" , 17 : "ctrl" , 18 : "alt" , 20 : "capslock" , 27 : "esc" , 32 : "space" , 33 : "pageup" , 34 : "pagedown" , 35 : "end" , 36 : "home" , 37 : "left" , 38 : "up" , 39 : "right" , 40 : "down" , 45 : "ins" , 46 : "del" , 91 : "meta" , 93 : "meta" , 224 : "meta" } , p = { 106 : "*" , 107 : "+" , 109 : "-" , 110 : "." , 111 : "/" , 186 : ";" , 187 : "=" , 188 : "," , 189 : "-" , 190 : "." , 191 : "/" , 192 : "`" , 219 : "[" , 220 : "\\" , 221 : "]" , 222 : "'" } , B = { "~" : "`" , "!" : "1" , "@" : "2" , "#" : "3" , $ : "4" , "%" : "5" , "^" : "6" , "&" : "7" , "*" : "8" , "(" : "9" , ")" : "0" , _ : "-" , "+" : "=" , ":" : ";" , '"' : "'" , "<" : "," , ">" : "." , "?" : "/" , "|" : "\\" } , A = { option : "alt" , command : "meta" , "return" : "enter" , escape : "esc" , plus : "+" , mod : /Mac|iPod|iPhone|iPad/ . test ( navigator . platform ) ? "meta" : "ctrl" } , n ; for ( g = 1 ; 20 > g ; ++ g ) k [ 111 + g ] = "f" + g ; for ( g = 0 ; 9 >= g ; ++ g ) k [ g + 96 ] = g ; c . prototype . bind = function ( a , b , c ) { a = a instanceof Array ? a : [ a ] ; this . _bindMultiple . call ( this , a , b , c ) ; return this } ; c . prototype . unbind = function ( a , b ) { return this . bind . call ( this , a , function ( ) { } , b ) } ; c . prototype . trigger = function ( a , b ) { if ( this . _directMap [ a + ":" + b ] ) this . _directMap [ a + ":" + b ] ( { } , a ) ; return this } ; c . prototype . reset = function ( ) { this . _callbacks = { } ; this . _directMap = { } ; return this } ; c . prototype . stopCallback = function ( a ,
/ * ! L a z y L o a d 1 . 9 . 7
* MIT license - Copyright 2010 - 2013 Mika Tuupola
2015-03-22 20:54:54 +00:00
* https : //github.com/tuupola/jquery_lazyload
2016-12-21 08:01:06 +00:00
*
* -- -- -- -- change by warlee :
* 修复图片加载错误也加入图片 : "load" 改为 "load error"
* /
! function ( a , b , c , d ) { var e = a ( b ) ; a . fn . lazyload = function ( f ) { function g ( ) { var b = 0 ; i . each ( function ( ) { var c = a ( this ) ; if ( ! j . skip _invisible || c . is ( ":visible" ) ) if ( a . abovethetop ( this , j ) || a . leftofbegin ( this , j ) ) ; else if ( a . belowthefold ( this , j ) || a . rightoffold ( this , j ) ) { if ( ++ b > j . failure _limit ) return ! 1 } else c . trigger ( "appear" ) , b = 0 } ) } var h , i = this , j = { threshold : 0 , failure _limit : 0 , event : "scroll" , effect : "show" , container : b , data _attribute : "original" , skip _invisible : ! 1 , appear : null , load : null , placeholder : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" } ; return f && ( d !== f . failurelimit && ( f . failure _limit = f . failurelimit , delete f . failurelimit ) , d !== f . effectspeed && ( f . effect _speed = f . effectspeed , delete f . effectspeed ) , a . extend ( j , f ) ) , h = j . container === d || j . container === b ? e : a ( j . container ) , 0 === j . event . indexOf ( "scroll" ) && h . bind ( j . event , function ( ) { return g ( ) } ) , this . each ( function ( ) { var b = this , c = a ( b ) ; b . loaded = ! 1 , ( c . attr ( "src" ) === d || c . attr ( "src" ) === ! 1 ) && c . is ( "img" ) && c . attr ( "src" , j . placeholder ) , c . one ( "appear" , function ( ) { if ( ! this . loaded ) { if ( j . appear ) { var d = i . length ; j . appear . call ( b , d , j ) } a ( "<img />" ) . bind ( "load error" , function ( ) { var d = c . attr ( "data-" + j . data _attribute ) ; c . hide ( ) , c . is ( "img" ) ? c . attr ( "src" , d ) : c . css ( "background-image" , "url('" + d + "')" ) , c [ j . effect ] ( j . effect _speed ) , b . loaded = ! 0 ; var e = a . grep ( i , function ( a ) { return ! a . loaded } ) ; if ( i = a ( e ) , j . load ) { var f = i . length ; j . load . call ( b , f , j ) } } ) . attr ( "src" , c . attr ( "data-" + j . data _attribute ) ) } } ) , 0 !== j . event . indexOf ( "scroll" ) && c . bind ( j . event , function ( ) { b . loaded || c . trigger ( "appear" ) } ) } ) , e . bind ( "resize" , function ( ) { g ( ) } ) , /(?:iphone|ipod|ipad).*os 5/gi . test ( navigator . appVersion ) && e . bind ( "pageshow" , function ( b ) { b . originalEvent && b . originalEvent . persisted && i . each ( function ( ) { a ( this ) . trigger ( "appear" ) } ) } ) , a ( c ) . ready ( function ( ) { g ( ) } ) , this } , a . belowthefold = function ( c , f ) { var g ; return g = f . container === d || f . container === b ? ( b . innerHeight ? b . innerHeight : e . height ( ) ) + e . scrollTop ( ) : a ( f . container ) . offset ( ) . top + a ( f . container ) . height ( ) , g <= a ( c ) . offset ( ) . top - f . threshold } , a . rightoffold = function ( c , f ) { var g ; return g = f . container === d || f . container === b ? e . width ( ) + e . scrollLeft ( ) : a ( f . container ) . offset ( ) . left + a ( f . container ) . width ( ) , g <= a ( c ) . offset ( ) . left - f . threshold } , a . abovethetop = function ( c , f ) { var g ; return g = f . container === d || f . container === b ? e . scrollTop ( ) : a ( f . container ) . offset ( ) . top , g >= a ( c ) . offset ( ) . top + f . threshold + a ( c ) . height ( ) } , a . leftofbegin = function ( c , f ) { var g ; return g = f . container === d || f . container === b ? e . scrollLeft ( ) : a ( f . container ) . offset ( ) . left , g >= a ( c ) . offset ( ) . left + f . threshold + a ( c ) . width ( ) } , a . inviewport = function ( b , c ) { return ! ( a . rightoffold ( b , c ) || a . leftofbegin ( b , c ) || a . belowthefold ( b , c ) || a . abovethetop ( b , c ) ) } , a . extend ( a . expr [ ":" ] , { "below-the-fold" : function ( b ) { return a . belowthefold ( b , { threshold : 0 } ) } , "above-the-top" : function ( b ) { return ! a . belowthefold ( b , { threshold : 0 } ) } , "right-of-screen" : function ( b ) { return a . rightoffold ( b , { threshold : 0 } ) } , "left-of-screen" : function ( b ) { return ! a . rightoffold ( b , { threshold : 0 } ) } , "in-viewport" : function ( b ) { return a . inviewport ( b , { threshold : 0 } ) } , "above-the-fold" : function ( b ) { return ! a . belowthefold ( b , { threshold : 0 } ) } , "right-of-fold" : function ( b ) { return a . rightoffold ( b , { threshold : 0 } ) } , "left-of-fold" : function ( b ) { return ! a . rightoffold ( b , { threshold : 0 } ) } } ) } ( jQuery , window , document ) ;
/ *
CryptoJS v3 . 1.2
code . google . com / p / crypto - js
( c ) 2009 - 2013 by Jeff Mott . All rights reserved .
code . google . com / p / crypto - js / wiki / License
2015-03-22 20:54:54 +00:00
* /
2016-12-21 08:01:06 +00:00
var CryptoJS = CryptoJS || function ( u , p ) { var d = { } , l = d . lib = { } , s = function ( ) { } , t = l . Base = { extend : function ( a ) { s . prototype = this ; var c = new s ; a && c . mixIn ( a ) ; c . hasOwnProperty ( "init" ) || ( c . init = function ( ) { c . $super . init . apply ( this , arguments ) } ) ; c . init . prototype = c ; c . $super = this ; return c } , create : function ( ) { var a = this . extend ( ) ; a . init . apply ( a , arguments ) ; return a } , init : function ( ) { } , mixIn : function ( a ) { for ( var c in a ) a . hasOwnProperty ( c ) && ( this [ c ] = a [ c ] ) ; a . hasOwnProperty ( "toString" ) && ( this . toString = a . toString ) } , clone : function ( ) { return this . init . prototype . extend ( this ) } } , r = l . WordArray = t . extend ( { init : function ( a , c ) { a = this . words = a || [ ] ; this . sigBytes = c != p ? c : 4 * a . length } , toString : function ( a ) { return ( a || v ) . stringify ( this ) } , concat : function ( a ) { var c = this . words , e = a . words , j = this . sigBytes ; a = a . sigBytes ; this . clamp ( ) ; if ( j % 4 ) for ( var k = 0 ; k < a ; k ++ ) c [ j + k >>> 2 ] |= ( e [ k >>> 2 ] >>> 24 - 8 * ( k % 4 ) & 255 ) << 24 - 8 * ( ( j + k ) % 4 ) ; else if ( 65535 < e . length ) for ( k = 0 ; k < a ; k += 4 ) c [ j + k >>> 2 ] = e [ k >>> 2 ] ; else c . push . apply ( c , e ) ; this . sigBytes += a ; return this } , clamp : function ( ) { var a = this . words , c = this . sigBytes ; a [ c >>> 2 ] &= 4294967295 << 32 - 8 * ( c % 4 ) ; a . length = u . ceil ( c / 4 ) } , clone : function ( ) { var a = t . clone . call ( this ) ; a . words = this . words . slice ( 0 ) ; return a } , random : function ( a ) { for ( var c = [ ] , e = 0 ; e < a ; e += 4 ) c . push ( 4294967296 * u . random ( ) | 0 ) ; return new r . init ( c , a ) } } ) , w = d . enc = { } , v = w . Hex = { stringify : function ( a ) { var c = a . words ; a = a . sigBytes ; for ( var e = [ ] , j = 0 ; j < a ; j ++ ) { var k = c [ j >>> 2 ] >>> 24 - 8 * ( j % 4 ) & 255 ; e . push ( ( k >>> 4 ) . toString ( 16 ) ) ; e . push ( ( k & 15 ) . toString ( 16 ) ) } return e . join ( "" ) } , parse : function ( a ) { for ( var c = a . length , e = [ ] , j = 0 ; j < c ; j += 2 ) e [ j >>> 3 ] |= parseInt ( a . substr ( j , 2 ) , 16 ) << 24 - 4 * ( j % 8 ) ; return new r . init ( e , c / 2 ) } } , b = w . Latin1 = { stringify : function ( a ) { var c = a . words ; a = a . sigBytes ; for ( var e = [ ] , j = 0 ; j < a ; j ++ ) e . push ( String . fromCharCode ( c [ j >>> 2 ] >>> 24 - 8 * ( j % 4 ) & 255 ) ) ; return e . join ( "" ) } , parse : function ( a ) { for ( var c = a . length , e = [ ] , j = 0 ; j < c ; j ++ ) e [ j >>> 2 ] |= ( a . charCodeAt ( j ) & 255 ) << 24 - 8 * ( j % 4 ) ; return new r . init ( e , c ) } } , x = w . Utf8 = { stringify : function ( a ) { try { return decodeURIComponent ( escape ( b . stringify ( a ) ) ) } catch ( c ) { throw Error ( "Malformed UTF-8 data" ) ; } } , parse : function ( a ) { return b . parse ( unescape ( encodeURIComponent ( a ) ) ) } } , q = l . BufferedBlockAlgorithm = t . extend ( { reset : function ( ) { this . _data = new r . init ; this . _nDataBytes = 0 } , _append : function ( a ) { "string" == typeof a && ( a = x . parse ( a ) ) ; this . _data . concat ( a ) ; this . _nDataBytes += a . sigBytes } , _process : function ( a ) { var c = this . _data , e = c . words , j = c . sigBytes , k = this . blockSize , b = j / ( 4 * k ) , b = a ? u . ceil ( b ) : u . max ( ( b | 0 ) - this . _minBufferSize , 0 ) ; a = b * k ; j = u . min ( 4 * a , j ) ; if ( a ) { for ( var q = 0 ; q < a ; q += k ) this . _doProcessBlock ( e , q ) ; q = e . splice ( 0 , a ) ; c . sigBytes -= j } return new r . init ( q , j ) } , clone : function ( ) { var a = t . clone . call ( this ) ; a . _data = this . _data . clone ( ) ; return a } , _minBufferSize : 0 } ) ; l . Hasher = q . extend ( { cfg : t . extend ( ) , init : function ( a ) { this . cfg = this . cfg . extend ( a ) ; this . reset ( ) } , reset : function ( ) { q . reset . call ( this ) ; this . _doReset ( ) } , update : function ( a ) { this . _append ( a ) ; this . _process ( ) ; return this } , finalize : function ( a ) { a && this . _append ( a ) ; return this . _doFinalize ( ) } , blockSize : 16 , _createHelper : function ( a ) { return function ( b , e ) { return ( new a . init ( e ) ) . finalize ( b ) } } , _createHmacHelper : function ( a ) { return function ( b , e ) { return ( new n . HMAC . init ( a , e ) ) . finalize ( b ) } } } ) ; var n = d . algo = { } ; return d } ( Math ) ; ( function ( ) { var u = CryptoJS , p = u . lib . WordArray ; u . enc . Base64 = { stringify : function ( d ) { var l = d . words , p = d . sigBytes , t = this . _map ; d . clamp ( ) ; d = [ ] ; for ( var r = 0 ; r < p ; r += 3 ) for ( var w = ( l [ r >>> 2 ] >>> 24 - 8 * ( r % 4 ) & 255 ) << 16 | ( l [ r + 1 >>> 2 ] >>> 24 - 8 * ( ( r + 1 ) % 4 ) & 255 ) << 8 | l [ r + 2 >>> 2 ] >>> 24 - 8 * ( ( r + 2 ) % 4 ) & 255 , v = 0 ; 4 > v && r + 0.75 * v < p ; v ++ ) d . push ( t . charAt ( w >>> 6 * ( 3 - v ) & 63 ) ) ; if ( l = t . charAt ( 64 ) ) for ( ; d . length % 4 ; ) d . push ( l ) ; return d . join ( "" ) } , parse : function ( d ) { var l = d . length , s = this . _map , t = s . charAt ( 64 ) ; t && ( t = d . indexOf ( t ) , - 1 != t && ( l = t ) ) ; for ( var t = [ ] , r = 0 , w = 0 ; w < l ; w ++ ) if ( w % 4 ) { var v = s . indexOf ( d . charAt ( w - 1 ) ) << 2 * ( w % 4 ) , b = s . indexOf ( d . charAt ( w ) ) >>> 6 - 2 * ( w % 4 ) ; t [ r >>> 2 ] |= ( v | b ) << 24 - 8 * ( r % 4 ) ; r ++ } return p . create ( t , r ) } , _map : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" } } ) ( ) ; ( function ( u ) { function p ( b , n , a , c , e , j , k ) { b = b + ( n & a | ~ n & c ) + e + k ; return ( b << j | b >>> 32 - j ) + n } function d ( b , n , a , c , e , j , k ) { b = b + ( n & c | a & ~ c ) + e + k ; return ( b << j | b >>> 32 - j ) + n } function l ( b , n , a , c , e , j , k ) { b = b + ( n ^ a ^ c ) + e + k ; return ( b << j | b >>> 32 - j ) + n }
2015-03-22 20:54:54 +00:00
/ *
* jQuery UI Position v1 . 10.0
* http : //jqueryui.com
* Copyright 2013 jQuery Foundation and other contributors
* Released under the MIT license .
* http : //api.jqueryui.com/position/
* /
( function ( E , C ) { E . ui = E . ui || { } ; var H , J = Math . max , I = Math . abs , G = Math . round , N = /left|center|right/ , D = /top|center|bottom/ , O = /[\+\-]\d+%?/ , B = /^\w+/ , M = /%$/ , A = E . fn . position ; function L ( R , Q , P ) { return [ parseInt ( R [ 0 ] , 10 ) * ( M . test ( R [ 0 ] ) ? Q / 100 : 1 ) , parseInt ( R [ 1 ] , 10 ) * ( M . test ( R [ 1 ] ) ? P / 100 : 1 ) ] } function F ( Q , P ) { return parseInt ( E . css ( Q , P ) , 10 ) || 0 } function K ( P ) { var Q = P [ 0 ] ; if ( Q . nodeType === 9 ) { return { width : P . width ( ) , height : P . height ( ) , offset : { top : 0 , left : 0 } } } if ( E . isWindow ( Q ) ) { return { width : P . width ( ) , height : P . height ( ) , offset : { top : P . scrollTop ( ) , left : P . scrollLeft ( ) } } } if ( Q . preventDefault ) { return { width : 0 , height : 0 , offset : { top : Q . pageY , left : Q . pageX } } } return { width : P . outerWidth ( ) , height : P . outerHeight ( ) , offset : P . offset ( ) } } E . position = { scrollbarWidth : function ( ) { if ( H !== C ) { return H } var S , R , Q = E ( "<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ) , P = Q . children ( ) [ 0 ] ; E ( "body" ) . append ( Q ) ; S = P . offsetWidth ; Q . css ( "overflow" , "scroll" ) ; R = P . offsetWidth ; if ( S === R ) { R = Q [ 0 ] . clientWidth } Q . remove ( ) ; return ( H = S - R ) } , getScrollInfo : function ( P ) { var R = P . isWindow ? "" : P . element . css ( "overflow-x" ) , Q = P . isWindow ? "" : P . element . css ( "overflow-y" ) , T = R === "scroll" || ( R === "auto" && P . width < P . element [ 0 ] . scrollWidth ) , S = Q === "scroll" || ( Q === "auto" && P . height < P . element [ 0 ] . scrollHeight ) ; return { width : T ? E . position . scrollbarWidth ( ) : 0 , height : S ? E . position . scrollbarWidth ( ) : 0 } } , getWithinInfo : function ( R ) { var Q = E ( R || window ) , P = E . isWindow ( Q [ 0 ] ) ; return { element : Q , isWindow : P , offset : Q . offset ( ) || { left : 0 , top : 0 } , scrollLeft : Q . scrollLeft ( ) , scrollTop : Q . scrollTop ( ) , width : P ? Q . width ( ) : Q . outerWidth ( ) , height : P ? Q . height ( ) : Q . outerHeight ( ) } } } ; E . fn . position = function ( P ) { if ( ! P || ! P . of ) { return A . apply ( this , arguments ) } P = E . extend ( { } , P ) ; var V , Q , X , S , R , Y , Z = E ( P . of ) , a = E . position . getWithinInfo ( P . within ) , W = E . position . getScrollInfo ( a ) , U = ( P . collision || "flip" ) . split ( " " ) , T = { } ; Y = K ( Z ) ; if ( Z [ 0 ] . preventDefault ) { P . at = "left top" } Q = Y . width ; X = Y . height ; S = Y . offset ; R = E . extend ( { } , S ) ; E . each ( [ "my" , "at" ] , function ( ) { var c = ( P [ this ] || "" ) . split ( " " ) , b , d ; if ( c . length === 1 ) { c = N . test ( c [ 0 ] ) ? c . concat ( [ "center" ] ) : D . test ( c [ 0 ] ) ? [ "center" ] . concat ( c ) : [ "center" , "center" ] } c [ 0 ] = N . test ( c [ 0 ] ) ? c [ 0 ] : "center" ; c [ 1 ] = D . test ( c [ 1 ] ) ? c [ 1 ] : "center" ; b = O . exec ( c [ 0 ] ) ; d = O . exec ( c [ 1 ] ) ; T [ this ] = [ b ? b [ 0 ] : 0 , d ? d [ 0 ] : 0 ] ; P [ this ] = [ B . exec ( c [ 0 ] ) [ 0 ] , B . exec ( c [ 1 ] ) [ 0 ] ] } ) ; if ( U . length === 1 ) { U [ 1 ] = U [ 0 ] } if ( P . at [ 0 ] === "right" ) { R . left += Q } else { if ( P . at [ 0 ] === "center" ) { R . left += Q / 2 } } if ( P . at [ 1 ] === "bottom" ) { R . top += X } else { if ( P . at [ 1 ] === "center" ) { R . top += X / 2 } } V = L ( T . at , Q , X ) ; R . left += V [ 0 ] ; R . top += V [ 1 ] ; return this . each ( function ( ) { var l , d , k = E ( this ) , h = k . outerWidth ( ) , g = k . outerHeight ( ) , j = F ( this , "marginLeft" ) , f = F ( this , "marginTop" ) , b = h + j + F ( this , "marginRight" ) + W . width , i = g + f + F ( this , "marginBottom" ) + W . height , c = E . extend ( { } , R ) , e = L ( T . my , k . outerWidth ( ) , k . outerHeight ( ) ) ; if ( P . my [ 0 ] === "right" ) { c . left -= h } else { if ( P . my [ 0 ] === "center" ) { c . left -= h / 2 } } if ( P . my [ 1 ] === "bottom" ) { c . top -= g } else { if ( P . my [ 1 ] === "center" ) { c . top -= g / 2 } } c . left += e [ 0 ] ; c . top += e [ 1 ] ; if ( ! E . support . offsetFractions ) { c . left = G ( c . left ) ; c . top = G ( c . top ) } l = { marginLeft : j , marginTop : f } ; E . each ( [ "left" , "top" ] , function ( n , m ) { if ( E . ui . position [ U [ n ] ] ) { E . ui . position [ U [ n ] ] [ m ] ( c , { targetWidth : Q , targetHeight : X , elemWidth : h , elemHeight : g , collisionPosition : l , collisionWidth : b , collisionHeight : i , offset : [ V [ 0 ] + e [ 0 ] , V [ 1 ] + e [ 1 ] ] , my : P . my , at : P . at , within : a , elem : k } ) } } ) ; if ( P . using ) { d = function ( m ) { var p = S . left - c . left , n = p + Q - h , q = S . top - c . top , r = q + X - g , o = { target : { element : Z , left : S . left , top : S . top , width : Q , height : X } , element : { element : k , left : c . left , top : c . top , width : h , height : g } , horizontal : n < 0 ? "left" : p > 0 ? "right" : "center" , vertical : r < 0 ? "top" : q > 0 ? "bottom" : "middle" } ; if ( Q < h && I ( p + n ) < Q ) { o . horizontal = "center" } if ( X < g && I ( q + r ) < X ) { o . vertical = "middle" } if ( J ( I ( p ) , I ( n ) ) > J ( I ( q ) , I ( r ) ) ) { o . important = "horizontal" } else { o . important = "vertical" } P . using . call ( this , m , o ) } } k . offset ( E . extend ( c , { using : d } ) ) } ) } ; E . ui . position = { fit : { left : function ( P , R ) { var Q = R . within , T = Q . isWindow ? Q . scrollLeft : Q . offset . left , U = Q . width , V = P . left - R . collisionPosition . marginLeft , X = T - V , W = V + R . collisionWidth - U - T , S ; if ( R . collisionWidth > U ) { if ( X > 0 && W <= 0 ) { S = P . left + X + R . collisionWidth - U - T ; P . left += X - S } else { if ( W > 0 && X <= 0 ) { P . left = T } else { if ( X > W ) { P . left = T + U - R . collisionWidth } else { P . left = T
/ * *
* 全屏插件
* http : //johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
* /
( function ( ) { var d = { supportsFullScreen : false , isFullScreen : function ( ) { return false ; } , requestFullScreen : function ( ) { } , cancelFullScreen : function ( ) { } , fullScreenEventName : "" , prefix : "" } , c = "webkit moz o ms khtml" . split ( " " ) ; if ( typeof document . cancelFullScreen != "undefined" ) { d . supportsFullScreen = true ; } else { for ( var b = 0 , a = c . length ; b < a ; b ++ ) { d . prefix = c [ b ] ; if ( typeof document [ d . prefix + "CancelFullScreen" ] != "undefined" ) { d . supportsFullScreen = true ; break ; } } } if ( d . supportsFullScreen ) { d . fullScreenEventName = d . prefix + "fullscreenchange" ; d . isFullScreen = function ( ) { switch ( this . prefix ) { case "" : return document . fullScreen ; case "webkit" : return document . webkitIsFullScreen ; default : return document [ this . prefix + "FullScreen" ] ; } } ; d . requestFullScreen = function ( e ) { return ( this . prefix === "" ) ? e . requestFullScreen ( ) : e [ this . prefix + "RequestFullScreen" ] ( ) ; } ; d . cancelFullScreen = function ( e ) { return ( this . prefix === "" ) ? document . cancelFullScreen ( ) : document [ this . prefix + "CancelFullScreen" ] ( ) ; } ; } if ( typeof jQuery != "undefined" ) { jQuery . fn . requestFullScreen = function ( ) { return this . each ( function ( ) { if ( d . supportsFullScreen ) { d . requestFullScreen ( this ) ; } } ) ; } ; } window . fullScreenApi = d ; } ) ( ) ;
2016-12-21 08:01:06 +00:00
/*!art-template - Template Engine | http://aui.github.com/artTemplate/*/
//修改兼容seajs; template=d 导出全局变量
! function ( ) { function a ( a ) { return a . replace ( t , "" ) . replace ( u , "," ) . replace ( v , "" ) . replace ( w , "" ) . replace ( x , "" ) . split ( /^$|,+/ ) } function b ( a ) { return "'" + a . replace ( /('|\\)/g , "\\$1" ) . replace ( /\r/g , "\\r" ) . replace ( /\n/g , "\\n" ) + "'" } function c ( c , d ) { function e ( a ) { return m += a . split ( /\n/ ) . length - 1 , k && ( a = a . replace ( /\s+/g , " " ) . replace ( /<!--.*?-->/g , "" ) ) , a && ( a = s [ 1 ] + b ( a ) + s [ 2 ] + "\n" ) , a } function f ( b ) { var c = m ; if ( j ? b = j ( b , d ) : g && ( b = b . replace ( /\n/g , function ( ) { return m ++ , "$line=" + m + ";" } ) ) , 0 === b . indexOf ( "=" ) ) { var e = l && ! /^=[=#]/ . test ( b ) ; if ( b = b . replace ( /^=[=#]?|[\s;]*$/g , "" ) , e ) { var f = b . replace ( /\s*\([^\)]+\)/ , "" ) ; n [ f ] || /^(include|print)$/ . test ( f ) || ( b = "$escape(" + b + ")" ) } else b = "$string(" + b + ")" ; b = s [ 1 ] + b + s [ 2 ] } return g && ( b = "$line=" + c + ";" + b ) , r ( a ( b ) , function ( a ) { if ( a && ! p [ a ] ) { var b ; b = "print" === a ? u : "include" === a ? v : n [ a ] ? "$utils." + a : o [ a ] ? "$helpers." + a : "$data." + a , w += a + "=" + b + "," , p [ a ] = ! 0 } } ) , b + "\n" } var g = d . debug , h = d . openTag , i = d . closeTag , j = d . parser , k = d . compress , l = d . escape , m = 1 , p = { $data : 1 , $filename : 1 , $utils : 1 , $helpers : 1 , $out : 1 , $line : 1 } , q = "" . trim , s = q ? [ "$out='';" , "$out+=" , ";" , "$out" ] : [ "$out=[];" , "$out.push(" , ");" , "$out.join('')" ] , t = q ? "$out+=text;return $out;" : "$out.push(text);" , u = "function(){var text=''.concat.apply('',arguments);" + t + "}" , v = "function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);" + t + "}" , w = "'use strict';var $utils=this,$helpers=$utils.$helpers," + ( g ? "$line=0," : "" ) , x = s [ 0 ] , y = "return new String(" + s [ 3 ] + ");" ; r ( c . split ( h ) , function ( a ) { a = a . split ( i ) ; var b = a [ 0 ] , c = a [ 1 ] ; 1 === a . length ? x += e ( b ) : ( x += f ( b ) , c && ( x += e ( c ) ) ) } ) ; var z = w + x + y ; g && ( z = "try{" + z + "}catch(e){throw {filename:$filename,name:'Render Error',message:e.message,line:$line,source:" + b ( c ) + ".split(/\\n/)[$line-1].replace(/^\\s+/,'')};}" ) ; try { var A = new Function ( "$data" , "$filename" , z ) ; return A . prototype = n , A } catch ( B ) { throw B . temp = "function anonymous($data,$filename) {" + z + "}" , B } } var d = function ( a , b ) { return "string" == typeof b ? q ( b , { filename : a } ) : g ( a , b ) } ; d . version = "3.0.0" , d . config = function ( a , b ) { e [ a ] = b } ; var e = d . defaults = { openTag : "<%" , closeTag : "%>" , escape : ! 0 , cache : ! 0 , compress : ! 1 , parser : null } , f = d . cache = { } ; d . render = function ( a , b ) { return q ( a , b ) } ; var g = d . renderFile = function ( a , b ) { var c = d . get ( a ) || p ( { filename : a , name : "Render Error" , message : "Template not found" } ) ; return b ? c ( b ) : c } ; d . get = function ( a ) { var b ; if ( f [ a ] ) b = f [ a ] ; else if ( "object" == typeof document ) { var c = document . getElementById ( a ) ; if ( c ) { var d = ( c . value || c . innerHTML ) . replace ( /^\s*|\s*$/g , "" ) ; b = q ( d , { filename : a } ) } } return b } ; var h = function ( a , b ) { return "string" != typeof a && ( b = typeof a , "number" === b ? a += "" : a = "function" === b ? h ( a . call ( a ) ) : "" ) , a } , i = { "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "&" : "&" } , j = function ( a ) { return i [ a ] } , k = function ( a ) { return h ( a ) . replace ( /&(?![\w#]+;)|[<>"']/g , j ) } , l = Array . isArray || function ( a ) { return "[object Array]" === { } . toString . call ( a ) } , m = function ( a , b ) { var c , d ; if ( l ( a ) ) for ( c = 0 , d = a . length ; d > c ; c ++ ) b . call ( a , a [ c ] , c , a ) ; else for ( c in a ) b . call ( a , a [ c ] , c ) } , n = d . utils = { $helpers : { } , $include : g , $string : h , $escape : k , $each : m } ; d . helper = function ( a , b ) { o [ a ] = b } ; var o = d . helpers = n . $helpers ; d . onerror = function ( a ) { var b = "Template Error\n\n" ; for ( var c in a ) b += "<" + c + ">\n" + a [ c ] + "\n\n" ; "object" == typeof console && console . error ( b ) } ; var p = function ( a ) { return d . onerror ( a ) , function ( ) { return "{Template Error}" } } , q = d . compile = function ( a , b ) { function d ( c ) { try { return new i ( c , h ) + "" } catch ( d ) { return b . debug ? p ( d ) ( ) : ( b . debug = ! 0 , q ( a , b ) ( c ) ) } } b = b || { } ; for ( var g in e ) void 0 === b [ g ] && ( b [ g ] = e [ g ] ) ; var h = b . filename ; try { var i = c ( a , b ) } catch ( j ) { return j . filename = h || "anonymous" , j . name = "Syntax Error" , p ( j ) } return d . prototype = i . prototype , d . toString = function ( ) { return i . toString ( ) } , h && b . cache && ( f [ h ] = d ) , d } , r = n . $each , s = "break,case,catch,continue,debugger,default,delete,do,else,false,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,void,while,with,abstract,boolean,byte,char,class,const,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchronized,throws,transient,volatile,arguments,let,yield,undefined" , t = / \ / \ * [ \ w \ W ] * ? \ * \ / | \ / \ / [ ^ \ n ] * \ n | \ / \ / [ ^ \ n ] * $ | " ( ? : [ ^ " \ \ ] | \ \ [ \ w \ W ] ) * " | ' ( ? : [ ^ '
2015-03-22 20:54:54 +00:00
2016-12-21 08:01:06 +00:00
/ *
PDFObject v2 . 0.201604172
https : //github.com/pipwerks/PDFObject
Copyright ( c ) 2008 - 2016 Philip Hutchison
MIT - style license : http : //pipwerks.mit-license.org/
UMD module pattern from https : //github.com/umdjs/umd/blob/master/templates/returnExports.js
* /
( function ( root , factory ) { if ( typeof define === "function" && define . amd ) { define ( [ ] , factory ) } else if ( typeof module === "object" && module . exports ) { module . exports = factory ( ) } else { root . PDFObject = factory ( ) } } ) ( this , function ( ) { "use strict" ; if ( typeof window === "undefined" || typeof navigator === "undefined" ) { return false } var pdfobjectversion = "2.0.201604172" , supportsPDFs , createAXO , isIE , supportsPdfMimeType = typeof navigator . mimeTypes [ "application/pdf" ] !== "undefined" , supportsPdfActiveX , buildFragmentString , log , embedError , embed , getTargetElement , generatePDFJSiframe , isIOS = function ( ) { return /iphone|ipad|ipod/i . test ( navigator . userAgent . toLowerCase ( ) ) } ( ) , generateEmbedElement ; createAXO = function ( type ) { var ax ; try { ax = new ActiveXObject ( type ) } catch ( e ) { ax = null } return ax } ; isIE = function ( ) { return ! ! ( window . ActiveXObject || "ActiveXObject" in window ) } ; supportsPdfActiveX = function ( ) { return ! ! ( createAXO ( "AcroPDF.PDF" ) || createAXO ( "PDF.PdfCtrl" ) ) } ; supportsPDFs = supportsPdfMimeType || isIE ( ) && supportsPdfActiveX ( ) ; buildFragmentString = function ( pdfParams ) { var string = "" , prop ; if ( pdfParams ) { for ( prop in pdfParams ) { if ( pdfParams . hasOwnProperty ( prop ) ) { string += encodeURIComponent ( prop ) + "=" + encodeURIComponent ( pdfParams [ prop ] ) + "&" } } if ( string ) { string = "#" + string ; string = string . slice ( 0 , string . length - 1 ) } } return string } ; log = function ( msg ) { if ( typeof console !== "undefined" && console . log ) { console . log ( "[PDFObject] " + msg ) } } ; embedError = function ( msg ) { log ( msg ) ; return false } ; getTargetElement = function ( targetSelector ) { var targetNode = document . body ; if ( typeof targetSelector === "string" ) { targetNode = document . querySelector ( targetSelector ) } else if ( typeof jQuery !== "undefined" && targetSelector instanceof jQuery && targetSelector . length ) { targetNode = targetSelector . get ( 0 ) } else if ( typeof targetSelector . nodeType !== "undefined" && targetSelector . nodeType === 1 ) { targetNode = targetSelector } return targetNode } ; generatePDFJSiframe = function ( targetNode , url , pdfOpenFragment , PDFJS _URL , id ) { var fullURL = PDFJS _URL + "?file=" + encodeURIComponent ( url ) + pdfOpenFragment ; var scrollfix = isIOS ? "-webkit-overflow-scrolling: touch; overflow-y: scroll; " : "overflow: hidden; " ; var iframe = "<div style='" + scrollfix + "position: absolute; top: 0; right: 0; bottom: 0; left: 0;'><iframe " + id + " src='" + fullURL + "' style='border: none; width: 100%; height: 100%;' frameborder='0'></iframe></div>" ; targetNode . className += " pdfobject-container" ; targetNode . style . position = "relative" ; targetNode . style . overflow = "auto" ; targetNode . innerHTML = iframe ; return targetNode . getElementsByTagName ( "iframe" ) [ 0 ] } ; generateEmbedElement = function ( targetNode , targetSelector , url , pdfOpenFragment , width , height , id ) { var style = "" ; if ( targetSelector && targetSelector !== document . body ) { style = "width: " + width + "; height: " + height + ";" } else { style = "position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%;" } targetNode . className += " pdfobject-container" ; targetNode . innerHTML = "<embed " + id + " class='pdfobject' src='" + url + pdfOpenFragment + "' type='application/pdf' style='overflow: auto; " + style + "'/>" ; return targetNode . getElementsByTagName ( "embed" ) [ 0 ] } ; embed = function ( url , targetSelector , options ) { if ( typeof url !== "string" ) { return embedError ( "URL is not valid" ) } targetSelector = typeof targetSelector !== "undefined" ? targetSelector : false ; options = typeof options !== "undefined" ? options : { } ; var id = options . id && typeof options . id === "string" ? "id='" + options . id + "'" : "" , page = options . page ? options . page : false , pdfOpenParams = options . pdfOpenParams ? options . pdfOpenParams : { } , fallbackLink = typeof options . fallbackLink !== "undefined" ? options . fallbackLink : true , width = options . width ? options . width : "100%" , height = options . height ? options . height : "100%" , forcePDFJS = typeof options . forcePDFJS === "boolean" ? options . forcePDFJS : false , PDFJS _URL = options . PDFJS _URL ? options . PDFJS _URL : false , targetNode = getTargetElement ( targetSelector ) , fallbackHTML = "" , pdfOpenFragment = "" , fallbackHTML _default = "<p>This browser does not support inline PDFs. Please download the PDF to view it: <a href='[url]'>Download PDF</a></p>" ; if ( ! targetNode ) { return embedError ( "Target element cannot be determined" ) } if ( page ) { pdfOpenParams . page = page } pdfOpenFragment = buildFragmentString ( pdfOpenParams ) ; if ( forcePDFJ
2015-03-22 20:54:54 +00:00
/ * T o u c h y : a j Q u e r y p l u g i n f o r m a n a g i n g t o u c h e v e n t s
* version : 1.1
* https : //github.com/HotStudio/touchy
* /
( function ( g ) { g . touchyOptions = { useDelegation : ! 1 , longpress : { preventDefault : { start : ! 0 , move : ! 0 , end : ! 0 } , requiredTouches : 1 , msThresh : 800 , triggerStartPhase : ! 1 , data : { startDate : null } , proxyEvents : [ "TouchStart" , "TouchEnd" ] } , drag : { preventDefault : { start : ! 0 , move : ! 0 , end : ! 0 } , requiredTouches : 1 , msHoldThresh : 100 , data : { startPoint : null , startDate : null , movePoint : null , moveDate : null , held : ! 1 } , proxyEvents : [ "TouchStart" , "TouchMove" , "TouchEnd" ] } , pinch : { preventDefault : { start : ! 0 , move : ! 0 , end : ! 0 } , requiredTouches : 2 , pxThresh : 0 , data : { startPoint : null ,
startDate : null , movePoint : null , moveDate : null } , proxyEvents : [ "TouchStart" , "TouchMove" , "GestureChange" , "TouchEnd" ] } , rotate : { preventDefault : { start : ! 0 , move : ! 0 , end : ! 0 } , requiredTouches : 1 , data : { } , proxyEvents : [ "TouchStart" , "TouchMove" , "GestureChange" , "TouchEnd" ] } , swipe : { preventDefault : { start : ! 0 , move : ! 0 , end : ! 0 } , requiredTouches : 1 , velocityThresh : 1 , triggerOn : "touchmove" , data : { startPoint : null , startDate : null , movePoint : null , moveDate : null } , proxyEvents : [ "TouchStart" , "TouchMove" , "TouchEnd" ] } } ; var t = { handleTouchStart : function ( a ) { var b =
this . context , e = j ( a , b ) ; if ( e ) { var d = a . originalEvent , f = d . targetTouches , c = "touchy" + b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) , c = e . data ( c ) , m = c . settings ; m . preventDefault . start && d . preventDefault ( ) ; if ( f . length === m . requiredTouches ) switch ( b ) { case "drag" : p ( c , f , a . timeStamp ) ; a = c . startPoint ; e . trigger ( "touchy-drag" , [ "start" , e , { movePoint : a , lastMovePoint : a , startPoint : a , velocity : 0 } ] ) ; break ; case "swipe" : q ( c , f , a . timeStamp ) ; break ; case "pinch" : if ( b = n ( a ) ) c . startPoint = { x : b . centerX , y : b . centerY } , c . startDistance = Math . sqrt ( Math . pow ( b . x2 -
b . x1 , 2 ) + Math . pow ( b . y2 - b . y1 , 2 ) ) ; break ; case "longpress" : c . startPoint = { x : f [ 0 ] . pageX , y : f [ 0 ] . pageY } ; c . startDate = a . timeStamp ; m . triggerStartPhase && e . trigger ( "touchy-longpress" , [ "start" , e ] ) ; c . timer = setTimeout ( g . proxy ( function ( ) { e . trigger ( "touchy-longpress" , [ "end" , e ] ) } , this ) , m . msThresh ) ; break ; case "rotate" : 1 === f . length ? k ( c , f , a . timeStamp ) : ( b = n ( a ) , c . startPoint = { x : b . centerX , y : b . centerY } , c . startDate = a . timeStamp ) , a = c . startPoint , e . trigger ( "touchy-rotate" , [ "start" , e , { startPoint : a , movePoint : a , lastMovePoint : a , velocity : 0 ,
degrees : 0 } ] ) } } } , handleTouchMove : function ( a ) { var b = this . context , e = j ( a , b ) ; if ( e ) { var d = a . originalEvent , f = d . targetTouches , c = "touchy" + b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) , c = e . data ( c ) , g = c . settings ; g . preventDefault . move && d . preventDefault ( ) ; if ( f . length === g . requiredTouches ) switch ( b ) { case "drag" : p ( c , f , a . timeStamp ) ; var g = c . movePoint , b = c . lastMovePoint , h = g . x === b . x && g . y === b . y ? 0 : Math . sqrt ( Math . pow ( g . x - b . x , 2 ) + Math . pow ( g . y - b . y , 2 ) ) , d = c . moveDate - c . lastMoveDate ; c . held && e . trigger ( "touchy-drag" , [ "move" , e , { movePoint : g ,
lastMovePoint : b , startPoint : c . startPoint , velocity : 0 === d ? 0 : h / d } ] ) ; break ; case "swipe" : q ( c , f , a . timeStamp ) ; ! c . swipeExecuted && ( c . swiped && "touchmove" === g . triggerOn ) && ( c . swipeExecuted = ! 0 , r ( c , e ) ) ; break ; case "pinch" : if ( a = n ( a ) ) c . currentPoint = { x : a . centerX , y : a . centerY } , "object" != typeof window . ongesturechange && ( h = Math . sqrt ( Math . pow ( a . x2 - a . x1 , 2 ) + Math . pow ( a . y2 - a . y1 , 2 ) ) , b = c . previousScale = c . scale || 1 , d = c . startDistance , h = c . scale = h / d , h * d > g . pxThresh && e . trigger ( "touchy-pinch" , [ e , { scale : h , previousScale : b , currentPoint : c . currentPoint ,
startPoint : c . startPoint , startDistance : d } ] ) ) ; break ; case "rotate" : var l , b = c . lastMovePoint = c . movePoint || c . startPoint , d = c . lastMoveDate = c . moveDate || c . startDate , g = c . movePoint = { x : f [ 0 ] . pageX , y : f [ 0 ] . pageY } , h = c . moveDate = a . timeStamp ; if ( 1 === f . length ) { if ( ! ( f = c . targetPageCoords ) ) { a = a . target ; var k = function ( a , b , c ) { var e = a . offsetParent ; b . x += a . offsetLeft - ( e ? e . scrollLeft : 0 ) ; b . y += a . offsetTop - ( e ? e . scrollTop : 0 ) ; if ( e ) { if ( 1 == e . nodeType ) { var d = c . getComputedStyle ( e , "" ) ; "static" != d . position ? ( b . x += parseInt ( d . borderLeftWidth ) ,
b . y += parseInt ( d . borderTopWidth ) , "TABLE" == e . localName ? ( b . x += parseInt ( d . paddingLeft ) , b . y += parseInt ( d . paddingTop ) ) : "BODY" == e . localName && ( d = c . getComputedStyle ( a , "" ) , b . x += parseInt ( d . marginLeft ) , b . y += parseInt ( d . marginTop ) ) ) : "BODY" == e . localName && ( b . x += parseInt ( d . borderLeftWidth ) , b . y += parseInt ( d . borderTopWidth ) ) ; for ( a = a . parentNode ; e != a ; ) b . x -= a . scrollLeft , b . y -= a . scrollTop , a = a . parentNode ; k ( e , b , c ) } } else "BODY" == a . localName && ( d = c . getComputedStyle ( a , "" ) , b . x += parseInt ( d . borderLeftWidth ) , b . y += parseInt ( d . borderTopWidth ) ,
c = c . getComputedStyle ( a . parentNode , "" ) , b . x -= parseInt ( c . paddingLeft ) , b . y -= parseInt ( c . paddingTop ) ) , a . scrollLeft && ( b . x += a . scrollLeft ) , a . scrollTop && ( b . y += a . scrollTop ) , ( a = a . ownerDocument . defaultView ) && a . frameElement && k ( a . frameElement , b , a ) } , f = { x : 0 , y : 0 } ; a && k ( a , f , a . ownerDocument . defaultView ) } a = c . targetPageCoords = f ; a = c . centerCoords = c . centerCoords || { x : a . x + 0.5 * e . width ( ) , y : a . y + 0.5 * e . height ( ) } } else if ( a = n ( a ) , a = c . centerCoords = { x : a . centerX , y : a . centerY } , "object" == typeof window . ongesturechange ) break ; f = Math . atan2 ( g . y -
a . y , g . x - a . x ) ; l = c . lastDegrees = c . degrees ; f = c . degrees = f * ( 180 / Math . PI ) ; l = l ? f - l : 0 ; d = h - d ; d = c . velocity = 0 === d ? 0 : l / d ; e . trigger ( "touchy-rotate" , [ "move" , e , { startPoint : c . startPoint , startDate : c . startDate , movePoint : g , lastMovePoint : b , centerCoords : a , degrees : f , degreeDelta : l , velocity : d } ] ) } } } , handleGestureChange : function ( a ) { var b = this . context , e = j ( a , b ) ; if ( e ) { var e = g ( a . target ) , d = a . originalEvent ; a = "touchy" + b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) ; a = e . data ( a ) ; a . preventDefault . move && d . preventDefault ( ) ; switch ( b ) { case "pinch" : var b =
a . previousScale = a . scale || 1 , d = a . scale = d . scale , f = a . startPoint , c = a . currentPoint || f , h = a . startDistance ; d * h > a . settings . pxThresh && e . trigger ( "touchy-pinch" , [ e , { scale : d , previousScale : b , currentPoint : c , startPoint : f , startDistance : h } ] ) ; break ; case "rotate" : f = a . lastDegrees = a . degrees , b = a . degrees = d . rotation , d = f ? b - f : 0 , f = a . moveDate - a . lastMoveDate , f = a . velocity = 0 === f ? 0 : d / f , e . trigger ( "touchy-rotate" , [ "move" , e , { startPoint : a . startPoint , startDate : a . startDate , movePoint : a . movePoint , lastMovePoint : a . lastMovePoint , centerCoords : a . centerCoords ,
degrees : b , degreeDelta : d , velocity : f } ] ) } } } , handleTouchEnd : function ( a ) { var b = this . context , e = j ( a , b ) ; if ( e ) { var d = a . originalEvent ; a = "touchy" + b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) ; a = e . data ( a ) ; var f = a . settings ; f . preventDefault . end && d . preventDefault ( ) ; switch ( b ) { case "drag" : if ( a . held ) { var b = a . movePoint || a . startPoint , d = a . lastMovePoint || a . startPoint , f = b . x === d . x && b . y === d . y ? 0 : Math . sqrt ( Math . pow ( b . x - d . x , 2 ) + Math . pow ( b . y - d . y , 2 ) ) , c = a . moveDate - a . lastMoveDate ; e . trigger ( "touchy-drag" , [ "end" , e , { movePoint : b , lastMovePoint : d ,
startPoint : a . startPoint , velocity : 0 === c ? 0 : f / c } ] ) } g . extend ( a , { startPoint : null , startDate : null , movePoint : null , moveDate : null , lastMovePoint : null , lastMoveDate : null , held : ! 1 } ) ; break ; case "swipe" : a . swiped && "touchend" === f . triggerOn && r ( a , e ) ; g . extend ( a , { startPoint : null , startDate : null , movePoint : null , moveDate : null , lastMovePoint : null , lastMoveDate : null , swiped : ! 1 , swipeExecuted : ! 1 } ) ; break ; case "pinch" : g . extend ( a , { startPoint : null , startDistance : 0 , currentPoint : null , pinched : ! 1 , scale : 1 , previousScale : null } ) ; break ; case "longpress" : clearTimeout ( a . timer ) ;
g . extend ( a , { startDate : null } ) ; break ; case "rotate" : e . trigger ( "touchy-rotate" , [ "end" , e , { startPoint : a . startPoint , startDate : a . startDate , movePoint : a . movePoint , lastMovePoint : a . lastMovePoint , degrees : a . degrees , degreeDelta : a . lastDegrees ? a . degrees - a . lastDegrees : 0 , velocity : a . velocity } ] ) , g . extend ( a , { startPoint : null , startDate : null , movePoint : null , moveDate : null , lastMovePoint : null , lastMoveDate : null , targetPageCoords : null , centerCoords : null , degrees : null , lastDegrees : null , velocity : null } ) } } } } , p = function ( a , b , e ) { k ( a , b , e ) ;
var d = a . moveDate || a . startDate ; a . held || e - d > a . settings . msHoldThresh ? g . extend ( a , { held : ! 0 , lastMoveDate : d , lastMovePoint : a . movePoint && a . movePoint . x ? a . movePoint : a . startPoint , moveDate : e , movePoint : { x : b [ 0 ] . pageX , y : b [ 0 ] . pageY } } ) : g . extend ( a , { held : ! 1 , lastMoveDate : 0 , lastMovePoint : a . startPoint , moveDate : 0 , movePoint : a . startPoint } ) } , q = function ( a , b , e ) { k ( a , b , e ) ; var d = a . settings , f = a . startPoint , c = a . moveDate || a . startDate ; b = { x : b [ 0 ] . pageX , y : b [ 0 ] . pageY } ; var h = b . x - f . x , f = b . y - f . y , j = e - c ; g . extend ( a , { lastMoveDate : c , lastMovePoint : a . movePoint &&
a . movePoint . x ? a . movePoint : a . startPoint , moveDate : e , movePoint : b , hDistance : h , vDistance : f } ) ; if ( ! a . swiped && ( Math . abs ( h ) / j > d . velocityThresh || Math . abs ( f ) / j > d . velocityThresh ) ) a . swiped = ! 0 } , r = function ( a , b ) { var e = a . movePoint , d = a . lastMovePoint , f = e . x === d . x && e . y === d . y ? 0 : Math . sqrt ( Math . pow ( e . x - d . x , 2 ) + Math . pow ( e . y - d . y , 2 ) ) , c = a . moveDate - a . lastMoveDate , f = 0 === c ? 0 : f / c , c = a . hDistance , g = a . vDistance ; f > a . settings . velocityThresh && ( c = Math . abs ( c ) > Math . abs ( g ) ? 0 < c ? "right" : "left" : 0 < g ? "down" : "up" , b . trigger ( "touchy-swipe" , [ b , { direction : c ,
movePoint : e , lastMovePoint : d , startPoint : a . startPoint , velocity : f } ] ) ) } , k = function ( a , b , e ) { a . startPoint || ( a . startPoint = { x : b [ 0 ] . pageX , y : b [ 0 ] . pageY } ) ; a . startDate || ( a . startDate = e ) } , n = function ( a ) { var b = ! 1 ; a = a . originalEvent . touches ; 2 === a . length && ( b = { x1 : a [ 0 ] . pageX , y1 : a [ 0 ] . pageY , x2 : a [ 1 ] . pageX , y2 : a [ 1 ] . pageY } , b . centerX = ( b . x1 + b . x2 ) / 2 , b . centerY = ( b . y1 + b . y2 ) / 2 ) ; return b } , j = function ( a , b ) { var e , d = ! 1 , f = 0 , c = h [ b ] . length ; if ( g . touchyOptions . useDelegation ) for ( ; f < c ; f += 1 ) { if ( e = g ( h [ b ] [ f ] ) . has ( a . target ) , 0 < e . length ) { d = e ; break } } else h [ b ] &&
- 1 != h [ b ] . index ( a . target ) && ( d = g ( a . target ) ) ; return d } , h = { } , s = { } ; g . each ( g . touchyOptions , function ( a ) { if ( "useDelegation" !== a ) { var b = a . charAt ( 0 ) . toUpperCase ( ) + a . slice ( 1 ) ; h [ a ] = g ( [ ] ) ; s [ a ] = new function ( ) { this . context = a } ; g . event . special [ "touchy-" + a ] = { setup : function ( ) { h [ a ] = h [ a ] . add ( this ) ; g ( this ) . data ( "touchy" + b , g . extend ( { } , g . touchyOptions [ a ] . data ) ) ; g ( this ) . data ( "touchy" + b ) . settings = g . extend ( { } , g . touchyOptions [ a ] ) ; delete g ( this ) . data ( "touchy" + b ) . settings . data ; 1 === h [ a ] . length && g . each ( g . touchyOptions [ a ] . proxyEvents ,
function ( b , d ) { g ( document ) . bind ( d . toLowerCase ( ) + ".touchy." + a , g . proxy ( t [ "handle" + d ] , s [ a ] ) ) } ) } , teardown : function ( ) { h [ a ] = h [ a ] . not ( this ) ; g ( this ) . removeData ( "touchy" + b ) ; 0 === h [ a ] . length && g . each ( g . touchyOptions [ a ] . proxyEvents , function ( b , d ) { g ( document ) . unbind ( d . toLowerCase ( ) + ".touchy." + a ) } ) } , add : function ( a ) { g . extend ( g ( this ) . data ( "touchy" + b ) . settings , a . data ) ; var d = a . handler ; a . handler = function ( a ) { return d . apply ( this , arguments ) } } } } } ) } ) ( jQuery ) ;
2016-12-21 08:01:06 +00:00
2015-03-22 20:54:54 +00:00
/ * !
* Bootstrap v3 . 0.3 ( http : //getbootstrap.com)
* Copyright 2013 Twitter , Inc .
* Licensed under http : //www.apache.org/licenses/LICENSE-2.0
* /
2016-12-21 08:01:06 +00:00
if ( "undefined" == typeof jQuery ) throw new Error ( "Bootstrap requires jQuery" ) ; + function ( a ) { "use strict" ; function b ( ) { var a = document . createElement ( "bootstrap" ) , b = { WebkitTransition : "webkitTransitionEnd" , MozTransition : "transitionend" , OTransition : "oTransitionEnd otransitionend" , transition : "transitionend" } ; for ( var c in b ) if ( void 0 !== a . style [ c ] ) return { end : b [ c ] } } a . fn . emulateTransitionEnd = function ( b ) { var c = ! 1 , d = this ; a ( this ) . one ( a . support . transition . end , function ( ) { c = ! 0 } ) ; var e = function ( ) { c || a ( d ) . trigger ( a . support . transition . end ) } ; return setTimeout ( e , b ) , this } , a ( function ( ) { a . support . transition = b ( ) } ) } ( jQuery ) , + function ( a ) { "use strict" ; var b = '[data-dismiss="alert"]' , c = function ( c ) { a ( c ) . on ( "click" , b , this . close ) } ; c . prototype . close = function ( b ) { function c ( ) { f . trigger ( "closed.bs.alert" ) . remove ( ) } var d = a ( this ) , e = d . attr ( "data-target" ) ; e || ( e = d . attr ( "href" ) , e = e && e . replace ( /.*(?=#[^\s]*$)/ , "" ) ) ; var f = a ( e ) ; b && b . preventDefault ( ) , f . length || ( f = d . hasClass ( "alert" ) ? d : d . parent ( ) ) , f . trigger ( b = a . Event ( "close.bs.alert" ) ) , b . isDefaultPrevented ( ) || ( f . removeClass ( "in" ) , a . support . transition && f . hasClass ( "fade" ) ? f . one ( a . support . transition . end , c ) . emulateTransitionEnd ( 150 ) : c ( ) ) } ; var d = a . fn . alert ; a . fn . alert = function ( b ) { return this . each ( function ( ) { var d = a ( this ) , e = d . data ( "bs.alert" ) ; e || d . data ( "bs.alert" , e = new c ( this ) ) , "string" == typeof b && e [ b ] . call ( d ) } ) } , a . fn . alert . Constructor = c , a . fn . alert . noConflict = function ( ) { return a . fn . alert = d , this } , a ( document ) . on ( "click.bs.alert.data-api" , b , c . prototype . close ) } ( jQuery ) , + function ( a ) { "use strict" ; var b = function ( c , d ) { this . $element = a ( c ) , this . options = a . extend ( { } , b . DEFAULTS , d ) } ; b . DEFAULTS = { loadingText : "loading..." } , b . prototype . setState = function ( a ) { var b = "disabled" , c = this . $element , d = c . is ( "input" ) ? "val" : "html" , e = c . data ( ) ; a += "Text" , e . resetText || c . data ( "resetText" , c [ d ] ( ) ) , c [ d ] ( e [ a ] || this . options [ a ] ) , setTimeout ( function ( ) { "loadingText" == a ? c . addClass ( b ) . attr ( b , b ) : c . removeClass ( b ) . removeAttr ( b ) } , 0 ) } , b . prototype . toggle = function ( ) { var a = this . $element . closest ( '[data-toggle="buttons"]' ) , b = ! 0 ; if ( a . length ) { var c = this . $element . find ( "input" ) ; "radio" === c . prop ( "type" ) && ( c . prop ( "checked" ) && this . $element . hasClass ( "active" ) ? b = ! 1 : a . find ( ".active" ) . removeClass ( "active" ) ) , b && c . prop ( "checked" , ! this . $element . hasClass ( "active" ) ) . trigger ( "change" ) } b && this . $element . toggleClass ( "active" ) } ; var c = a . fn . button ; a . fn . button = function ( c ) { return this . each ( function ( ) { var d = a ( this ) , e = d . data ( "bs.button" ) , f = "object" == typeof c && c ; e || d . data ( "bs.button" , e = new b ( this , f ) ) , "toggle" == c ? e . toggle ( ) : c && e . setState ( c ) } ) } , a . fn . button . Constructor = b , a . fn . button . noConflict = function ( ) { return a . fn . button = c , this } , a ( document ) . on ( "click.bs.button.data-api" , "[data-toggle^=button]" , function ( b ) { var c = a ( b . target ) ; c . hasClass ( "btn" ) || ( c = c . closest ( ".btn" ) ) , c . button ( "toggle" ) , b . preventDefault ( ) } ) } ( jQuery ) , + function ( a ) { "use strict" ; var b = function ( b , c ) { this . $element = a ( b ) , this . $indicators = this . $element . find ( ".carousel-indicators" ) , this . options = c , this . paused = this . sliding = this . interval = this . $active = this . $items = null , "hover" == this . options . pause && this . $element . on ( "mouseenter" , a . proxy ( this . pause , this ) ) . on ( "mouseleave" , a . proxy ( this . cycle , this ) ) } ; b . DEFAULTS = { interval : 5e3 , pause : "hover" , wrap : ! 0 } , b . prototype . cycle = function ( b ) { return b || ( this . paused = ! 1 ) , this . interval && clearInterval ( this . interval ) , this . options . interval && ! this . paused && ( this . interval = setInterval ( a . proxy ( this . next , this ) , this . options . interval ) ) , this } , b . prototype . getActiveIndex = function ( ) { return this . $active = this . $element . find ( ".item.active" ) , this . $items = this . $active . parent ( ) . children ( ) , this . $items . index ( this . $active ) } , b . prototype . to = function ( b ) { var c = this , d = this . getActiveIndex ( ) ; return b > this . $items . length - 1 || 0 > b ? void 0 : this . sliding ? this . $element . one ( "slid.bs.carousel" , function ( ) { c . to ( b ) } ) : d == b ? this . pause ( ) . cycle ( ) : this . slide ( b > d ? "next" : "prev" , a ( this . $items [ b ] ) ) } , b . prototype . pause = function ( b ) { return b || ( this . paused = ! 0 ) , this . $element . find ( ".next, .prev" ) . length && a . support . transition . end && ( this . $element . trigger ( a . support . transition . end ) , this . cycle ( ! 0 ) ) , this . interval = clearInterval ( this . interval ) , this } , b . prototype . next = function ( ) { return this . sliding ? void 0 : this . sl