| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399 | /* global Symbol */// Defining this global in .eslintrc.json would create a danger of using the global// unguarded in another place, it seems safer to define global only for this moduledefine( [	"./var/arr",	"./var/document",	"./var/getProto",	"./var/slice",	"./var/concat",	"./var/push",	"./var/indexOf",	"./var/class2type",	"./var/toString",	"./var/hasOwn",	"./var/fnToString",	"./var/ObjectFunctionString",	"./var/support",	"./var/isFunction",	"./var/isWindow",	"./core/DOMEval",	"./core/toType"], function( arr, document, getProto, slice, concat, push, indexOf,	class2type, toString, hasOwn, fnToString, ObjectFunctionString,	support, isFunction, isWindow, DOMEval, toType ) {"use strict";var	version = "3.4.1",	// Define a local copy of jQuery	jQuery = function( selector, context ) {		// The jQuery object is actually just the init constructor 'enhanced'		// Need init if jQuery is called (just allow error to be thrown if not included)		return new jQuery.fn.init( selector, context );	},	// Support: Android <=4.0 only	// Make sure we trim BOM and NBSP	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;jQuery.fn = jQuery.prototype = {	// The current version of jQuery being used	jquery: version,	constructor: jQuery,	// The default length of a jQuery object is 0	length: 0,	toArray: function() {		return slice.call( this );	},	// Get the Nth element in the matched element set OR	// Get the whole matched element set as a clean array	get: function( num ) {		// Return all the elements in a clean array		if ( num == null ) {			return slice.call( this );		}		// Return just the one element from the set		return num < 0 ? this[ num + this.length ] : this[ num ];	},	// Take an array of elements and push it onto the stack	// (returning the new matched element set)	pushStack: function( elems ) {		// Build a new jQuery matched element set		var ret = jQuery.merge( this.constructor(), elems );		// Add the old object onto the stack (as a reference)		ret.prevObject = this;		// Return the newly-formed element set		return ret;	},	// Execute a callback for every element in the matched set.	each: function( callback ) {		return jQuery.each( this, callback );	},	map: function( callback ) {		return this.pushStack( jQuery.map( this, function( elem, i ) {			return callback.call( elem, i, elem );		} ) );	},	slice: function() {		return this.pushStack( slice.apply( this, arguments ) );	},	first: function() {		return this.eq( 0 );	},	last: function() {		return this.eq( -1 );	},	eq: function( i ) {		var len = this.length,			j = +i + ( i < 0 ? len : 0 );		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );	},	end: function() {		return this.prevObject || this.constructor();	},	// For internal use only.	// Behaves like an Array's method, not like a jQuery method.	push: push,	sort: arr.sort,	splice: arr.splice};jQuery.extend = jQuery.fn.extend = function() {	var options, name, src, copy, copyIsArray, clone,		target = arguments[ 0 ] || {},		i = 1,		length = arguments.length,		deep = false;	// Handle a deep copy situation	if ( typeof target === "boolean" ) {		deep = target;		// Skip the boolean and the target		target = arguments[ i ] || {};		i++;	}	// Handle case when target is a string or something (possible in deep copy)	if ( typeof target !== "object" && !isFunction( target ) ) {		target = {};	}	// Extend jQuery itself if only one argument is passed	if ( i === length ) {		target = this;		i--;	}	for ( ; i < length; i++ ) {		// Only deal with non-null/undefined values		if ( ( options = arguments[ i ] ) != null ) {			// Extend the base object			for ( name in options ) {				copy = options[ name ];				// Prevent Object.prototype pollution				// Prevent never-ending loop				if ( name === "__proto__" || target === copy ) {					continue;				}				// Recurse if we're merging plain objects or arrays				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||					( copyIsArray = Array.isArray( copy ) ) ) ) {					src = target[ name ];					// Ensure proper type for the source value					if ( copyIsArray && !Array.isArray( src ) ) {						clone = [];					} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {						clone = {};					} else {						clone = src;					}					copyIsArray = false;					// Never move original objects, clone them					target[ name ] = jQuery.extend( deep, clone, copy );				// Don't bring in undefined values				} else if ( copy !== undefined ) {					target[ name ] = copy;				}			}		}	}	// Return the modified object	return target;};jQuery.extend( {	// Unique for each copy of jQuery on the page	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),	// Assume jQuery is ready without the ready module	isReady: true,	error: function( msg ) {		throw new Error( msg );	},	noop: function() {},	isPlainObject: function( obj ) {		var proto, Ctor;		// Detect obvious negatives		// Use toString instead of jQuery.type to catch host objects		if ( !obj || toString.call( obj ) !== "[object Object]" ) {			return false;		}		proto = getProto( obj );		// Objects with no prototype (e.g., `Object.create( null )`) are plain		if ( !proto ) {			return true;		}		// Objects with prototype are plain iff they were constructed by a global Object function		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;	},	isEmptyObject: function( obj ) {		var name;		for ( name in obj ) {			return false;		}		return true;	},	// Evaluates a script in a global context	globalEval: function( code, options ) {		DOMEval( code, { nonce: options && options.nonce } );	},	each: function( obj, callback ) {		var length, i = 0;		if ( isArrayLike( obj ) ) {			length = obj.length;			for ( ; i < length; i++ ) {				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {					break;				}			}		} else {			for ( i in obj ) {				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {					break;				}			}		}		return obj;	},	// Support: Android <=4.0 only	trim: function( text ) {		return text == null ?			"" :			( text + "" ).replace( rtrim, "" );	},	// results is for internal usage only	makeArray: function( arr, results ) {		var ret = results || [];		if ( arr != null ) {			if ( isArrayLike( Object( arr ) ) ) {				jQuery.merge( ret,					typeof arr === "string" ?					[ arr ] : arr				);			} else {				push.call( ret, arr );			}		}		return ret;	},	inArray: function( elem, arr, i ) {		return arr == null ? -1 : indexOf.call( arr, elem, i );	},	// Support: Android <=4.0 only, PhantomJS 1 only	// push.apply(_, arraylike) throws on ancient WebKit	merge: function( first, second ) {		var len = +second.length,			j = 0,			i = first.length;		for ( ; j < len; j++ ) {			first[ i++ ] = second[ j ];		}		first.length = i;		return first;	},	grep: function( elems, callback, invert ) {		var callbackInverse,			matches = [],			i = 0,			length = elems.length,			callbackExpect = !invert;		// Go through the array, only saving the items		// that pass the validator function		for ( ; i < length; i++ ) {			callbackInverse = !callback( elems[ i ], i );			if ( callbackInverse !== callbackExpect ) {				matches.push( elems[ i ] );			}		}		return matches;	},	// arg is for internal usage only	map: function( elems, callback, arg ) {		var length, value,			i = 0,			ret = [];		// Go through the array, translating each of the items to their new values		if ( isArrayLike( elems ) ) {			length = elems.length;			for ( ; i < length; i++ ) {				value = callback( elems[ i ], i, arg );				if ( value != null ) {					ret.push( value );				}			}		// Go through every key on the object,		} else {			for ( i in elems ) {				value = callback( elems[ i ], i, arg );				if ( value != null ) {					ret.push( value );				}			}		}		// Flatten any nested arrays		return concat.apply( [], ret );	},	// A global GUID counter for objects	guid: 1,	// jQuery.support is not used in Core but other projects attach their	// properties to it so it needs to exist.	support: support} );if ( typeof Symbol === "function" ) {	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];}// Populate the class2type mapjQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),function( i, name ) {	class2type[ "[object " + name + "]" ] = name.toLowerCase();} );function isArrayLike( obj ) {	// Support: real iOS 8.2 only (not reproducible in simulator)	// `in` check used to prevent JIT error (gh-2145)	// hasOwn isn't used here due to false negatives	// regarding Nodelist length in IE	var length = !!obj && "length" in obj && obj.length,		type = toType( obj );	if ( isFunction( obj ) || isWindow( obj ) ) {		return false;	}	return type === "array" || length === 0 ||		typeof length === "number" && length > 0 && ( length - 1 ) in obj;}return jQuery;} );
 |