jquery-rails 4.3.5 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.travis.yml +4 -2
 - data/CHANGELOG.md +22 -1
 - data/VERSIONS.md +4 -0
 - data/lib/jquery/assert_select.rb +2 -0
 - data/lib/jquery/rails/version.rb +3 -3
 - data/test/assert_select_jquery_test.rb +6 -0
 - data/vendor/assets/javascripts/jquery3.js +1503 -1397
 - data/vendor/assets/javascripts/jquery3.min.js +2 -2
 - data/vendor/assets/javascripts/jquery3.min.map +1 -1
 - data/vendor/assets/javascripts/jquery_ujs.js +18 -8
 - metadata +6 -6
 
| 
         @@ -1,15 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /*!
         
     | 
| 
       2 
     | 
    
         
            -
             * jQuery JavaScript Library v3. 
     | 
| 
      
 2 
     | 
    
         
            +
             * jQuery JavaScript Library v3.7.0
         
     | 
| 
       3 
3 
     | 
    
         
             
             * https://jquery.com/
         
     | 
| 
       4 
4 
     | 
    
         
             
             *
         
     | 
| 
       5 
     | 
    
         
            -
             *  
     | 
| 
       6 
     | 
    
         
            -
             * https://sizzlejs.com/
         
     | 
| 
       7 
     | 
    
         
            -
             *
         
     | 
| 
       8 
     | 
    
         
            -
             * Copyright JS Foundation and other contributors
         
     | 
| 
      
 5 
     | 
    
         
            +
             * Copyright OpenJS Foundation and other contributors
         
     | 
| 
       9 
6 
     | 
    
         
             
             * Released under the MIT license
         
     | 
| 
       10 
7 
     | 
    
         
             
             * https://jquery.org/license
         
     | 
| 
       11 
8 
     | 
    
         
             
             *
         
     | 
| 
       12 
     | 
    
         
            -
             * Date:  
     | 
| 
      
 9 
     | 
    
         
            +
             * Date: 2023-05-11T18:29Z
         
     | 
| 
       13 
10 
     | 
    
         
             
             */
         
     | 
| 
       14 
11 
     | 
    
         
             
            ( function( global, factory ) {
         
     | 
| 
       15 
12 
     | 
    
         | 
| 
         @@ -23,7 +20,7 @@ 
     | 
|
| 
       23 
20 
     | 
    
         
             
            		// (such as Node.js), expose a factory as module.exports.
         
     | 
| 
       24 
21 
     | 
    
         
             
            		// This accentuates the need for the creation of a real `window`.
         
     | 
| 
       25 
22 
     | 
    
         
             
            		// e.g. var jQuery = require("jquery")(window);
         
     | 
| 
       26 
     | 
    
         
            -
            		// See ticket  
     | 
| 
      
 23 
     | 
    
         
            +
            		// See ticket trac-14549 for more info.
         
     | 
| 
       27 
24 
     | 
    
         
             
            		module.exports = global.document ?
         
     | 
| 
       28 
25 
     | 
    
         
             
            			factory( global, true ) :
         
     | 
| 
       29 
26 
     | 
    
         
             
            			function( w ) {
         
     | 
| 
         @@ -47,13 +44,16 @@ 
     | 
|
| 
       47 
44 
     | 
    
         | 
| 
       48 
45 
     | 
    
         
             
            var arr = [];
         
     | 
| 
       49 
46 
     | 
    
         | 
| 
       50 
     | 
    
         
            -
            var document = window.document;
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
47 
     | 
    
         
             
            var getProto = Object.getPrototypeOf;
         
     | 
| 
       53 
48 
     | 
    
         | 
| 
       54 
49 
     | 
    
         
             
            var slice = arr.slice;
         
     | 
| 
       55 
50 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
            var  
     | 
| 
      
 51 
     | 
    
         
            +
            var flat = arr.flat ? function( array ) {
         
     | 
| 
      
 52 
     | 
    
         
            +
            	return arr.flat.call( array );
         
     | 
| 
      
 53 
     | 
    
         
            +
            } : function( array ) {
         
     | 
| 
      
 54 
     | 
    
         
            +
            	return arr.concat.apply( [], array );
         
     | 
| 
      
 55 
     | 
    
         
            +
            };
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
       57 
57 
     | 
    
         | 
| 
       58 
58 
     | 
    
         
             
            var push = arr.push;
         
     | 
| 
       59 
59 
     | 
    
         | 
| 
         @@ -73,12 +73,16 @@ var support = {}; 
     | 
|
| 
       73 
73 
     | 
    
         | 
| 
       74 
74 
     | 
    
         
             
            var isFunction = function isFunction( obj ) {
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
      
 76 
     | 
    
         
            +
            		// Support: Chrome <=57, Firefox <=52
         
     | 
| 
      
 77 
     | 
    
         
            +
            		// In some browsers, typeof returns "function" for HTML <object> elements
         
     | 
| 
      
 78 
     | 
    
         
            +
            		// (i.e., `typeof document.createElement( "object" ) === "function"`).
         
     | 
| 
      
 79 
     | 
    
         
            +
            		// We don't want to classify *any* DOM node as a function.
         
     | 
| 
      
 80 
     | 
    
         
            +
            		// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
         
     | 
| 
      
 81 
     | 
    
         
            +
            		// Plus for old WebKit, typeof returns "function" for HTML collections
         
     | 
| 
      
 82 
     | 
    
         
            +
            		// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
         
     | 
| 
      
 83 
     | 
    
         
            +
            		return typeof obj === "function" && typeof obj.nodeType !== "number" &&
         
     | 
| 
      
 84 
     | 
    
         
            +
            			typeof obj.item !== "function";
         
     | 
| 
      
 85 
     | 
    
         
            +
            	};
         
     | 
| 
       82 
86 
     | 
    
         | 
| 
       83 
87 
     | 
    
         | 
| 
       84 
88 
     | 
    
         
             
            var isWindow = function isWindow( obj ) {
         
     | 
| 
         @@ -86,6 +90,8 @@ var isWindow = function isWindow( obj ) { 
     | 
|
| 
       86 
90 
     | 
    
         
             
            	};
         
     | 
| 
       87 
91 
     | 
    
         | 
| 
       88 
92 
     | 
    
         | 
| 
      
 93 
     | 
    
         
            +
            var document = window.document;
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
       89 
95 
     | 
    
         | 
| 
       90 
96 
     | 
    
         | 
| 
       91 
97 
     | 
    
         
             
            	var preservedScriptAttributes = {
         
     | 
| 
         @@ -141,8 +147,9 @@ function toType( obj ) { 
     | 
|
| 
       141 
147 
     | 
    
         | 
| 
       142 
148 
     | 
    
         | 
| 
       143 
149 
     | 
    
         | 
| 
       144 
     | 
    
         
            -
            var
         
     | 
| 
       145 
     | 
    
         
            -
             
     | 
| 
      
 150 
     | 
    
         
            +
            var version = "3.7.0",
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
            	rhtmlSuffix = /HTML$/i,
         
     | 
| 
       146 
153 
     | 
    
         | 
| 
       147 
154 
     | 
    
         
             
            	// Define a local copy of jQuery
         
     | 
| 
       148 
155 
     | 
    
         
             
            	jQuery = function( selector, context ) {
         
     | 
| 
         @@ -150,11 +157,7 @@ var 
     | 
|
| 
       150 
157 
     | 
    
         
             
            		// The jQuery object is actually just the init constructor 'enhanced'
         
     | 
| 
       151 
158 
     | 
    
         
             
            		// Need init if jQuery is called (just allow error to be thrown if not included)
         
     | 
| 
       152 
159 
     | 
    
         
             
            		return new jQuery.fn.init( selector, context );
         
     | 
| 
       153 
     | 
    
         
            -
            	} 
     | 
| 
       154 
     | 
    
         
            -
             
     | 
| 
       155 
     | 
    
         
            -
            	// Support: Android <=4.0 only
         
     | 
| 
       156 
     | 
    
         
            -
            	// Make sure we trim BOM and NBSP
         
     | 
| 
       157 
     | 
    
         
            -
            	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
         
     | 
| 
      
 160 
     | 
    
         
            +
            	};
         
     | 
| 
       158 
161 
     | 
    
         | 
| 
       159 
162 
     | 
    
         
             
            jQuery.fn = jQuery.prototype = {
         
     | 
| 
       160 
163 
     | 
    
         | 
| 
         @@ -220,6 +223,18 @@ jQuery.fn = jQuery.prototype = { 
     | 
|
| 
       220 
223 
     | 
    
         
             
            		return this.eq( -1 );
         
     | 
| 
       221 
224 
     | 
    
         
             
            	},
         
     | 
| 
       222 
225 
     | 
    
         | 
| 
      
 226 
     | 
    
         
            +
            	even: function() {
         
     | 
| 
      
 227 
     | 
    
         
            +
            		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
         
     | 
| 
      
 228 
     | 
    
         
            +
            			return ( i + 1 ) % 2;
         
     | 
| 
      
 229 
     | 
    
         
            +
            		} ) );
         
     | 
| 
      
 230 
     | 
    
         
            +
            	},
         
     | 
| 
      
 231 
     | 
    
         
            +
             
     | 
| 
      
 232 
     | 
    
         
            +
            	odd: function() {
         
     | 
| 
      
 233 
     | 
    
         
            +
            		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
         
     | 
| 
      
 234 
     | 
    
         
            +
            			return i % 2;
         
     | 
| 
      
 235 
     | 
    
         
            +
            		} ) );
         
     | 
| 
      
 236 
     | 
    
         
            +
            	},
         
     | 
| 
      
 237 
     | 
    
         
            +
             
     | 
| 
       223 
238 
     | 
    
         
             
            	eq: function( i ) {
         
     | 
| 
       224 
239 
     | 
    
         
             
            		var len = this.length,
         
     | 
| 
       225 
240 
     | 
    
         
             
            			j = +i + ( i < 0 ? len : 0 );
         
     | 
| 
         @@ -353,9 +368,10 @@ jQuery.extend( { 
     | 
|
| 
       353 
368 
     | 
    
         
             
            		return true;
         
     | 
| 
       354 
369 
     | 
    
         
             
            	},
         
     | 
| 
       355 
370 
     | 
    
         | 
| 
       356 
     | 
    
         
            -
            	// Evaluates a script in a global  
     | 
| 
       357 
     | 
    
         
            -
            	 
     | 
| 
       358 
     | 
    
         
            -
             
     | 
| 
      
 371 
     | 
    
         
            +
            	// Evaluates a script in a provided context; falls back to the global one
         
     | 
| 
      
 372 
     | 
    
         
            +
            	// if not specified.
         
     | 
| 
      
 373 
     | 
    
         
            +
            	globalEval: function( code, options, doc ) {
         
     | 
| 
      
 374 
     | 
    
         
            +
            		DOMEval( code, { nonce: options && options.nonce }, doc );
         
     | 
| 
       359 
375 
     | 
    
         
             
            	},
         
     | 
| 
       360 
376 
     | 
    
         | 
| 
       361 
377 
     | 
    
         
             
            	each: function( obj, callback ) {
         
     | 
| 
         @@ -379,11 +395,31 @@ jQuery.extend( { 
     | 
|
| 
       379 
395 
     | 
    
         
             
            		return obj;
         
     | 
| 
       380 
396 
     | 
    
         
             
            	},
         
     | 
| 
       381 
397 
     | 
    
         | 
| 
       382 
     | 
    
         
            -
             
     | 
| 
       383 
     | 
    
         
            -
            	 
     | 
| 
       384 
     | 
    
         
            -
             
     | 
| 
       385 
     | 
    
         
            -
             
     | 
| 
       386 
     | 
    
         
            -
            			 
     | 
| 
      
 398 
     | 
    
         
            +
             
     | 
| 
      
 399 
     | 
    
         
            +
            	// Retrieve the text value of an array of DOM nodes
         
     | 
| 
      
 400 
     | 
    
         
            +
            	text: function( elem ) {
         
     | 
| 
      
 401 
     | 
    
         
            +
            		var node,
         
     | 
| 
      
 402 
     | 
    
         
            +
            			ret = "",
         
     | 
| 
      
 403 
     | 
    
         
            +
            			i = 0,
         
     | 
| 
      
 404 
     | 
    
         
            +
            			nodeType = elem.nodeType;
         
     | 
| 
      
 405 
     | 
    
         
            +
             
     | 
| 
      
 406 
     | 
    
         
            +
            		if ( !nodeType ) {
         
     | 
| 
      
 407 
     | 
    
         
            +
             
     | 
| 
      
 408 
     | 
    
         
            +
            			// If no nodeType, this is expected to be an array
         
     | 
| 
      
 409 
     | 
    
         
            +
            			while ( ( node = elem[ i++ ] ) ) {
         
     | 
| 
      
 410 
     | 
    
         
            +
             
     | 
| 
      
 411 
     | 
    
         
            +
            				// Do not traverse comment nodes
         
     | 
| 
      
 412 
     | 
    
         
            +
            				ret += jQuery.text( node );
         
     | 
| 
      
 413 
     | 
    
         
            +
            			}
         
     | 
| 
      
 414 
     | 
    
         
            +
            		} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
         
     | 
| 
      
 415 
     | 
    
         
            +
            			return elem.textContent;
         
     | 
| 
      
 416 
     | 
    
         
            +
            		} else if ( nodeType === 3 || nodeType === 4 ) {
         
     | 
| 
      
 417 
     | 
    
         
            +
            			return elem.nodeValue;
         
     | 
| 
      
 418 
     | 
    
         
            +
            		}
         
     | 
| 
      
 419 
     | 
    
         
            +
             
     | 
| 
      
 420 
     | 
    
         
            +
            		// Do not include comment or processing instruction nodes
         
     | 
| 
      
 421 
     | 
    
         
            +
             
     | 
| 
      
 422 
     | 
    
         
            +
            		return ret;
         
     | 
| 
       387 
423 
     | 
    
         
             
            	},
         
     | 
| 
       388 
424 
     | 
    
         | 
| 
       389 
425 
     | 
    
         
             
            	// results is for internal usage only
         
     | 
| 
         @@ -394,7 +430,7 @@ jQuery.extend( { 
     | 
|
| 
       394 
430 
     | 
    
         
             
            			if ( isArrayLike( Object( arr ) ) ) {
         
     | 
| 
       395 
431 
     | 
    
         
             
            				jQuery.merge( ret,
         
     | 
| 
       396 
432 
     | 
    
         
             
            					typeof arr === "string" ?
         
     | 
| 
       397 
     | 
    
         
            -
             
     | 
| 
      
 433 
     | 
    
         
            +
            						[ arr ] : arr
         
     | 
| 
       398 
434 
     | 
    
         
             
            				);
         
     | 
| 
       399 
435 
     | 
    
         
             
            			} else {
         
     | 
| 
       400 
436 
     | 
    
         
             
            				push.call( ret, arr );
         
     | 
| 
         @@ -408,6 +444,15 @@ jQuery.extend( { 
     | 
|
| 
       408 
444 
     | 
    
         
             
            		return arr == null ? -1 : indexOf.call( arr, elem, i );
         
     | 
| 
       409 
445 
     | 
    
         
             
            	},
         
     | 
| 
       410 
446 
     | 
    
         | 
| 
      
 447 
     | 
    
         
            +
            	isXMLDoc: function( elem ) {
         
     | 
| 
      
 448 
     | 
    
         
            +
            		var namespace = elem && elem.namespaceURI,
         
     | 
| 
      
 449 
     | 
    
         
            +
            			docElem = elem && ( elem.ownerDocument || elem ).documentElement;
         
     | 
| 
      
 450 
     | 
    
         
            +
             
     | 
| 
      
 451 
     | 
    
         
            +
            		// Assume HTML when documentElement doesn't yet exist, such as inside
         
     | 
| 
      
 452 
     | 
    
         
            +
            		// document fragments.
         
     | 
| 
      
 453 
     | 
    
         
            +
            		return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" );
         
     | 
| 
      
 454 
     | 
    
         
            +
            	},
         
     | 
| 
      
 455 
     | 
    
         
            +
             
     | 
| 
       411 
456 
     | 
    
         
             
            	// Support: Android <=4.0 only, PhantomJS 1 only
         
     | 
| 
       412 
457 
     | 
    
         
             
            	// push.apply(_, arraylike) throws on ancient WebKit
         
     | 
| 
       413 
458 
     | 
    
         
             
            	merge: function( first, second ) {
         
     | 
| 
         @@ -472,7 +517,7 @@ jQuery.extend( { 
     | 
|
| 
       472 
517 
     | 
    
         
             
            		}
         
     | 
| 
       473 
518 
     | 
    
         | 
| 
       474 
519 
     | 
    
         
             
            		// Flatten any nested arrays
         
     | 
| 
       475 
     | 
    
         
            -
            		return  
     | 
| 
      
 520 
     | 
    
         
            +
            		return flat( ret );
         
     | 
| 
       476 
521 
     | 
    
         
             
            	},
         
     | 
| 
       477 
522 
     | 
    
         | 
| 
       478 
523 
     | 
    
         
             
            	// A global GUID counter for objects
         
     | 
| 
         @@ -489,9 +534,9 @@ if ( typeof Symbol === "function" ) { 
     | 
|
| 
       489 
534 
     | 
    
         | 
| 
       490 
535 
     | 
    
         
             
            // Populate the class2type map
         
     | 
| 
       491 
536 
     | 
    
         
             
            jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
         
     | 
| 
       492 
     | 
    
         
            -
            function(  
     | 
| 
       493 
     | 
    
         
            -
             
     | 
| 
       494 
     | 
    
         
            -
            } );
         
     | 
| 
      
 537 
     | 
    
         
            +
            	function( _i, name ) {
         
     | 
| 
      
 538 
     | 
    
         
            +
            		class2type[ "[object " + name + "]" ] = name.toLowerCase();
         
     | 
| 
      
 539 
     | 
    
         
            +
            	} );
         
     | 
| 
       495 
540 
     | 
    
         | 
| 
       496 
541 
     | 
    
         
             
            function isArrayLike( obj ) {
         
     | 
| 
       497 
542 
     | 
    
         | 
| 
         @@ -509,44 +554,98 @@ function isArrayLike( obj ) { 
     | 
|
| 
       509 
554 
     | 
    
         
             
            	return type === "array" || length === 0 ||
         
     | 
| 
       510 
555 
     | 
    
         
             
            		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
         
     | 
| 
       511 
556 
     | 
    
         
             
            }
         
     | 
| 
       512 
     | 
    
         
            -
             
     | 
| 
       513 
     | 
    
         
            -
             
     | 
| 
       514 
     | 
    
         
            -
              
     | 
| 
       515 
     | 
    
         
            -
             
     | 
| 
       516 
     | 
    
         
            -
              
     | 
| 
       517 
     | 
    
         
            -
             
     | 
| 
       518 
     | 
    
         
            -
             
     | 
| 
       519 
     | 
    
         
            -
              
     | 
| 
       520 
     | 
    
         
            -
             
     | 
| 
       521 
     | 
    
         
            -
             
     | 
| 
       522 
     | 
    
         
            -
              
     | 
| 
       523 
     | 
    
         
            -
             
     | 
| 
      
 557 
     | 
    
         
            +
             
     | 
| 
      
 558 
     | 
    
         
            +
             
     | 
| 
      
 559 
     | 
    
         
            +
            function nodeName( elem, name ) {
         
     | 
| 
      
 560 
     | 
    
         
            +
             
     | 
| 
      
 561 
     | 
    
         
            +
            	return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
         
     | 
| 
      
 562 
     | 
    
         
            +
             
     | 
| 
      
 563 
     | 
    
         
            +
            }
         
     | 
| 
      
 564 
     | 
    
         
            +
            var pop = arr.pop;
         
     | 
| 
      
 565 
     | 
    
         
            +
             
     | 
| 
      
 566 
     | 
    
         
            +
             
     | 
| 
      
 567 
     | 
    
         
            +
            var sort = arr.sort;
         
     | 
| 
      
 568 
     | 
    
         
            +
             
     | 
| 
      
 569 
     | 
    
         
            +
             
     | 
| 
      
 570 
     | 
    
         
            +
            var splice = arr.splice;
         
     | 
| 
      
 571 
     | 
    
         
            +
             
     | 
| 
      
 572 
     | 
    
         
            +
             
     | 
| 
      
 573 
     | 
    
         
            +
            var whitespace = "[\\x20\\t\\r\\n\\f]";
         
     | 
| 
      
 574 
     | 
    
         
            +
             
     | 
| 
      
 575 
     | 
    
         
            +
             
     | 
| 
      
 576 
     | 
    
         
            +
            var rtrimCSS = new RegExp(
         
     | 
| 
      
 577 
     | 
    
         
            +
            	"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
         
     | 
| 
      
 578 
     | 
    
         
            +
            	"g"
         
     | 
| 
      
 579 
     | 
    
         
            +
            );
         
     | 
| 
      
 580 
     | 
    
         
            +
             
     | 
| 
      
 581 
     | 
    
         
            +
             
     | 
| 
      
 582 
     | 
    
         
            +
             
     | 
| 
      
 583 
     | 
    
         
            +
             
     | 
| 
      
 584 
     | 
    
         
            +
            // Note: an element does not contain itself
         
     | 
| 
      
 585 
     | 
    
         
            +
            jQuery.contains = function( a, b ) {
         
     | 
| 
      
 586 
     | 
    
         
            +
            	var bup = b && b.parentNode;
         
     | 
| 
      
 587 
     | 
    
         
            +
             
     | 
| 
      
 588 
     | 
    
         
            +
            	return a === bup || !!( bup && bup.nodeType === 1 && (
         
     | 
| 
      
 589 
     | 
    
         
            +
             
     | 
| 
      
 590 
     | 
    
         
            +
            		// Support: IE 9 - 11+
         
     | 
| 
      
 591 
     | 
    
         
            +
            		// IE doesn't have `contains` on SVG.
         
     | 
| 
      
 592 
     | 
    
         
            +
            		a.contains ?
         
     | 
| 
      
 593 
     | 
    
         
            +
            			a.contains( bup ) :
         
     | 
| 
      
 594 
     | 
    
         
            +
            			a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
         
     | 
| 
      
 595 
     | 
    
         
            +
            	) );
         
     | 
| 
      
 596 
     | 
    
         
            +
            };
         
     | 
| 
      
 597 
     | 
    
         
            +
             
     | 
| 
      
 598 
     | 
    
         
            +
             
     | 
| 
      
 599 
     | 
    
         
            +
             
     | 
| 
      
 600 
     | 
    
         
            +
             
     | 
| 
      
 601 
     | 
    
         
            +
            // CSS string/identifier serialization
         
     | 
| 
      
 602 
     | 
    
         
            +
            // https://drafts.csswg.org/cssom/#common-serializing-idioms
         
     | 
| 
      
 603 
     | 
    
         
            +
            var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
         
     | 
| 
      
 604 
     | 
    
         
            +
             
     | 
| 
      
 605 
     | 
    
         
            +
            function fcssescape( ch, asCodePoint ) {
         
     | 
| 
      
 606 
     | 
    
         
            +
            	if ( asCodePoint ) {
         
     | 
| 
      
 607 
     | 
    
         
            +
             
     | 
| 
      
 608 
     | 
    
         
            +
            		// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
         
     | 
| 
      
 609 
     | 
    
         
            +
            		if ( ch === "\0" ) {
         
     | 
| 
      
 610 
     | 
    
         
            +
            			return "\uFFFD";
         
     | 
| 
      
 611 
     | 
    
         
            +
            		}
         
     | 
| 
      
 612 
     | 
    
         
            +
             
     | 
| 
      
 613 
     | 
    
         
            +
            		// Control characters and (dependent upon position) numbers get escaped as code points
         
     | 
| 
      
 614 
     | 
    
         
            +
            		return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
         
     | 
| 
      
 615 
     | 
    
         
            +
            	}
         
     | 
| 
      
 616 
     | 
    
         
            +
             
     | 
| 
      
 617 
     | 
    
         
            +
            	// Other potentially-special ASCII characters get backslash-escaped
         
     | 
| 
      
 618 
     | 
    
         
            +
            	return "\\" + ch;
         
     | 
| 
      
 619 
     | 
    
         
            +
            }
         
     | 
| 
      
 620 
     | 
    
         
            +
             
     | 
| 
      
 621 
     | 
    
         
            +
            jQuery.escapeSelector = function( sel ) {
         
     | 
| 
      
 622 
     | 
    
         
            +
            	return ( sel + "" ).replace( rcssescape, fcssescape );
         
     | 
| 
      
 623 
     | 
    
         
            +
            };
         
     | 
| 
      
 624 
     | 
    
         
            +
             
     | 
| 
      
 625 
     | 
    
         
            +
             
     | 
| 
      
 626 
     | 
    
         
            +
             
     | 
| 
      
 627 
     | 
    
         
            +
             
     | 
| 
      
 628 
     | 
    
         
            +
            var preferredDoc = document,
         
     | 
| 
      
 629 
     | 
    
         
            +
            	pushNative = push;
         
     | 
| 
      
 630 
     | 
    
         
            +
             
     | 
| 
      
 631 
     | 
    
         
            +
            ( function() {
         
     | 
| 
       524 
632 
     | 
    
         | 
| 
       525 
633 
     | 
    
         
             
            var i,
         
     | 
| 
       526 
     | 
    
         
            -
            	support,
         
     | 
| 
       527 
634 
     | 
    
         
             
            	Expr,
         
     | 
| 
       528 
     | 
    
         
            -
            	getText,
         
     | 
| 
       529 
     | 
    
         
            -
            	isXML,
         
     | 
| 
       530 
     | 
    
         
            -
            	tokenize,
         
     | 
| 
       531 
     | 
    
         
            -
            	compile,
         
     | 
| 
       532 
     | 
    
         
            -
            	select,
         
     | 
| 
       533 
635 
     | 
    
         
             
            	outermostContext,
         
     | 
| 
       534 
636 
     | 
    
         
             
            	sortInput,
         
     | 
| 
       535 
637 
     | 
    
         
             
            	hasDuplicate,
         
     | 
| 
      
 638 
     | 
    
         
            +
            	push = pushNative,
         
     | 
| 
       536 
639 
     | 
    
         | 
| 
       537 
640 
     | 
    
         
             
            	// Local document vars
         
     | 
| 
       538 
     | 
    
         
            -
            	setDocument,
         
     | 
| 
       539 
641 
     | 
    
         
             
            	document,
         
     | 
| 
       540 
     | 
    
         
            -
            	 
     | 
| 
      
 642 
     | 
    
         
            +
            	documentElement,
         
     | 
| 
       541 
643 
     | 
    
         
             
            	documentIsHTML,
         
     | 
| 
       542 
644 
     | 
    
         
             
            	rbuggyQSA,
         
     | 
| 
       543 
     | 
    
         
            -
            	rbuggyMatches,
         
     | 
| 
       544 
645 
     | 
    
         
             
            	matches,
         
     | 
| 
       545 
     | 
    
         
            -
            	contains,
         
     | 
| 
       546 
646 
     | 
    
         | 
| 
       547 
647 
     | 
    
         
             
            	// Instance-specific data
         
     | 
| 
       548 
     | 
    
         
            -
            	expando =  
     | 
| 
       549 
     | 
    
         
            -
            	preferredDoc = window.document,
         
     | 
| 
      
 648 
     | 
    
         
            +
            	expando = jQuery.expando,
         
     | 
| 
       550 
649 
     | 
    
         
             
            	dirruns = 0,
         
     | 
| 
       551 
650 
     | 
    
         
             
            	done = 0,
         
     | 
| 
       552 
651 
     | 
    
         
             
            	classCache = createCache(),
         
     | 
| 
         @@ -560,173 +659,145 @@ var i, 
     | 
|
| 
       560 
659 
     | 
    
         
             
            		return 0;
         
     | 
| 
       561 
660 
     | 
    
         
             
            	},
         
     | 
| 
       562 
661 
     | 
    
         | 
| 
       563 
     | 
    
         
            -
            	 
     | 
| 
       564 
     | 
    
         
            -
             
     | 
| 
       565 
     | 
    
         
            -
            	arr = [],
         
     | 
| 
       566 
     | 
    
         
            -
            	pop = arr.pop,
         
     | 
| 
       567 
     | 
    
         
            -
            	push_native = arr.push,
         
     | 
| 
       568 
     | 
    
         
            -
            	push = arr.push,
         
     | 
| 
       569 
     | 
    
         
            -
            	slice = arr.slice,
         
     | 
| 
       570 
     | 
    
         
            -
            	// Use a stripped-down indexOf as it's faster than native
         
     | 
| 
       571 
     | 
    
         
            -
            	// https://jsperf.com/thor-indexof-vs-for/5
         
     | 
| 
       572 
     | 
    
         
            -
            	indexOf = function( list, elem ) {
         
     | 
| 
       573 
     | 
    
         
            -
            		var i = 0,
         
     | 
| 
       574 
     | 
    
         
            -
            			len = list.length;
         
     | 
| 
       575 
     | 
    
         
            -
            		for ( ; i < len; i++ ) {
         
     | 
| 
       576 
     | 
    
         
            -
            			if ( list[i] === elem ) {
         
     | 
| 
       577 
     | 
    
         
            -
            				return i;
         
     | 
| 
       578 
     | 
    
         
            -
            			}
         
     | 
| 
       579 
     | 
    
         
            -
            		}
         
     | 
| 
       580 
     | 
    
         
            -
            		return -1;
         
     | 
| 
       581 
     | 
    
         
            -
            	},
         
     | 
| 
       582 
     | 
    
         
            -
             
     | 
| 
       583 
     | 
    
         
            -
            	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
         
     | 
| 
      
 662 
     | 
    
         
            +
            	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" +
         
     | 
| 
      
 663 
     | 
    
         
            +
            		"loop|multiple|open|readonly|required|scoped",
         
     | 
| 
       584 
664 
     | 
    
         | 
| 
       585 
665 
     | 
    
         
             
            	// Regular expressions
         
     | 
| 
       586 
666 
     | 
    
         | 
| 
       587 
     | 
    
         
            -
            	//  
     | 
| 
       588 
     | 
    
         
            -
            	 
     | 
| 
       589 
     | 
    
         
            -
             
     | 
| 
       590 
     | 
    
         
            -
            	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
         
     | 
| 
       591 
     | 
    
         
            -
            	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
         
     | 
| 
      
 667 
     | 
    
         
            +
            	// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
         
     | 
| 
      
 668 
     | 
    
         
            +
            	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
         
     | 
| 
      
 669 
     | 
    
         
            +
            		"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
         
     | 
| 
       592 
670 
     | 
    
         | 
| 
       593 
     | 
    
         
            -
            	// Attribute selectors:  
     | 
| 
      
 671 
     | 
    
         
            +
            	// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
         
     | 
| 
       594 
672 
     | 
    
         
             
            	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
         
     | 
| 
      
 673 
     | 
    
         
            +
             
     | 
| 
       595 
674 
     | 
    
         
             
            		// Operator (capture 2)
         
     | 
| 
       596 
675 
     | 
    
         
             
            		"*([*^$|!~]?=)" + whitespace +
         
     | 
| 
      
 676 
     | 
    
         
            +
             
     | 
| 
       597 
677 
     | 
    
         
             
            		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
         
     | 
| 
       598 
     | 
    
         
            -
            		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + 
     | 
| 
       599 
     | 
    
         
            -
            		"*\\]",
         
     | 
| 
      
 678 
     | 
    
         
            +
            		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
         
     | 
| 
      
 679 
     | 
    
         
            +
            		whitespace + "*\\]",
         
     | 
| 
       600 
680 
     | 
    
         | 
| 
       601 
681 
     | 
    
         
             
            	pseudos = ":(" + identifier + ")(?:\\((" +
         
     | 
| 
      
 682 
     | 
    
         
            +
             
     | 
| 
       602 
683 
     | 
    
         
             
            		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
         
     | 
| 
       603 
684 
     | 
    
         
             
            		// 1. quoted (capture 3; capture 4 or capture 5)
         
     | 
| 
       604 
685 
     | 
    
         
             
            		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
         
     | 
| 
      
 686 
     | 
    
         
            +
             
     | 
| 
       605 
687 
     | 
    
         
             
            		// 2. simple (capture 6)
         
     | 
| 
       606 
688 
     | 
    
         
             
            		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
         
     | 
| 
      
 689 
     | 
    
         
            +
             
     | 
| 
       607 
690 
     | 
    
         
             
            		// 3. anything else (capture 2)
         
     | 
| 
       608 
691 
     | 
    
         
             
            		".*" +
         
     | 
| 
       609 
692 
     | 
    
         
             
            		")\\)|)",
         
     | 
| 
       610 
693 
     | 
    
         | 
| 
       611 
694 
     | 
    
         
             
            	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
         
     | 
| 
       612 
695 
     | 
    
         
             
            	rwhitespace = new RegExp( whitespace + "+", "g" ),
         
     | 
| 
       613 
     | 
    
         
            -
            	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
         
     | 
| 
       614 
696 
     | 
    
         | 
| 
       615 
697 
     | 
    
         
             
            	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
         
     | 
| 
       616 
     | 
    
         
            -
            	 
     | 
| 
      
 698 
     | 
    
         
            +
            	rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" +
         
     | 
| 
      
 699 
     | 
    
         
            +
            		whitespace + "*" ),
         
     | 
| 
       617 
700 
     | 
    
         
             
            	rdescend = new RegExp( whitespace + "|>" ),
         
     | 
| 
       618 
701 
     | 
    
         | 
| 
       619 
702 
     | 
    
         
             
            	rpseudo = new RegExp( pseudos ),
         
     | 
| 
       620 
703 
     | 
    
         
             
            	ridentifier = new RegExp( "^" + identifier + "$" ),
         
     | 
| 
       621 
704 
     | 
    
         | 
| 
       622 
705 
     | 
    
         
             
            	matchExpr = {
         
     | 
| 
       623 
     | 
    
         
            -
            		 
     | 
| 
       624 
     | 
    
         
            -
            		 
     | 
| 
       625 
     | 
    
         
            -
            		 
     | 
| 
       626 
     | 
    
         
            -
            		 
     | 
| 
       627 
     | 
    
         
            -
            		 
     | 
| 
       628 
     | 
    
         
            -
            		 
     | 
| 
       629 
     | 
    
         
            -
            			" 
     | 
| 
       630 
     | 
    
         
            -
             
     | 
| 
       631 
     | 
    
         
            -
             
     | 
| 
      
 706 
     | 
    
         
            +
            		ID: new RegExp( "^#(" + identifier + ")" ),
         
     | 
| 
      
 707 
     | 
    
         
            +
            		CLASS: new RegExp( "^\\.(" + identifier + ")" ),
         
     | 
| 
      
 708 
     | 
    
         
            +
            		TAG: new RegExp( "^(" + identifier + "|[*])" ),
         
     | 
| 
      
 709 
     | 
    
         
            +
            		ATTR: new RegExp( "^" + attributes ),
         
     | 
| 
      
 710 
     | 
    
         
            +
            		PSEUDO: new RegExp( "^" + pseudos ),
         
     | 
| 
      
 711 
     | 
    
         
            +
            		CHILD: new RegExp(
         
     | 
| 
      
 712 
     | 
    
         
            +
            			"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
         
     | 
| 
      
 713 
     | 
    
         
            +
            				whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
         
     | 
| 
      
 714 
     | 
    
         
            +
            				whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
         
     | 
| 
      
 715 
     | 
    
         
            +
            		bool: new RegExp( "^(?:" + booleans + ")$", "i" ),
         
     | 
| 
      
 716 
     | 
    
         
            +
             
     | 
| 
       632 
717 
     | 
    
         
             
            		// For use in libraries implementing .is()
         
     | 
| 
       633 
718 
     | 
    
         
             
            		// We use this for POS matching in `select`
         
     | 
| 
       634 
     | 
    
         
            -
            		 
     | 
| 
       635 
     | 
    
         
            -
            			 
     | 
| 
      
 719 
     | 
    
         
            +
            		needsContext: new RegExp( "^" + whitespace +
         
     | 
| 
      
 720 
     | 
    
         
            +
            			"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
         
     | 
| 
      
 721 
     | 
    
         
            +
            			"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
         
     | 
| 
       636 
722 
     | 
    
         
             
            	},
         
     | 
| 
       637 
723 
     | 
    
         | 
| 
       638 
     | 
    
         
            -
            	rhtml = /HTML$/i,
         
     | 
| 
       639 
724 
     | 
    
         
             
            	rinputs = /^(?:input|select|textarea|button)$/i,
         
     | 
| 
       640 
725 
     | 
    
         
             
            	rheader = /^h\d$/i,
         
     | 
| 
       641 
726 
     | 
    
         | 
| 
       642 
     | 
    
         
            -
            	rnative = /^[^{]+\{\s*\[native \w/,
         
     | 
| 
       643 
     | 
    
         
            -
             
     | 
| 
       644 
727 
     | 
    
         
             
            	// Easily-parseable/retrievable ID or TAG or CLASS selectors
         
     | 
| 
       645 
728 
     | 
    
         
             
            	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
         
     | 
| 
       646 
729 
     | 
    
         | 
| 
       647 
730 
     | 
    
         
             
            	rsibling = /[+~]/,
         
     | 
| 
       648 
731 
     | 
    
         | 
| 
       649 
732 
     | 
    
         
             
            	// CSS escapes
         
     | 
| 
       650 
     | 
    
         
            -
            	//  
     | 
| 
       651 
     | 
    
         
            -
            	runescape = new RegExp( "\\\\ 
     | 
| 
       652 
     | 
    
         
            -
             
     | 
| 
       653 
     | 
    
         
            -
             
     | 
| 
       654 
     | 
    
         
            -
            		 
     | 
| 
       655 
     | 
    
         
            -
            		// Support: Firefox<24
         
     | 
| 
       656 
     | 
    
         
            -
            		// Workaround erroneous numeric interpretation of +"0x"
         
     | 
| 
       657 
     | 
    
         
            -
            		return high !== high || escapedWhitespace ?
         
     | 
| 
       658 
     | 
    
         
            -
            			escaped :
         
     | 
| 
       659 
     | 
    
         
            -
            			high < 0 ?
         
     | 
| 
       660 
     | 
    
         
            -
            				// BMP codepoint
         
     | 
| 
       661 
     | 
    
         
            -
            				String.fromCharCode( high + 0x10000 ) :
         
     | 
| 
       662 
     | 
    
         
            -
            				// Supplemental Plane codepoint (surrogate pair)
         
     | 
| 
       663 
     | 
    
         
            -
            				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
         
     | 
| 
       664 
     | 
    
         
            -
            	},
         
     | 
| 
      
 733 
     | 
    
         
            +
            	// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
         
     | 
| 
      
 734 
     | 
    
         
            +
            	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace +
         
     | 
| 
      
 735 
     | 
    
         
            +
            		"?|\\\\([^\\r\\n\\f])", "g" ),
         
     | 
| 
      
 736 
     | 
    
         
            +
            	funescape = function( escape, nonHex ) {
         
     | 
| 
      
 737 
     | 
    
         
            +
            		var high = "0x" + escape.slice( 1 ) - 0x10000;
         
     | 
| 
       665 
738 
     | 
    
         | 
| 
       666 
     | 
    
         
            -
             
     | 
| 
       667 
     | 
    
         
            -
            	// https://drafts.csswg.org/cssom/#common-serializing-idioms
         
     | 
| 
       668 
     | 
    
         
            -
            	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
         
     | 
| 
       669 
     | 
    
         
            -
            	fcssescape = function( ch, asCodePoint ) {
         
     | 
| 
       670 
     | 
    
         
            -
            		if ( asCodePoint ) {
         
     | 
| 
      
 739 
     | 
    
         
            +
            		if ( nonHex ) {
         
     | 
| 
       671 
740 
     | 
    
         | 
| 
       672 
     | 
    
         
            -
            			//  
     | 
| 
       673 
     | 
    
         
            -
            			 
     | 
| 
       674 
     | 
    
         
            -
            				return "\uFFFD";
         
     | 
| 
       675 
     | 
    
         
            -
            			}
         
     | 
| 
       676 
     | 
    
         
            -
             
     | 
| 
       677 
     | 
    
         
            -
            			// Control characters and (dependent upon position) numbers get escaped as code points
         
     | 
| 
       678 
     | 
    
         
            -
            			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
         
     | 
| 
      
 741 
     | 
    
         
            +
            			// Strip the backslash prefix from a non-hex escape sequence
         
     | 
| 
      
 742 
     | 
    
         
            +
            			return nonHex;
         
     | 
| 
       679 
743 
     | 
    
         
             
            		}
         
     | 
| 
       680 
744 
     | 
    
         | 
| 
       681 
     | 
    
         
            -
            		//  
     | 
| 
       682 
     | 
    
         
            -
            		 
     | 
| 
      
 745 
     | 
    
         
            +
            		// Replace a hexadecimal escape sequence with the encoded Unicode code point
         
     | 
| 
      
 746 
     | 
    
         
            +
            		// Support: IE <=11+
         
     | 
| 
      
 747 
     | 
    
         
            +
            		// For values outside the Basic Multilingual Plane (BMP), manually construct a
         
     | 
| 
      
 748 
     | 
    
         
            +
            		// surrogate pair
         
     | 
| 
      
 749 
     | 
    
         
            +
            		return high < 0 ?
         
     | 
| 
      
 750 
     | 
    
         
            +
            			String.fromCharCode( high + 0x10000 ) :
         
     | 
| 
      
 751 
     | 
    
         
            +
            			String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
         
     | 
| 
       683 
752 
     | 
    
         
             
            	},
         
     | 
| 
       684 
753 
     | 
    
         | 
| 
       685 
     | 
    
         
            -
            	// Used for iframes
         
     | 
| 
       686 
     | 
    
         
            -
            	//  
     | 
| 
      
 754 
     | 
    
         
            +
            	// Used for iframes; see `setDocument`.
         
     | 
| 
      
 755 
     | 
    
         
            +
            	// Support: IE 9 - 11+, Edge 12 - 18+
         
     | 
| 
       687 
756 
     | 
    
         
             
            	// Removing the function wrapper causes a "Permission Denied"
         
     | 
| 
       688 
     | 
    
         
            -
            	// error in IE
         
     | 
| 
      
 757 
     | 
    
         
            +
            	// error in IE/Edge.
         
     | 
| 
       689 
758 
     | 
    
         
             
            	unloadHandler = function() {
         
     | 
| 
       690 
759 
     | 
    
         
             
            		setDocument();
         
     | 
| 
       691 
760 
     | 
    
         
             
            	},
         
     | 
| 
       692 
761 
     | 
    
         | 
| 
       693 
762 
     | 
    
         
             
            	inDisabledFieldset = addCombinator(
         
     | 
| 
       694 
763 
     | 
    
         
             
            		function( elem ) {
         
     | 
| 
       695 
     | 
    
         
            -
            			return elem.disabled === true &&  
     | 
| 
      
 764 
     | 
    
         
            +
            			return elem.disabled === true && nodeName( elem, "fieldset" );
         
     | 
| 
       696 
765 
     | 
    
         
             
            		},
         
     | 
| 
       697 
766 
     | 
    
         
             
            		{ dir: "parentNode", next: "legend" }
         
     | 
| 
       698 
767 
     | 
    
         
             
            	);
         
     | 
| 
       699 
768 
     | 
    
         | 
| 
      
 769 
     | 
    
         
            +
            // Support: IE <=9 only
         
     | 
| 
      
 770 
     | 
    
         
            +
            // Accessing document.activeElement can throw unexpectedly
         
     | 
| 
      
 771 
     | 
    
         
            +
            // https://bugs.jquery.com/ticket/13393
         
     | 
| 
      
 772 
     | 
    
         
            +
            function safeActiveElement() {
         
     | 
| 
      
 773 
     | 
    
         
            +
            	try {
         
     | 
| 
      
 774 
     | 
    
         
            +
            		return document.activeElement;
         
     | 
| 
      
 775 
     | 
    
         
            +
            	} catch ( err ) { }
         
     | 
| 
      
 776 
     | 
    
         
            +
            }
         
     | 
| 
      
 777 
     | 
    
         
            +
             
     | 
| 
       700 
778 
     | 
    
         
             
            // Optimize for push.apply( _, NodeList )
         
     | 
| 
       701 
779 
     | 
    
         
             
            try {
         
     | 
| 
       702 
780 
     | 
    
         
             
            	push.apply(
         
     | 
| 
       703 
     | 
    
         
            -
            		(arr = slice.call( preferredDoc.childNodes )),
         
     | 
| 
      
 781 
     | 
    
         
            +
            		( arr = slice.call( preferredDoc.childNodes ) ),
         
     | 
| 
       704 
782 
     | 
    
         
             
            		preferredDoc.childNodes
         
     | 
| 
       705 
783 
     | 
    
         
             
            	);
         
     | 
| 
       706 
     | 
    
         
            -
             
     | 
| 
      
 784 
     | 
    
         
            +
             
     | 
| 
      
 785 
     | 
    
         
            +
            	// Support: Android <=4.0
         
     | 
| 
       707 
786 
     | 
    
         
             
            	// Detect silently failing push.apply
         
     | 
| 
      
 787 
     | 
    
         
            +
            	// eslint-disable-next-line no-unused-expressions
         
     | 
| 
       708 
788 
     | 
    
         
             
            	arr[ preferredDoc.childNodes.length ].nodeType;
         
     | 
| 
       709 
789 
     | 
    
         
             
            } catch ( e ) {
         
     | 
| 
       710 
     | 
    
         
            -
            	push = { 
     | 
| 
       711 
     | 
    
         
            -
             
     | 
| 
       712 
     | 
    
         
            -
             
     | 
| 
       713 
     | 
    
         
            -
            		 
     | 
| 
       714 
     | 
    
         
            -
             
     | 
| 
       715 
     | 
    
         
            -
             
     | 
| 
       716 
     | 
    
         
            -
             
     | 
| 
       717 
     | 
    
         
            -
            		// Support: IE<9
         
     | 
| 
       718 
     | 
    
         
            -
            		// Otherwise append directly
         
     | 
| 
       719 
     | 
    
         
            -
            		function( target, els ) {
         
     | 
| 
       720 
     | 
    
         
            -
            			var j = target.length,
         
     | 
| 
       721 
     | 
    
         
            -
            				i = 0;
         
     | 
| 
       722 
     | 
    
         
            -
            			// Can't trust NodeList.length
         
     | 
| 
       723 
     | 
    
         
            -
            			while ( (target[j++] = els[i++]) ) {}
         
     | 
| 
       724 
     | 
    
         
            -
            			target.length = j - 1;
         
     | 
| 
      
 790 
     | 
    
         
            +
            	push = {
         
     | 
| 
      
 791 
     | 
    
         
            +
            		apply: function( target, els ) {
         
     | 
| 
      
 792 
     | 
    
         
            +
            			pushNative.apply( target, slice.call( els ) );
         
     | 
| 
      
 793 
     | 
    
         
            +
            		},
         
     | 
| 
      
 794 
     | 
    
         
            +
            		call: function( target ) {
         
     | 
| 
      
 795 
     | 
    
         
            +
            			pushNative.apply( target, slice.call( arguments, 1 ) );
         
     | 
| 
       725 
796 
     | 
    
         
             
            		}
         
     | 
| 
       726 
797 
     | 
    
         
             
            	};
         
     | 
| 
       727 
798 
     | 
    
         
             
            }
         
     | 
| 
       728 
799 
     | 
    
         | 
| 
       729 
     | 
    
         
            -
            function  
     | 
| 
      
 800 
     | 
    
         
            +
            function find( selector, context, results, seed ) {
         
     | 
| 
       730 
801 
     | 
    
         
             
            	var m, i, elem, nid, match, groups, newSelector,
         
     | 
| 
       731 
802 
     | 
    
         
             
            		newContext = context && context.ownerDocument,
         
     | 
| 
       732 
803 
     | 
    
         | 
| 
         @@ -744,30 +815,26 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       744 
815 
     | 
    
         | 
| 
       745 
816 
     | 
    
         
             
            	// Try to shortcut find operations (as opposed to filters) in HTML documents
         
     | 
| 
       746 
817 
     | 
    
         
             
            	if ( !seed ) {
         
     | 
| 
       747 
     | 
    
         
            -
             
     | 
| 
       748 
     | 
    
         
            -
            		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
         
     | 
| 
       749 
     | 
    
         
            -
            			setDocument( context );
         
     | 
| 
       750 
     | 
    
         
            -
            		}
         
     | 
| 
      
 818 
     | 
    
         
            +
            		setDocument( context );
         
     | 
| 
       751 
819 
     | 
    
         
             
            		context = context || document;
         
     | 
| 
       752 
820 
     | 
    
         | 
| 
       753 
821 
     | 
    
         
             
            		if ( documentIsHTML ) {
         
     | 
| 
       754 
822 
     | 
    
         | 
| 
       755 
823 
     | 
    
         
             
            			// If the selector is sufficiently simple, try using a "get*By*" DOM method
         
     | 
| 
       756 
824 
     | 
    
         
             
            			// (excepting DocumentFragment context, where the methods don't exist)
         
     | 
| 
       757 
     | 
    
         
            -
            			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
         
     | 
| 
      
 825 
     | 
    
         
            +
            			if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
         
     | 
| 
       758 
826 
     | 
    
         | 
| 
       759 
827 
     | 
    
         
             
            				// ID selector
         
     | 
| 
       760 
     | 
    
         
            -
            				if ( (m = match[1]) ) {
         
     | 
| 
      
 828 
     | 
    
         
            +
            				if ( ( m = match[ 1 ] ) ) {
         
     | 
| 
       761 
829 
     | 
    
         | 
| 
       762 
830 
     | 
    
         
             
            					// Document context
         
     | 
| 
       763 
831 
     | 
    
         
             
            					if ( nodeType === 9 ) {
         
     | 
| 
       764 
     | 
    
         
            -
            						if ( (elem = context.getElementById( m )) ) {
         
     | 
| 
      
 832 
     | 
    
         
            +
            						if ( ( elem = context.getElementById( m ) ) ) {
         
     | 
| 
       765 
833 
     | 
    
         | 
| 
       766 
     | 
    
         
            -
            							// Support: IE 
     | 
| 
       767 
     | 
    
         
            -
            							// TODO: identify versions
         
     | 
| 
      
 834 
     | 
    
         
            +
            							// Support: IE 9 only
         
     | 
| 
       768 
835 
     | 
    
         
             
            							// getElementById can match elements by name instead of ID
         
     | 
| 
       769 
836 
     | 
    
         
             
            							if ( elem.id === m ) {
         
     | 
| 
       770 
     | 
    
         
            -
            								 
     | 
| 
      
 837 
     | 
    
         
            +
            								push.call( results, elem );
         
     | 
| 
       771 
838 
     | 
    
         
             
            								return results;
         
     | 
| 
       772 
839 
     | 
    
         
             
            							}
         
     | 
| 
       773 
840 
     | 
    
         
             
            						} else {
         
     | 
| 
         @@ -777,40 +844,32 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       777 
844 
     | 
    
         
             
            					// Element context
         
     | 
| 
       778 
845 
     | 
    
         
             
            					} else {
         
     | 
| 
       779 
846 
     | 
    
         | 
| 
       780 
     | 
    
         
            -
            						// Support: IE 
     | 
| 
       781 
     | 
    
         
            -
            						// TODO: identify versions
         
     | 
| 
      
 847 
     | 
    
         
            +
            						// Support: IE 9 only
         
     | 
| 
       782 
848 
     | 
    
         
             
            						// getElementById can match elements by name instead of ID
         
     | 
| 
       783 
     | 
    
         
            -
            						if ( newContext && (elem = newContext.getElementById( m )) &&
         
     | 
| 
       784 
     | 
    
         
            -
            							contains( context, elem ) &&
         
     | 
| 
      
 849 
     | 
    
         
            +
            						if ( newContext && ( elem = newContext.getElementById( m ) ) &&
         
     | 
| 
      
 850 
     | 
    
         
            +
            							find.contains( context, elem ) &&
         
     | 
| 
       785 
851 
     | 
    
         
             
            							elem.id === m ) {
         
     | 
| 
       786 
852 
     | 
    
         | 
| 
       787 
     | 
    
         
            -
            							 
     | 
| 
      
 853 
     | 
    
         
            +
            							push.call( results, elem );
         
     | 
| 
       788 
854 
     | 
    
         
             
            							return results;
         
     | 
| 
       789 
855 
     | 
    
         
             
            						}
         
     | 
| 
       790 
856 
     | 
    
         
             
            					}
         
     | 
| 
       791 
857 
     | 
    
         | 
| 
       792 
858 
     | 
    
         
             
            				// Type selector
         
     | 
| 
       793 
     | 
    
         
            -
            				} else if ( match[2] ) {
         
     | 
| 
      
 859 
     | 
    
         
            +
            				} else if ( match[ 2 ] ) {
         
     | 
| 
       794 
860 
     | 
    
         
             
            					push.apply( results, context.getElementsByTagName( selector ) );
         
     | 
| 
       795 
861 
     | 
    
         
             
            					return results;
         
     | 
| 
       796 
862 
     | 
    
         | 
| 
       797 
863 
     | 
    
         
             
            				// Class selector
         
     | 
| 
       798 
     | 
    
         
            -
            				} else if ( (m = match[3]) &&  
     | 
| 
       799 
     | 
    
         
            -
            					context.getElementsByClassName ) {
         
     | 
| 
       800 
     | 
    
         
            -
             
     | 
| 
      
 864 
     | 
    
         
            +
            				} else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {
         
     | 
| 
       801 
865 
     | 
    
         
             
            					push.apply( results, context.getElementsByClassName( m ) );
         
     | 
| 
       802 
866 
     | 
    
         
             
            					return results;
         
     | 
| 
       803 
867 
     | 
    
         
             
            				}
         
     | 
| 
       804 
868 
     | 
    
         
             
            			}
         
     | 
| 
       805 
869 
     | 
    
         | 
| 
       806 
870 
     | 
    
         
             
            			// Take advantage of querySelectorAll
         
     | 
| 
       807 
     | 
    
         
            -
            			if (  
     | 
| 
       808 
     | 
    
         
            -
            				! 
     | 
| 
       809 
     | 
    
         
            -
            				(!rbuggyQSA || !rbuggyQSA.test( selector )) &&
         
     | 
| 
       810 
     | 
    
         
            -
             
     | 
| 
       811 
     | 
    
         
            -
            				// Support: IE 8 only
         
     | 
| 
       812 
     | 
    
         
            -
            				// Exclude object elements
         
     | 
| 
       813 
     | 
    
         
            -
            				(nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
         
     | 
| 
      
 871 
     | 
    
         
            +
            			if ( !nonnativeSelectorCache[ selector + " " ] &&
         
     | 
| 
      
 872 
     | 
    
         
            +
            				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {
         
     | 
| 
       814 
873 
     | 
    
         | 
| 
       815 
874 
     | 
    
         
             
            				newSelector = selector;
         
     | 
| 
       816 
875 
     | 
    
         
             
            				newContext = context;
         
     | 
| 
         @@ -819,27 +878,40 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       819 
878 
     | 
    
         
             
            				// descendant combinators, which is not what we want.
         
     | 
| 
       820 
879 
     | 
    
         
             
            				// In such cases, we work around the behavior by prefixing every selector in the
         
     | 
| 
       821 
880 
     | 
    
         
             
            				// list with an ID selector referencing the scope context.
         
     | 
| 
      
 881 
     | 
    
         
            +
            				// The technique has to be used as well when a leading combinator is used
         
     | 
| 
      
 882 
     | 
    
         
            +
            				// as such selectors are not recognized by querySelectorAll.
         
     | 
| 
       822 
883 
     | 
    
         
             
            				// Thanks to Andrew Dupont for this technique.
         
     | 
| 
       823 
     | 
    
         
            -
            				if ( nodeType === 1 && 
     | 
| 
      
 884 
     | 
    
         
            +
            				if ( nodeType === 1 &&
         
     | 
| 
      
 885 
     | 
    
         
            +
            					( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {
         
     | 
| 
       824 
886 
     | 
    
         | 
| 
       825 
     | 
    
         
            -
            					//  
     | 
| 
       826 
     | 
    
         
            -
            					 
     | 
| 
       827 
     | 
    
         
            -
            						 
     | 
| 
       828 
     | 
    
         
            -
             
     | 
| 
       829 
     | 
    
         
            -
             
     | 
| 
      
 887 
     | 
    
         
            +
            					// Expand context for sibling selectors
         
     | 
| 
      
 888 
     | 
    
         
            +
            					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
         
     | 
| 
      
 889 
     | 
    
         
            +
            						context;
         
     | 
| 
      
 890 
     | 
    
         
            +
             
     | 
| 
      
 891 
     | 
    
         
            +
            					// We can use :scope instead of the ID hack if the browser
         
     | 
| 
      
 892 
     | 
    
         
            +
            					// supports it & if we're not changing the context.
         
     | 
| 
      
 893 
     | 
    
         
            +
            					// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 894 
     | 
    
         
            +
            					// IE/Edge sometimes throw a "Permission denied" error when
         
     | 
| 
      
 895 
     | 
    
         
            +
            					// strict-comparing two documents; shallow comparisons work.
         
     | 
| 
      
 896 
     | 
    
         
            +
            					// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 897 
     | 
    
         
            +
            					if ( newContext != context || !support.scope ) {
         
     | 
| 
      
 898 
     | 
    
         
            +
             
     | 
| 
      
 899 
     | 
    
         
            +
            						// Capture the context ID, setting it first if necessary
         
     | 
| 
      
 900 
     | 
    
         
            +
            						if ( ( nid = context.getAttribute( "id" ) ) ) {
         
     | 
| 
      
 901 
     | 
    
         
            +
            							nid = jQuery.escapeSelector( nid );
         
     | 
| 
      
 902 
     | 
    
         
            +
            						} else {
         
     | 
| 
      
 903 
     | 
    
         
            +
            							context.setAttribute( "id", ( nid = expando ) );
         
     | 
| 
      
 904 
     | 
    
         
            +
            						}
         
     | 
| 
       830 
905 
     | 
    
         
             
            					}
         
     | 
| 
       831 
906 
     | 
    
         | 
| 
       832 
907 
     | 
    
         
             
            					// Prefix every selector in the list
         
     | 
| 
       833 
908 
     | 
    
         
             
            					groups = tokenize( selector );
         
     | 
| 
       834 
909 
     | 
    
         
             
            					i = groups.length;
         
     | 
| 
       835 
910 
     | 
    
         
             
            					while ( i-- ) {
         
     | 
| 
       836 
     | 
    
         
            -
            						groups[i] = "#" + nid  
     | 
| 
      
 911 
     | 
    
         
            +
            						groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
         
     | 
| 
      
 912 
     | 
    
         
            +
            							toSelector( groups[ i ] );
         
     | 
| 
       837 
913 
     | 
    
         
             
            					}
         
     | 
| 
       838 
914 
     | 
    
         
             
            					newSelector = groups.join( "," );
         
     | 
| 
       839 
     | 
    
         
            -
             
     | 
| 
       840 
     | 
    
         
            -
            					// Expand context for sibling selectors
         
     | 
| 
       841 
     | 
    
         
            -
            					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
         
     | 
| 
       842 
     | 
    
         
            -
            						context;
         
     | 
| 
       843 
915 
     | 
    
         
             
            				}
         
     | 
| 
       844 
916 
     | 
    
         | 
| 
       845 
917 
     | 
    
         
             
            				try {
         
     | 
| 
         @@ -859,7 +931,7 @@ function Sizzle( selector, context, results, seed ) { 
     | 
|
| 
       859 
931 
     | 
    
         
             
            	}
         
     | 
| 
       860 
932 
     | 
    
         | 
| 
       861 
933 
     | 
    
         
             
            	// All others
         
     | 
| 
       862 
     | 
    
         
            -
            	return select( selector.replace(  
     | 
| 
      
 934 
     | 
    
         
            +
            	return select( selector.replace( rtrimCSS, "$1" ), context, results, seed );
         
     | 
| 
       863 
935 
     | 
    
         
             
            }
         
     | 
| 
       864 
936 
     | 
    
         | 
| 
       865 
937 
     | 
    
         
             
            /**
         
     | 
| 
         @@ -872,18 +944,21 @@ function createCache() { 
     | 
|
| 
       872 
944 
     | 
    
         
             
            	var keys = [];
         
     | 
| 
       873 
945 
     | 
    
         | 
| 
       874 
946 
     | 
    
         
             
            	function cache( key, value ) {
         
     | 
| 
       875 
     | 
    
         
            -
             
     | 
| 
      
 947 
     | 
    
         
            +
             
     | 
| 
      
 948 
     | 
    
         
            +
            		// Use (key + " ") to avoid collision with native prototype properties
         
     | 
| 
      
 949 
     | 
    
         
            +
            		// (see https://github.com/jquery/sizzle/issues/157)
         
     | 
| 
       876 
950 
     | 
    
         
             
            		if ( keys.push( key + " " ) > Expr.cacheLength ) {
         
     | 
| 
      
 951 
     | 
    
         
            +
             
     | 
| 
       877 
952 
     | 
    
         
             
            			// Only keep the most recent entries
         
     | 
| 
       878 
953 
     | 
    
         
             
            			delete cache[ keys.shift() ];
         
     | 
| 
       879 
954 
     | 
    
         
             
            		}
         
     | 
| 
       880 
     | 
    
         
            -
            		return (cache[ key + " " ] = value);
         
     | 
| 
      
 955 
     | 
    
         
            +
            		return ( cache[ key + " " ] = value );
         
     | 
| 
       881 
956 
     | 
    
         
             
            	}
         
     | 
| 
       882 
957 
     | 
    
         
             
            	return cache;
         
     | 
| 
       883 
958 
     | 
    
         
             
            }
         
     | 
| 
       884 
959 
     | 
    
         | 
| 
       885 
960 
     | 
    
         
             
            /**
         
     | 
| 
       886 
     | 
    
         
            -
             * Mark a function for special use by  
     | 
| 
      
 961 
     | 
    
         
            +
             * Mark a function for special use by jQuery selector module
         
     | 
| 
       887 
962 
     | 
    
         
             
             * @param {Function} fn The function to mark
         
     | 
| 
       888 
963 
     | 
    
         
             
             */
         
     | 
| 
       889 
964 
     | 
    
         
             
            function markFunction( fn ) {
         
     | 
| 
         @@ -896,72 +971,31 @@ function markFunction( fn ) { 
     | 
|
| 
       896 
971 
     | 
    
         
             
             * @param {Function} fn Passed the created element and returns a boolean result
         
     | 
| 
       897 
972 
     | 
    
         
             
             */
         
     | 
| 
       898 
973 
     | 
    
         
             
            function assert( fn ) {
         
     | 
| 
       899 
     | 
    
         
            -
            	var el = document.createElement("fieldset");
         
     | 
| 
      
 974 
     | 
    
         
            +
            	var el = document.createElement( "fieldset" );
         
     | 
| 
       900 
975 
     | 
    
         | 
| 
       901 
976 
     | 
    
         
             
            	try {
         
     | 
| 
       902 
977 
     | 
    
         
             
            		return !!fn( el );
         
     | 
| 
       903 
     | 
    
         
            -
            	} catch (e) {
         
     | 
| 
      
 978 
     | 
    
         
            +
            	} catch ( e ) {
         
     | 
| 
       904 
979 
     | 
    
         
             
            		return false;
         
     | 
| 
       905 
980 
     | 
    
         
             
            	} finally {
         
     | 
| 
      
 981 
     | 
    
         
            +
             
     | 
| 
       906 
982 
     | 
    
         
             
            		// Remove from its parent by default
         
     | 
| 
       907 
983 
     | 
    
         
             
            		if ( el.parentNode ) {
         
     | 
| 
       908 
984 
     | 
    
         
             
            			el.parentNode.removeChild( el );
         
     | 
| 
       909 
985 
     | 
    
         
             
            		}
         
     | 
| 
      
 986 
     | 
    
         
            +
             
     | 
| 
       910 
987 
     | 
    
         
             
            		// release memory in IE
         
     | 
| 
       911 
988 
     | 
    
         
             
            		el = null;
         
     | 
| 
       912 
989 
     | 
    
         
             
            	}
         
     | 
| 
       913 
990 
     | 
    
         
             
            }
         
     | 
| 
       914 
991 
     | 
    
         | 
| 
       915 
     | 
    
         
            -
            /**
         
     | 
| 
       916 
     | 
    
         
            -
             * Adds the same handler for all of the specified attrs
         
     | 
| 
       917 
     | 
    
         
            -
             * @param {String} attrs Pipe-separated list of attributes
         
     | 
| 
       918 
     | 
    
         
            -
             * @param {Function} handler The method that will be applied
         
     | 
| 
       919 
     | 
    
         
            -
             */
         
     | 
| 
       920 
     | 
    
         
            -
            function addHandle( attrs, handler ) {
         
     | 
| 
       921 
     | 
    
         
            -
            	var arr = attrs.split("|"),
         
     | 
| 
       922 
     | 
    
         
            -
            		i = arr.length;
         
     | 
| 
       923 
     | 
    
         
            -
             
     | 
| 
       924 
     | 
    
         
            -
            	while ( i-- ) {
         
     | 
| 
       925 
     | 
    
         
            -
            		Expr.attrHandle[ arr[i] ] = handler;
         
     | 
| 
       926 
     | 
    
         
            -
            	}
         
     | 
| 
       927 
     | 
    
         
            -
            }
         
     | 
| 
       928 
     | 
    
         
            -
             
     | 
| 
       929 
     | 
    
         
            -
            /**
         
     | 
| 
       930 
     | 
    
         
            -
             * Checks document order of two siblings
         
     | 
| 
       931 
     | 
    
         
            -
             * @param {Element} a
         
     | 
| 
       932 
     | 
    
         
            -
             * @param {Element} b
         
     | 
| 
       933 
     | 
    
         
            -
             * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
         
     | 
| 
       934 
     | 
    
         
            -
             */
         
     | 
| 
       935 
     | 
    
         
            -
            function siblingCheck( a, b ) {
         
     | 
| 
       936 
     | 
    
         
            -
            	var cur = b && a,
         
     | 
| 
       937 
     | 
    
         
            -
            		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
         
     | 
| 
       938 
     | 
    
         
            -
            			a.sourceIndex - b.sourceIndex;
         
     | 
| 
       939 
     | 
    
         
            -
             
     | 
| 
       940 
     | 
    
         
            -
            	// Use IE sourceIndex if available on both nodes
         
     | 
| 
       941 
     | 
    
         
            -
            	if ( diff ) {
         
     | 
| 
       942 
     | 
    
         
            -
            		return diff;
         
     | 
| 
       943 
     | 
    
         
            -
            	}
         
     | 
| 
       944 
     | 
    
         
            -
             
     | 
| 
       945 
     | 
    
         
            -
            	// Check if b follows a
         
     | 
| 
       946 
     | 
    
         
            -
            	if ( cur ) {
         
     | 
| 
       947 
     | 
    
         
            -
            		while ( (cur = cur.nextSibling) ) {
         
     | 
| 
       948 
     | 
    
         
            -
            			if ( cur === b ) {
         
     | 
| 
       949 
     | 
    
         
            -
            				return -1;
         
     | 
| 
       950 
     | 
    
         
            -
            			}
         
     | 
| 
       951 
     | 
    
         
            -
            		}
         
     | 
| 
       952 
     | 
    
         
            -
            	}
         
     | 
| 
       953 
     | 
    
         
            -
             
     | 
| 
       954 
     | 
    
         
            -
            	return a ? 1 : -1;
         
     | 
| 
       955 
     | 
    
         
            -
            }
         
     | 
| 
       956 
     | 
    
         
            -
             
     | 
| 
       957 
992 
     | 
    
         
             
            /**
         
     | 
| 
       958 
993 
     | 
    
         
             
             * Returns a function to use in pseudos for input types
         
     | 
| 
       959 
994 
     | 
    
         
             
             * @param {String} type
         
     | 
| 
       960 
995 
     | 
    
         
             
             */
         
     | 
| 
       961 
996 
     | 
    
         
             
            function createInputPseudo( type ) {
         
     | 
| 
       962 
997 
     | 
    
         
             
            	return function( elem ) {
         
     | 
| 
       963 
     | 
    
         
            -
            		 
     | 
| 
       964 
     | 
    
         
            -
            		return name === "input" && elem.type === type;
         
     | 
| 
      
 998 
     | 
    
         
            +
            		return nodeName( elem, "input" ) && elem.type === type;
         
     | 
| 
       965 
999 
     | 
    
         
             
            	};
         
     | 
| 
       966 
1000 
     | 
    
         
             
            }
         
     | 
| 
       967 
1001 
     | 
    
         | 
| 
         @@ -971,8 +1005,8 @@ function createInputPseudo( type ) { 
     | 
|
| 
       971 
1005 
     | 
    
         
             
             */
         
     | 
| 
       972 
1006 
     | 
    
         
             
            function createButtonPseudo( type ) {
         
     | 
| 
       973 
1007 
     | 
    
         
             
            	return function( elem ) {
         
     | 
| 
       974 
     | 
    
         
            -
            		 
     | 
| 
       975 
     | 
    
         
            -
             
     | 
| 
      
 1008 
     | 
    
         
            +
            		return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) &&
         
     | 
| 
      
 1009 
     | 
    
         
            +
            			elem.type === type;
         
     | 
| 
       976 
1010 
     | 
    
         
             
            	};
         
     | 
| 
       977 
1011 
     | 
    
         
             
            }
         
     | 
| 
       978 
1012 
     | 
    
         | 
| 
         @@ -1008,12 +1042,11 @@ function createDisabledPseudo( disabled ) { 
     | 
|
| 
       1008 
1042 
     | 
    
         
             
            					}
         
     | 
| 
       1009 
1043 
     | 
    
         
             
            				}
         
     | 
| 
       1010 
1044 
     | 
    
         | 
| 
       1011 
     | 
    
         
            -
            				// Support: IE 6 - 11
         
     | 
| 
      
 1045 
     | 
    
         
            +
            				// Support: IE 6 - 11+
         
     | 
| 
       1012 
1046 
     | 
    
         
             
            				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
         
     | 
| 
       1013 
1047 
     | 
    
         
             
            				return elem.isDisabled === disabled ||
         
     | 
| 
       1014 
1048 
     | 
    
         | 
| 
       1015 
1049 
     | 
    
         
             
            					// Where there is no isDisabled, check manually
         
     | 
| 
       1016 
     | 
    
         
            -
            					/* jshint -W018 */
         
     | 
| 
       1017 
1050 
     | 
    
         
             
            					elem.isDisabled !== !disabled &&
         
     | 
| 
       1018 
1051 
     | 
    
         
             
            						inDisabledFieldset( elem ) === disabled;
         
     | 
| 
       1019 
1052 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -1037,25 +1070,25 @@ function createDisabledPseudo( disabled ) { 
     | 
|
| 
       1037 
1070 
     | 
    
         
             
             * @param {Function} fn
         
     | 
| 
       1038 
1071 
     | 
    
         
             
             */
         
     | 
| 
       1039 
1072 
     | 
    
         
             
            function createPositionalPseudo( fn ) {
         
     | 
| 
       1040 
     | 
    
         
            -
            	return markFunction(function( argument ) {
         
     | 
| 
      
 1073 
     | 
    
         
            +
            	return markFunction( function( argument ) {
         
     | 
| 
       1041 
1074 
     | 
    
         
             
            		argument = +argument;
         
     | 
| 
       1042 
     | 
    
         
            -
            		return markFunction(function( seed, matches ) {
         
     | 
| 
      
 1075 
     | 
    
         
            +
            		return markFunction( function( seed, matches ) {
         
     | 
| 
       1043 
1076 
     | 
    
         
             
            			var j,
         
     | 
| 
       1044 
1077 
     | 
    
         
             
            				matchIndexes = fn( [], seed.length, argument ),
         
     | 
| 
       1045 
1078 
     | 
    
         
             
            				i = matchIndexes.length;
         
     | 
| 
       1046 
1079 
     | 
    
         | 
| 
       1047 
1080 
     | 
    
         
             
            			// Match elements found at the specified indexes
         
     | 
| 
       1048 
1081 
     | 
    
         
             
            			while ( i-- ) {
         
     | 
| 
       1049 
     | 
    
         
            -
            				if ( seed[ (j = matchIndexes[i]) ] ) {
         
     | 
| 
       1050 
     | 
    
         
            -
            					seed[j] = !(matches[j] = seed[j]);
         
     | 
| 
      
 1082 
     | 
    
         
            +
            				if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
         
     | 
| 
      
 1083 
     | 
    
         
            +
            					seed[ j ] = !( matches[ j ] = seed[ j ] );
         
     | 
| 
       1051 
1084 
     | 
    
         
             
            				}
         
     | 
| 
       1052 
1085 
     | 
    
         
             
            			}
         
     | 
| 
       1053 
     | 
    
         
            -
            		});
         
     | 
| 
       1054 
     | 
    
         
            -
            	});
         
     | 
| 
      
 1086 
     | 
    
         
            +
            		} );
         
     | 
| 
      
 1087 
     | 
    
         
            +
            	} );
         
     | 
| 
       1055 
1088 
     | 
    
         
             
            }
         
     | 
| 
       1056 
1089 
     | 
    
         | 
| 
       1057 
1090 
     | 
    
         
             
            /**
         
     | 
| 
       1058 
     | 
    
         
            -
             * Checks a node for validity as a  
     | 
| 
      
 1091 
     | 
    
         
            +
             * Checks a node for validity as a jQuery selector context
         
     | 
| 
       1059 
1092 
     | 
    
         
             
             * @param {Element|Object=} context
         
     | 
| 
       1060 
1093 
     | 
    
         
             
             * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
         
     | 
| 
       1061 
1094 
     | 
    
         
             
             */
         
     | 
| 
         @@ -1063,117 +1096,116 @@ function testContext( context ) { 
     | 
|
| 
       1063 
1096 
     | 
    
         
             
            	return context && typeof context.getElementsByTagName !== "undefined" && context;
         
     | 
| 
       1064 
1097 
     | 
    
         
             
            }
         
     | 
| 
       1065 
1098 
     | 
    
         | 
| 
       1066 
     | 
    
         
            -
            // Expose support vars for convenience
         
     | 
| 
       1067 
     | 
    
         
            -
            support = Sizzle.support = {};
         
     | 
| 
       1068 
     | 
    
         
            -
             
     | 
| 
       1069 
     | 
    
         
            -
            /**
         
     | 
| 
       1070 
     | 
    
         
            -
             * Detects XML nodes
         
     | 
| 
       1071 
     | 
    
         
            -
             * @param {Element|Object} elem An element or a document
         
     | 
| 
       1072 
     | 
    
         
            -
             * @returns {Boolean} True iff elem is a non-HTML XML node
         
     | 
| 
       1073 
     | 
    
         
            -
             */
         
     | 
| 
       1074 
     | 
    
         
            -
            isXML = Sizzle.isXML = function( elem ) {
         
     | 
| 
       1075 
     | 
    
         
            -
            	var namespace = elem.namespaceURI,
         
     | 
| 
       1076 
     | 
    
         
            -
            		docElem = (elem.ownerDocument || elem).documentElement;
         
     | 
| 
       1077 
     | 
    
         
            -
             
     | 
| 
       1078 
     | 
    
         
            -
            	// Support: IE <=8
         
     | 
| 
       1079 
     | 
    
         
            -
            	// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
         
     | 
| 
       1080 
     | 
    
         
            -
            	// https://bugs.jquery.com/ticket/4833
         
     | 
| 
       1081 
     | 
    
         
            -
            	return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
         
     | 
| 
       1082 
     | 
    
         
            -
            };
         
     | 
| 
       1083 
     | 
    
         
            -
             
     | 
| 
       1084 
1099 
     | 
    
         
             
            /**
         
     | 
| 
       1085 
1100 
     | 
    
         
             
             * Sets document-related variables once based on the current document
         
     | 
| 
       1086 
     | 
    
         
            -
             * @param {Element|Object} [ 
     | 
| 
      
 1101 
     | 
    
         
            +
             * @param {Element|Object} [node] An element or document object to use to set the document
         
     | 
| 
       1087 
1102 
     | 
    
         
             
             * @returns {Object} Returns the current document
         
     | 
| 
       1088 
1103 
     | 
    
         
             
             */
         
     | 
| 
       1089 
     | 
    
         
            -
             
     | 
| 
       1090 
     | 
    
         
            -
            	var  
     | 
| 
      
 1104 
     | 
    
         
            +
            function setDocument( node ) {
         
     | 
| 
      
 1105 
     | 
    
         
            +
            	var subWindow,
         
     | 
| 
       1091 
1106 
     | 
    
         
             
            		doc = node ? node.ownerDocument || node : preferredDoc;
         
     | 
| 
       1092 
1107 
     | 
    
         | 
| 
       1093 
1108 
     | 
    
         
             
            	// Return early if doc is invalid or already selected
         
     | 
| 
       1094 
     | 
    
         
            -
            	 
     | 
| 
      
 1109 
     | 
    
         
            +
            	// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 1110 
     | 
    
         
            +
            	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 1111 
     | 
    
         
            +
            	// two documents; shallow comparisons work.
         
     | 
| 
      
 1112 
     | 
    
         
            +
            	// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 1113 
     | 
    
         
            +
            	if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
         
     | 
| 
       1095 
1114 
     | 
    
         
             
            		return document;
         
     | 
| 
       1096 
1115 
     | 
    
         
             
            	}
         
     | 
| 
       1097 
1116 
     | 
    
         | 
| 
       1098 
1117 
     | 
    
         
             
            	// Update global variables
         
     | 
| 
       1099 
1118 
     | 
    
         
             
            	document = doc;
         
     | 
| 
       1100 
     | 
    
         
            -
            	 
     | 
| 
       1101 
     | 
    
         
            -
            	documentIsHTML = ! 
     | 
| 
      
 1119 
     | 
    
         
            +
            	documentElement = document.documentElement;
         
     | 
| 
      
 1120 
     | 
    
         
            +
            	documentIsHTML = !jQuery.isXMLDoc( document );
         
     | 
| 
       1102 
1121 
     | 
    
         | 
| 
       1103 
     | 
    
         
            -
            	// Support: IE 9-11 
     | 
| 
       1104 
     | 
    
         
            -
            	//  
     | 
| 
       1105 
     | 
    
         
            -
            	 
     | 
| 
       1106 
     | 
    
         
            -
            		 
     | 
| 
      
 1122 
     | 
    
         
            +
            	// Support: iOS 7 only, IE 9 - 11+
         
     | 
| 
      
 1123 
     | 
    
         
            +
            	// Older browsers didn't support unprefixed `matches`.
         
     | 
| 
      
 1124 
     | 
    
         
            +
            	matches = documentElement.matches ||
         
     | 
| 
      
 1125 
     | 
    
         
            +
            		documentElement.webkitMatchesSelector ||
         
     | 
| 
      
 1126 
     | 
    
         
            +
            		documentElement.msMatchesSelector;
         
     | 
| 
       1107 
1127 
     | 
    
         | 
| 
       1108 
     | 
    
         
            -
             
     | 
| 
       1109 
     | 
    
         
            -
             
     | 
| 
       1110 
     | 
    
         
            -
             
     | 
| 
      
 1128 
     | 
    
         
            +
            	// Support: IE 9 - 11+, Edge 12 - 18+
         
     | 
| 
      
 1129 
     | 
    
         
            +
            	// Accessing iframe documents after unload throws "permission denied" errors (see trac-13936)
         
     | 
| 
      
 1130 
     | 
    
         
            +
            	// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 1131 
     | 
    
         
            +
            	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 1132 
     | 
    
         
            +
            	// two documents; shallow comparisons work.
         
     | 
| 
      
 1133 
     | 
    
         
            +
            	// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 1134 
     | 
    
         
            +
            	if ( preferredDoc != document &&
         
     | 
| 
      
 1135 
     | 
    
         
            +
            		( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
         
     | 
| 
       1111 
1136 
     | 
    
         | 
| 
       1112 
     | 
    
         
            -
            		// Support: IE 9 -  
     | 
| 
       1113 
     | 
    
         
            -
            		 
     | 
| 
       1114 
     | 
    
         
            -
            			subWindow.attachEvent( "onunload", unloadHandler );
         
     | 
| 
       1115 
     | 
    
         
            -
            		}
         
     | 
| 
      
 1137 
     | 
    
         
            +
            		// Support: IE 9 - 11+, Edge 12 - 18+
         
     | 
| 
      
 1138 
     | 
    
         
            +
            		subWindow.addEventListener( "unload", unloadHandler );
         
     | 
| 
       1116 
1139 
     | 
    
         
             
            	}
         
     | 
| 
       1117 
1140 
     | 
    
         | 
| 
       1118 
     | 
    
         
            -
            	 
     | 
| 
       1119 
     | 
    
         
            -
            	---------------------------------------------------------------------- */
         
     | 
| 
       1120 
     | 
    
         
            -
             
     | 
| 
       1121 
     | 
    
         
            -
            	// Support: IE<8
         
     | 
| 
       1122 
     | 
    
         
            -
            	// Verify that getAttribute really returns attributes and not properties
         
     | 
| 
       1123 
     | 
    
         
            -
            	// (excepting IE8 booleans)
         
     | 
| 
       1124 
     | 
    
         
            -
            	support.attributes = assert(function( el ) {
         
     | 
| 
       1125 
     | 
    
         
            -
            		el.className = "i";
         
     | 
| 
       1126 
     | 
    
         
            -
            		return !el.getAttribute("className");
         
     | 
| 
       1127 
     | 
    
         
            -
            	});
         
     | 
| 
       1128 
     | 
    
         
            -
             
     | 
| 
       1129 
     | 
    
         
            -
            	/* getElement(s)By*
         
     | 
| 
       1130 
     | 
    
         
            -
            	---------------------------------------------------------------------- */
         
     | 
| 
       1131 
     | 
    
         
            -
             
     | 
| 
       1132 
     | 
    
         
            -
            	// Check if getElementsByTagName("*") returns only elements
         
     | 
| 
       1133 
     | 
    
         
            -
            	support.getElementsByTagName = assert(function( el ) {
         
     | 
| 
       1134 
     | 
    
         
            -
            		el.appendChild( document.createComment("") );
         
     | 
| 
       1135 
     | 
    
         
            -
            		return !el.getElementsByTagName("*").length;
         
     | 
| 
       1136 
     | 
    
         
            -
            	});
         
     | 
| 
       1137 
     | 
    
         
            -
             
     | 
| 
       1138 
     | 
    
         
            -
            	// Support: IE<9
         
     | 
| 
       1139 
     | 
    
         
            -
            	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
         
     | 
| 
       1140 
     | 
    
         
            -
             
     | 
| 
       1141 
     | 
    
         
            -
            	// Support: IE<10
         
     | 
| 
      
 1141 
     | 
    
         
            +
            	// Support: IE <10
         
     | 
| 
       1142 
1142 
     | 
    
         
             
            	// Check if getElementById returns elements by name
         
     | 
| 
       1143 
1143 
     | 
    
         
             
            	// The broken getElementById methods don't pick up programmatically-set names,
         
     | 
| 
       1144 
1144 
     | 
    
         
             
            	// so use a roundabout getElementsByName test
         
     | 
| 
       1145 
     | 
    
         
            -
            	support.getById = assert(function( el ) {
         
     | 
| 
       1146 
     | 
    
         
            -
            		 
     | 
| 
       1147 
     | 
    
         
            -
            		return !document.getElementsByName || 
     | 
| 
       1148 
     | 
    
         
            -
             
     | 
| 
      
 1145 
     | 
    
         
            +
            	support.getById = assert( function( el ) {
         
     | 
| 
      
 1146 
     | 
    
         
            +
            		documentElement.appendChild( el ).id = jQuery.expando;
         
     | 
| 
      
 1147 
     | 
    
         
            +
            		return !document.getElementsByName ||
         
     | 
| 
      
 1148 
     | 
    
         
            +
            			!document.getElementsByName( jQuery.expando ).length;
         
     | 
| 
      
 1149 
     | 
    
         
            +
            	} );
         
     | 
| 
      
 1150 
     | 
    
         
            +
             
     | 
| 
      
 1151 
     | 
    
         
            +
            	// Support: IE 9 only
         
     | 
| 
      
 1152 
     | 
    
         
            +
            	// Check to see if it's possible to do matchesSelector
         
     | 
| 
      
 1153 
     | 
    
         
            +
            	// on a disconnected node.
         
     | 
| 
      
 1154 
     | 
    
         
            +
            	support.disconnectedMatch = assert( function( el ) {
         
     | 
| 
      
 1155 
     | 
    
         
            +
            		return matches.call( el, "*" );
         
     | 
| 
      
 1156 
     | 
    
         
            +
            	} );
         
     | 
| 
      
 1157 
     | 
    
         
            +
             
     | 
| 
      
 1158 
     | 
    
         
            +
            	// Support: IE 9 - 11+, Edge 12 - 18+
         
     | 
| 
      
 1159 
     | 
    
         
            +
            	// IE/Edge don't support the :scope pseudo-class.
         
     | 
| 
      
 1160 
     | 
    
         
            +
            	support.scope = assert( function() {
         
     | 
| 
      
 1161 
     | 
    
         
            +
            		return document.querySelectorAll( ":scope" );
         
     | 
| 
      
 1162 
     | 
    
         
            +
            	} );
         
     | 
| 
      
 1163 
     | 
    
         
            +
             
     | 
| 
      
 1164 
     | 
    
         
            +
            	// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only
         
     | 
| 
      
 1165 
     | 
    
         
            +
            	// Make sure the `:has()` argument is parsed unforgivingly.
         
     | 
| 
      
 1166 
     | 
    
         
            +
            	// We include `*` in the test to detect buggy implementations that are
         
     | 
| 
      
 1167 
     | 
    
         
            +
            	// _selectively_ forgiving (specifically when the list includes at least
         
     | 
| 
      
 1168 
     | 
    
         
            +
            	// one valid selector).
         
     | 
| 
      
 1169 
     | 
    
         
            +
            	// Note that we treat complete lack of support for `:has()` as if it were
         
     | 
| 
      
 1170 
     | 
    
         
            +
            	// spec-compliant support, which is fine because use of `:has()` in such
         
     | 
| 
      
 1171 
     | 
    
         
            +
            	// environments will fail in the qSA path and fall back to jQuery traversal
         
     | 
| 
      
 1172 
     | 
    
         
            +
            	// anyway.
         
     | 
| 
      
 1173 
     | 
    
         
            +
            	support.cssHas = assert( function() {
         
     | 
| 
      
 1174 
     | 
    
         
            +
            		try {
         
     | 
| 
      
 1175 
     | 
    
         
            +
            			document.querySelector( ":has(*,:jqfake)" );
         
     | 
| 
      
 1176 
     | 
    
         
            +
            			return false;
         
     | 
| 
      
 1177 
     | 
    
         
            +
            		} catch ( e ) {
         
     | 
| 
      
 1178 
     | 
    
         
            +
            			return true;
         
     | 
| 
      
 1179 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1180 
     | 
    
         
            +
            	} );
         
     | 
| 
       1149 
1181 
     | 
    
         | 
| 
       1150 
1182 
     | 
    
         
             
            	// ID filter and find
         
     | 
| 
       1151 
1183 
     | 
    
         
             
            	if ( support.getById ) {
         
     | 
| 
       1152 
     | 
    
         
            -
            		Expr.filter 
     | 
| 
      
 1184 
     | 
    
         
            +
            		Expr.filter.ID = function( id ) {
         
     | 
| 
       1153 
1185 
     | 
    
         
             
            			var attrId = id.replace( runescape, funescape );
         
     | 
| 
       1154 
1186 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1155 
     | 
    
         
            -
            				return elem.getAttribute("id") === attrId;
         
     | 
| 
      
 1187 
     | 
    
         
            +
            				return elem.getAttribute( "id" ) === attrId;
         
     | 
| 
       1156 
1188 
     | 
    
         
             
            			};
         
     | 
| 
       1157 
1189 
     | 
    
         
             
            		};
         
     | 
| 
       1158 
     | 
    
         
            -
            		Expr.find 
     | 
| 
      
 1190 
     | 
    
         
            +
            		Expr.find.ID = function( id, context ) {
         
     | 
| 
       1159 
1191 
     | 
    
         
             
            			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
         
     | 
| 
       1160 
1192 
     | 
    
         
             
            				var elem = context.getElementById( id );
         
     | 
| 
       1161 
1193 
     | 
    
         
             
            				return elem ? [ elem ] : [];
         
     | 
| 
       1162 
1194 
     | 
    
         
             
            			}
         
     | 
| 
       1163 
1195 
     | 
    
         
             
            		};
         
     | 
| 
       1164 
1196 
     | 
    
         
             
            	} else {
         
     | 
| 
       1165 
     | 
    
         
            -
            		Expr.filter 
     | 
| 
      
 1197 
     | 
    
         
            +
            		Expr.filter.ID =  function( id ) {
         
     | 
| 
       1166 
1198 
     | 
    
         
             
            			var attrId = id.replace( runescape, funescape );
         
     | 
| 
       1167 
1199 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1168 
1200 
     | 
    
         
             
            				var node = typeof elem.getAttributeNode !== "undefined" &&
         
     | 
| 
       1169 
     | 
    
         
            -
            					elem.getAttributeNode("id");
         
     | 
| 
      
 1201 
     | 
    
         
            +
            					elem.getAttributeNode( "id" );
         
     | 
| 
       1170 
1202 
     | 
    
         
             
            				return node && node.value === attrId;
         
     | 
| 
       1171 
1203 
     | 
    
         
             
            			};
         
     | 
| 
       1172 
1204 
     | 
    
         
             
            		};
         
     | 
| 
       1173 
1205 
     | 
    
         | 
| 
       1174 
1206 
     | 
    
         
             
            		// Support: IE 6 - 7 only
         
     | 
| 
       1175 
1207 
     | 
    
         
             
            		// getElementById is not reliable as a find shortcut
         
     | 
| 
       1176 
     | 
    
         
            -
            		Expr.find 
     | 
| 
      
 1208 
     | 
    
         
            +
            		Expr.find.ID = function( id, context ) {
         
     | 
| 
       1177 
1209 
     | 
    
         
             
            			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
         
     | 
| 
       1178 
1210 
     | 
    
         
             
            				var node, i, elems,
         
     | 
| 
       1179 
1211 
     | 
    
         
             
            					elem = context.getElementById( id );
         
     | 
| 
         @@ -1181,7 +1213,7 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1181 
1213 
     | 
    
         
             
            				if ( elem ) {
         
     | 
| 
       1182 
1214 
     | 
    
         | 
| 
       1183 
1215 
     | 
    
         
             
            					// Verify the id attribute
         
     | 
| 
       1184 
     | 
    
         
            -
            					node = elem.getAttributeNode("id");
         
     | 
| 
      
 1216 
     | 
    
         
            +
            					node = elem.getAttributeNode( "id" );
         
     | 
| 
       1185 
1217 
     | 
    
         
             
            					if ( node && node.value === id ) {
         
     | 
| 
       1186 
1218 
     | 
    
         
             
            						return [ elem ];
         
     | 
| 
       1187 
1219 
     | 
    
         
             
            					}
         
     | 
| 
         @@ -1189,8 +1221,8 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1189 
1221 
     | 
    
         
             
            					// Fall back on getElementsByName
         
     | 
| 
       1190 
1222 
     | 
    
         
             
            					elems = context.getElementsByName( id );
         
     | 
| 
       1191 
1223 
     | 
    
         
             
            					i = 0;
         
     | 
| 
       1192 
     | 
    
         
            -
            					while ( (elem = elems[i++]) ) {
         
     | 
| 
       1193 
     | 
    
         
            -
            						node = elem.getAttributeNode("id");
         
     | 
| 
      
 1224 
     | 
    
         
            +
            					while ( ( elem = elems[ i++ ] ) ) {
         
     | 
| 
      
 1225 
     | 
    
         
            +
            						node = elem.getAttributeNode( "id" );
         
     | 
| 
       1194 
1226 
     | 
    
         
             
            						if ( node && node.value === id ) {
         
     | 
| 
       1195 
1227 
     | 
    
         
             
            							return [ elem ];
         
     | 
| 
       1196 
1228 
     | 
    
         
             
            						}
         
     | 
| 
         @@ -1203,39 +1235,18 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1203 
1235 
     | 
    
         
             
            	}
         
     | 
| 
       1204 
1236 
     | 
    
         | 
| 
       1205 
1237 
     | 
    
         
             
            	// Tag
         
     | 
| 
       1206 
     | 
    
         
            -
            	Expr.find 
     | 
| 
       1207 
     | 
    
         
            -
            		 
     | 
| 
       1208 
     | 
    
         
            -
            			 
     | 
| 
       1209 
     | 
    
         
            -
            				return context.getElementsByTagName( tag );
         
     | 
| 
       1210 
     | 
    
         
            -
             
     | 
| 
       1211 
     | 
    
         
            -
            			// DocumentFragment nodes don't have gEBTN
         
     | 
| 
       1212 
     | 
    
         
            -
            			} else if ( support.qsa ) {
         
     | 
| 
       1213 
     | 
    
         
            -
            				return context.querySelectorAll( tag );
         
     | 
| 
       1214 
     | 
    
         
            -
            			}
         
     | 
| 
       1215 
     | 
    
         
            -
            		} :
         
     | 
| 
      
 1238 
     | 
    
         
            +
            	Expr.find.TAG = function( tag, context ) {
         
     | 
| 
      
 1239 
     | 
    
         
            +
            		if ( typeof context.getElementsByTagName !== "undefined" ) {
         
     | 
| 
      
 1240 
     | 
    
         
            +
            			return context.getElementsByTagName( tag );
         
     | 
| 
       1216 
1241 
     | 
    
         | 
| 
       1217 
     | 
    
         
            -
            		 
     | 
| 
       1218 
     | 
    
         
            -
             
     | 
| 
       1219 
     | 
    
         
            -
             
     | 
| 
       1220 
     | 
    
         
            -
             
     | 
| 
       1221 
     | 
    
         
            -
             
     | 
| 
       1222 
     | 
    
         
            -
            				results = context.getElementsByTagName( tag );
         
     | 
| 
       1223 
     | 
    
         
            -
             
     | 
| 
       1224 
     | 
    
         
            -
            			// Filter out possible comments
         
     | 
| 
       1225 
     | 
    
         
            -
            			if ( tag === "*" ) {
         
     | 
| 
       1226 
     | 
    
         
            -
            				while ( (elem = results[i++]) ) {
         
     | 
| 
       1227 
     | 
    
         
            -
            					if ( elem.nodeType === 1 ) {
         
     | 
| 
       1228 
     | 
    
         
            -
            						tmp.push( elem );
         
     | 
| 
       1229 
     | 
    
         
            -
            					}
         
     | 
| 
       1230 
     | 
    
         
            -
            				}
         
     | 
| 
       1231 
     | 
    
         
            -
             
     | 
| 
       1232 
     | 
    
         
            -
            				return tmp;
         
     | 
| 
       1233 
     | 
    
         
            -
            			}
         
     | 
| 
       1234 
     | 
    
         
            -
            			return results;
         
     | 
| 
       1235 
     | 
    
         
            -
            		};
         
     | 
| 
      
 1242 
     | 
    
         
            +
            		// DocumentFragment nodes don't have gEBTN
         
     | 
| 
      
 1243 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 1244 
     | 
    
         
            +
            			return context.querySelectorAll( tag );
         
     | 
| 
      
 1245 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1246 
     | 
    
         
            +
            	};
         
     | 
| 
       1236 
1247 
     | 
    
         | 
| 
       1237 
1248 
     | 
    
         
             
            	// Class
         
     | 
| 
       1238 
     | 
    
         
            -
            	Expr.find 
     | 
| 
      
 1249 
     | 
    
         
            +
            	Expr.find.CLASS = function( className, context ) {
         
     | 
| 
       1239 
1250 
     | 
    
         
             
            		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
         
     | 
| 
       1240 
1251 
     | 
    
         
             
            			return context.getElementsByClassName( className );
         
     | 
| 
       1241 
1252 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -1246,153 +1257,94 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1246 
1257 
     | 
    
         | 
| 
       1247 
1258 
     | 
    
         
             
            	// QSA and matchesSelector support
         
     | 
| 
       1248 
1259 
     | 
    
         | 
| 
       1249 
     | 
    
         
            -
            	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
         
     | 
| 
       1250 
     | 
    
         
            -
            	rbuggyMatches = [];
         
     | 
| 
       1251 
     | 
    
         
            -
             
     | 
| 
       1252 
     | 
    
         
            -
            	// qSa(:focus) reports false when true (Chrome 21)
         
     | 
| 
       1253 
     | 
    
         
            -
            	// We allow this because of a bug in IE8/9 that throws an error
         
     | 
| 
       1254 
     | 
    
         
            -
            	// whenever `document.activeElement` is accessed on an iframe
         
     | 
| 
       1255 
     | 
    
         
            -
            	// So, we allow :focus to pass through QSA all the time to avoid the IE error
         
     | 
| 
       1256 
     | 
    
         
            -
            	// See https://bugs.jquery.com/ticket/13378
         
     | 
| 
       1257 
1260 
     | 
    
         
             
            	rbuggyQSA = [];
         
     | 
| 
       1258 
1261 
     | 
    
         | 
| 
       1259 
     | 
    
         
            -
            	 
     | 
| 
       1260 
     | 
    
         
            -
             
     | 
| 
       1261 
     | 
    
         
            -
             
     | 
| 
       1262 
     | 
    
         
            -
            		assert(function( el ) {
         
     | 
| 
       1263 
     | 
    
         
            -
            			// Select is set to empty string on purpose
         
     | 
| 
       1264 
     | 
    
         
            -
            			// This is to test IE's treatment of not explicitly
         
     | 
| 
       1265 
     | 
    
         
            -
            			// setting a boolean content attribute,
         
     | 
| 
       1266 
     | 
    
         
            -
            			// since its presence should be enough
         
     | 
| 
       1267 
     | 
    
         
            -
            			// https://bugs.jquery.com/ticket/12359
         
     | 
| 
       1268 
     | 
    
         
            -
            			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
         
     | 
| 
       1269 
     | 
    
         
            -
            				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
         
     | 
| 
       1270 
     | 
    
         
            -
            				"<option selected=''></option></select>";
         
     | 
| 
       1271 
     | 
    
         
            -
             
     | 
| 
       1272 
     | 
    
         
            -
            			// Support: IE8, Opera 11-12.16
         
     | 
| 
       1273 
     | 
    
         
            -
            			// Nothing should be selected when empty strings follow ^= or $= or *=
         
     | 
| 
       1274 
     | 
    
         
            -
            			// The test attribute must be unknown in Opera but "safe" for WinRT
         
     | 
| 
       1275 
     | 
    
         
            -
            			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
         
     | 
| 
       1276 
     | 
    
         
            -
            			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
         
     | 
| 
       1277 
     | 
    
         
            -
            				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
         
     | 
| 
       1278 
     | 
    
         
            -
            			}
         
     | 
| 
       1279 
     | 
    
         
            -
             
     | 
| 
       1280 
     | 
    
         
            -
            			// Support: IE8
         
     | 
| 
       1281 
     | 
    
         
            -
            			// Boolean attributes and "value" are not treated correctly
         
     | 
| 
       1282 
     | 
    
         
            -
            			if ( !el.querySelectorAll("[selected]").length ) {
         
     | 
| 
       1283 
     | 
    
         
            -
            				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
         
     | 
| 
       1284 
     | 
    
         
            -
            			}
         
     | 
| 
       1285 
     | 
    
         
            -
             
     | 
| 
       1286 
     | 
    
         
            -
            			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
         
     | 
| 
       1287 
     | 
    
         
            -
            			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
         
     | 
| 
       1288 
     | 
    
         
            -
            				rbuggyQSA.push("~=");
         
     | 
| 
       1289 
     | 
    
         
            -
            			}
         
     | 
| 
       1290 
     | 
    
         
            -
             
     | 
| 
       1291 
     | 
    
         
            -
            			// Webkit/Opera - :checked should return selected option elements
         
     | 
| 
       1292 
     | 
    
         
            -
            			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
         
     | 
| 
       1293 
     | 
    
         
            -
            			// IE8 throws error here and will not see later tests
         
     | 
| 
       1294 
     | 
    
         
            -
            			if ( !el.querySelectorAll(":checked").length ) {
         
     | 
| 
       1295 
     | 
    
         
            -
            				rbuggyQSA.push(":checked");
         
     | 
| 
       1296 
     | 
    
         
            -
            			}
         
     | 
| 
       1297 
     | 
    
         
            -
             
     | 
| 
       1298 
     | 
    
         
            -
            			// Support: Safari 8+, iOS 8+
         
     | 
| 
       1299 
     | 
    
         
            -
            			// https://bugs.webkit.org/show_bug.cgi?id=136851
         
     | 
| 
       1300 
     | 
    
         
            -
            			// In-page `selector#id sibling-combinator selector` fails
         
     | 
| 
       1301 
     | 
    
         
            -
            			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
         
     | 
| 
       1302 
     | 
    
         
            -
            				rbuggyQSA.push(".#.+[+~]");
         
     | 
| 
       1303 
     | 
    
         
            -
            			}
         
     | 
| 
       1304 
     | 
    
         
            -
            		});
         
     | 
| 
      
 1262 
     | 
    
         
            +
            	// Build QSA regex
         
     | 
| 
      
 1263 
     | 
    
         
            +
            	// Regex strategy adopted from Diego Perini
         
     | 
| 
      
 1264 
     | 
    
         
            +
            	assert( function( el ) {
         
     | 
| 
       1305 
1265 
     | 
    
         | 
| 
       1306 
     | 
    
         
            -
            		 
     | 
| 
       1307 
     | 
    
         
            -
            			el.innerHTML = "<a href='' disabled='disabled'></a>" +
         
     | 
| 
       1308 
     | 
    
         
            -
            				"<select disabled='disabled'><option/></select>";
         
     | 
| 
      
 1266 
     | 
    
         
            +
            		var input;
         
     | 
| 
       1309 
1267 
     | 
    
         | 
| 
       1310 
     | 
    
         
            -
             
     | 
| 
       1311 
     | 
    
         
            -
            			 
     | 
| 
       1312 
     | 
    
         
            -
            			 
     | 
| 
       1313 
     | 
    
         
            -
            			 
     | 
| 
       1314 
     | 
    
         
            -
            			el.appendChild( input ).setAttribute( "name", "D" );
         
     | 
| 
      
 1268 
     | 
    
         
            +
            		documentElement.appendChild( el ).innerHTML =
         
     | 
| 
      
 1269 
     | 
    
         
            +
            			"<a id='" + expando + "' href='' disabled='disabled'></a>" +
         
     | 
| 
      
 1270 
     | 
    
         
            +
            			"<select id='" + expando + "-\r\\' disabled='disabled'>" +
         
     | 
| 
      
 1271 
     | 
    
         
            +
            			"<option selected=''></option></select>";
         
     | 
| 
       1315 
1272 
     | 
    
         | 
| 
       1316 
     | 
    
         
            -
             
     | 
| 
       1317 
     | 
    
         
            -
             
     | 
| 
       1318 
     | 
    
         
            -
             
     | 
| 
       1319 
     | 
    
         
            -
             
     | 
| 
       1320 
     | 
    
         
            -
             
     | 
| 
      
 1273 
     | 
    
         
            +
            		// Support: iOS <=7 - 8 only
         
     | 
| 
      
 1274 
     | 
    
         
            +
            		// Boolean attributes and "value" are not treated correctly in some XML documents
         
     | 
| 
      
 1275 
     | 
    
         
            +
            		if ( !el.querySelectorAll( "[selected]" ).length ) {
         
     | 
| 
      
 1276 
     | 
    
         
            +
            			rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
         
     | 
| 
      
 1277 
     | 
    
         
            +
            		}
         
     | 
| 
       1321 
1278 
     | 
    
         | 
| 
       1322 
     | 
    
         
            -
             
     | 
| 
       1323 
     | 
    
         
            -
             
     | 
| 
       1324 
     | 
    
         
            -
            			 
     | 
| 
       1325 
     | 
    
         
            -
             
     | 
| 
       1326 
     | 
    
         
            -
            			}
         
     | 
| 
      
 1279 
     | 
    
         
            +
            		// Support: iOS <=7 - 8 only
         
     | 
| 
      
 1280 
     | 
    
         
            +
            		if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
         
     | 
| 
      
 1281 
     | 
    
         
            +
            			rbuggyQSA.push( "~=" );
         
     | 
| 
      
 1282 
     | 
    
         
            +
            		}
         
     | 
| 
       1327 
1283 
     | 
    
         | 
| 
       1328 
     | 
    
         
            -
             
     | 
| 
       1329 
     | 
    
         
            -
             
     | 
| 
       1330 
     | 
    
         
            -
             
     | 
| 
       1331 
     | 
    
         
            -
             
     | 
| 
       1332 
     | 
    
         
            -
             
     | 
| 
       1333 
     | 
    
         
            -
             
     | 
| 
      
 1284 
     | 
    
         
            +
            		// Support: iOS 8 only
         
     | 
| 
      
 1285 
     | 
    
         
            +
            		// https://bugs.webkit.org/show_bug.cgi?id=136851
         
     | 
| 
      
 1286 
     | 
    
         
            +
            		// In-page `selector#id sibling-combinator selector` fails
         
     | 
| 
      
 1287 
     | 
    
         
            +
            		if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
         
     | 
| 
      
 1288 
     | 
    
         
            +
            			rbuggyQSA.push( ".#.+[+~]" );
         
     | 
| 
      
 1289 
     | 
    
         
            +
            		}
         
     | 
| 
       1334 
1290 
     | 
    
         | 
| 
       1335 
     | 
    
         
            -
             
     | 
| 
       1336 
     | 
    
         
            -
             
     | 
| 
       1337 
     | 
    
         
            -
             
     | 
| 
       1338 
     | 
    
         
            -
            		 
     | 
| 
       1339 
     | 
    
         
            -
             
     | 
| 
      
 1291 
     | 
    
         
            +
            		// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
         
     | 
| 
      
 1292 
     | 
    
         
            +
            		// In some of the document kinds, these selectors wouldn't work natively.
         
     | 
| 
      
 1293 
     | 
    
         
            +
            		// This is probably OK but for backwards compatibility we want to maintain
         
     | 
| 
      
 1294 
     | 
    
         
            +
            		// handling them through jQuery traversal in jQuery 3.x.
         
     | 
| 
      
 1295 
     | 
    
         
            +
            		if ( !el.querySelectorAll( ":checked" ).length ) {
         
     | 
| 
      
 1296 
     | 
    
         
            +
            			rbuggyQSA.push( ":checked" );
         
     | 
| 
      
 1297 
     | 
    
         
            +
            		}
         
     | 
| 
       1340 
1298 
     | 
    
         | 
| 
       1341 
     | 
    
         
            -
             
     | 
| 
       1342 
     | 
    
         
            -
            		 
     | 
| 
       1343 
     | 
    
         
            -
            		 
     | 
| 
       1344 
     | 
    
         
            -
            		 
     | 
| 
       1345 
     | 
    
         
            -
            		 
     | 
| 
      
 1299 
     | 
    
         
            +
            		// Support: Windows 8 Native Apps
         
     | 
| 
      
 1300 
     | 
    
         
            +
            		// The type and name attributes are restricted during .innerHTML assignment
         
     | 
| 
      
 1301 
     | 
    
         
            +
            		input = document.createElement( "input" );
         
     | 
| 
      
 1302 
     | 
    
         
            +
            		input.setAttribute( "type", "hidden" );
         
     | 
| 
      
 1303 
     | 
    
         
            +
            		el.appendChild( input ).setAttribute( "name", "D" );
         
     | 
| 
      
 1304 
     | 
    
         
            +
             
     | 
| 
      
 1305 
     | 
    
         
            +
            		// Support: IE 9 - 11+
         
     | 
| 
      
 1306 
     | 
    
         
            +
            		// IE's :disabled selector does not pick up the children of disabled fieldsets
         
     | 
| 
      
 1307 
     | 
    
         
            +
            		// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
         
     | 
| 
      
 1308 
     | 
    
         
            +
            		// In some of the document kinds, these selectors wouldn't work natively.
         
     | 
| 
      
 1309 
     | 
    
         
            +
            		// This is probably OK but for backwards compatibility we want to maintain
         
     | 
| 
      
 1310 
     | 
    
         
            +
            		// handling them through jQuery traversal in jQuery 3.x.
         
     | 
| 
      
 1311 
     | 
    
         
            +
            		documentElement.appendChild( el ).disabled = true;
         
     | 
| 
      
 1312 
     | 
    
         
            +
            		if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
         
     | 
| 
      
 1313 
     | 
    
         
            +
            			rbuggyQSA.push( ":enabled", ":disabled" );
         
     | 
| 
      
 1314 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1315 
     | 
    
         
            +
             
     | 
| 
      
 1316 
     | 
    
         
            +
            		// Support: IE 11+, Edge 15 - 18+
         
     | 
| 
      
 1317 
     | 
    
         
            +
            		// IE 11/Edge don't find elements on a `[name='']` query in some cases.
         
     | 
| 
      
 1318 
     | 
    
         
            +
            		// Adding a temporary attribute to the document before the selection works
         
     | 
| 
      
 1319 
     | 
    
         
            +
            		// around the issue.
         
     | 
| 
      
 1320 
     | 
    
         
            +
            		// Interestingly, IE 10 & older don't seem to have the issue.
         
     | 
| 
      
 1321 
     | 
    
         
            +
            		input = document.createElement( "input" );
         
     | 
| 
      
 1322 
     | 
    
         
            +
            		input.setAttribute( "name", "" );
         
     | 
| 
      
 1323 
     | 
    
         
            +
            		el.appendChild( input );
         
     | 
| 
      
 1324 
     | 
    
         
            +
            		if ( !el.querySelectorAll( "[name='']" ).length ) {
         
     | 
| 
      
 1325 
     | 
    
         
            +
            			rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
         
     | 
| 
      
 1326 
     | 
    
         
            +
            				whitespace + "*(?:''|\"\")" );
         
     | 
| 
      
 1327 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1328 
     | 
    
         
            +
            	} );
         
     | 
| 
       1346 
1329 
     | 
    
         | 
| 
       1347 
     | 
    
         
            -
             
     | 
| 
       1348 
     | 
    
         
            -
            			// Check to see if it's possible to do matchesSelector
         
     | 
| 
       1349 
     | 
    
         
            -
            			// on a disconnected node (IE 9)
         
     | 
| 
       1350 
     | 
    
         
            -
            			support.disconnectedMatch = matches.call( el, "*" );
         
     | 
| 
      
 1330 
     | 
    
         
            +
            	if ( !support.cssHas ) {
         
     | 
| 
       1351 
1331 
     | 
    
         | 
| 
       1352 
     | 
    
         
            -
             
     | 
| 
       1353 
     | 
    
         
            -
             
     | 
| 
       1354 
     | 
    
         
            -
             
     | 
| 
       1355 
     | 
    
         
            -
             
     | 
| 
       1356 
     | 
    
         
            -
            		 
     | 
| 
      
 1332 
     | 
    
         
            +
            		// Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
         
     | 
| 
      
 1333 
     | 
    
         
            +
            		// Our regular `try-catch` mechanism fails to detect natively-unsupported
         
     | 
| 
      
 1334 
     | 
    
         
            +
            		// pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
         
     | 
| 
      
 1335 
     | 
    
         
            +
            		// in browsers that parse the `:has()` argument as a forgiving selector list.
         
     | 
| 
      
 1336 
     | 
    
         
            +
            		// https://drafts.csswg.org/selectors/#relational now requires the argument
         
     | 
| 
      
 1337 
     | 
    
         
            +
            		// to be parsed unforgivingly, but browsers have not yet fully adjusted.
         
     | 
| 
      
 1338 
     | 
    
         
            +
            		rbuggyQSA.push( ":has" );
         
     | 
| 
       1357 
1339 
     | 
    
         
             
            	}
         
     | 
| 
       1358 
1340 
     | 
    
         | 
| 
       1359 
     | 
    
         
            -
            	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
         
     | 
| 
       1360 
     | 
    
         
            -
            	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
         
     | 
| 
       1361 
     | 
    
         
            -
             
     | 
| 
       1362 
     | 
    
         
            -
            	/* Contains
         
     | 
| 
       1363 
     | 
    
         
            -
            	---------------------------------------------------------------------- */
         
     | 
| 
       1364 
     | 
    
         
            -
            	hasCompare = rnative.test( docElem.compareDocumentPosition );
         
     | 
| 
       1365 
     | 
    
         
            -
             
     | 
| 
       1366 
     | 
    
         
            -
            	// Element contains another
         
     | 
| 
       1367 
     | 
    
         
            -
            	// Purposefully self-exclusive
         
     | 
| 
       1368 
     | 
    
         
            -
            	// As in, an element does not contain itself
         
     | 
| 
       1369 
     | 
    
         
            -
            	contains = hasCompare || rnative.test( docElem.contains ) ?
         
     | 
| 
       1370 
     | 
    
         
            -
            		function( a, b ) {
         
     | 
| 
       1371 
     | 
    
         
            -
            			var adown = a.nodeType === 9 ? a.documentElement : a,
         
     | 
| 
       1372 
     | 
    
         
            -
            				bup = b && b.parentNode;
         
     | 
| 
       1373 
     | 
    
         
            -
            			return a === bup || !!( bup && bup.nodeType === 1 && (
         
     | 
| 
       1374 
     | 
    
         
            -
            				adown.contains ?
         
     | 
| 
       1375 
     | 
    
         
            -
            					adown.contains( bup ) :
         
     | 
| 
       1376 
     | 
    
         
            -
            					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
         
     | 
| 
       1377 
     | 
    
         
            -
            			));
         
     | 
| 
       1378 
     | 
    
         
            -
            		} :
         
     | 
| 
       1379 
     | 
    
         
            -
            		function( a, b ) {
         
     | 
| 
       1380 
     | 
    
         
            -
            			if ( b ) {
         
     | 
| 
       1381 
     | 
    
         
            -
            				while ( (b = b.parentNode) ) {
         
     | 
| 
       1382 
     | 
    
         
            -
            					if ( b === a ) {
         
     | 
| 
       1383 
     | 
    
         
            -
            						return true;
         
     | 
| 
       1384 
     | 
    
         
            -
            					}
         
     | 
| 
       1385 
     | 
    
         
            -
            				}
         
     | 
| 
       1386 
     | 
    
         
            -
            			}
         
     | 
| 
       1387 
     | 
    
         
            -
            			return false;
         
     | 
| 
       1388 
     | 
    
         
            -
            		};
         
     | 
| 
      
 1341 
     | 
    
         
            +
            	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
         
     | 
| 
       1389 
1342 
     | 
    
         | 
| 
       1390 
1343 
     | 
    
         
             
            	/* Sorting
         
     | 
| 
       1391 
1344 
     | 
    
         
             
            	---------------------------------------------------------------------- */
         
     | 
| 
       1392 
1345 
     | 
    
         | 
| 
       1393 
1346 
     | 
    
         
             
            	// Document order sorting
         
     | 
| 
       1394 
     | 
    
         
            -
            	sortOrder =  
     | 
| 
       1395 
     | 
    
         
            -
            	function( a, b ) {
         
     | 
| 
      
 1347 
     | 
    
         
            +
            	sortOrder = function( a, b ) {
         
     | 
| 
       1396 
1348 
     | 
    
         | 
| 
       1397 
1349 
     | 
    
         
             
            		// Flag for duplicate removal
         
     | 
| 
       1398 
1350 
     | 
    
         
             
            		if ( a === b ) {
         
     | 
| 
         @@ -1407,7 +1359,11 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1407 
1359 
     | 
    
         
             
            		}
         
     | 
| 
       1408 
1360 
     | 
    
         | 
| 
       1409 
1361 
     | 
    
         
             
            		// Calculate position if both inputs belong to the same document
         
     | 
| 
       1410 
     | 
    
         
            -
            		 
     | 
| 
      
 1362 
     | 
    
         
            +
            		// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 1363 
     | 
    
         
            +
            		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 1364 
     | 
    
         
            +
            		// two documents; shallow comparisons work.
         
     | 
| 
      
 1365 
     | 
    
         
            +
            		// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 1366 
     | 
    
         
            +
            		compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
         
     | 
| 
       1411 
1367 
     | 
    
         
             
            			a.compareDocumentPosition( b ) :
         
     | 
| 
       1412 
1368 
     | 
    
         | 
| 
       1413 
1369 
     | 
    
         
             
            			// Otherwise we know they are disconnected
         
     | 
| 
         @@ -1415,148 +1371,109 @@ setDocument = Sizzle.setDocument = function( node ) { 
     | 
|
| 
       1415 
1371 
     | 
    
         | 
| 
       1416 
1372 
     | 
    
         
             
            		// Disconnected nodes
         
     | 
| 
       1417 
1373 
     | 
    
         
             
            		if ( compare & 1 ||
         
     | 
| 
       1418 
     | 
    
         
            -
            			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
         
     | 
| 
      
 1374 
     | 
    
         
            +
            			( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
         
     | 
| 
       1419 
1375 
     | 
    
         | 
| 
       1420 
1376 
     | 
    
         
             
            			// Choose the first element that is related to our preferred document
         
     | 
| 
       1421 
     | 
    
         
            -
            			 
     | 
| 
      
 1377 
     | 
    
         
            +
            			// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 1378 
     | 
    
         
            +
            			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 1379 
     | 
    
         
            +
            			// two documents; shallow comparisons work.
         
     | 
| 
      
 1380 
     | 
    
         
            +
            			// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 1381 
     | 
    
         
            +
            			if ( a === document || a.ownerDocument == preferredDoc &&
         
     | 
| 
      
 1382 
     | 
    
         
            +
            				find.contains( preferredDoc, a ) ) {
         
     | 
| 
       1422 
1383 
     | 
    
         
             
            				return -1;
         
     | 
| 
       1423 
1384 
     | 
    
         
             
            			}
         
     | 
| 
       1424 
     | 
    
         
            -
             
     | 
| 
      
 1385 
     | 
    
         
            +
             
     | 
| 
      
 1386 
     | 
    
         
            +
            			// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 1387 
     | 
    
         
            +
            			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 1388 
     | 
    
         
            +
            			// two documents; shallow comparisons work.
         
     | 
| 
      
 1389 
     | 
    
         
            +
            			// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 1390 
     | 
    
         
            +
            			if ( b === document || b.ownerDocument == preferredDoc &&
         
     | 
| 
      
 1391 
     | 
    
         
            +
            				find.contains( preferredDoc, b ) ) {
         
     | 
| 
       1425 
1392 
     | 
    
         
             
            				return 1;
         
     | 
| 
       1426 
1393 
     | 
    
         
             
            			}
         
     | 
| 
       1427 
1394 
     | 
    
         | 
| 
       1428 
1395 
     | 
    
         
             
            			// Maintain original order
         
     | 
| 
       1429 
1396 
     | 
    
         
             
            			return sortInput ?
         
     | 
| 
       1430 
     | 
    
         
            -
            				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
         
     | 
| 
      
 1397 
     | 
    
         
            +
            				( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
         
     | 
| 
       1431 
1398 
     | 
    
         
             
            				0;
         
     | 
| 
       1432 
1399 
     | 
    
         
             
            		}
         
     | 
| 
       1433 
1400 
     | 
    
         | 
| 
       1434 
1401 
     | 
    
         
             
            		return compare & 4 ? -1 : 1;
         
     | 
| 
       1435 
     | 
    
         
            -
            	} :
         
     | 
| 
       1436 
     | 
    
         
            -
            	function( a, b ) {
         
     | 
| 
       1437 
     | 
    
         
            -
            		// Exit early if the nodes are identical
         
     | 
| 
       1438 
     | 
    
         
            -
            		if ( a === b ) {
         
     | 
| 
       1439 
     | 
    
         
            -
            			hasDuplicate = true;
         
     | 
| 
       1440 
     | 
    
         
            -
            			return 0;
         
     | 
| 
       1441 
     | 
    
         
            -
            		}
         
     | 
| 
       1442 
     | 
    
         
            -
             
     | 
| 
       1443 
     | 
    
         
            -
            		var cur,
         
     | 
| 
       1444 
     | 
    
         
            -
            			i = 0,
         
     | 
| 
       1445 
     | 
    
         
            -
            			aup = a.parentNode,
         
     | 
| 
       1446 
     | 
    
         
            -
            			bup = b.parentNode,
         
     | 
| 
       1447 
     | 
    
         
            -
            			ap = [ a ],
         
     | 
| 
       1448 
     | 
    
         
            -
            			bp = [ b ];
         
     | 
| 
       1449 
     | 
    
         
            -
             
     | 
| 
       1450 
     | 
    
         
            -
            		// Parentless nodes are either documents or disconnected
         
     | 
| 
       1451 
     | 
    
         
            -
            		if ( !aup || !bup ) {
         
     | 
| 
       1452 
     | 
    
         
            -
            			return a === document ? -1 :
         
     | 
| 
       1453 
     | 
    
         
            -
            				b === document ? 1 :
         
     | 
| 
       1454 
     | 
    
         
            -
            				aup ? -1 :
         
     | 
| 
       1455 
     | 
    
         
            -
            				bup ? 1 :
         
     | 
| 
       1456 
     | 
    
         
            -
            				sortInput ?
         
     | 
| 
       1457 
     | 
    
         
            -
            				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
         
     | 
| 
       1458 
     | 
    
         
            -
            				0;
         
     | 
| 
       1459 
     | 
    
         
            -
             
     | 
| 
       1460 
     | 
    
         
            -
            		// If the nodes are siblings, we can do a quick check
         
     | 
| 
       1461 
     | 
    
         
            -
            		} else if ( aup === bup ) {
         
     | 
| 
       1462 
     | 
    
         
            -
            			return siblingCheck( a, b );
         
     | 
| 
       1463 
     | 
    
         
            -
            		}
         
     | 
| 
       1464 
     | 
    
         
            -
             
     | 
| 
       1465 
     | 
    
         
            -
            		// Otherwise we need full lists of their ancestors for comparison
         
     | 
| 
       1466 
     | 
    
         
            -
            		cur = a;
         
     | 
| 
       1467 
     | 
    
         
            -
            		while ( (cur = cur.parentNode) ) {
         
     | 
| 
       1468 
     | 
    
         
            -
            			ap.unshift( cur );
         
     | 
| 
       1469 
     | 
    
         
            -
            		}
         
     | 
| 
       1470 
     | 
    
         
            -
            		cur = b;
         
     | 
| 
       1471 
     | 
    
         
            -
            		while ( (cur = cur.parentNode) ) {
         
     | 
| 
       1472 
     | 
    
         
            -
            			bp.unshift( cur );
         
     | 
| 
       1473 
     | 
    
         
            -
            		}
         
     | 
| 
       1474 
     | 
    
         
            -
             
     | 
| 
       1475 
     | 
    
         
            -
            		// Walk down the tree looking for a discrepancy
         
     | 
| 
       1476 
     | 
    
         
            -
            		while ( ap[i] === bp[i] ) {
         
     | 
| 
       1477 
     | 
    
         
            -
            			i++;
         
     | 
| 
       1478 
     | 
    
         
            -
            		}
         
     | 
| 
       1479 
     | 
    
         
            -
             
     | 
| 
       1480 
     | 
    
         
            -
            		return i ?
         
     | 
| 
       1481 
     | 
    
         
            -
            			// Do a sibling check if the nodes have a common ancestor
         
     | 
| 
       1482 
     | 
    
         
            -
            			siblingCheck( ap[i], bp[i] ) :
         
     | 
| 
       1483 
     | 
    
         
            -
             
     | 
| 
       1484 
     | 
    
         
            -
            			// Otherwise nodes in our document sort first
         
     | 
| 
       1485 
     | 
    
         
            -
            			ap[i] === preferredDoc ? -1 :
         
     | 
| 
       1486 
     | 
    
         
            -
            			bp[i] === preferredDoc ? 1 :
         
     | 
| 
       1487 
     | 
    
         
            -
            			0;
         
     | 
| 
       1488 
1402 
     | 
    
         
             
            	};
         
     | 
| 
       1489 
1403 
     | 
    
         | 
| 
       1490 
1404 
     | 
    
         
             
            	return document;
         
     | 
| 
       1491 
     | 
    
         
            -
            } 
     | 
| 
      
 1405 
     | 
    
         
            +
            }
         
     | 
| 
       1492 
1406 
     | 
    
         | 
| 
       1493 
     | 
    
         
            -
             
     | 
| 
       1494 
     | 
    
         
            -
            	return  
     | 
| 
      
 1407 
     | 
    
         
            +
            find.matches = function( expr, elements ) {
         
     | 
| 
      
 1408 
     | 
    
         
            +
            	return find( expr, null, null, elements );
         
     | 
| 
       1495 
1409 
     | 
    
         
             
            };
         
     | 
| 
       1496 
1410 
     | 
    
         | 
| 
       1497 
     | 
    
         
            -
             
     | 
| 
       1498 
     | 
    
         
            -
            	 
     | 
| 
       1499 
     | 
    
         
            -
            	if ( ( elem.ownerDocument || elem ) !== document ) {
         
     | 
| 
       1500 
     | 
    
         
            -
            		setDocument( elem );
         
     | 
| 
       1501 
     | 
    
         
            -
            	}
         
     | 
| 
      
 1411 
     | 
    
         
            +
            find.matchesSelector = function( elem, expr ) {
         
     | 
| 
      
 1412 
     | 
    
         
            +
            	setDocument( elem );
         
     | 
| 
       1502 
1413 
     | 
    
         | 
| 
       1503 
     | 
    
         
            -
            	if (  
     | 
| 
      
 1414 
     | 
    
         
            +
            	if ( documentIsHTML &&
         
     | 
| 
       1504 
1415 
     | 
    
         
             
            		!nonnativeSelectorCache[ expr + " " ] &&
         
     | 
| 
       1505 
     | 
    
         
            -
            		( ! 
     | 
| 
       1506 
     | 
    
         
            -
            		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
         
     | 
| 
      
 1416 
     | 
    
         
            +
            		( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
         
     | 
| 
       1507 
1417 
     | 
    
         | 
| 
       1508 
1418 
     | 
    
         
             
            		try {
         
     | 
| 
       1509 
1419 
     | 
    
         
             
            			var ret = matches.call( elem, expr );
         
     | 
| 
       1510 
1420 
     | 
    
         | 
| 
       1511 
1421 
     | 
    
         
             
            			// IE 9's matchesSelector returns false on disconnected nodes
         
     | 
| 
       1512 
1422 
     | 
    
         
             
            			if ( ret || support.disconnectedMatch ||
         
     | 
| 
      
 1423 
     | 
    
         
            +
             
     | 
| 
       1513 
1424 
     | 
    
         
             
            					// As well, disconnected nodes are said to be in a document
         
     | 
| 
       1514 
1425 
     | 
    
         
             
            					// fragment in IE 9
         
     | 
| 
       1515 
1426 
     | 
    
         
             
            					elem.document && elem.document.nodeType !== 11 ) {
         
     | 
| 
       1516 
1427 
     | 
    
         
             
            				return ret;
         
     | 
| 
       1517 
1428 
     | 
    
         
             
            			}
         
     | 
| 
       1518 
     | 
    
         
            -
            		} catch (e) {
         
     | 
| 
      
 1429 
     | 
    
         
            +
            		} catch ( e ) {
         
     | 
| 
       1519 
1430 
     | 
    
         
             
            			nonnativeSelectorCache( expr, true );
         
     | 
| 
       1520 
1431 
     | 
    
         
             
            		}
         
     | 
| 
       1521 
1432 
     | 
    
         
             
            	}
         
     | 
| 
       1522 
1433 
     | 
    
         | 
| 
       1523 
     | 
    
         
            -
            	return  
     | 
| 
      
 1434 
     | 
    
         
            +
            	return find( expr, document, null, [ elem ] ).length > 0;
         
     | 
| 
       1524 
1435 
     | 
    
         
             
            };
         
     | 
| 
       1525 
1436 
     | 
    
         | 
| 
       1526 
     | 
    
         
            -
             
     | 
| 
      
 1437 
     | 
    
         
            +
            find.contains = function( context, elem ) {
         
     | 
| 
      
 1438 
     | 
    
         
            +
             
     | 
| 
       1527 
1439 
     | 
    
         
             
            	// Set document vars if needed
         
     | 
| 
       1528 
     | 
    
         
            -
            	 
     | 
| 
      
 1440 
     | 
    
         
            +
            	// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 1441 
     | 
    
         
            +
            	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 1442 
     | 
    
         
            +
            	// two documents; shallow comparisons work.
         
     | 
| 
      
 1443 
     | 
    
         
            +
            	// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 1444 
     | 
    
         
            +
            	if ( ( context.ownerDocument || context ) != document ) {
         
     | 
| 
       1529 
1445 
     | 
    
         
             
            		setDocument( context );
         
     | 
| 
       1530 
1446 
     | 
    
         
             
            	}
         
     | 
| 
       1531 
     | 
    
         
            -
            	return contains( context, elem );
         
     | 
| 
      
 1447 
     | 
    
         
            +
            	return jQuery.contains( context, elem );
         
     | 
| 
       1532 
1448 
     | 
    
         
             
            };
         
     | 
| 
       1533 
1449 
     | 
    
         | 
| 
       1534 
     | 
    
         
            -
             
     | 
| 
      
 1450 
     | 
    
         
            +
             
     | 
| 
      
 1451 
     | 
    
         
            +
            find.attr = function( elem, name ) {
         
     | 
| 
      
 1452 
     | 
    
         
            +
             
     | 
| 
       1535 
1453 
     | 
    
         
             
            	// Set document vars if needed
         
     | 
| 
       1536 
     | 
    
         
            -
            	 
     | 
| 
      
 1454 
     | 
    
         
            +
            	// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 1455 
     | 
    
         
            +
            	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 1456 
     | 
    
         
            +
            	// two documents; shallow comparisons work.
         
     | 
| 
      
 1457 
     | 
    
         
            +
            	// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 1458 
     | 
    
         
            +
            	if ( ( elem.ownerDocument || elem ) != document ) {
         
     | 
| 
       1537 
1459 
     | 
    
         
             
            		setDocument( elem );
         
     | 
| 
       1538 
1460 
     | 
    
         
             
            	}
         
     | 
| 
       1539 
1461 
     | 
    
         | 
| 
       1540 
1462 
     | 
    
         
             
            	var fn = Expr.attrHandle[ name.toLowerCase() ],
         
     | 
| 
       1541 
     | 
    
         
            -
             
     | 
| 
      
 1463 
     | 
    
         
            +
             
     | 
| 
      
 1464 
     | 
    
         
            +
            		// Don't get fooled by Object.prototype properties (see trac-13807)
         
     | 
| 
       1542 
1465 
     | 
    
         
             
            		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
         
     | 
| 
       1543 
1466 
     | 
    
         
             
            			fn( elem, name, !documentIsHTML ) :
         
     | 
| 
       1544 
1467 
     | 
    
         
             
            			undefined;
         
     | 
| 
       1545 
1468 
     | 
    
         | 
| 
       1546 
     | 
    
         
            -
            	 
     | 
| 
       1547 
     | 
    
         
            -
            		val 
     | 
| 
       1548 
     | 
    
         
            -
             
     | 
| 
       1549 
     | 
    
         
            -
            			elem.getAttribute( name ) :
         
     | 
| 
       1550 
     | 
    
         
            -
            			(val = elem.getAttributeNode(name)) && val.specified ?
         
     | 
| 
       1551 
     | 
    
         
            -
            				val.value :
         
     | 
| 
       1552 
     | 
    
         
            -
            				null;
         
     | 
| 
       1553 
     | 
    
         
            -
            };
         
     | 
| 
      
 1469 
     | 
    
         
            +
            	if ( val !== undefined ) {
         
     | 
| 
      
 1470 
     | 
    
         
            +
            		return val;
         
     | 
| 
      
 1471 
     | 
    
         
            +
            	}
         
     | 
| 
       1554 
1472 
     | 
    
         | 
| 
       1555 
     | 
    
         
            -
             
     | 
| 
       1556 
     | 
    
         
            -
            	return (sel + "").replace( rcssescape, fcssescape );
         
     | 
| 
      
 1473 
     | 
    
         
            +
            	return elem.getAttribute( name );
         
     | 
| 
       1557 
1474 
     | 
    
         
             
            };
         
     | 
| 
       1558 
1475 
     | 
    
         | 
| 
       1559 
     | 
    
         
            -
             
     | 
| 
      
 1476 
     | 
    
         
            +
            find.error = function( msg ) {
         
     | 
| 
       1560 
1477 
     | 
    
         
             
            	throw new Error( "Syntax error, unrecognized expression: " + msg );
         
     | 
| 
       1561 
1478 
     | 
    
         
             
            };
         
     | 
| 
       1562 
1479 
     | 
    
         | 
| 
         @@ -1564,25 +1481,29 @@ Sizzle.error = function( msg ) { 
     | 
|
| 
       1564 
1481 
     | 
    
         
             
             * Document sorting and removing duplicates
         
     | 
| 
       1565 
1482 
     | 
    
         
             
             * @param {ArrayLike} results
         
     | 
| 
       1566 
1483 
     | 
    
         
             
             */
         
     | 
| 
       1567 
     | 
    
         
            -
             
     | 
| 
      
 1484 
     | 
    
         
            +
            jQuery.uniqueSort = function( results ) {
         
     | 
| 
       1568 
1485 
     | 
    
         
             
            	var elem,
         
     | 
| 
       1569 
1486 
     | 
    
         
             
            		duplicates = [],
         
     | 
| 
       1570 
1487 
     | 
    
         
             
            		j = 0,
         
     | 
| 
       1571 
1488 
     | 
    
         
             
            		i = 0;
         
     | 
| 
       1572 
1489 
     | 
    
         | 
| 
       1573 
1490 
     | 
    
         
             
            	// Unless we *know* we can detect duplicates, assume their presence
         
     | 
| 
       1574 
     | 
    
         
            -
            	 
     | 
| 
       1575 
     | 
    
         
            -
            	 
     | 
| 
       1576 
     | 
    
         
            -
            	 
     | 
| 
      
 1491 
     | 
    
         
            +
            	//
         
     | 
| 
      
 1492 
     | 
    
         
            +
            	// Support: Android <=4.0+
         
     | 
| 
      
 1493 
     | 
    
         
            +
            	// Testing for detecting duplicates is unpredictable so instead assume we can't
         
     | 
| 
      
 1494 
     | 
    
         
            +
            	// depend on duplicate detection in all browsers without a stable sort.
         
     | 
| 
      
 1495 
     | 
    
         
            +
            	hasDuplicate = !support.sortStable;
         
     | 
| 
      
 1496 
     | 
    
         
            +
            	sortInput = !support.sortStable && slice.call( results, 0 );
         
     | 
| 
      
 1497 
     | 
    
         
            +
            	sort.call( results, sortOrder );
         
     | 
| 
       1577 
1498 
     | 
    
         | 
| 
       1578 
1499 
     | 
    
         
             
            	if ( hasDuplicate ) {
         
     | 
| 
       1579 
     | 
    
         
            -
            		while ( (elem = results[i++]) ) {
         
     | 
| 
      
 1500 
     | 
    
         
            +
            		while ( ( elem = results[ i++ ] ) ) {
         
     | 
| 
       1580 
1501 
     | 
    
         
             
            			if ( elem === results[ i ] ) {
         
     | 
| 
       1581 
1502 
     | 
    
         
             
            				j = duplicates.push( i );
         
     | 
| 
       1582 
1503 
     | 
    
         
             
            			}
         
     | 
| 
       1583 
1504 
     | 
    
         
             
            		}
         
     | 
| 
       1584 
1505 
     | 
    
         
             
            		while ( j-- ) {
         
     | 
| 
       1585 
     | 
    
         
            -
            			 
     | 
| 
      
 1506 
     | 
    
         
            +
            			splice.call( results, duplicates[ j ], 1 );
         
     | 
| 
       1586 
1507 
     | 
    
         
             
            		}
         
     | 
| 
       1587 
1508 
     | 
    
         
             
            	}
         
     | 
| 
       1588 
1509 
     | 
    
         | 
| 
         @@ -1593,42 +1514,11 @@ Sizzle.uniqueSort = function( results ) { 
     | 
|
| 
       1593 
1514 
     | 
    
         
             
            	return results;
         
     | 
| 
       1594 
1515 
     | 
    
         
             
            };
         
     | 
| 
       1595 
1516 
     | 
    
         | 
| 
       1596 
     | 
    
         
            -
             
     | 
| 
       1597 
     | 
    
         
            -
              
     | 
| 
       1598 
     | 
    
         
            -
             * @param {Array|Element} elem
         
     | 
| 
       1599 
     | 
    
         
            -
             */
         
     | 
| 
       1600 
     | 
    
         
            -
            getText = Sizzle.getText = function( elem ) {
         
     | 
| 
       1601 
     | 
    
         
            -
            	var node,
         
     | 
| 
       1602 
     | 
    
         
            -
            		ret = "",
         
     | 
| 
       1603 
     | 
    
         
            -
            		i = 0,
         
     | 
| 
       1604 
     | 
    
         
            -
            		nodeType = elem.nodeType;
         
     | 
| 
       1605 
     | 
    
         
            -
             
     | 
| 
       1606 
     | 
    
         
            -
            	if ( !nodeType ) {
         
     | 
| 
       1607 
     | 
    
         
            -
            		// If no nodeType, this is expected to be an array
         
     | 
| 
       1608 
     | 
    
         
            -
            		while ( (node = elem[i++]) ) {
         
     | 
| 
       1609 
     | 
    
         
            -
            			// Do not traverse comment nodes
         
     | 
| 
       1610 
     | 
    
         
            -
            			ret += getText( node );
         
     | 
| 
       1611 
     | 
    
         
            -
            		}
         
     | 
| 
       1612 
     | 
    
         
            -
            	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
         
     | 
| 
       1613 
     | 
    
         
            -
            		// Use textContent for elements
         
     | 
| 
       1614 
     | 
    
         
            -
            		// innerText usage removed for consistency of new lines (jQuery #11153)
         
     | 
| 
       1615 
     | 
    
         
            -
            		if ( typeof elem.textContent === "string" ) {
         
     | 
| 
       1616 
     | 
    
         
            -
            			return elem.textContent;
         
     | 
| 
       1617 
     | 
    
         
            -
            		} else {
         
     | 
| 
       1618 
     | 
    
         
            -
            			// Traverse its children
         
     | 
| 
       1619 
     | 
    
         
            -
            			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
         
     | 
| 
       1620 
     | 
    
         
            -
            				ret += getText( elem );
         
     | 
| 
       1621 
     | 
    
         
            -
            			}
         
     | 
| 
       1622 
     | 
    
         
            -
            		}
         
     | 
| 
       1623 
     | 
    
         
            -
            	} else if ( nodeType === 3 || nodeType === 4 ) {
         
     | 
| 
       1624 
     | 
    
         
            -
            		return elem.nodeValue;
         
     | 
| 
       1625 
     | 
    
         
            -
            	}
         
     | 
| 
       1626 
     | 
    
         
            -
            	// Do not include comment or processing instruction nodes
         
     | 
| 
       1627 
     | 
    
         
            -
             
     | 
| 
       1628 
     | 
    
         
            -
            	return ret;
         
     | 
| 
      
 1517 
     | 
    
         
            +
            jQuery.fn.uniqueSort = function() {
         
     | 
| 
      
 1518 
     | 
    
         
            +
            	return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );
         
     | 
| 
       1629 
1519 
     | 
    
         
             
            };
         
     | 
| 
       1630 
1520 
     | 
    
         | 
| 
       1631 
     | 
    
         
            -
            Expr =  
     | 
| 
      
 1521 
     | 
    
         
            +
            Expr = jQuery.expr = {
         
     | 
| 
       1632 
1522 
     | 
    
         | 
| 
       1633 
1523 
     | 
    
         
             
            	// Can be adjusted by the user
         
     | 
| 
       1634 
1524 
     | 
    
         
             
            	cacheLength: 50,
         
     | 
| 
         @@ -1649,20 +1539,22 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1649 
1539 
     | 
    
         
             
            	},
         
     | 
| 
       1650 
1540 
     | 
    
         | 
| 
       1651 
1541 
     | 
    
         
             
            	preFilter: {
         
     | 
| 
       1652 
     | 
    
         
            -
            		 
     | 
| 
       1653 
     | 
    
         
            -
            			match[1] = match[1].replace( runescape, funescape );
         
     | 
| 
      
 1542 
     | 
    
         
            +
            		ATTR: function( match ) {
         
     | 
| 
      
 1543 
     | 
    
         
            +
            			match[ 1 ] = match[ 1 ].replace( runescape, funescape );
         
     | 
| 
       1654 
1544 
     | 
    
         | 
| 
       1655 
1545 
     | 
    
         
             
            			// Move the given value to match[3] whether quoted or unquoted
         
     | 
| 
       1656 
     | 
    
         
            -
            			match[3] = ( match[3] || match[4] || match[5] || "" ) 
     | 
| 
      
 1546 
     | 
    
         
            +
            			match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" )
         
     | 
| 
      
 1547 
     | 
    
         
            +
            				.replace( runescape, funescape );
         
     | 
| 
       1657 
1548 
     | 
    
         | 
| 
       1658 
     | 
    
         
            -
            			if ( match[2] === "~=" ) {
         
     | 
| 
       1659 
     | 
    
         
            -
            				match[3] = " " + match[3] + " ";
         
     | 
| 
      
 1549 
     | 
    
         
            +
            			if ( match[ 2 ] === "~=" ) {
         
     | 
| 
      
 1550 
     | 
    
         
            +
            				match[ 3 ] = " " + match[ 3 ] + " ";
         
     | 
| 
       1660 
1551 
     | 
    
         
             
            			}
         
     | 
| 
       1661 
1552 
     | 
    
         | 
| 
       1662 
1553 
     | 
    
         
             
            			return match.slice( 0, 4 );
         
     | 
| 
       1663 
1554 
     | 
    
         
             
            		},
         
     | 
| 
       1664 
1555 
     | 
    
         | 
| 
       1665 
     | 
    
         
            -
            		 
     | 
| 
      
 1556 
     | 
    
         
            +
            		CHILD: function( match ) {
         
     | 
| 
      
 1557 
     | 
    
         
            +
             
     | 
| 
       1666 
1558 
     | 
    
         
             
            			/* matches from matchExpr["CHILD"]
         
     | 
| 
       1667 
1559 
     | 
    
         
             
            				1 type (only|nth|...)
         
     | 
| 
       1668 
1560 
     | 
    
         
             
            				2 what (child|of-type)
         
     | 
| 
         @@ -1673,49 +1565,55 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1673 
1565 
     | 
    
         
             
            				7 sign of y-component
         
     | 
| 
       1674 
1566 
     | 
    
         
             
            				8 y of y-component
         
     | 
| 
       1675 
1567 
     | 
    
         
             
            			*/
         
     | 
| 
       1676 
     | 
    
         
            -
            			match[1] = match[1].toLowerCase();
         
     | 
| 
      
 1568 
     | 
    
         
            +
            			match[ 1 ] = match[ 1 ].toLowerCase();
         
     | 
| 
      
 1569 
     | 
    
         
            +
             
     | 
| 
      
 1570 
     | 
    
         
            +
            			if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
         
     | 
| 
       1677 
1571 
     | 
    
         | 
| 
       1678 
     | 
    
         
            -
            			if ( match[1].slice( 0, 3 ) === "nth" ) {
         
     | 
| 
       1679 
1572 
     | 
    
         
             
            				// nth-* requires argument
         
     | 
| 
       1680 
     | 
    
         
            -
            				if ( !match[3] ) {
         
     | 
| 
       1681 
     | 
    
         
            -
            					 
     | 
| 
      
 1573 
     | 
    
         
            +
            				if ( !match[ 3 ] ) {
         
     | 
| 
      
 1574 
     | 
    
         
            +
            					find.error( match[ 0 ] );
         
     | 
| 
       1682 
1575 
     | 
    
         
             
            				}
         
     | 
| 
       1683 
1576 
     | 
    
         | 
| 
       1684 
1577 
     | 
    
         
             
            				// numeric x and y parameters for Expr.filter.CHILD
         
     | 
| 
       1685 
1578 
     | 
    
         
             
            				// remember that false/true cast respectively to 0/1
         
     | 
| 
       1686 
     | 
    
         
            -
            				match[4] = +( match[4] ? 
     | 
| 
       1687 
     | 
    
         
            -
             
     | 
| 
      
 1579 
     | 
    
         
            +
            				match[ 4 ] = +( match[ 4 ] ?
         
     | 
| 
      
 1580 
     | 
    
         
            +
            					match[ 5 ] + ( match[ 6 ] || 1 ) :
         
     | 
| 
      
 1581 
     | 
    
         
            +
            					2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" )
         
     | 
| 
      
 1582 
     | 
    
         
            +
            				);
         
     | 
| 
      
 1583 
     | 
    
         
            +
            				match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
         
     | 
| 
       1688 
1584 
     | 
    
         | 
| 
       1689 
1585 
     | 
    
         
             
            			// other types prohibit arguments
         
     | 
| 
       1690 
     | 
    
         
            -
            			} else if ( match[3] ) {
         
     | 
| 
       1691 
     | 
    
         
            -
            				 
     | 
| 
      
 1586 
     | 
    
         
            +
            			} else if ( match[ 3 ] ) {
         
     | 
| 
      
 1587 
     | 
    
         
            +
            				find.error( match[ 0 ] );
         
     | 
| 
       1692 
1588 
     | 
    
         
             
            			}
         
     | 
| 
       1693 
1589 
     | 
    
         | 
| 
       1694 
1590 
     | 
    
         
             
            			return match;
         
     | 
| 
       1695 
1591 
     | 
    
         
             
            		},
         
     | 
| 
       1696 
1592 
     | 
    
         | 
| 
       1697 
     | 
    
         
            -
            		 
     | 
| 
      
 1593 
     | 
    
         
            +
            		PSEUDO: function( match ) {
         
     | 
| 
       1698 
1594 
     | 
    
         
             
            			var excess,
         
     | 
| 
       1699 
     | 
    
         
            -
            				unquoted = !match[6] && match[2];
         
     | 
| 
      
 1595 
     | 
    
         
            +
            				unquoted = !match[ 6 ] && match[ 2 ];
         
     | 
| 
       1700 
1596 
     | 
    
         | 
| 
       1701 
     | 
    
         
            -
            			if ( matchExpr 
     | 
| 
      
 1597 
     | 
    
         
            +
            			if ( matchExpr.CHILD.test( match[ 0 ] ) ) {
         
     | 
| 
       1702 
1598 
     | 
    
         
             
            				return null;
         
     | 
| 
       1703 
1599 
     | 
    
         
             
            			}
         
     | 
| 
       1704 
1600 
     | 
    
         | 
| 
       1705 
1601 
     | 
    
         
             
            			// Accept quoted arguments as-is
         
     | 
| 
       1706 
     | 
    
         
            -
            			if ( match[3] ) {
         
     | 
| 
       1707 
     | 
    
         
            -
            				match[2] = match[4] || match[5] || "";
         
     | 
| 
      
 1602 
     | 
    
         
            +
            			if ( match[ 3 ] ) {
         
     | 
| 
      
 1603 
     | 
    
         
            +
            				match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
         
     | 
| 
       1708 
1604 
     | 
    
         | 
| 
       1709 
1605 
     | 
    
         
             
            			// Strip excess characters from unquoted arguments
         
     | 
| 
       1710 
1606 
     | 
    
         
             
            			} else if ( unquoted && rpseudo.test( unquoted ) &&
         
     | 
| 
      
 1607 
     | 
    
         
            +
             
     | 
| 
       1711 
1608 
     | 
    
         
             
            				// Get excess from tokenize (recursively)
         
     | 
| 
       1712 
     | 
    
         
            -
            				(excess = tokenize( unquoted, true )) &&
         
     | 
| 
      
 1609 
     | 
    
         
            +
            				( excess = tokenize( unquoted, true ) ) &&
         
     | 
| 
      
 1610 
     | 
    
         
            +
             
     | 
| 
       1713 
1611 
     | 
    
         
             
            				// advance to the next closing parenthesis
         
     | 
| 
       1714 
     | 
    
         
            -
            				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
         
     | 
| 
      
 1612 
     | 
    
         
            +
            				( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
         
     | 
| 
       1715 
1613 
     | 
    
         | 
| 
       1716 
1614 
     | 
    
         
             
            				// excess is a negative index
         
     | 
| 
       1717 
     | 
    
         
            -
            				match[0] = match[0].slice( 0, excess );
         
     | 
| 
       1718 
     | 
    
         
            -
            				match[2] = unquoted.slice( 0, excess );
         
     | 
| 
      
 1615 
     | 
    
         
            +
            				match[ 0 ] = match[ 0 ].slice( 0, excess );
         
     | 
| 
      
 1616 
     | 
    
         
            +
            				match[ 2 ] = unquoted.slice( 0, excess );
         
     | 
| 
       1719 
1617 
     | 
    
         
             
            			}
         
     | 
| 
       1720 
1618 
     | 
    
         | 
| 
       1721 
1619 
     | 
    
         
             
            			// Return only captures needed by the pseudo filter method (type and argument)
         
     | 
| 
         @@ -1725,28 +1623,36 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1725 
1623 
     | 
    
         | 
| 
       1726 
1624 
     | 
    
         
             
            	filter: {
         
     | 
| 
       1727 
1625 
     | 
    
         | 
| 
       1728 
     | 
    
         
            -
            		 
     | 
| 
       1729 
     | 
    
         
            -
            			var  
     | 
| 
      
 1626 
     | 
    
         
            +
            		TAG: function( nodeNameSelector ) {
         
     | 
| 
      
 1627 
     | 
    
         
            +
            			var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
         
     | 
| 
       1730 
1628 
     | 
    
         
             
            			return nodeNameSelector === "*" ?
         
     | 
| 
       1731 
     | 
    
         
            -
            				function() { 
     | 
| 
      
 1629 
     | 
    
         
            +
            				function() {
         
     | 
| 
      
 1630 
     | 
    
         
            +
            					return true;
         
     | 
| 
      
 1631 
     | 
    
         
            +
            				} :
         
     | 
| 
       1732 
1632 
     | 
    
         
             
            				function( elem ) {
         
     | 
| 
       1733 
     | 
    
         
            -
            					return  
     | 
| 
      
 1633 
     | 
    
         
            +
            					return nodeName( elem, expectedNodeName );
         
     | 
| 
       1734 
1634 
     | 
    
         
             
            				};
         
     | 
| 
       1735 
1635 
     | 
    
         
             
            		},
         
     | 
| 
       1736 
1636 
     | 
    
         | 
| 
       1737 
     | 
    
         
            -
            		 
     | 
| 
      
 1637 
     | 
    
         
            +
            		CLASS: function( className ) {
         
     | 
| 
       1738 
1638 
     | 
    
         
             
            			var pattern = classCache[ className + " " ];
         
     | 
| 
       1739 
1639 
     | 
    
         | 
| 
       1740 
1640 
     | 
    
         
             
            			return pattern ||
         
     | 
| 
       1741 
     | 
    
         
            -
            				(pattern = new RegExp( "(^|" + whitespace + ")" + className + 
     | 
| 
      
 1641 
     | 
    
         
            +
            				( pattern = new RegExp( "(^|" + whitespace + ")" + className +
         
     | 
| 
      
 1642 
     | 
    
         
            +
            					"(" + whitespace + "|$)" ) ) &&
         
     | 
| 
       1742 
1643 
     | 
    
         
             
            				classCache( className, function( elem ) {
         
     | 
| 
       1743 
     | 
    
         
            -
            					return pattern.test( 
     | 
| 
       1744 
     | 
    
         
            -
             
     | 
| 
      
 1644 
     | 
    
         
            +
            					return pattern.test(
         
     | 
| 
      
 1645 
     | 
    
         
            +
            						typeof elem.className === "string" && elem.className ||
         
     | 
| 
      
 1646 
     | 
    
         
            +
            							typeof elem.getAttribute !== "undefined" &&
         
     | 
| 
      
 1647 
     | 
    
         
            +
            								elem.getAttribute( "class" ) ||
         
     | 
| 
      
 1648 
     | 
    
         
            +
            							""
         
     | 
| 
      
 1649 
     | 
    
         
            +
            					);
         
     | 
| 
      
 1650 
     | 
    
         
            +
            				} );
         
     | 
| 
       1745 
1651 
     | 
    
         
             
            		},
         
     | 
| 
       1746 
1652 
     | 
    
         | 
| 
       1747 
     | 
    
         
            -
            		 
     | 
| 
      
 1653 
     | 
    
         
            +
            		ATTR: function( name, operator, check ) {
         
     | 
| 
       1748 
1654 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1749 
     | 
    
         
            -
            				var result =  
     | 
| 
      
 1655 
     | 
    
         
            +
            				var result = find.attr( elem, name );
         
     | 
| 
       1750 
1656 
     | 
    
         | 
| 
       1751 
1657 
     | 
    
         
             
            				if ( result == null ) {
         
     | 
| 
       1752 
1658 
     | 
    
         
             
            					return operator === "!=";
         
     | 
| 
         @@ -1757,18 +1663,34 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1757 
1663 
     | 
    
         | 
| 
       1758 
1664 
     | 
    
         
             
            				result += "";
         
     | 
| 
       1759 
1665 
     | 
    
         | 
| 
       1760 
     | 
    
         
            -
            				 
     | 
| 
       1761 
     | 
    
         
            -
            					 
     | 
| 
       1762 
     | 
    
         
            -
             
     | 
| 
       1763 
     | 
    
         
            -
             
     | 
| 
       1764 
     | 
    
         
            -
            					 
     | 
| 
       1765 
     | 
    
         
            -
             
     | 
| 
       1766 
     | 
    
         
            -
             
     | 
| 
       1767 
     | 
    
         
            -
            					 
     | 
| 
      
 1666 
     | 
    
         
            +
            				if ( operator === "=" ) {
         
     | 
| 
      
 1667 
     | 
    
         
            +
            					return result === check;
         
     | 
| 
      
 1668 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1669 
     | 
    
         
            +
            				if ( operator === "!=" ) {
         
     | 
| 
      
 1670 
     | 
    
         
            +
            					return result !== check;
         
     | 
| 
      
 1671 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1672 
     | 
    
         
            +
            				if ( operator === "^=" ) {
         
     | 
| 
      
 1673 
     | 
    
         
            +
            					return check && result.indexOf( check ) === 0;
         
     | 
| 
      
 1674 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1675 
     | 
    
         
            +
            				if ( operator === "*=" ) {
         
     | 
| 
      
 1676 
     | 
    
         
            +
            					return check && result.indexOf( check ) > -1;
         
     | 
| 
      
 1677 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1678 
     | 
    
         
            +
            				if ( operator === "$=" ) {
         
     | 
| 
      
 1679 
     | 
    
         
            +
            					return check && result.slice( -check.length ) === check;
         
     | 
| 
      
 1680 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1681 
     | 
    
         
            +
            				if ( operator === "~=" ) {
         
     | 
| 
      
 1682 
     | 
    
         
            +
            					return ( " " + result.replace( rwhitespace, " " ) + " " )
         
     | 
| 
      
 1683 
     | 
    
         
            +
            						.indexOf( check ) > -1;
         
     | 
| 
      
 1684 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1685 
     | 
    
         
            +
            				if ( operator === "|=" ) {
         
     | 
| 
      
 1686 
     | 
    
         
            +
            					return result === check || result.slice( 0, check.length + 1 ) === check + "-";
         
     | 
| 
      
 1687 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1688 
     | 
    
         
            +
             
     | 
| 
      
 1689 
     | 
    
         
            +
            				return false;
         
     | 
| 
       1768 
1690 
     | 
    
         
             
            			};
         
     | 
| 
       1769 
1691 
     | 
    
         
             
            		},
         
     | 
| 
       1770 
1692 
     | 
    
         | 
| 
       1771 
     | 
    
         
            -
            		 
     | 
| 
      
 1693 
     | 
    
         
            +
            		CHILD: function( type, what, _argument, first, last ) {
         
     | 
| 
       1772 
1694 
     | 
    
         
             
            			var simple = type.slice( 0, 3 ) !== "nth",
         
     | 
| 
       1773 
1695 
     | 
    
         
             
            				forward = type.slice( -4 ) !== "last",
         
     | 
| 
       1774 
1696 
     | 
    
         
             
            				ofType = what === "of-type";
         
     | 
| 
         @@ -1780,8 +1702,8 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1780 
1702 
     | 
    
         
             
            					return !!elem.parentNode;
         
     | 
| 
       1781 
1703 
     | 
    
         
             
            				} :
         
     | 
| 
       1782 
1704 
     | 
    
         | 
| 
       1783 
     | 
    
         
            -
            				function( elem,  
     | 
| 
       1784 
     | 
    
         
            -
            					var cache,  
     | 
| 
      
 1705 
     | 
    
         
            +
            				function( elem, _context, xml ) {
         
     | 
| 
      
 1706 
     | 
    
         
            +
            					var cache, outerCache, node, nodeIndex, start,
         
     | 
| 
       1785 
1707 
     | 
    
         
             
            						dir = simple !== forward ? "nextSibling" : "previousSibling",
         
     | 
| 
       1786 
1708 
     | 
    
         
             
            						parent = elem.parentNode,
         
     | 
| 
       1787 
1709 
     | 
    
         
             
            						name = ofType && elem.nodeName.toLowerCase(),
         
     | 
| 
         @@ -1794,14 +1716,15 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1794 
1716 
     | 
    
         
             
            						if ( simple ) {
         
     | 
| 
       1795 
1717 
     | 
    
         
             
            							while ( dir ) {
         
     | 
| 
       1796 
1718 
     | 
    
         
             
            								node = elem;
         
     | 
| 
       1797 
     | 
    
         
            -
            								while ( (node = node[ dir ]) ) {
         
     | 
| 
      
 1719 
     | 
    
         
            +
            								while ( ( node = node[ dir ] ) ) {
         
     | 
| 
       1798 
1720 
     | 
    
         
             
            									if ( ofType ?
         
     | 
| 
       1799 
     | 
    
         
            -
            										 
     | 
| 
      
 1721 
     | 
    
         
            +
            										nodeName( node, name ) :
         
     | 
| 
       1800 
1722 
     | 
    
         
             
            										node.nodeType === 1 ) {
         
     | 
| 
       1801 
1723 
     | 
    
         | 
| 
       1802 
1724 
     | 
    
         
             
            										return false;
         
     | 
| 
       1803 
1725 
     | 
    
         
             
            									}
         
     | 
| 
       1804 
1726 
     | 
    
         
             
            								}
         
     | 
| 
      
 1727 
     | 
    
         
            +
             
     | 
| 
       1805 
1728 
     | 
    
         
             
            								// Reverse direction for :only-* (if we haven't yet done so)
         
     | 
| 
       1806 
1729 
     | 
    
         
             
            								start = dir = type === "only" && !start && "nextSibling";
         
     | 
| 
       1807 
1730 
     | 
    
         
             
            							}
         
     | 
| 
         @@ -1814,46 +1737,30 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1814 
1737 
     | 
    
         
             
            						if ( forward && useCache ) {
         
     | 
| 
       1815 
1738 
     | 
    
         | 
| 
       1816 
1739 
     | 
    
         
             
            							// Seek `elem` from a previously-cached index
         
     | 
| 
       1817 
     | 
    
         
            -
             
     | 
| 
       1818 
     | 
    
         
            -
            							 
     | 
| 
       1819 
     | 
    
         
            -
            							node = parent;
         
     | 
| 
       1820 
     | 
    
         
            -
            							outerCache = node[ expando ] || (node[ expando ] = {});
         
     | 
| 
       1821 
     | 
    
         
            -
             
     | 
| 
       1822 
     | 
    
         
            -
            							// Support: IE <9 only
         
     | 
| 
       1823 
     | 
    
         
            -
            							// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
       1824 
     | 
    
         
            -
            							uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
       1825 
     | 
    
         
            -
            								(outerCache[ node.uniqueID ] = {});
         
     | 
| 
       1826 
     | 
    
         
            -
             
     | 
| 
       1827 
     | 
    
         
            -
            							cache = uniqueCache[ type ] || [];
         
     | 
| 
      
 1740 
     | 
    
         
            +
            							outerCache = parent[ expando ] || ( parent[ expando ] = {} );
         
     | 
| 
      
 1741 
     | 
    
         
            +
            							cache = outerCache[ type ] || [];
         
     | 
| 
       1828 
1742 
     | 
    
         
             
            							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
         
     | 
| 
       1829 
1743 
     | 
    
         
             
            							diff = nodeIndex && cache[ 2 ];
         
     | 
| 
       1830 
1744 
     | 
    
         
             
            							node = nodeIndex && parent.childNodes[ nodeIndex ];
         
     | 
| 
       1831 
1745 
     | 
    
         | 
| 
       1832 
     | 
    
         
            -
            							while ( (node = ++nodeIndex && node && node[ dir ] ||
         
     | 
| 
      
 1746 
     | 
    
         
            +
            							while ( ( node = ++nodeIndex && node && node[ dir ] ||
         
     | 
| 
       1833 
1747 
     | 
    
         | 
| 
       1834 
1748 
     | 
    
         
             
            								// Fallback to seeking `elem` from the start
         
     | 
| 
       1835 
     | 
    
         
            -
            								(diff = nodeIndex = 0) || start.pop()) ) {
         
     | 
| 
      
 1749 
     | 
    
         
            +
            								( diff = nodeIndex = 0 ) || start.pop() ) ) {
         
     | 
| 
       1836 
1750 
     | 
    
         | 
| 
       1837 
1751 
     | 
    
         
             
            								// When found, cache indexes on `parent` and break
         
     | 
| 
       1838 
1752 
     | 
    
         
             
            								if ( node.nodeType === 1 && ++diff && node === elem ) {
         
     | 
| 
       1839 
     | 
    
         
            -
            									 
     | 
| 
      
 1753 
     | 
    
         
            +
            									outerCache[ type ] = [ dirruns, nodeIndex, diff ];
         
     | 
| 
       1840 
1754 
     | 
    
         
             
            									break;
         
     | 
| 
       1841 
1755 
     | 
    
         
             
            								}
         
     | 
| 
       1842 
1756 
     | 
    
         
             
            							}
         
     | 
| 
       1843 
1757 
     | 
    
         | 
| 
       1844 
1758 
     | 
    
         
             
            						} else {
         
     | 
| 
      
 1759 
     | 
    
         
            +
             
     | 
| 
       1845 
1760 
     | 
    
         
             
            							// Use previously-cached element index if available
         
     | 
| 
       1846 
1761 
     | 
    
         
             
            							if ( useCache ) {
         
     | 
| 
       1847 
     | 
    
         
            -
            								 
     | 
| 
       1848 
     | 
    
         
            -
            								 
     | 
| 
       1849 
     | 
    
         
            -
            								outerCache = node[ expando ] || (node[ expando ] = {});
         
     | 
| 
       1850 
     | 
    
         
            -
             
     | 
| 
       1851 
     | 
    
         
            -
            								// Support: IE <9 only
         
     | 
| 
       1852 
     | 
    
         
            -
            								// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
       1853 
     | 
    
         
            -
            								uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
       1854 
     | 
    
         
            -
            									(outerCache[ node.uniqueID ] = {});
         
     | 
| 
       1855 
     | 
    
         
            -
             
     | 
| 
       1856 
     | 
    
         
            -
            								cache = uniqueCache[ type ] || [];
         
     | 
| 
      
 1762 
     | 
    
         
            +
            								outerCache = elem[ expando ] || ( elem[ expando ] = {} );
         
     | 
| 
      
 1763 
     | 
    
         
            +
            								cache = outerCache[ type ] || [];
         
     | 
| 
       1857 
1764 
     | 
    
         
             
            								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
         
     | 
| 
       1858 
1765 
     | 
    
         
             
            								diff = nodeIndex;
         
     | 
| 
       1859 
1766 
     | 
    
         
             
            							}
         
     | 
| 
         @@ -1861,25 +1768,21 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1861 
1768 
     | 
    
         
             
            							// xml :nth-child(...)
         
     | 
| 
       1862 
1769 
     | 
    
         
             
            							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
         
     | 
| 
       1863 
1770 
     | 
    
         
             
            							if ( diff === false ) {
         
     | 
| 
      
 1771 
     | 
    
         
            +
             
     | 
| 
       1864 
1772 
     | 
    
         
             
            								// Use the same loop as above to seek `elem` from the start
         
     | 
| 
       1865 
     | 
    
         
            -
            								while ( (node = ++nodeIndex && node && node[ dir ] ||
         
     | 
| 
       1866 
     | 
    
         
            -
            									(diff = nodeIndex = 0) || start.pop()) ) {
         
     | 
| 
      
 1773 
     | 
    
         
            +
            								while ( ( node = ++nodeIndex && node && node[ dir ] ||
         
     | 
| 
      
 1774 
     | 
    
         
            +
            									( diff = nodeIndex = 0 ) || start.pop() ) ) {
         
     | 
| 
       1867 
1775 
     | 
    
         | 
| 
       1868 
1776 
     | 
    
         
             
            									if ( ( ofType ?
         
     | 
| 
       1869 
     | 
    
         
            -
            										 
     | 
| 
      
 1777 
     | 
    
         
            +
            										nodeName( node, name ) :
         
     | 
| 
       1870 
1778 
     | 
    
         
             
            										node.nodeType === 1 ) &&
         
     | 
| 
       1871 
1779 
     | 
    
         
             
            										++diff ) {
         
     | 
| 
       1872 
1780 
     | 
    
         | 
| 
       1873 
1781 
     | 
    
         
             
            										// Cache the index of each encountered element
         
     | 
| 
       1874 
1782 
     | 
    
         
             
            										if ( useCache ) {
         
     | 
| 
       1875 
     | 
    
         
            -
            											outerCache = node[ expando ] || 
     | 
| 
       1876 
     | 
    
         
            -
             
     | 
| 
       1877 
     | 
    
         
            -
            											 
     | 
| 
       1878 
     | 
    
         
            -
            											// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
       1879 
     | 
    
         
            -
            											uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
       1880 
     | 
    
         
            -
            												(outerCache[ node.uniqueID ] = {});
         
     | 
| 
       1881 
     | 
    
         
            -
             
     | 
| 
       1882 
     | 
    
         
            -
            											uniqueCache[ type ] = [ dirruns, diff ];
         
     | 
| 
      
 1783 
     | 
    
         
            +
            											outerCache = node[ expando ] ||
         
     | 
| 
      
 1784 
     | 
    
         
            +
            												( node[ expando ] = {} );
         
     | 
| 
      
 1785 
     | 
    
         
            +
            											outerCache[ type ] = [ dirruns, diff ];
         
     | 
| 
       1883 
1786 
     | 
    
         
             
            										}
         
     | 
| 
       1884 
1787 
     | 
    
         | 
| 
       1885 
1788 
     | 
    
         
             
            										if ( node === elem ) {
         
     | 
| 
         @@ -1897,18 +1800,19 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1897 
1800 
     | 
    
         
             
            				};
         
     | 
| 
       1898 
1801 
     | 
    
         
             
            		},
         
     | 
| 
       1899 
1802 
     | 
    
         | 
| 
       1900 
     | 
    
         
            -
            		 
     | 
| 
      
 1803 
     | 
    
         
            +
            		PSEUDO: function( pseudo, argument ) {
         
     | 
| 
      
 1804 
     | 
    
         
            +
             
     | 
| 
       1901 
1805 
     | 
    
         
             
            			// pseudo-class names are case-insensitive
         
     | 
| 
       1902 
     | 
    
         
            -
            			//  
     | 
| 
      
 1806 
     | 
    
         
            +
            			// https://www.w3.org/TR/selectors/#pseudo-classes
         
     | 
| 
       1903 
1807 
     | 
    
         
             
            			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
         
     | 
| 
       1904 
1808 
     | 
    
         
             
            			// Remember that setFilters inherits from pseudos
         
     | 
| 
       1905 
1809 
     | 
    
         
             
            			var args,
         
     | 
| 
       1906 
1810 
     | 
    
         
             
            				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
         
     | 
| 
       1907 
     | 
    
         
            -
            					 
     | 
| 
      
 1811 
     | 
    
         
            +
            					find.error( "unsupported pseudo: " + pseudo );
         
     | 
| 
       1908 
1812 
     | 
    
         | 
| 
       1909 
1813 
     | 
    
         
             
            			// The user may use createPseudo to indicate that
         
     | 
| 
       1910 
1814 
     | 
    
         
             
            			// arguments are needed to create the filter function
         
     | 
| 
       1911 
     | 
    
         
            -
            			// just as  
     | 
| 
      
 1815 
     | 
    
         
            +
            			// just as jQuery does
         
     | 
| 
       1912 
1816 
     | 
    
         
             
            			if ( fn[ expando ] ) {
         
     | 
| 
       1913 
1817 
     | 
    
         
             
            				return fn( argument );
         
     | 
| 
       1914 
1818 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -1917,15 +1821,15 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1917 
1821 
     | 
    
         
             
            			if ( fn.length > 1 ) {
         
     | 
| 
       1918 
1822 
     | 
    
         
             
            				args = [ pseudo, pseudo, "", argument ];
         
     | 
| 
       1919 
1823 
     | 
    
         
             
            				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
         
     | 
| 
       1920 
     | 
    
         
            -
            					markFunction(function( seed, matches ) {
         
     | 
| 
      
 1824 
     | 
    
         
            +
            					markFunction( function( seed, matches ) {
         
     | 
| 
       1921 
1825 
     | 
    
         
             
            						var idx,
         
     | 
| 
       1922 
1826 
     | 
    
         
             
            							matched = fn( seed, argument ),
         
     | 
| 
       1923 
1827 
     | 
    
         
             
            							i = matched.length;
         
     | 
| 
       1924 
1828 
     | 
    
         
             
            						while ( i-- ) {
         
     | 
| 
       1925 
     | 
    
         
            -
            							idx = indexOf( seed, matched[i] );
         
     | 
| 
       1926 
     | 
    
         
            -
            							seed[ idx ] = !( matches[ idx ] = matched[i] );
         
     | 
| 
      
 1829 
     | 
    
         
            +
            							idx = indexOf.call( seed, matched[ i ] );
         
     | 
| 
      
 1830 
     | 
    
         
            +
            							seed[ idx ] = !( matches[ idx ] = matched[ i ] );
         
     | 
| 
       1927 
1831 
     | 
    
         
             
            						}
         
     | 
| 
       1928 
     | 
    
         
            -
            					}) :
         
     | 
| 
      
 1832 
     | 
    
         
            +
            					} ) :
         
     | 
| 
       1929 
1833 
     | 
    
         
             
            					function( elem ) {
         
     | 
| 
       1930 
1834 
     | 
    
         
             
            						return fn( elem, 0, args );
         
     | 
| 
       1931 
1835 
     | 
    
         
             
            					};
         
     | 
| 
         @@ -1936,49 +1840,53 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1936 
1840 
     | 
    
         
             
            	},
         
     | 
| 
       1937 
1841 
     | 
    
         | 
| 
       1938 
1842 
     | 
    
         
             
            	pseudos: {
         
     | 
| 
      
 1843 
     | 
    
         
            +
             
     | 
| 
       1939 
1844 
     | 
    
         
             
            		// Potentially complex pseudos
         
     | 
| 
       1940 
     | 
    
         
            -
            		 
     | 
| 
      
 1845 
     | 
    
         
            +
            		not: markFunction( function( selector ) {
         
     | 
| 
      
 1846 
     | 
    
         
            +
             
     | 
| 
       1941 
1847 
     | 
    
         
             
            			// Trim the selector passed to compile
         
     | 
| 
       1942 
1848 
     | 
    
         
             
            			// to avoid treating leading and trailing
         
     | 
| 
       1943 
1849 
     | 
    
         
             
            			// spaces as combinators
         
     | 
| 
       1944 
1850 
     | 
    
         
             
            			var input = [],
         
     | 
| 
       1945 
1851 
     | 
    
         
             
            				results = [],
         
     | 
| 
       1946 
     | 
    
         
            -
            				matcher = compile( selector.replace(  
     | 
| 
      
 1852 
     | 
    
         
            +
            				matcher = compile( selector.replace( rtrimCSS, "$1" ) );
         
     | 
| 
       1947 
1853 
     | 
    
         | 
| 
       1948 
1854 
     | 
    
         
             
            			return matcher[ expando ] ?
         
     | 
| 
       1949 
     | 
    
         
            -
            				markFunction(function( seed, matches,  
     | 
| 
      
 1855 
     | 
    
         
            +
            				markFunction( function( seed, matches, _context, xml ) {
         
     | 
| 
       1950 
1856 
     | 
    
         
             
            					var elem,
         
     | 
| 
       1951 
1857 
     | 
    
         
             
            						unmatched = matcher( seed, null, xml, [] ),
         
     | 
| 
       1952 
1858 
     | 
    
         
             
            						i = seed.length;
         
     | 
| 
       1953 
1859 
     | 
    
         | 
| 
       1954 
1860 
     | 
    
         
             
            					// Match elements unmatched by `matcher`
         
     | 
| 
       1955 
1861 
     | 
    
         
             
            					while ( i-- ) {
         
     | 
| 
       1956 
     | 
    
         
            -
            						if ( (elem = unmatched[i]) ) {
         
     | 
| 
       1957 
     | 
    
         
            -
            							seed[i] = !(matches[i] = elem);
         
     | 
| 
      
 1862 
     | 
    
         
            +
            						if ( ( elem = unmatched[ i ] ) ) {
         
     | 
| 
      
 1863 
     | 
    
         
            +
            							seed[ i ] = !( matches[ i ] = elem );
         
     | 
| 
       1958 
1864 
     | 
    
         
             
            						}
         
     | 
| 
       1959 
1865 
     | 
    
         
             
            					}
         
     | 
| 
       1960 
     | 
    
         
            -
            				}) :
         
     | 
| 
       1961 
     | 
    
         
            -
            				function( elem,  
     | 
| 
       1962 
     | 
    
         
            -
            					input[0] = elem;
         
     | 
| 
      
 1866 
     | 
    
         
            +
            				} ) :
         
     | 
| 
      
 1867 
     | 
    
         
            +
            				function( elem, _context, xml ) {
         
     | 
| 
      
 1868 
     | 
    
         
            +
            					input[ 0 ] = elem;
         
     | 
| 
       1963 
1869 
     | 
    
         
             
            					matcher( input, null, xml, results );
         
     | 
| 
       1964 
     | 
    
         
            -
             
     | 
| 
       1965 
     | 
    
         
            -
            					 
     | 
| 
      
 1870 
     | 
    
         
            +
             
     | 
| 
      
 1871 
     | 
    
         
            +
            					// Don't keep the element
         
     | 
| 
      
 1872 
     | 
    
         
            +
            					// (see https://github.com/jquery/sizzle/issues/299)
         
     | 
| 
      
 1873 
     | 
    
         
            +
            					input[ 0 ] = null;
         
     | 
| 
       1966 
1874 
     | 
    
         
             
            					return !results.pop();
         
     | 
| 
       1967 
1875 
     | 
    
         
             
            				};
         
     | 
| 
       1968 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 1876 
     | 
    
         
            +
            		} ),
         
     | 
| 
       1969 
1877 
     | 
    
         | 
| 
       1970 
     | 
    
         
            -
            		 
     | 
| 
      
 1878 
     | 
    
         
            +
            		has: markFunction( function( selector ) {
         
     | 
| 
       1971 
1879 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1972 
     | 
    
         
            -
            				return  
     | 
| 
      
 1880 
     | 
    
         
            +
            				return find( selector, elem ).length > 0;
         
     | 
| 
       1973 
1881 
     | 
    
         
             
            			};
         
     | 
| 
       1974 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 1882 
     | 
    
         
            +
            		} ),
         
     | 
| 
       1975 
1883 
     | 
    
         | 
| 
       1976 
     | 
    
         
            -
            		 
     | 
| 
      
 1884 
     | 
    
         
            +
            		contains: markFunction( function( text ) {
         
     | 
| 
       1977 
1885 
     | 
    
         
             
            			text = text.replace( runescape, funescape );
         
     | 
| 
       1978 
1886 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1979 
     | 
    
         
            -
            				return ( elem.textContent ||  
     | 
| 
      
 1887 
     | 
    
         
            +
            				return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;
         
     | 
| 
       1980 
1888 
     | 
    
         
             
            			};
         
     | 
| 
       1981 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 1889 
     | 
    
         
            +
            		} ),
         
     | 
| 
       1982 
1890 
     | 
    
         | 
| 
       1983 
1891 
     | 
    
         
             
            		// "Whether an element is represented by a :lang() selector
         
     | 
| 
       1984 
1892 
     | 
    
         
             
            		// is based solely on the element's language value
         
     | 
| 
         @@ -1986,57 +1894,65 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       1986 
1894 
     | 
    
         
             
            		// or beginning with the identifier C immediately followed by "-".
         
     | 
| 
       1987 
1895 
     | 
    
         
             
            		// The matching of C against the element's language value is performed case-insensitively.
         
     | 
| 
       1988 
1896 
     | 
    
         
             
            		// The identifier C does not have to be a valid language name."
         
     | 
| 
       1989 
     | 
    
         
            -
            		//  
     | 
| 
       1990 
     | 
    
         
            -
            		 
     | 
| 
      
 1897 
     | 
    
         
            +
            		// https://www.w3.org/TR/selectors/#lang-pseudo
         
     | 
| 
      
 1898 
     | 
    
         
            +
            		lang: markFunction( function( lang ) {
         
     | 
| 
      
 1899 
     | 
    
         
            +
             
     | 
| 
       1991 
1900 
     | 
    
         
             
            			// lang value must be a valid identifier
         
     | 
| 
       1992 
     | 
    
         
            -
            			if ( !ridentifier.test(lang || "") ) {
         
     | 
| 
       1993 
     | 
    
         
            -
            				 
     | 
| 
      
 1901 
     | 
    
         
            +
            			if ( !ridentifier.test( lang || "" ) ) {
         
     | 
| 
      
 1902 
     | 
    
         
            +
            				find.error( "unsupported lang: " + lang );
         
     | 
| 
       1994 
1903 
     | 
    
         
             
            			}
         
     | 
| 
       1995 
1904 
     | 
    
         
             
            			lang = lang.replace( runescape, funescape ).toLowerCase();
         
     | 
| 
       1996 
1905 
     | 
    
         
             
            			return function( elem ) {
         
     | 
| 
       1997 
1906 
     | 
    
         
             
            				var elemLang;
         
     | 
| 
       1998 
1907 
     | 
    
         
             
            				do {
         
     | 
| 
       1999 
     | 
    
         
            -
            					if ( (elemLang = documentIsHTML ?
         
     | 
| 
      
 1908 
     | 
    
         
            +
            					if ( ( elemLang = documentIsHTML ?
         
     | 
| 
       2000 
1909 
     | 
    
         
             
            						elem.lang :
         
     | 
| 
       2001 
     | 
    
         
            -
            						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
         
     | 
| 
      
 1910 
     | 
    
         
            +
            						elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
         
     | 
| 
       2002 
1911 
     | 
    
         | 
| 
       2003 
1912 
     | 
    
         
             
            						elemLang = elemLang.toLowerCase();
         
     | 
| 
       2004 
1913 
     | 
    
         
             
            						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
         
     | 
| 
       2005 
1914 
     | 
    
         
             
            					}
         
     | 
| 
       2006 
     | 
    
         
            -
            				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
         
     | 
| 
      
 1915 
     | 
    
         
            +
            				} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
         
     | 
| 
       2007 
1916 
     | 
    
         
             
            				return false;
         
     | 
| 
       2008 
1917 
     | 
    
         
             
            			};
         
     | 
| 
       2009 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 1918 
     | 
    
         
            +
            		} ),
         
     | 
| 
       2010 
1919 
     | 
    
         | 
| 
       2011 
1920 
     | 
    
         
             
            		// Miscellaneous
         
     | 
| 
       2012 
     | 
    
         
            -
            		 
     | 
| 
      
 1921 
     | 
    
         
            +
            		target: function( elem ) {
         
     | 
| 
       2013 
1922 
     | 
    
         
             
            			var hash = window.location && window.location.hash;
         
     | 
| 
       2014 
1923 
     | 
    
         
             
            			return hash && hash.slice( 1 ) === elem.id;
         
     | 
| 
       2015 
1924 
     | 
    
         
             
            		},
         
     | 
| 
       2016 
1925 
     | 
    
         | 
| 
       2017 
     | 
    
         
            -
            		 
     | 
| 
       2018 
     | 
    
         
            -
            			return elem ===  
     | 
| 
      
 1926 
     | 
    
         
            +
            		root: function( elem ) {
         
     | 
| 
      
 1927 
     | 
    
         
            +
            			return elem === documentElement;
         
     | 
| 
       2019 
1928 
     | 
    
         
             
            		},
         
     | 
| 
       2020 
1929 
     | 
    
         | 
| 
       2021 
     | 
    
         
            -
            		 
     | 
| 
       2022 
     | 
    
         
            -
            			return elem ===  
     | 
| 
      
 1930 
     | 
    
         
            +
            		focus: function( elem ) {
         
     | 
| 
      
 1931 
     | 
    
         
            +
            			return elem === safeActiveElement() &&
         
     | 
| 
      
 1932 
     | 
    
         
            +
            				document.hasFocus() &&
         
     | 
| 
      
 1933 
     | 
    
         
            +
            				!!( elem.type || elem.href || ~elem.tabIndex );
         
     | 
| 
       2023 
1934 
     | 
    
         
             
            		},
         
     | 
| 
       2024 
1935 
     | 
    
         | 
| 
       2025 
1936 
     | 
    
         
             
            		// Boolean properties
         
     | 
| 
       2026 
     | 
    
         
            -
            		 
     | 
| 
       2027 
     | 
    
         
            -
            		 
     | 
| 
      
 1937 
     | 
    
         
            +
            		enabled: createDisabledPseudo( false ),
         
     | 
| 
      
 1938 
     | 
    
         
            +
            		disabled: createDisabledPseudo( true ),
         
     | 
| 
      
 1939 
     | 
    
         
            +
             
     | 
| 
      
 1940 
     | 
    
         
            +
            		checked: function( elem ) {
         
     | 
| 
       2028 
1941 
     | 
    
         | 
| 
       2029 
     | 
    
         
            -
            		"checked": function( elem ) {
         
     | 
| 
       2030 
1942 
     | 
    
         
             
            			// In CSS3, :checked should return both checked and selected elements
         
     | 
| 
       2031 
     | 
    
         
            -
            			//  
     | 
| 
       2032 
     | 
    
         
            -
            			 
     | 
| 
       2033 
     | 
    
         
            -
             
     | 
| 
      
 1943 
     | 
    
         
            +
            			// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
         
     | 
| 
      
 1944 
     | 
    
         
            +
            			return ( nodeName( elem, "input" ) && !!elem.checked ) ||
         
     | 
| 
      
 1945 
     | 
    
         
            +
            				( nodeName( elem, "option" ) && !!elem.selected );
         
     | 
| 
       2034 
1946 
     | 
    
         
             
            		},
         
     | 
| 
       2035 
1947 
     | 
    
         | 
| 
       2036 
     | 
    
         
            -
            		 
     | 
| 
       2037 
     | 
    
         
            -
             
     | 
| 
       2038 
     | 
    
         
            -
            			//  
     | 
| 
      
 1948 
     | 
    
         
            +
            		selected: function( elem ) {
         
     | 
| 
      
 1949 
     | 
    
         
            +
             
     | 
| 
      
 1950 
     | 
    
         
            +
            			// Support: IE <=11+
         
     | 
| 
      
 1951 
     | 
    
         
            +
            			// Accessing the selectedIndex property
         
     | 
| 
      
 1952 
     | 
    
         
            +
            			// forces the browser to treat the default option as
         
     | 
| 
      
 1953 
     | 
    
         
            +
            			// selected when in an optgroup.
         
     | 
| 
       2039 
1954 
     | 
    
         
             
            			if ( elem.parentNode ) {
         
     | 
| 
      
 1955 
     | 
    
         
            +
            				// eslint-disable-next-line no-unused-expressions
         
     | 
| 
       2040 
1956 
     | 
    
         
             
            				elem.parentNode.selectedIndex;
         
     | 
| 
       2041 
1957 
     | 
    
         
             
            			}
         
     | 
| 
       2042 
1958 
     | 
    
         | 
| 
         @@ -2044,8 +1960,9 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2044 
1960 
     | 
    
         
             
            		},
         
     | 
| 
       2045 
1961 
     | 
    
         | 
| 
       2046 
1962 
     | 
    
         
             
            		// Contents
         
     | 
| 
       2047 
     | 
    
         
            -
            		 
     | 
| 
       2048 
     | 
    
         
            -
             
     | 
| 
      
 1963 
     | 
    
         
            +
            		empty: function( elem ) {
         
     | 
| 
      
 1964 
     | 
    
         
            +
             
     | 
| 
      
 1965 
     | 
    
         
            +
            			// https://www.w3.org/TR/selectors/#empty-pseudo
         
     | 
| 
       2049 
1966 
     | 
    
         
             
            			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
         
     | 
| 
       2050 
1967 
     | 
    
         
             
            			//   but not by others (comment: 8; processing instruction: 7; etc.)
         
     | 
| 
       2051 
1968 
     | 
    
         
             
            			// nodeType < 6 works because attributes (2) do not appear as children
         
     | 
| 
         @@ -2057,86 +1974,92 @@ Expr = Sizzle.selectors = { 
     | 
|
| 
       2057 
1974 
     | 
    
         
             
            			return true;
         
     | 
| 
       2058 
1975 
     | 
    
         
             
            		},
         
     | 
| 
       2059 
1976 
     | 
    
         | 
| 
       2060 
     | 
    
         
            -
            		 
     | 
| 
       2061 
     | 
    
         
            -
            			return !Expr.pseudos 
     | 
| 
      
 1977 
     | 
    
         
            +
            		parent: function( elem ) {
         
     | 
| 
      
 1978 
     | 
    
         
            +
            			return !Expr.pseudos.empty( elem );
         
     | 
| 
       2062 
1979 
     | 
    
         
             
            		},
         
     | 
| 
       2063 
1980 
     | 
    
         | 
| 
       2064 
1981 
     | 
    
         
             
            		// Element/input types
         
     | 
| 
       2065 
     | 
    
         
            -
            		 
     | 
| 
      
 1982 
     | 
    
         
            +
            		header: function( elem ) {
         
     | 
| 
       2066 
1983 
     | 
    
         
             
            			return rheader.test( elem.nodeName );
         
     | 
| 
       2067 
1984 
     | 
    
         
             
            		},
         
     | 
| 
       2068 
1985 
     | 
    
         | 
| 
       2069 
     | 
    
         
            -
            		 
     | 
| 
      
 1986 
     | 
    
         
            +
            		input: function( elem ) {
         
     | 
| 
       2070 
1987 
     | 
    
         
             
            			return rinputs.test( elem.nodeName );
         
     | 
| 
       2071 
1988 
     | 
    
         
             
            		},
         
     | 
| 
       2072 
1989 
     | 
    
         | 
| 
       2073 
     | 
    
         
            -
            		 
     | 
| 
       2074 
     | 
    
         
            -
            			 
     | 
| 
       2075 
     | 
    
         
            -
             
     | 
| 
      
 1990 
     | 
    
         
            +
            		button: function( elem ) {
         
     | 
| 
      
 1991 
     | 
    
         
            +
            			return nodeName( elem, "input" ) && elem.type === "button" ||
         
     | 
| 
      
 1992 
     | 
    
         
            +
            				nodeName( elem, "button" );
         
     | 
| 
       2076 
1993 
     | 
    
         
             
            		},
         
     | 
| 
       2077 
1994 
     | 
    
         | 
| 
       2078 
     | 
    
         
            -
            		 
     | 
| 
      
 1995 
     | 
    
         
            +
            		text: function( elem ) {
         
     | 
| 
       2079 
1996 
     | 
    
         
             
            			var attr;
         
     | 
| 
       2080 
     | 
    
         
            -
            			return  
     | 
| 
       2081 
     | 
    
         
            -
            				elem.type === "text" &&
         
     | 
| 
      
 1997 
     | 
    
         
            +
            			return nodeName( elem, "input" ) && elem.type === "text" &&
         
     | 
| 
       2082 
1998 
     | 
    
         | 
| 
       2083 
     | 
    
         
            -
            				// Support: IE< 
     | 
| 
       2084 
     | 
    
         
            -
            				// New HTML5 attribute values (e.g., "search") appear 
     | 
| 
       2085 
     | 
    
         
            -
            				 
     | 
| 
      
 1999 
     | 
    
         
            +
            				// Support: IE <10 only
         
     | 
| 
      
 2000 
     | 
    
         
            +
            				// New HTML5 attribute values (e.g., "search") appear
         
     | 
| 
      
 2001 
     | 
    
         
            +
            				// with elem.type === "text"
         
     | 
| 
      
 2002 
     | 
    
         
            +
            				( ( attr = elem.getAttribute( "type" ) ) == null ||
         
     | 
| 
      
 2003 
     | 
    
         
            +
            					attr.toLowerCase() === "text" );
         
     | 
| 
       2086 
2004 
     | 
    
         
             
            		},
         
     | 
| 
       2087 
2005 
     | 
    
         | 
| 
       2088 
2006 
     | 
    
         
             
            		// Position-in-collection
         
     | 
| 
       2089 
     | 
    
         
            -
            		 
     | 
| 
      
 2007 
     | 
    
         
            +
            		first: createPositionalPseudo( function() {
         
     | 
| 
       2090 
2008 
     | 
    
         
             
            			return [ 0 ];
         
     | 
| 
       2091 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 2009 
     | 
    
         
            +
            		} ),
         
     | 
| 
       2092 
2010 
     | 
    
         | 
| 
       2093 
     | 
    
         
            -
            		 
     | 
| 
      
 2011 
     | 
    
         
            +
            		last: createPositionalPseudo( function( _matchIndexes, length ) {
         
     | 
| 
       2094 
2012 
     | 
    
         
             
            			return [ length - 1 ];
         
     | 
| 
       2095 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 2013 
     | 
    
         
            +
            		} ),
         
     | 
| 
       2096 
2014 
     | 
    
         | 
| 
       2097 
     | 
    
         
            -
            		 
     | 
| 
      
 2015 
     | 
    
         
            +
            		eq: createPositionalPseudo( function( _matchIndexes, length, argument ) {
         
     | 
| 
       2098 
2016 
     | 
    
         
             
            			return [ argument < 0 ? argument + length : argument ];
         
     | 
| 
       2099 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 2017 
     | 
    
         
            +
            		} ),
         
     | 
| 
       2100 
2018 
     | 
    
         | 
| 
       2101 
     | 
    
         
            -
            		 
     | 
| 
      
 2019 
     | 
    
         
            +
            		even: createPositionalPseudo( function( matchIndexes, length ) {
         
     | 
| 
       2102 
2020 
     | 
    
         
             
            			var i = 0;
         
     | 
| 
       2103 
2021 
     | 
    
         
             
            			for ( ; i < length; i += 2 ) {
         
     | 
| 
       2104 
2022 
     | 
    
         
             
            				matchIndexes.push( i );
         
     | 
| 
       2105 
2023 
     | 
    
         
             
            			}
         
     | 
| 
       2106 
2024 
     | 
    
         
             
            			return matchIndexes;
         
     | 
| 
       2107 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 2025 
     | 
    
         
            +
            		} ),
         
     | 
| 
       2108 
2026 
     | 
    
         | 
| 
       2109 
     | 
    
         
            -
            		 
     | 
| 
      
 2027 
     | 
    
         
            +
            		odd: createPositionalPseudo( function( matchIndexes, length ) {
         
     | 
| 
       2110 
2028 
     | 
    
         
             
            			var i = 1;
         
     | 
| 
       2111 
2029 
     | 
    
         
             
            			for ( ; i < length; i += 2 ) {
         
     | 
| 
       2112 
2030 
     | 
    
         
             
            				matchIndexes.push( i );
         
     | 
| 
       2113 
2031 
     | 
    
         
             
            			}
         
     | 
| 
       2114 
2032 
     | 
    
         
             
            			return matchIndexes;
         
     | 
| 
       2115 
     | 
    
         
            -
            		}),
         
     | 
| 
       2116 
     | 
    
         
            -
             
     | 
| 
       2117 
     | 
    
         
            -
            		 
     | 
| 
       2118 
     | 
    
         
            -
            			var i 
     | 
| 
       2119 
     | 
    
         
            -
             
     | 
| 
       2120 
     | 
    
         
            -
             
     | 
| 
       2121 
     | 
    
         
            -
             
     | 
| 
       2122 
     | 
    
         
            -
             
     | 
| 
      
 2033 
     | 
    
         
            +
            		} ),
         
     | 
| 
      
 2034 
     | 
    
         
            +
             
     | 
| 
      
 2035 
     | 
    
         
            +
            		lt: createPositionalPseudo( function( matchIndexes, length, argument ) {
         
     | 
| 
      
 2036 
     | 
    
         
            +
            			var i;
         
     | 
| 
      
 2037 
     | 
    
         
            +
             
     | 
| 
      
 2038 
     | 
    
         
            +
            			if ( argument < 0 ) {
         
     | 
| 
      
 2039 
     | 
    
         
            +
            				i = argument + length;
         
     | 
| 
      
 2040 
     | 
    
         
            +
            			} else if ( argument > length ) {
         
     | 
| 
      
 2041 
     | 
    
         
            +
            				i = length;
         
     | 
| 
      
 2042 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 2043 
     | 
    
         
            +
            				i = argument;
         
     | 
| 
      
 2044 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2045 
     | 
    
         
            +
             
     | 
| 
       2123 
2046 
     | 
    
         
             
            			for ( ; --i >= 0; ) {
         
     | 
| 
       2124 
2047 
     | 
    
         
             
            				matchIndexes.push( i );
         
     | 
| 
       2125 
2048 
     | 
    
         
             
            			}
         
     | 
| 
       2126 
2049 
     | 
    
         
             
            			return matchIndexes;
         
     | 
| 
       2127 
     | 
    
         
            -
            		}),
         
     | 
| 
      
 2050 
     | 
    
         
            +
            		} ),
         
     | 
| 
       2128 
2051 
     | 
    
         | 
| 
       2129 
     | 
    
         
            -
            		 
     | 
| 
      
 2052 
     | 
    
         
            +
            		gt: createPositionalPseudo( function( matchIndexes, length, argument ) {
         
     | 
| 
       2130 
2053 
     | 
    
         
             
            			var i = argument < 0 ? argument + length : argument;
         
     | 
| 
       2131 
2054 
     | 
    
         
             
            			for ( ; ++i < length; ) {
         
     | 
| 
       2132 
2055 
     | 
    
         
             
            				matchIndexes.push( i );
         
     | 
| 
       2133 
2056 
     | 
    
         
             
            			}
         
     | 
| 
       2134 
2057 
     | 
    
         
             
            			return matchIndexes;
         
     | 
| 
       2135 
     | 
    
         
            -
            		})
         
     | 
| 
      
 2058 
     | 
    
         
            +
            		} )
         
     | 
| 
       2136 
2059 
     | 
    
         
             
            	}
         
     | 
| 
       2137 
2060 
     | 
    
         
             
            };
         
     | 
| 
       2138 
2061 
     | 
    
         | 
| 
       2139 
     | 
    
         
            -
            Expr.pseudos 
     | 
| 
      
 2062 
     | 
    
         
            +
            Expr.pseudos.nth = Expr.pseudos.eq;
         
     | 
| 
       2140 
2063 
     | 
    
         | 
| 
       2141 
2064 
     | 
    
         
             
            // Add button/input type pseudos
         
     | 
| 
       2142 
2065 
     | 
    
         
             
            for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
         
     | 
| 
         @@ -2151,7 +2074,7 @@ function setFilters() {} 
     | 
|
| 
       2151 
2074 
     | 
    
         
             
            setFilters.prototype = Expr.filters = Expr.pseudos;
         
     | 
| 
       2152 
2075 
     | 
    
         
             
            Expr.setFilters = new setFilters();
         
     | 
| 
       2153 
2076 
     | 
    
         | 
| 
       2154 
     | 
    
         
            -
             
     | 
| 
      
 2077 
     | 
    
         
            +
            function tokenize( selector, parseOnly ) {
         
     | 
| 
       2155 
2078 
     | 
    
         
             
            	var matched, match, tokens, type,
         
     | 
| 
       2156 
2079 
     | 
    
         
             
            		soFar, groups, preFilters,
         
     | 
| 
       2157 
2080 
     | 
    
         
             
            		cached = tokenCache[ selector + " " ];
         
     | 
| 
         @@ -2167,37 +2090,39 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 
     | 
|
| 
       2167 
2090 
     | 
    
         
             
            	while ( soFar ) {
         
     | 
| 
       2168 
2091 
     | 
    
         | 
| 
       2169 
2092 
     | 
    
         
             
            		// Comma and first run
         
     | 
| 
       2170 
     | 
    
         
            -
            		if ( !matched || (match = rcomma.exec( soFar )) ) {
         
     | 
| 
      
 2093 
     | 
    
         
            +
            		if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
         
     | 
| 
       2171 
2094 
     | 
    
         
             
            			if ( match ) {
         
     | 
| 
      
 2095 
     | 
    
         
            +
             
     | 
| 
       2172 
2096 
     | 
    
         
             
            				// Don't consume trailing commas as valid
         
     | 
| 
       2173 
     | 
    
         
            -
            				soFar = soFar.slice( match[0].length ) || soFar;
         
     | 
| 
      
 2097 
     | 
    
         
            +
            				soFar = soFar.slice( match[ 0 ].length ) || soFar;
         
     | 
| 
       2174 
2098 
     | 
    
         
             
            			}
         
     | 
| 
       2175 
     | 
    
         
            -
            			groups.push( (tokens = []) );
         
     | 
| 
      
 2099 
     | 
    
         
            +
            			groups.push( ( tokens = [] ) );
         
     | 
| 
       2176 
2100 
     | 
    
         
             
            		}
         
     | 
| 
       2177 
2101 
     | 
    
         | 
| 
       2178 
2102 
     | 
    
         
             
            		matched = false;
         
     | 
| 
       2179 
2103 
     | 
    
         | 
| 
       2180 
2104 
     | 
    
         
             
            		// Combinators
         
     | 
| 
       2181 
     | 
    
         
            -
            		if ( (match =  
     | 
| 
      
 2105 
     | 
    
         
            +
            		if ( ( match = rleadingCombinator.exec( soFar ) ) ) {
         
     | 
| 
       2182 
2106 
     | 
    
         
             
            			matched = match.shift();
         
     | 
| 
       2183 
     | 
    
         
            -
            			tokens.push({
         
     | 
| 
      
 2107 
     | 
    
         
            +
            			tokens.push( {
         
     | 
| 
       2184 
2108 
     | 
    
         
             
            				value: matched,
         
     | 
| 
      
 2109 
     | 
    
         
            +
             
     | 
| 
       2185 
2110 
     | 
    
         
             
            				// Cast descendant combinators to space
         
     | 
| 
       2186 
     | 
    
         
            -
            				type: match[0].replace(  
     | 
| 
       2187 
     | 
    
         
            -
            			});
         
     | 
| 
      
 2111 
     | 
    
         
            +
            				type: match[ 0 ].replace( rtrimCSS, " " )
         
     | 
| 
      
 2112 
     | 
    
         
            +
            			} );
         
     | 
| 
       2188 
2113 
     | 
    
         
             
            			soFar = soFar.slice( matched.length );
         
     | 
| 
       2189 
2114 
     | 
    
         
             
            		}
         
     | 
| 
       2190 
2115 
     | 
    
         | 
| 
       2191 
2116 
     | 
    
         
             
            		// Filters
         
     | 
| 
       2192 
2117 
     | 
    
         
             
            		for ( type in Expr.filter ) {
         
     | 
| 
       2193 
     | 
    
         
            -
            			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
         
     | 
| 
       2194 
     | 
    
         
            -
            				(match = preFilters[ type ]( match ))) ) {
         
     | 
| 
      
 2118 
     | 
    
         
            +
            			if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
         
     | 
| 
      
 2119 
     | 
    
         
            +
            				( match = preFilters[ type ]( match ) ) ) ) {
         
     | 
| 
       2195 
2120 
     | 
    
         
             
            				matched = match.shift();
         
     | 
| 
       2196 
     | 
    
         
            -
            				tokens.push({
         
     | 
| 
      
 2121 
     | 
    
         
            +
            				tokens.push( {
         
     | 
| 
       2197 
2122 
     | 
    
         
             
            					value: matched,
         
     | 
| 
       2198 
2123 
     | 
    
         
             
            					type: type,
         
     | 
| 
       2199 
2124 
     | 
    
         
             
            					matches: match
         
     | 
| 
       2200 
     | 
    
         
            -
            				});
         
     | 
| 
      
 2125 
     | 
    
         
            +
            				} );
         
     | 
| 
       2201 
2126 
     | 
    
         
             
            				soFar = soFar.slice( matched.length );
         
     | 
| 
       2202 
2127 
     | 
    
         
             
            			}
         
     | 
| 
       2203 
2128 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -2210,20 +2135,23 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 
     | 
|
| 
       2210 
2135 
     | 
    
         
             
            	// Return the length of the invalid excess
         
     | 
| 
       2211 
2136 
     | 
    
         
             
            	// if we're just parsing
         
     | 
| 
       2212 
2137 
     | 
    
         
             
            	// Otherwise, throw an error or return tokens
         
     | 
| 
       2213 
     | 
    
         
            -
            	 
     | 
| 
       2214 
     | 
    
         
            -
            		soFar.length 
     | 
| 
       2215 
     | 
    
         
            -
             
     | 
| 
       2216 
     | 
    
         
            -
             
     | 
| 
       2217 
     | 
    
         
            -
             
     | 
| 
       2218 
     | 
    
         
            -
             
     | 
| 
       2219 
     | 
    
         
            -
             
     | 
| 
      
 2138 
     | 
    
         
            +
            	if ( parseOnly ) {
         
     | 
| 
      
 2139 
     | 
    
         
            +
            		return soFar.length;
         
     | 
| 
      
 2140 
     | 
    
         
            +
            	}
         
     | 
| 
      
 2141 
     | 
    
         
            +
             
     | 
| 
      
 2142 
     | 
    
         
            +
            	return soFar ?
         
     | 
| 
      
 2143 
     | 
    
         
            +
            		find.error( selector ) :
         
     | 
| 
      
 2144 
     | 
    
         
            +
             
     | 
| 
      
 2145 
     | 
    
         
            +
            		// Cache the tokens
         
     | 
| 
      
 2146 
     | 
    
         
            +
            		tokenCache( selector, groups ).slice( 0 );
         
     | 
| 
      
 2147 
     | 
    
         
            +
            }
         
     | 
| 
       2220 
2148 
     | 
    
         | 
| 
       2221 
2149 
     | 
    
         
             
            function toSelector( tokens ) {
         
     | 
| 
       2222 
2150 
     | 
    
         
             
            	var i = 0,
         
     | 
| 
       2223 
2151 
     | 
    
         
             
            		len = tokens.length,
         
     | 
| 
       2224 
2152 
     | 
    
         
             
            		selector = "";
         
     | 
| 
       2225 
2153 
     | 
    
         
             
            	for ( ; i < len; i++ ) {
         
     | 
| 
       2226 
     | 
    
         
            -
            		selector += tokens[i].value;
         
     | 
| 
      
 2154 
     | 
    
         
            +
            		selector += tokens[ i ].value;
         
     | 
| 
       2227 
2155 
     | 
    
         
             
            	}
         
     | 
| 
       2228 
2156 
     | 
    
         
             
            	return selector;
         
     | 
| 
       2229 
2157 
     | 
    
         
             
            }
         
     | 
| 
         @@ -2236,9 +2164,10 @@ function addCombinator( matcher, combinator, base ) { 
     | 
|
| 
       2236 
2164 
     | 
    
         
             
            		doneName = done++;
         
     | 
| 
       2237 
2165 
     | 
    
         | 
| 
       2238 
2166 
     | 
    
         
             
            	return combinator.first ?
         
     | 
| 
      
 2167 
     | 
    
         
            +
             
     | 
| 
       2239 
2168 
     | 
    
         
             
            		// Check against closest ancestor/preceding element
         
     | 
| 
       2240 
2169 
     | 
    
         
             
            		function( elem, context, xml ) {
         
     | 
| 
       2241 
     | 
    
         
            -
            			while ( (elem = elem[ dir ]) ) {
         
     | 
| 
      
 2170 
     | 
    
         
            +
            			while ( ( elem = elem[ dir ] ) ) {
         
     | 
| 
       2242 
2171 
     | 
    
         
             
            				if ( elem.nodeType === 1 || checkNonElements ) {
         
     | 
| 
       2243 
2172 
     | 
    
         
             
            					return matcher( elem, context, xml );
         
     | 
| 
       2244 
2173 
     | 
    
         
             
            				}
         
     | 
| 
         @@ -2248,12 +2177,12 @@ function addCombinator( matcher, combinator, base ) { 
     | 
|
| 
       2248 
2177 
     | 
    
         | 
| 
       2249 
2178 
     | 
    
         
             
            		// Check against all ancestor/preceding elements
         
     | 
| 
       2250 
2179 
     | 
    
         
             
            		function( elem, context, xml ) {
         
     | 
| 
       2251 
     | 
    
         
            -
            			var oldCache,  
     | 
| 
      
 2180 
     | 
    
         
            +
            			var oldCache, outerCache,
         
     | 
| 
       2252 
2181 
     | 
    
         
             
            				newCache = [ dirruns, doneName ];
         
     | 
| 
       2253 
2182 
     | 
    
         | 
| 
       2254 
2183 
     | 
    
         
             
            			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
         
     | 
| 
       2255 
2184 
     | 
    
         
             
            			if ( xml ) {
         
     | 
| 
       2256 
     | 
    
         
            -
            				while ( (elem = elem[ dir ]) ) {
         
     | 
| 
      
 2185 
     | 
    
         
            +
            				while ( ( elem = elem[ dir ] ) ) {
         
     | 
| 
       2257 
2186 
     | 
    
         
             
            					if ( elem.nodeType === 1 || checkNonElements ) {
         
     | 
| 
       2258 
2187 
     | 
    
         
             
            						if ( matcher( elem, context, xml ) ) {
         
     | 
| 
       2259 
2188 
     | 
    
         
             
            							return true;
         
     | 
| 
         @@ -2261,27 +2190,24 @@ function addCombinator( matcher, combinator, base ) { 
     | 
|
| 
       2261 
2190 
     | 
    
         
             
            					}
         
     | 
| 
       2262 
2191 
     | 
    
         
             
            				}
         
     | 
| 
       2263 
2192 
     | 
    
         
             
            			} else {
         
     | 
| 
       2264 
     | 
    
         
            -
            				while ( (elem = elem[ dir ]) ) {
         
     | 
| 
      
 2193 
     | 
    
         
            +
            				while ( ( elem = elem[ dir ] ) ) {
         
     | 
| 
       2265 
2194 
     | 
    
         
             
            					if ( elem.nodeType === 1 || checkNonElements ) {
         
     | 
| 
       2266 
     | 
    
         
            -
            						outerCache = elem[ expando ] || (elem[ expando ] = {});
         
     | 
| 
       2267 
     | 
    
         
            -
             
     | 
| 
       2268 
     | 
    
         
            -
            						// Support: IE <9 only
         
     | 
| 
       2269 
     | 
    
         
            -
            						// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
       2270 
     | 
    
         
            -
            						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
         
     | 
| 
      
 2195 
     | 
    
         
            +
            						outerCache = elem[ expando ] || ( elem[ expando ] = {} );
         
     | 
| 
       2271 
2196 
     | 
    
         | 
| 
       2272 
     | 
    
         
            -
            						if ( skip && skip  
     | 
| 
      
 2197 
     | 
    
         
            +
            						if ( skip && nodeName( elem, skip ) ) {
         
     | 
| 
       2273 
2198 
     | 
    
         
             
            							elem = elem[ dir ] || elem;
         
     | 
| 
       2274 
     | 
    
         
            -
            						} else if ( (oldCache =  
     | 
| 
      
 2199 
     | 
    
         
            +
            						} else if ( ( oldCache = outerCache[ key ] ) &&
         
     | 
| 
       2275 
2200 
     | 
    
         
             
            							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
         
     | 
| 
       2276 
2201 
     | 
    
         | 
| 
       2277 
2202 
     | 
    
         
             
            							// Assign to newCache so results back-propagate to previous elements
         
     | 
| 
       2278 
     | 
    
         
            -
            							return (newCache[ 2 ] = oldCache[ 2 ]);
         
     | 
| 
      
 2203 
     | 
    
         
            +
            							return ( newCache[ 2 ] = oldCache[ 2 ] );
         
     | 
| 
       2279 
2204 
     | 
    
         
             
            						} else {
         
     | 
| 
      
 2205 
     | 
    
         
            +
             
     | 
| 
       2280 
2206 
     | 
    
         
             
            							// Reuse newcache so results back-propagate to previous elements
         
     | 
| 
       2281 
     | 
    
         
            -
            							 
     | 
| 
      
 2207 
     | 
    
         
            +
            							outerCache[ key ] = newCache;
         
     | 
| 
       2282 
2208 
     | 
    
         | 
| 
       2283 
2209 
     | 
    
         
             
            							// A match means we're done; a fail means we have to keep checking
         
     | 
| 
       2284 
     | 
    
         
            -
            							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
         
     | 
| 
      
 2210 
     | 
    
         
            +
            							if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
         
     | 
| 
       2285 
2211 
     | 
    
         
             
            								return true;
         
     | 
| 
       2286 
2212 
     | 
    
         
             
            							}
         
     | 
| 
       2287 
2213 
     | 
    
         
             
            						}
         
     | 
| 
         @@ -2297,20 +2223,20 @@ function elementMatcher( matchers ) { 
     | 
|
| 
       2297 
2223 
     | 
    
         
             
            		function( elem, context, xml ) {
         
     | 
| 
       2298 
2224 
     | 
    
         
             
            			var i = matchers.length;
         
     | 
| 
       2299 
2225 
     | 
    
         
             
            			while ( i-- ) {
         
     | 
| 
       2300 
     | 
    
         
            -
            				if ( !matchers[i]( elem, context, xml ) ) {
         
     | 
| 
      
 2226 
     | 
    
         
            +
            				if ( !matchers[ i ]( elem, context, xml ) ) {
         
     | 
| 
       2301 
2227 
     | 
    
         
             
            					return false;
         
     | 
| 
       2302 
2228 
     | 
    
         
             
            				}
         
     | 
| 
       2303 
2229 
     | 
    
         
             
            			}
         
     | 
| 
       2304 
2230 
     | 
    
         
             
            			return true;
         
     | 
| 
       2305 
2231 
     | 
    
         
             
            		} :
         
     | 
| 
       2306 
     | 
    
         
            -
            		matchers[0];
         
     | 
| 
      
 2232 
     | 
    
         
            +
            		matchers[ 0 ];
         
     | 
| 
       2307 
2233 
     | 
    
         
             
            }
         
     | 
| 
       2308 
2234 
     | 
    
         | 
| 
       2309 
2235 
     | 
    
         
             
            function multipleContexts( selector, contexts, results ) {
         
     | 
| 
       2310 
2236 
     | 
    
         
             
            	var i = 0,
         
     | 
| 
       2311 
2237 
     | 
    
         
             
            		len = contexts.length;
         
     | 
| 
       2312 
2238 
     | 
    
         
             
            	for ( ; i < len; i++ ) {
         
     | 
| 
       2313 
     | 
    
         
            -
            		 
     | 
| 
      
 2239 
     | 
    
         
            +
            		find( selector, contexts[ i ], results );
         
     | 
| 
       2314 
2240 
     | 
    
         
             
            	}
         
     | 
| 
       2315 
2241 
     | 
    
         
             
            	return results;
         
     | 
| 
       2316 
2242 
     | 
    
         
             
            }
         
     | 
| 
         @@ -2323,7 +2249,7 @@ function condense( unmatched, map, filter, context, xml ) { 
     | 
|
| 
       2323 
2249 
     | 
    
         
             
            		mapped = map != null;
         
     | 
| 
       2324 
2250 
     | 
    
         | 
| 
       2325 
2251 
     | 
    
         
             
            	for ( ; i < len; i++ ) {
         
     | 
| 
       2326 
     | 
    
         
            -
            		if ( (elem = unmatched[i]) ) {
         
     | 
| 
      
 2252 
     | 
    
         
            +
            		if ( ( elem = unmatched[ i ] ) ) {
         
     | 
| 
       2327 
2253 
     | 
    
         
             
            			if ( !filter || filter( elem, context, xml ) ) {
         
     | 
| 
       2328 
2254 
     | 
    
         
             
            				newUnmatched.push( elem );
         
     | 
| 
       2329 
2255 
     | 
    
         
             
            				if ( mapped ) {
         
     | 
| 
         @@ -2343,34 +2269,38 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS 
     | 
|
| 
       2343 
2269 
     | 
    
         
             
            	if ( postFinder && !postFinder[ expando ] ) {
         
     | 
| 
       2344 
2270 
     | 
    
         
             
            		postFinder = setMatcher( postFinder, postSelector );
         
     | 
| 
       2345 
2271 
     | 
    
         
             
            	}
         
     | 
| 
       2346 
     | 
    
         
            -
            	return markFunction(function( seed, results, context, xml ) {
         
     | 
| 
       2347 
     | 
    
         
            -
            		var temp, i, elem,
         
     | 
| 
      
 2272 
     | 
    
         
            +
            	return markFunction( function( seed, results, context, xml ) {
         
     | 
| 
      
 2273 
     | 
    
         
            +
            		var temp, i, elem, matcherOut,
         
     | 
| 
       2348 
2274 
     | 
    
         
             
            			preMap = [],
         
     | 
| 
       2349 
2275 
     | 
    
         
             
            			postMap = [],
         
     | 
| 
       2350 
2276 
     | 
    
         
             
            			preexisting = results.length,
         
     | 
| 
       2351 
2277 
     | 
    
         | 
| 
       2352 
2278 
     | 
    
         
             
            			// Get initial elements from seed or context
         
     | 
| 
       2353 
     | 
    
         
            -
            			elems = seed || 
     | 
| 
      
 2279 
     | 
    
         
            +
            			elems = seed ||
         
     | 
| 
      
 2280 
     | 
    
         
            +
            				multipleContexts( selector || "*",
         
     | 
| 
      
 2281 
     | 
    
         
            +
            					context.nodeType ? [ context ] : context, [] ),
         
     | 
| 
       2354 
2282 
     | 
    
         | 
| 
       2355 
2283 
     | 
    
         
             
            			// Prefilter to get matcher input, preserving a map for seed-results synchronization
         
     | 
| 
       2356 
2284 
     | 
    
         
             
            			matcherIn = preFilter && ( seed || !selector ) ?
         
     | 
| 
       2357 
2285 
     | 
    
         
             
            				condense( elems, preMap, preFilter, context, xml ) :
         
     | 
| 
       2358 
     | 
    
         
            -
            				elems 
     | 
| 
      
 2286 
     | 
    
         
            +
            				elems;
         
     | 
| 
      
 2287 
     | 
    
         
            +
             
     | 
| 
      
 2288 
     | 
    
         
            +
            		if ( matcher ) {
         
     | 
| 
       2359 
2289 
     | 
    
         | 
| 
       2360 
     | 
    
         
            -
            			 
     | 
| 
       2361 
     | 
    
         
            -
             
     | 
| 
       2362 
     | 
    
         
            -
             
     | 
| 
      
 2290 
     | 
    
         
            +
            			// If we have a postFinder, or filtered seed, or non-seed postFilter
         
     | 
| 
      
 2291 
     | 
    
         
            +
            			// or preexisting results,
         
     | 
| 
      
 2292 
     | 
    
         
            +
            			matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
         
     | 
| 
       2363 
2293 
     | 
    
         | 
| 
       2364 
     | 
    
         
            -
             
     | 
| 
       2365 
     | 
    
         
            -
             
     | 
| 
      
 2294 
     | 
    
         
            +
            				// ...intermediate processing is necessary
         
     | 
| 
      
 2295 
     | 
    
         
            +
            				[] :
         
     | 
| 
       2366 
2296 
     | 
    
         | 
| 
       2367 
     | 
    
         
            -
             
     | 
| 
       2368 
     | 
    
         
            -
             
     | 
| 
       2369 
     | 
    
         
            -
            				matcherIn;
         
     | 
| 
      
 2297 
     | 
    
         
            +
            				// ...otherwise use results directly
         
     | 
| 
      
 2298 
     | 
    
         
            +
            				results;
         
     | 
| 
       2370 
2299 
     | 
    
         | 
| 
       2371 
     | 
    
         
            -
             
     | 
| 
       2372 
     | 
    
         
            -
            		if ( matcher ) {
         
     | 
| 
      
 2300 
     | 
    
         
            +
            			// Find primary matches
         
     | 
| 
       2373 
2301 
     | 
    
         
             
            			matcher( matcherIn, matcherOut, context, xml );
         
     | 
| 
      
 2302 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 2303 
     | 
    
         
            +
            			matcherOut = matcherIn;
         
     | 
| 
       2374 
2304 
     | 
    
         
             
            		}
         
     | 
| 
       2375 
2305 
     | 
    
         | 
| 
       2376 
2306 
     | 
    
         
             
            		// Apply postFilter
         
     | 
| 
         @@ -2381,8 +2311,8 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS 
     | 
|
| 
       2381 
2311 
     | 
    
         
             
            			// Un-match failing elements by moving them back to matcherIn
         
     | 
| 
       2382 
2312 
     | 
    
         
             
            			i = temp.length;
         
     | 
| 
       2383 
2313 
     | 
    
         
             
            			while ( i-- ) {
         
     | 
| 
       2384 
     | 
    
         
            -
            				if ( (elem = temp[i]) ) {
         
     | 
| 
       2385 
     | 
    
         
            -
            					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
         
     | 
| 
      
 2314 
     | 
    
         
            +
            				if ( ( elem = temp[ i ] ) ) {
         
     | 
| 
      
 2315 
     | 
    
         
            +
            					matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
         
     | 
| 
       2386 
2316 
     | 
    
         
             
            				}
         
     | 
| 
       2387 
2317 
     | 
    
         
             
            			}
         
     | 
| 
       2388 
2318 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -2390,25 +2320,27 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS 
     | 
|
| 
       2390 
2320 
     | 
    
         
             
            		if ( seed ) {
         
     | 
| 
       2391 
2321 
     | 
    
         
             
            			if ( postFinder || preFilter ) {
         
     | 
| 
       2392 
2322 
     | 
    
         
             
            				if ( postFinder ) {
         
     | 
| 
      
 2323 
     | 
    
         
            +
             
     | 
| 
       2393 
2324 
     | 
    
         
             
            					// Get the final matcherOut by condensing this intermediate into postFinder contexts
         
     | 
| 
       2394 
2325 
     | 
    
         
             
            					temp = [];
         
     | 
| 
       2395 
2326 
     | 
    
         
             
            					i = matcherOut.length;
         
     | 
| 
       2396 
2327 
     | 
    
         
             
            					while ( i-- ) {
         
     | 
| 
       2397 
     | 
    
         
            -
            						if ( (elem = matcherOut[i]) ) {
         
     | 
| 
      
 2328 
     | 
    
         
            +
            						if ( ( elem = matcherOut[ i ] ) ) {
         
     | 
| 
      
 2329 
     | 
    
         
            +
             
     | 
| 
       2398 
2330 
     | 
    
         
             
            							// Restore matcherIn since elem is not yet a final match
         
     | 
| 
       2399 
     | 
    
         
            -
            							temp.push( (matcherIn[i] = elem) );
         
     | 
| 
      
 2331 
     | 
    
         
            +
            							temp.push( ( matcherIn[ i ] = elem ) );
         
     | 
| 
       2400 
2332 
     | 
    
         
             
            						}
         
     | 
| 
       2401 
2333 
     | 
    
         
             
            					}
         
     | 
| 
       2402 
     | 
    
         
            -
            					postFinder( null, (matcherOut = []), temp, xml );
         
     | 
| 
      
 2334 
     | 
    
         
            +
            					postFinder( null, ( matcherOut = [] ), temp, xml );
         
     | 
| 
       2403 
2335 
     | 
    
         
             
            				}
         
     | 
| 
       2404 
2336 
     | 
    
         | 
| 
       2405 
2337 
     | 
    
         
             
            				// Move matched elements from seed to results to keep them synchronized
         
     | 
| 
       2406 
2338 
     | 
    
         
             
            				i = matcherOut.length;
         
     | 
| 
       2407 
2339 
     | 
    
         
             
            				while ( i-- ) {
         
     | 
| 
       2408 
     | 
    
         
            -
            					if ( (elem = matcherOut[i]) &&
         
     | 
| 
       2409 
     | 
    
         
            -
            						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
         
     | 
| 
      
 2340 
     | 
    
         
            +
            					if ( ( elem = matcherOut[ i ] ) &&
         
     | 
| 
      
 2341 
     | 
    
         
            +
            						( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {
         
     | 
| 
       2410 
2342 
     | 
    
         | 
| 
       2411 
     | 
    
         
            -
            						seed[temp] = !(results[temp] = elem);
         
     | 
| 
      
 2343 
     | 
    
         
            +
            						seed[ temp ] = !( results[ temp ] = elem );
         
     | 
| 
       2412 
2344 
     | 
    
         
             
            					}
         
     | 
| 
       2413 
2345 
     | 
    
         
             
            				}
         
     | 
| 
       2414 
2346 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -2426,14 +2358,14 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS 
     | 
|
| 
       2426 
2358 
     | 
    
         
             
            				push.apply( results, matcherOut );
         
     | 
| 
       2427 
2359 
     | 
    
         
             
            			}
         
     | 
| 
       2428 
2360 
     | 
    
         
             
            		}
         
     | 
| 
       2429 
     | 
    
         
            -
            	});
         
     | 
| 
      
 2361 
     | 
    
         
            +
            	} );
         
     | 
| 
       2430 
2362 
     | 
    
         
             
            }
         
     | 
| 
       2431 
2363 
     | 
    
         | 
| 
       2432 
2364 
     | 
    
         
             
            function matcherFromTokens( tokens ) {
         
     | 
| 
       2433 
2365 
     | 
    
         
             
            	var checkContext, matcher, j,
         
     | 
| 
       2434 
2366 
     | 
    
         
             
            		len = tokens.length,
         
     | 
| 
       2435 
     | 
    
         
            -
            		leadingRelative = Expr.relative[ tokens[0].type ],
         
     | 
| 
       2436 
     | 
    
         
            -
            		implicitRelative = leadingRelative || Expr.relative[" "],
         
     | 
| 
      
 2367 
     | 
    
         
            +
            		leadingRelative = Expr.relative[ tokens[ 0 ].type ],
         
     | 
| 
      
 2368 
     | 
    
         
            +
            		implicitRelative = leadingRelative || Expr.relative[ " " ],
         
     | 
| 
       2437 
2369 
     | 
    
         
             
            		i = leadingRelative ? 1 : 0,
         
     | 
| 
       2438 
2370 
     | 
    
         | 
| 
       2439 
2371 
     | 
    
         
             
            		// The foundational matcher ensures that elements are reachable from top-level context(s)
         
     | 
| 
         @@ -2441,42 +2373,52 @@ function matcherFromTokens( tokens ) { 
     | 
|
| 
       2441 
2373 
     | 
    
         
             
            			return elem === checkContext;
         
     | 
| 
       2442 
2374 
     | 
    
         
             
            		}, implicitRelative, true ),
         
     | 
| 
       2443 
2375 
     | 
    
         
             
            		matchAnyContext = addCombinator( function( elem ) {
         
     | 
| 
       2444 
     | 
    
         
            -
            			return indexOf( checkContext, elem ) > -1;
         
     | 
| 
      
 2376 
     | 
    
         
            +
            			return indexOf.call( checkContext, elem ) > -1;
         
     | 
| 
       2445 
2377 
     | 
    
         
             
            		}, implicitRelative, true ),
         
     | 
| 
       2446 
2378 
     | 
    
         
             
            		matchers = [ function( elem, context, xml ) {
         
     | 
| 
       2447 
     | 
    
         
            -
             
     | 
| 
       2448 
     | 
    
         
            -
             
     | 
| 
      
 2379 
     | 
    
         
            +
             
     | 
| 
      
 2380 
     | 
    
         
            +
            			// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 2381 
     | 
    
         
            +
            			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 2382 
     | 
    
         
            +
            			// two documents; shallow comparisons work.
         
     | 
| 
      
 2383 
     | 
    
         
            +
            			// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 2384 
     | 
    
         
            +
            			var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (
         
     | 
| 
      
 2385 
     | 
    
         
            +
            				( checkContext = context ).nodeType ?
         
     | 
| 
       2449 
2386 
     | 
    
         
             
            					matchContext( elem, context, xml ) :
         
     | 
| 
       2450 
2387 
     | 
    
         
             
            					matchAnyContext( elem, context, xml ) );
         
     | 
| 
       2451 
     | 
    
         
            -
             
     | 
| 
      
 2388 
     | 
    
         
            +
             
     | 
| 
      
 2389 
     | 
    
         
            +
            			// Avoid hanging onto element
         
     | 
| 
      
 2390 
     | 
    
         
            +
            			// (see https://github.com/jquery/sizzle/issues/299)
         
     | 
| 
       2452 
2391 
     | 
    
         
             
            			checkContext = null;
         
     | 
| 
       2453 
2392 
     | 
    
         
             
            			return ret;
         
     | 
| 
       2454 
2393 
     | 
    
         
             
            		} ];
         
     | 
| 
       2455 
2394 
     | 
    
         | 
| 
       2456 
2395 
     | 
    
         
             
            	for ( ; i < len; i++ ) {
         
     | 
| 
       2457 
     | 
    
         
            -
            		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
         
     | 
| 
       2458 
     | 
    
         
            -
            			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
         
     | 
| 
      
 2396 
     | 
    
         
            +
            		if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
         
     | 
| 
      
 2397 
     | 
    
         
            +
            			matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
         
     | 
| 
       2459 
2398 
     | 
    
         
             
            		} else {
         
     | 
| 
       2460 
     | 
    
         
            -
            			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
         
     | 
| 
      
 2399 
     | 
    
         
            +
            			matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
         
     | 
| 
       2461 
2400 
     | 
    
         | 
| 
       2462 
2401 
     | 
    
         
             
            			// Return special upon seeing a positional matcher
         
     | 
| 
       2463 
2402 
     | 
    
         
             
            			if ( matcher[ expando ] ) {
         
     | 
| 
      
 2403 
     | 
    
         
            +
             
     | 
| 
       2464 
2404 
     | 
    
         
             
            				// Find the next relative operator (if any) for proper handling
         
     | 
| 
       2465 
2405 
     | 
    
         
             
            				j = ++i;
         
     | 
| 
       2466 
2406 
     | 
    
         
             
            				for ( ; j < len; j++ ) {
         
     | 
| 
       2467 
     | 
    
         
            -
            					if ( Expr.relative[ tokens[j].type ] ) {
         
     | 
| 
      
 2407 
     | 
    
         
            +
            					if ( Expr.relative[ tokens[ j ].type ] ) {
         
     | 
| 
       2468 
2408 
     | 
    
         
             
            						break;
         
     | 
| 
       2469 
2409 
     | 
    
         
             
            					}
         
     | 
| 
       2470 
2410 
     | 
    
         
             
            				}
         
     | 
| 
       2471 
2411 
     | 
    
         
             
            				return setMatcher(
         
     | 
| 
       2472 
2412 
     | 
    
         
             
            					i > 1 && elementMatcher( matchers ),
         
     | 
| 
       2473 
2413 
     | 
    
         
             
            					i > 1 && toSelector(
         
     | 
| 
      
 2414 
     | 
    
         
            +
             
     | 
| 
       2474 
2415 
     | 
    
         
             
            						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
         
     | 
| 
       2475 
     | 
    
         
            -
            						tokens.slice( 0, i - 1 ) 
     | 
| 
       2476 
     | 
    
         
            -
             
     | 
| 
      
 2416 
     | 
    
         
            +
            						tokens.slice( 0, i - 1 )
         
     | 
| 
      
 2417 
     | 
    
         
            +
            							.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
         
     | 
| 
      
 2418 
     | 
    
         
            +
            					).replace( rtrimCSS, "$1" ),
         
     | 
| 
       2477 
2419 
     | 
    
         
             
            					matcher,
         
     | 
| 
       2478 
2420 
     | 
    
         
             
            					i < j && matcherFromTokens( tokens.slice( i, j ) ),
         
     | 
| 
       2479 
     | 
    
         
            -
            					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
         
     | 
| 
      
 2421 
     | 
    
         
            +
            					j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
         
     | 
| 
       2480 
2422 
     | 
    
         
             
            					j < len && toSelector( tokens )
         
     | 
| 
       2481 
2423 
     | 
    
         
             
            				);
         
     | 
| 
       2482 
2424 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -2497,29 +2439,42 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2497 
2439 
     | 
    
         
             
            				unmatched = seed && [],
         
     | 
| 
       2498 
2440 
     | 
    
         
             
            				setMatched = [],
         
     | 
| 
       2499 
2441 
     | 
    
         
             
            				contextBackup = outermostContext,
         
     | 
| 
      
 2442 
     | 
    
         
            +
             
     | 
| 
       2500 
2443 
     | 
    
         
             
            				// We must always have either seed elements or outermost context
         
     | 
| 
       2501 
     | 
    
         
            -
            				elems = seed || byElement && Expr.find 
     | 
| 
      
 2444 
     | 
    
         
            +
            				elems = seed || byElement && Expr.find.TAG( "*", outermost ),
         
     | 
| 
      
 2445 
     | 
    
         
            +
             
     | 
| 
       2502 
2446 
     | 
    
         
             
            				// Use integer dirruns iff this is the outermost matcher
         
     | 
| 
       2503 
     | 
    
         
            -
            				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
         
     | 
| 
      
 2447 
     | 
    
         
            +
            				dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
         
     | 
| 
       2504 
2448 
     | 
    
         
             
            				len = elems.length;
         
     | 
| 
       2505 
2449 
     | 
    
         | 
| 
       2506 
2450 
     | 
    
         
             
            			if ( outermost ) {
         
     | 
| 
       2507 
     | 
    
         
            -
             
     | 
| 
      
 2451 
     | 
    
         
            +
             
     | 
| 
      
 2452 
     | 
    
         
            +
            				// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 2453 
     | 
    
         
            +
            				// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 2454 
     | 
    
         
            +
            				// two documents; shallow comparisons work.
         
     | 
| 
      
 2455 
     | 
    
         
            +
            				// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 2456 
     | 
    
         
            +
            				outermostContext = context == document || context || outermost;
         
     | 
| 
       2508 
2457 
     | 
    
         
             
            			}
         
     | 
| 
       2509 
2458 
     | 
    
         | 
| 
       2510 
2459 
     | 
    
         
             
            			// Add elements passing elementMatchers directly to results
         
     | 
| 
       2511 
     | 
    
         
            -
            			// Support:  
     | 
| 
       2512 
     | 
    
         
            -
            			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching 
     | 
| 
       2513 
     | 
    
         
            -
            			 
     | 
| 
      
 2460 
     | 
    
         
            +
            			// Support: iOS <=7 - 9 only
         
     | 
| 
      
 2461 
     | 
    
         
            +
            			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching
         
     | 
| 
      
 2462 
     | 
    
         
            +
            			// elements by id. (see trac-14142)
         
     | 
| 
      
 2463 
     | 
    
         
            +
            			for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
         
     | 
| 
       2514 
2464 
     | 
    
         
             
            				if ( byElement && elem ) {
         
     | 
| 
       2515 
2465 
     | 
    
         
             
            					j = 0;
         
     | 
| 
       2516 
     | 
    
         
            -
             
     | 
| 
      
 2466 
     | 
    
         
            +
             
     | 
| 
      
 2467 
     | 
    
         
            +
            					// Support: IE 11+, Edge 17 - 18+
         
     | 
| 
      
 2468 
     | 
    
         
            +
            					// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
         
     | 
| 
      
 2469 
     | 
    
         
            +
            					// two documents; shallow comparisons work.
         
     | 
| 
      
 2470 
     | 
    
         
            +
            					// eslint-disable-next-line eqeqeq
         
     | 
| 
      
 2471 
     | 
    
         
            +
            					if ( !context && elem.ownerDocument != document ) {
         
     | 
| 
       2517 
2472 
     | 
    
         
             
            						setDocument( elem );
         
     | 
| 
       2518 
2473 
     | 
    
         
             
            						xml = !documentIsHTML;
         
     | 
| 
       2519 
2474 
     | 
    
         
             
            					}
         
     | 
| 
       2520 
     | 
    
         
            -
            					while ( (matcher = elementMatchers[j++]) ) {
         
     | 
| 
       2521 
     | 
    
         
            -
            						if ( matcher( elem, context || document, xml) ) {
         
     | 
| 
       2522 
     | 
    
         
            -
            							 
     | 
| 
      
 2475 
     | 
    
         
            +
            					while ( ( matcher = elementMatchers[ j++ ] ) ) {
         
     | 
| 
      
 2476 
     | 
    
         
            +
            						if ( matcher( elem, context || document, xml ) ) {
         
     | 
| 
      
 2477 
     | 
    
         
            +
            							push.call( results, elem );
         
     | 
| 
       2523 
2478 
     | 
    
         
             
            							break;
         
     | 
| 
       2524 
2479 
     | 
    
         
             
            						}
         
     | 
| 
       2525 
2480 
     | 
    
         
             
            					}
         
     | 
| 
         @@ -2530,8 +2485,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2530 
2485 
     | 
    
         | 
| 
       2531 
2486 
     | 
    
         
             
            				// Track unmatched elements for set filters
         
     | 
| 
       2532 
2487 
     | 
    
         
             
            				if ( bySet ) {
         
     | 
| 
      
 2488 
     | 
    
         
            +
             
     | 
| 
       2533 
2489 
     | 
    
         
             
            					// They will have gone through all possible matchers
         
     | 
| 
       2534 
     | 
    
         
            -
            					if ( (elem = !matcher && elem) ) {
         
     | 
| 
      
 2490 
     | 
    
         
            +
            					if ( ( elem = !matcher && elem ) ) {
         
     | 
| 
       2535 
2491 
     | 
    
         
             
            						matchedCount--;
         
     | 
| 
       2536 
2492 
     | 
    
         
             
            					}
         
     | 
| 
       2537 
2493 
     | 
    
         | 
| 
         @@ -2555,16 +2511,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2555 
2511 
     | 
    
         
             
            			// numerically zero.
         
     | 
| 
       2556 
2512 
     | 
    
         
             
            			if ( bySet && i !== matchedCount ) {
         
     | 
| 
       2557 
2513 
     | 
    
         
             
            				j = 0;
         
     | 
| 
       2558 
     | 
    
         
            -
            				while ( (matcher = setMatchers[j++]) ) {
         
     | 
| 
      
 2514 
     | 
    
         
            +
            				while ( ( matcher = setMatchers[ j++ ] ) ) {
         
     | 
| 
       2559 
2515 
     | 
    
         
             
            					matcher( unmatched, setMatched, context, xml );
         
     | 
| 
       2560 
2516 
     | 
    
         
             
            				}
         
     | 
| 
       2561 
2517 
     | 
    
         | 
| 
       2562 
2518 
     | 
    
         
             
            				if ( seed ) {
         
     | 
| 
      
 2519 
     | 
    
         
            +
             
     | 
| 
       2563 
2520 
     | 
    
         
             
            					// Reintegrate element matches to eliminate the need for sorting
         
     | 
| 
       2564 
2521 
     | 
    
         
             
            					if ( matchedCount > 0 ) {
         
     | 
| 
       2565 
2522 
     | 
    
         
             
            						while ( i-- ) {
         
     | 
| 
       2566 
     | 
    
         
            -
            							if ( !(unmatched[i] || setMatched[i]) ) {
         
     | 
| 
       2567 
     | 
    
         
            -
            								setMatched[i] = pop.call( results );
         
     | 
| 
      
 2523 
     | 
    
         
            +
            							if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
         
     | 
| 
      
 2524 
     | 
    
         
            +
            								setMatched[ i ] = pop.call( results );
         
     | 
| 
       2568 
2525 
     | 
    
         
             
            							}
         
     | 
| 
       2569 
2526 
     | 
    
         
             
            						}
         
     | 
| 
       2570 
2527 
     | 
    
         
             
            					}
         
     | 
| 
         @@ -2580,7 +2537,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2580 
2537 
     | 
    
         
             
            				if ( outermost && !seed && setMatched.length > 0 &&
         
     | 
| 
       2581 
2538 
     | 
    
         
             
            					( matchedCount + setMatchers.length ) > 1 ) {
         
     | 
| 
       2582 
2539 
     | 
    
         | 
| 
       2583 
     | 
    
         
            -
            					 
     | 
| 
      
 2540 
     | 
    
         
            +
            					jQuery.uniqueSort( results );
         
     | 
| 
       2584 
2541 
     | 
    
         
             
            				}
         
     | 
| 
       2585 
2542 
     | 
    
         
             
            			}
         
     | 
| 
       2586 
2543 
     | 
    
         | 
| 
         @@ -2598,20 +2555,21 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 
     | 
|
| 
       2598 
2555 
     | 
    
         
             
            		superMatcher;
         
     | 
| 
       2599 
2556 
     | 
    
         
             
            }
         
     | 
| 
       2600 
2557 
     | 
    
         | 
| 
       2601 
     | 
    
         
            -
             
     | 
| 
      
 2558 
     | 
    
         
            +
            function compile( selector, match /* Internal Use Only */ ) {
         
     | 
| 
       2602 
2559 
     | 
    
         
             
            	var i,
         
     | 
| 
       2603 
2560 
     | 
    
         
             
            		setMatchers = [],
         
     | 
| 
       2604 
2561 
     | 
    
         
             
            		elementMatchers = [],
         
     | 
| 
       2605 
2562 
     | 
    
         
             
            		cached = compilerCache[ selector + " " ];
         
     | 
| 
       2606 
2563 
     | 
    
         | 
| 
       2607 
2564 
     | 
    
         
             
            	if ( !cached ) {
         
     | 
| 
      
 2565 
     | 
    
         
            +
             
     | 
| 
       2608 
2566 
     | 
    
         
             
            		// Generate a function of recursive functions that can be used to check each element
         
     | 
| 
       2609 
2567 
     | 
    
         
             
            		if ( !match ) {
         
     | 
| 
       2610 
2568 
     | 
    
         
             
            			match = tokenize( selector );
         
     | 
| 
       2611 
2569 
     | 
    
         
             
            		}
         
     | 
| 
       2612 
2570 
     | 
    
         
             
            		i = match.length;
         
     | 
| 
       2613 
2571 
     | 
    
         
             
            		while ( i-- ) {
         
     | 
| 
       2614 
     | 
    
         
            -
            			cached = matcherFromTokens( match[i] );
         
     | 
| 
      
 2572 
     | 
    
         
            +
            			cached = matcherFromTokens( match[ i ] );
         
     | 
| 
       2615 
2573 
     | 
    
         
             
            			if ( cached[ expando ] ) {
         
     | 
| 
       2616 
2574 
     | 
    
         
             
            				setMatchers.push( cached );
         
     | 
| 
       2617 
2575 
     | 
    
         
             
            			} else {
         
     | 
| 
         @@ -2620,27 +2578,28 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { 
     | 
|
| 
       2620 
2578 
     | 
    
         
             
            		}
         
     | 
| 
       2621 
2579 
     | 
    
         | 
| 
       2622 
2580 
     | 
    
         
             
            		// Cache the compiled function
         
     | 
| 
       2623 
     | 
    
         
            -
            		cached = compilerCache( selector, 
     | 
| 
      
 2581 
     | 
    
         
            +
            		cached = compilerCache( selector,
         
     | 
| 
      
 2582 
     | 
    
         
            +
            			matcherFromGroupMatchers( elementMatchers, setMatchers ) );
         
     | 
| 
       2624 
2583 
     | 
    
         | 
| 
       2625 
2584 
     | 
    
         
             
            		// Save selector and tokenization
         
     | 
| 
       2626 
2585 
     | 
    
         
             
            		cached.selector = selector;
         
     | 
| 
       2627 
2586 
     | 
    
         
             
            	}
         
     | 
| 
       2628 
2587 
     | 
    
         
             
            	return cached;
         
     | 
| 
       2629 
     | 
    
         
            -
            } 
     | 
| 
      
 2588 
     | 
    
         
            +
            }
         
     | 
| 
       2630 
2589 
     | 
    
         | 
| 
       2631 
2590 
     | 
    
         
             
            /**
         
     | 
| 
       2632 
     | 
    
         
            -
             * A low-level selection function that works with  
     | 
| 
      
 2591 
     | 
    
         
            +
             * A low-level selection function that works with jQuery's compiled
         
     | 
| 
       2633 
2592 
     | 
    
         
             
             *  selector functions
         
     | 
| 
       2634 
2593 
     | 
    
         
             
             * @param {String|Function} selector A selector or a pre-compiled
         
     | 
| 
       2635 
     | 
    
         
            -
             *  selector function built with  
     | 
| 
      
 2594 
     | 
    
         
            +
             *  selector function built with jQuery selector compile
         
     | 
| 
       2636 
2595 
     | 
    
         
             
             * @param {Element} context
         
     | 
| 
       2637 
2596 
     | 
    
         
             
             * @param {Array} [results]
         
     | 
| 
       2638 
2597 
     | 
    
         
             
             * @param {Array} [seed] A set of elements to match against
         
     | 
| 
       2639 
2598 
     | 
    
         
             
             */
         
     | 
| 
       2640 
     | 
    
         
            -
             
     | 
| 
      
 2599 
     | 
    
         
            +
            function select( selector, context, results, seed ) {
         
     | 
| 
       2641 
2600 
     | 
    
         
             
            	var i, tokens, token, type, find,
         
     | 
| 
       2642 
2601 
     | 
    
         
             
            		compiled = typeof selector === "function" && selector,
         
     | 
| 
       2643 
     | 
    
         
            -
            		match = !seed && tokenize( (selector = compiled.selector || selector) );
         
     | 
| 
      
 2602 
     | 
    
         
            +
            		match = !seed && tokenize( ( selector = compiled.selector || selector ) );
         
     | 
| 
       2644 
2603 
     | 
    
         | 
| 
       2645 
2604 
     | 
    
         
             
            	results = results || [];
         
     | 
| 
       2646 
2605 
     | 
    
         | 
| 
         @@ -2649,11 +2608,14 @@ select = Sizzle.select = function( selector, context, results, seed ) { 
     | 
|
| 
       2649 
2608 
     | 
    
         
             
            	if ( match.length === 1 ) {
         
     | 
| 
       2650 
2609 
     | 
    
         | 
| 
       2651 
2610 
     | 
    
         
             
            		// Reduce context if the leading compound selector is an ID
         
     | 
| 
       2652 
     | 
    
         
            -
            		tokens = match[0] = match[0].slice( 0 );
         
     | 
| 
       2653 
     | 
    
         
            -
            		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
         
     | 
| 
       2654 
     | 
    
         
            -
            				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
         
     | 
| 
       2655 
     | 
    
         
            -
             
     | 
| 
       2656 
     | 
    
         
            -
            			context = ( Expr.find 
     | 
| 
      
 2611 
     | 
    
         
            +
            		tokens = match[ 0 ] = match[ 0 ].slice( 0 );
         
     | 
| 
      
 2612 
     | 
    
         
            +
            		if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
         
     | 
| 
      
 2613 
     | 
    
         
            +
            				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
         
     | 
| 
      
 2614 
     | 
    
         
            +
             
     | 
| 
      
 2615 
     | 
    
         
            +
            			context = ( Expr.find.ID(
         
     | 
| 
      
 2616 
     | 
    
         
            +
            				token.matches[ 0 ].replace( runescape, funescape ),
         
     | 
| 
      
 2617 
     | 
    
         
            +
            				context
         
     | 
| 
      
 2618 
     | 
    
         
            +
            			) || [] )[ 0 ];
         
     | 
| 
       2657 
2619 
     | 
    
         
             
            			if ( !context ) {
         
     | 
| 
       2658 
2620 
     | 
    
         
             
            				return results;
         
     | 
| 
       2659 
2621 
     | 
    
         | 
| 
         @@ -2666,20 +2628,22 @@ select = Sizzle.select = function( selector, context, results, seed ) { 
     | 
|
| 
       2666 
2628 
     | 
    
         
             
            		}
         
     | 
| 
       2667 
2629 
     | 
    
         | 
| 
       2668 
2630 
     | 
    
         
             
            		// Fetch a seed set for right-to-left matching
         
     | 
| 
       2669 
     | 
    
         
            -
            		i = matchExpr 
     | 
| 
      
 2631 
     | 
    
         
            +
            		i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;
         
     | 
| 
       2670 
2632 
     | 
    
         
             
            		while ( i-- ) {
         
     | 
| 
       2671 
     | 
    
         
            -
            			token = tokens[i];
         
     | 
| 
      
 2633 
     | 
    
         
            +
            			token = tokens[ i ];
         
     | 
| 
       2672 
2634 
     | 
    
         | 
| 
       2673 
2635 
     | 
    
         
             
            			// Abort if we hit a combinator
         
     | 
| 
       2674 
     | 
    
         
            -
            			if ( Expr.relative[ (type = token.type) ] ) {
         
     | 
| 
      
 2636 
     | 
    
         
            +
            			if ( Expr.relative[ ( type = token.type ) ] ) {
         
     | 
| 
       2675 
2637 
     | 
    
         
             
            				break;
         
     | 
| 
       2676 
2638 
     | 
    
         
             
            			}
         
     | 
| 
       2677 
     | 
    
         
            -
            			if ( (find = Expr.find[ type ]) ) {
         
     | 
| 
      
 2639 
     | 
    
         
            +
            			if ( ( find = Expr.find[ type ] ) ) {
         
     | 
| 
      
 2640 
     | 
    
         
            +
             
     | 
| 
       2678 
2641 
     | 
    
         
             
            				// Search, expanding context for leading sibling combinators
         
     | 
| 
       2679 
     | 
    
         
            -
            				if ( (seed = find(
         
     | 
| 
       2680 
     | 
    
         
            -
            					token.matches[0].replace( runescape, funescape ),
         
     | 
| 
       2681 
     | 
    
         
            -
            					rsibling.test( tokens[0].type ) && 
     | 
| 
       2682 
     | 
    
         
            -
             
     | 
| 
      
 2642 
     | 
    
         
            +
            				if ( ( seed = find(
         
     | 
| 
      
 2643 
     | 
    
         
            +
            					token.matches[ 0 ].replace( runescape, funescape ),
         
     | 
| 
      
 2644 
     | 
    
         
            +
            					rsibling.test( tokens[ 0 ].type ) &&
         
     | 
| 
      
 2645 
     | 
    
         
            +
            						testContext( context.parentNode ) || context
         
     | 
| 
      
 2646 
     | 
    
         
            +
            				) ) ) {
         
     | 
| 
       2683 
2647 
     | 
    
         | 
| 
       2684 
2648 
     | 
    
         
             
            					// If seed is empty or no tokens remain, we can return early
         
     | 
| 
       2685 
2649 
     | 
    
         
             
            					tokens.splice( i, 1 );
         
     | 
| 
         @@ -2705,89 +2669,48 @@ select = Sizzle.select = function( selector, context, results, seed ) { 
     | 
|
| 
       2705 
2669 
     | 
    
         
             
            		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
         
     | 
| 
       2706 
2670 
     | 
    
         
             
            	);
         
     | 
| 
       2707 
2671 
     | 
    
         
             
            	return results;
         
     | 
| 
       2708 
     | 
    
         
            -
            } 
     | 
| 
      
 2672 
     | 
    
         
            +
            }
         
     | 
| 
       2709 
2673 
     | 
    
         | 
| 
       2710 
2674 
     | 
    
         
             
            // One-time assignments
         
     | 
| 
       2711 
2675 
     | 
    
         | 
| 
      
 2676 
     | 
    
         
            +
            // Support: Android <=4.0 - 4.1+
         
     | 
| 
       2712 
2677 
     | 
    
         
             
            // Sort stability
         
     | 
| 
       2713 
     | 
    
         
            -
            support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
         
     | 
| 
       2714 
     | 
    
         
            -
             
     | 
| 
       2715 
     | 
    
         
            -
            // Support: Chrome 14-35+
         
     | 
| 
       2716 
     | 
    
         
            -
            // Always assume duplicates if they aren't passed to the comparison function
         
     | 
| 
       2717 
     | 
    
         
            -
            support.detectDuplicates = !!hasDuplicate;
         
     | 
| 
      
 2678 
     | 
    
         
            +
            support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
         
     | 
| 
       2718 
2679 
     | 
    
         | 
| 
       2719 
2680 
     | 
    
         
             
            // Initialize against the default document
         
     | 
| 
       2720 
2681 
     | 
    
         
             
            setDocument();
         
     | 
| 
       2721 
2682 
     | 
    
         | 
| 
       2722 
     | 
    
         
            -
            // Support:  
     | 
| 
      
 2683 
     | 
    
         
            +
            // Support: Android <=4.0 - 4.1+
         
     | 
| 
       2723 
2684 
     | 
    
         
             
            // Detached nodes confoundingly follow *each other*
         
     | 
| 
       2724 
     | 
    
         
            -
            support.sortDetached = assert(function( el ) {
         
     | 
| 
       2725 
     | 
    
         
            -
            	// Should return 1, but returns 4 (following)
         
     | 
| 
       2726 
     | 
    
         
            -
            	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
         
     | 
| 
       2727 
     | 
    
         
            -
            });
         
     | 
| 
       2728 
     | 
    
         
            -
             
     | 
| 
       2729 
     | 
    
         
            -
            // Support: IE<8
         
     | 
| 
       2730 
     | 
    
         
            -
            // Prevent attribute/property "interpolation"
         
     | 
| 
       2731 
     | 
    
         
            -
            // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
         
     | 
| 
       2732 
     | 
    
         
            -
            if ( !assert(function( el ) {
         
     | 
| 
       2733 
     | 
    
         
            -
            	el.innerHTML = "<a href='#'></a>";
         
     | 
| 
       2734 
     | 
    
         
            -
            	return el.firstChild.getAttribute("href") === "#" ;
         
     | 
| 
       2735 
     | 
    
         
            -
            }) ) {
         
     | 
| 
       2736 
     | 
    
         
            -
            	addHandle( "type|href|height|width", function( elem, name, isXML ) {
         
     | 
| 
       2737 
     | 
    
         
            -
            		if ( !isXML ) {
         
     | 
| 
       2738 
     | 
    
         
            -
            			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
         
     | 
| 
       2739 
     | 
    
         
            -
            		}
         
     | 
| 
       2740 
     | 
    
         
            -
            	});
         
     | 
| 
       2741 
     | 
    
         
            -
            }
         
     | 
| 
       2742 
     | 
    
         
            -
             
     | 
| 
       2743 
     | 
    
         
            -
            // Support: IE<9
         
     | 
| 
       2744 
     | 
    
         
            -
            // Use defaultValue in place of getAttribute("value")
         
     | 
| 
       2745 
     | 
    
         
            -
            if ( !support.attributes || !assert(function( el ) {
         
     | 
| 
       2746 
     | 
    
         
            -
            	el.innerHTML = "<input/>";
         
     | 
| 
       2747 
     | 
    
         
            -
            	el.firstChild.setAttribute( "value", "" );
         
     | 
| 
       2748 
     | 
    
         
            -
            	return el.firstChild.getAttribute( "value" ) === "";
         
     | 
| 
       2749 
     | 
    
         
            -
            }) ) {
         
     | 
| 
       2750 
     | 
    
         
            -
            	addHandle( "value", function( elem, name, isXML ) {
         
     | 
| 
       2751 
     | 
    
         
            -
            		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
         
     | 
| 
       2752 
     | 
    
         
            -
            			return elem.defaultValue;
         
     | 
| 
       2753 
     | 
    
         
            -
            		}
         
     | 
| 
       2754 
     | 
    
         
            -
            	});
         
     | 
| 
       2755 
     | 
    
         
            -
            }
         
     | 
| 
       2756 
     | 
    
         
            -
             
     | 
| 
       2757 
     | 
    
         
            -
            // Support: IE<9
         
     | 
| 
       2758 
     | 
    
         
            -
            // Use getAttributeNode to fetch booleans when getAttribute lies
         
     | 
| 
       2759 
     | 
    
         
            -
            if ( !assert(function( el ) {
         
     | 
| 
       2760 
     | 
    
         
            -
            	return el.getAttribute("disabled") == null;
         
     | 
| 
       2761 
     | 
    
         
            -
            }) ) {
         
     | 
| 
       2762 
     | 
    
         
            -
            	addHandle( booleans, function( elem, name, isXML ) {
         
     | 
| 
       2763 
     | 
    
         
            -
            		var val;
         
     | 
| 
       2764 
     | 
    
         
            -
            		if ( !isXML ) {
         
     | 
| 
       2765 
     | 
    
         
            -
            			return elem[ name ] === true ? name.toLowerCase() :
         
     | 
| 
       2766 
     | 
    
         
            -
            					(val = elem.getAttributeNode( name )) && val.specified ?
         
     | 
| 
       2767 
     | 
    
         
            -
            					val.value :
         
     | 
| 
       2768 
     | 
    
         
            -
            				null;
         
     | 
| 
       2769 
     | 
    
         
            -
            		}
         
     | 
| 
       2770 
     | 
    
         
            -
            	});
         
     | 
| 
       2771 
     | 
    
         
            -
            }
         
     | 
| 
       2772 
     | 
    
         
            -
             
     | 
| 
       2773 
     | 
    
         
            -
            return Sizzle;
         
     | 
| 
       2774 
     | 
    
         
            -
             
     | 
| 
       2775 
     | 
    
         
            -
            })( window );
         
     | 
| 
       2776 
     | 
    
         
            -
             
     | 
| 
      
 2685 
     | 
    
         
            +
            support.sortDetached = assert( function( el ) {
         
     | 
| 
       2777 
2686 
     | 
    
         | 
| 
      
 2687 
     | 
    
         
            +
            	// Should return 1, but returns 4 (following)
         
     | 
| 
      
 2688 
     | 
    
         
            +
            	return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
         
     | 
| 
      
 2689 
     | 
    
         
            +
            } );
         
     | 
| 
       2778 
2690 
     | 
    
         | 
| 
       2779 
     | 
    
         
            -
            jQuery.find =  
     | 
| 
       2780 
     | 
    
         
            -
            jQuery.expr = Sizzle.selectors;
         
     | 
| 
      
 2691 
     | 
    
         
            +
            jQuery.find = find;
         
     | 
| 
       2781 
2692 
     | 
    
         | 
| 
       2782 
2693 
     | 
    
         
             
            // Deprecated
         
     | 
| 
       2783 
2694 
     | 
    
         
             
            jQuery.expr[ ":" ] = jQuery.expr.pseudos;
         
     | 
| 
       2784 
     | 
    
         
            -
            jQuery. 
     | 
| 
       2785 
     | 
    
         
            -
             
     | 
| 
       2786 
     | 
    
         
            -
             
     | 
| 
       2787 
     | 
    
         
            -
             
     | 
| 
       2788 
     | 
    
         
            -
             
     | 
| 
      
 2695 
     | 
    
         
            +
            jQuery.unique = jQuery.uniqueSort;
         
     | 
| 
      
 2696 
     | 
    
         
            +
             
     | 
| 
      
 2697 
     | 
    
         
            +
            // These have always been private, but they used to be documented
         
     | 
| 
      
 2698 
     | 
    
         
            +
            // as part of Sizzle so let's maintain them in the 3.x line
         
     | 
| 
      
 2699 
     | 
    
         
            +
            // for backwards compatibility purposes.
         
     | 
| 
      
 2700 
     | 
    
         
            +
            find.compile = compile;
         
     | 
| 
      
 2701 
     | 
    
         
            +
            find.select = select;
         
     | 
| 
      
 2702 
     | 
    
         
            +
            find.setDocument = setDocument;
         
     | 
| 
      
 2703 
     | 
    
         
            +
             
     | 
| 
      
 2704 
     | 
    
         
            +
            find.escape = jQuery.escapeSelector;
         
     | 
| 
      
 2705 
     | 
    
         
            +
            find.getText = jQuery.text;
         
     | 
| 
      
 2706 
     | 
    
         
            +
            find.isXML = jQuery.isXMLDoc;
         
     | 
| 
      
 2707 
     | 
    
         
            +
            find.selectors = jQuery.expr;
         
     | 
| 
      
 2708 
     | 
    
         
            +
            find.support = jQuery.support;
         
     | 
| 
      
 2709 
     | 
    
         
            +
            find.uniqueSort = jQuery.uniqueSort;
         
     | 
| 
       2789 
2710 
     | 
    
         | 
| 
      
 2711 
     | 
    
         
            +
            	/* eslint-enable */
         
     | 
| 
       2790 
2712 
     | 
    
         | 
| 
      
 2713 
     | 
    
         
            +
            } )();
         
     | 
| 
       2791 
2714 
     | 
    
         | 
| 
       2792 
2715 
     | 
    
         | 
| 
       2793 
2716 
     | 
    
         
             
            var dir = function( elem, dir, until ) {
         
     | 
| 
         @@ -2821,13 +2744,6 @@ var siblings = function( n, elem ) { 
     | 
|
| 
       2821 
2744 
     | 
    
         | 
| 
       2822 
2745 
     | 
    
         
             
            var rneedsContext = jQuery.expr.match.needsContext;
         
     | 
| 
       2823 
2746 
     | 
    
         | 
| 
       2824 
     | 
    
         
            -
             
     | 
| 
       2825 
     | 
    
         
            -
             
     | 
| 
       2826 
     | 
    
         
            -
            function nodeName( elem, name ) {
         
     | 
| 
       2827 
     | 
    
         
            -
             
     | 
| 
       2828 
     | 
    
         
            -
              return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
         
     | 
| 
       2829 
     | 
    
         
            -
             
     | 
| 
       2830 
     | 
    
         
            -
            };
         
     | 
| 
       2831 
2747 
     | 
    
         
             
            var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
         
     | 
| 
       2832 
2748 
     | 
    
         | 
| 
       2833 
2749 
     | 
    
         | 
| 
         @@ -2926,8 +2842,8 @@ jQuery.fn.extend( { 
     | 
|
| 
       2926 
2842 
     | 
    
         
             
            var rootjQuery,
         
     | 
| 
       2927 
2843 
     | 
    
         | 
| 
       2928 
2844 
     | 
    
         
             
            	// A simple way to check for HTML strings
         
     | 
| 
       2929 
     | 
    
         
            -
            	// Prioritize #id over <tag> to avoid XSS via location.hash ( 
     | 
| 
       2930 
     | 
    
         
            -
            	// Strict HTML recognition ( 
     | 
| 
      
 2845 
     | 
    
         
            +
            	// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
         
     | 
| 
      
 2846 
     | 
    
         
            +
            	// Strict HTML recognition (trac-11290: must start with <)
         
     | 
| 
       2931 
2847 
     | 
    
         
             
            	// Shortcut simple #id case for speed
         
     | 
| 
       2932 
2848 
     | 
    
         
             
            	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
         
     | 
| 
       2933 
2849 
     | 
    
         | 
| 
         @@ -3078,7 +2994,7 @@ jQuery.fn.extend( { 
     | 
|
| 
       3078 
2994 
     | 
    
         
             
            					if ( cur.nodeType < 11 && ( targets ?
         
     | 
| 
       3079 
2995 
     | 
    
         
             
            						targets.index( cur ) > -1 :
         
     | 
| 
       3080 
2996 
     | 
    
         | 
| 
       3081 
     | 
    
         
            -
            						// Don't pass non-elements to  
     | 
| 
      
 2997 
     | 
    
         
            +
            						// Don't pass non-elements to jQuery#find
         
     | 
| 
       3082 
2998 
     | 
    
         
             
            						cur.nodeType === 1 &&
         
     | 
| 
       3083 
2999 
     | 
    
         
             
            							jQuery.find.matchesSelector( cur, selectors ) ) ) {
         
     | 
| 
       3084 
3000 
     | 
    
         | 
| 
         @@ -3141,7 +3057,7 @@ jQuery.each( { 
     | 
|
| 
       3141 
3057 
     | 
    
         
             
            	parents: function( elem ) {
         
     | 
| 
       3142 
3058 
     | 
    
         
             
            		return dir( elem, "parentNode" );
         
     | 
| 
       3143 
3059 
     | 
    
         
             
            	},
         
     | 
| 
       3144 
     | 
    
         
            -
            	parentsUntil: function( elem,  
     | 
| 
      
 3060 
     | 
    
         
            +
            	parentsUntil: function( elem, _i, until ) {
         
     | 
| 
       3145 
3061 
     | 
    
         
             
            		return dir( elem, "parentNode", until );
         
     | 
| 
       3146 
3062 
     | 
    
         
             
            	},
         
     | 
| 
       3147 
3063 
     | 
    
         
             
            	next: function( elem ) {
         
     | 
| 
         @@ -3156,10 +3072,10 @@ jQuery.each( { 
     | 
|
| 
       3156 
3072 
     | 
    
         
             
            	prevAll: function( elem ) {
         
     | 
| 
       3157 
3073 
     | 
    
         
             
            		return dir( elem, "previousSibling" );
         
     | 
| 
       3158 
3074 
     | 
    
         
             
            	},
         
     | 
| 
       3159 
     | 
    
         
            -
            	nextUntil: function( elem,  
     | 
| 
      
 3075 
     | 
    
         
            +
            	nextUntil: function( elem, _i, until ) {
         
     | 
| 
       3160 
3076 
     | 
    
         
             
            		return dir( elem, "nextSibling", until );
         
     | 
| 
       3161 
3077 
     | 
    
         
             
            	},
         
     | 
| 
       3162 
     | 
    
         
            -
            	prevUntil: function( elem,  
     | 
| 
      
 3078 
     | 
    
         
            +
            	prevUntil: function( elem, _i, until ) {
         
     | 
| 
       3163 
3079 
     | 
    
         
             
            		return dir( elem, "previousSibling", until );
         
     | 
| 
       3164 
3080 
     | 
    
         
             
            	},
         
     | 
| 
       3165 
3081 
     | 
    
         
             
            	siblings: function( elem ) {
         
     | 
| 
         @@ -3169,7 +3085,13 @@ jQuery.each( { 
     | 
|
| 
       3169 
3085 
     | 
    
         
             
            		return siblings( elem.firstChild );
         
     | 
| 
       3170 
3086 
     | 
    
         
             
            	},
         
     | 
| 
       3171 
3087 
     | 
    
         
             
            	contents: function( elem ) {
         
     | 
| 
       3172 
     | 
    
         
            -
            		if (  
     | 
| 
      
 3088 
     | 
    
         
            +
            		if ( elem.contentDocument != null &&
         
     | 
| 
      
 3089 
     | 
    
         
            +
             
     | 
| 
      
 3090 
     | 
    
         
            +
            			// Support: IE 11+
         
     | 
| 
      
 3091 
     | 
    
         
            +
            			// <object> elements with no `data` attribute has an object
         
     | 
| 
      
 3092 
     | 
    
         
            +
            			// `contentDocument` with a `null` prototype.
         
     | 
| 
      
 3093 
     | 
    
         
            +
            			getProto( elem.contentDocument ) ) {
         
     | 
| 
      
 3094 
     | 
    
         
            +
             
     | 
| 
       3173 
3095 
     | 
    
         
             
            			return elem.contentDocument;
         
     | 
| 
       3174 
3096 
     | 
    
         
             
            		}
         
     | 
| 
       3175 
3097 
     | 
    
         | 
| 
         @@ -3512,7 +3434,7 @@ jQuery.extend( { 
     | 
|
| 
       3512 
3434 
     | 
    
         
             
            					var fns = arguments;
         
     | 
| 
       3513 
3435 
     | 
    
         | 
| 
       3514 
3436 
     | 
    
         
             
            					return jQuery.Deferred( function( newDefer ) {
         
     | 
| 
       3515 
     | 
    
         
            -
            						jQuery.each( tuples, function(  
     | 
| 
      
 3437 
     | 
    
         
            +
            						jQuery.each( tuples, function( _i, tuple ) {
         
     | 
| 
       3516 
3438 
     | 
    
         | 
| 
       3517 
3439 
     | 
    
         
             
            							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
         
     | 
| 
       3518 
3440 
     | 
    
         
             
            							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
         
     | 
| 
         @@ -3627,7 +3549,7 @@ jQuery.extend( { 
     | 
|
| 
       3627 
3549 
     | 
    
         | 
| 
       3628 
3550 
     | 
    
         
             
            											if ( jQuery.Deferred.exceptionHook ) {
         
     | 
| 
       3629 
3551 
     | 
    
         
             
            												jQuery.Deferred.exceptionHook( e,
         
     | 
| 
       3630 
     | 
    
         
            -
            													process. 
     | 
| 
      
 3552 
     | 
    
         
            +
            													process.error );
         
     | 
| 
       3631 
3553 
     | 
    
         
             
            											}
         
     | 
| 
       3632 
3554 
     | 
    
         | 
| 
       3633 
3555 
     | 
    
         
             
            											// Support: Promises/A+ section 2.3.3.3.4.1
         
     | 
| 
         @@ -3655,10 +3577,17 @@ jQuery.extend( { 
     | 
|
| 
       3655 
3577 
     | 
    
         
             
            								process();
         
     | 
| 
       3656 
3578 
     | 
    
         
             
            							} else {
         
     | 
| 
       3657 
3579 
     | 
    
         | 
| 
       3658 
     | 
    
         
            -
            								// Call an optional hook to record the  
     | 
| 
      
 3580 
     | 
    
         
            +
            								// Call an optional hook to record the error, in case of exception
         
     | 
| 
       3659 
3581 
     | 
    
         
             
            								// since it's otherwise lost when execution goes async
         
     | 
| 
       3660 
     | 
    
         
            -
            								if ( jQuery.Deferred. 
     | 
| 
       3661 
     | 
    
         
            -
            									process. 
     | 
| 
      
 3582 
     | 
    
         
            +
            								if ( jQuery.Deferred.getErrorHook ) {
         
     | 
| 
      
 3583 
     | 
    
         
            +
            									process.error = jQuery.Deferred.getErrorHook();
         
     | 
| 
      
 3584 
     | 
    
         
            +
             
     | 
| 
      
 3585 
     | 
    
         
            +
            								// The deprecated alias of the above. While the name suggests
         
     | 
| 
      
 3586 
     | 
    
         
            +
            								// returning the stack, not an error instance, jQuery just passes
         
     | 
| 
      
 3587 
     | 
    
         
            +
            								// it directly to `console.warn` so both will work; an instance
         
     | 
| 
      
 3588 
     | 
    
         
            +
            								// just better cooperates with source maps.
         
     | 
| 
      
 3589 
     | 
    
         
            +
            								} else if ( jQuery.Deferred.getStackHook ) {
         
     | 
| 
      
 3590 
     | 
    
         
            +
            									process.error = jQuery.Deferred.getStackHook();
         
     | 
| 
       3662 
3591 
     | 
    
         
             
            								}
         
     | 
| 
       3663 
3592 
     | 
    
         
             
            								window.setTimeout( process );
         
     | 
| 
       3664 
3593 
     | 
    
         
             
            							}
         
     | 
| 
         @@ -3792,8 +3721,8 @@ jQuery.extend( { 
     | 
|
| 
       3792 
3721 
     | 
    
         
             
            			resolveContexts = Array( i ),
         
     | 
| 
       3793 
3722 
     | 
    
         
             
            			resolveValues = slice.call( arguments ),
         
     | 
| 
       3794 
3723 
     | 
    
         | 
| 
       3795 
     | 
    
         
            -
            			// the  
     | 
| 
       3796 
     | 
    
         
            -
            			 
     | 
| 
      
 3724 
     | 
    
         
            +
            			// the primary Deferred
         
     | 
| 
      
 3725 
     | 
    
         
            +
            			primary = jQuery.Deferred(),
         
     | 
| 
       3797 
3726 
     | 
    
         | 
| 
       3798 
3727 
     | 
    
         
             
            			// subordinate callback factory
         
     | 
| 
       3799 
3728 
     | 
    
         
             
            			updateFunc = function( i ) {
         
     | 
| 
         @@ -3801,30 +3730,30 @@ jQuery.extend( { 
     | 
|
| 
       3801 
3730 
     | 
    
         
             
            					resolveContexts[ i ] = this;
         
     | 
| 
       3802 
3731 
     | 
    
         
             
            					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
         
     | 
| 
       3803 
3732 
     | 
    
         
             
            					if ( !( --remaining ) ) {
         
     | 
| 
       3804 
     | 
    
         
            -
            						 
     | 
| 
      
 3733 
     | 
    
         
            +
            						primary.resolveWith( resolveContexts, resolveValues );
         
     | 
| 
       3805 
3734 
     | 
    
         
             
            					}
         
     | 
| 
       3806 
3735 
     | 
    
         
             
            				};
         
     | 
| 
       3807 
3736 
     | 
    
         
             
            			};
         
     | 
| 
       3808 
3737 
     | 
    
         | 
| 
       3809 
3738 
     | 
    
         
             
            		// Single- and empty arguments are adopted like Promise.resolve
         
     | 
| 
       3810 
3739 
     | 
    
         
             
            		if ( remaining <= 1 ) {
         
     | 
| 
       3811 
     | 
    
         
            -
            			adoptValue( singleValue,  
     | 
| 
      
 3740 
     | 
    
         
            +
            			adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
         
     | 
| 
       3812 
3741 
     | 
    
         
             
            				!remaining );
         
     | 
| 
       3813 
3742 
     | 
    
         | 
| 
       3814 
3743 
     | 
    
         
             
            			// Use .then() to unwrap secondary thenables (cf. gh-3000)
         
     | 
| 
       3815 
     | 
    
         
            -
            			if (  
     | 
| 
      
 3744 
     | 
    
         
            +
            			if ( primary.state() === "pending" ||
         
     | 
| 
       3816 
3745 
     | 
    
         
             
            				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
         
     | 
| 
       3817 
3746 
     | 
    
         | 
| 
       3818 
     | 
    
         
            -
            				return  
     | 
| 
      
 3747 
     | 
    
         
            +
            				return primary.then();
         
     | 
| 
       3819 
3748 
     | 
    
         
             
            			}
         
     | 
| 
       3820 
3749 
     | 
    
         
             
            		}
         
     | 
| 
       3821 
3750 
     | 
    
         | 
| 
       3822 
3751 
     | 
    
         
             
            		// Multiple arguments are aggregated like Promise.all array elements
         
     | 
| 
       3823 
3752 
     | 
    
         
             
            		while ( i-- ) {
         
     | 
| 
       3824 
     | 
    
         
            -
            			adoptValue( resolveValues[ i ], updateFunc( i ),  
     | 
| 
      
 3753 
     | 
    
         
            +
            			adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
         
     | 
| 
       3825 
3754 
     | 
    
         
             
            		}
         
     | 
| 
       3826 
3755 
     | 
    
         | 
| 
       3827 
     | 
    
         
            -
            		return  
     | 
| 
      
 3756 
     | 
    
         
            +
            		return primary.promise();
         
     | 
| 
       3828 
3757 
     | 
    
         
             
            	}
         
     | 
| 
       3829 
3758 
     | 
    
         
             
            } );
         
     | 
| 
       3830 
3759 
     | 
    
         | 
| 
         @@ -3833,12 +3762,16 @@ jQuery.extend( { 
     | 
|
| 
       3833 
3762 
     | 
    
         
             
            // warn about them ASAP rather than swallowing them by default.
         
     | 
| 
       3834 
3763 
     | 
    
         
             
            var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
         
     | 
| 
       3835 
3764 
     | 
    
         | 
| 
       3836 
     | 
    
         
            -
            jQuery.Deferred. 
     | 
| 
      
 3765 
     | 
    
         
            +
            // If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error
         
     | 
| 
      
 3766 
     | 
    
         
            +
            // captured before the async barrier to get the original error cause
         
     | 
| 
      
 3767 
     | 
    
         
            +
            // which may otherwise be hidden.
         
     | 
| 
      
 3768 
     | 
    
         
            +
            jQuery.Deferred.exceptionHook = function( error, asyncError ) {
         
     | 
| 
       3837 
3769 
     | 
    
         | 
| 
       3838 
3770 
     | 
    
         
             
            	// Support: IE 8 - 9 only
         
     | 
| 
       3839 
3771 
     | 
    
         
             
            	// Console exists when dev tools are open, which can happen at any time
         
     | 
| 
       3840 
3772 
     | 
    
         
             
            	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
         
     | 
| 
       3841 
     | 
    
         
            -
            		window.console.warn( "jQuery.Deferred exception: " + error.message, 
     | 
| 
      
 3773 
     | 
    
         
            +
            		window.console.warn( "jQuery.Deferred exception: " + error.message,
         
     | 
| 
      
 3774 
     | 
    
         
            +
            			error.stack, asyncError );
         
     | 
| 
       3842 
3775 
     | 
    
         
             
            	}
         
     | 
| 
       3843 
3776 
     | 
    
         
             
            };
         
     | 
| 
       3844 
3777 
     | 
    
         | 
| 
         @@ -3878,7 +3811,7 @@ jQuery.extend( { 
     | 
|
| 
       3878 
3811 
     | 
    
         
             
            	isReady: false,
         
     | 
| 
       3879 
3812 
     | 
    
         | 
| 
       3880 
3813 
     | 
    
         
             
            	// A counter to track how many items to wait for before
         
     | 
| 
       3881 
     | 
    
         
            -
            	// the ready event fires. See  
     | 
| 
      
 3814 
     | 
    
         
            +
            	// the ready event fires. See trac-6781
         
     | 
| 
       3882 
3815 
     | 
    
         
             
            	readyWait: 1,
         
     | 
| 
       3883 
3816 
     | 
    
         | 
| 
       3884 
3817 
     | 
    
         
             
            	// Handle when the DOM is ready
         
     | 
| 
         @@ -3965,7 +3898,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 
     | 
|
| 
       3965 
3898 
     | 
    
         
             
            			// ...except when executing function values
         
     | 
| 
       3966 
3899 
     | 
    
         
             
            			} else {
         
     | 
| 
       3967 
3900 
     | 
    
         
             
            				bulk = fn;
         
     | 
| 
       3968 
     | 
    
         
            -
            				fn = function( elem,  
     | 
| 
      
 3901 
     | 
    
         
            +
            				fn = function( elem, _key, value ) {
         
     | 
| 
       3969 
3902 
     | 
    
         
             
            					return bulk.call( jQuery( elem ), value );
         
     | 
| 
       3970 
3903 
     | 
    
         
             
            				};
         
     | 
| 
       3971 
3904 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -3975,8 +3908,8 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 
     | 
|
| 
       3975 
3908 
     | 
    
         
             
            			for ( ; i < len; i++ ) {
         
     | 
| 
       3976 
3909 
     | 
    
         
             
            				fn(
         
     | 
| 
       3977 
3910 
     | 
    
         
             
            					elems[ i ], key, raw ?
         
     | 
| 
       3978 
     | 
    
         
            -
             
     | 
| 
       3979 
     | 
    
         
            -
             
     | 
| 
      
 3911 
     | 
    
         
            +
            						value :
         
     | 
| 
      
 3912 
     | 
    
         
            +
            						value.call( elems[ i ], i, fn( elems[ i ], key ) )
         
     | 
| 
       3980 
3913 
     | 
    
         
             
            				);
         
     | 
| 
       3981 
3914 
     | 
    
         
             
            			}
         
     | 
| 
       3982 
3915 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -4000,13 +3933,13 @@ var rmsPrefix = /^-ms-/, 
     | 
|
| 
       4000 
3933 
     | 
    
         
             
            	rdashAlpha = /-([a-z])/g;
         
     | 
| 
       4001 
3934 
     | 
    
         | 
| 
       4002 
3935 
     | 
    
         
             
            // Used by camelCase as callback to replace()
         
     | 
| 
       4003 
     | 
    
         
            -
            function fcamelCase(  
     | 
| 
      
 3936 
     | 
    
         
            +
            function fcamelCase( _all, letter ) {
         
     | 
| 
       4004 
3937 
     | 
    
         
             
            	return letter.toUpperCase();
         
     | 
| 
       4005 
3938 
     | 
    
         
             
            }
         
     | 
| 
       4006 
3939 
     | 
    
         | 
| 
       4007 
3940 
     | 
    
         
             
            // Convert dashed to camelCase; used by the css and data modules
         
     | 
| 
       4008 
3941 
     | 
    
         
             
            // Support: IE <=9 - 11, Edge 12 - 15
         
     | 
| 
       4009 
     | 
    
         
            -
            // Microsoft forgot to hump their vendor prefix ( 
     | 
| 
      
 3942 
     | 
    
         
            +
            // Microsoft forgot to hump their vendor prefix (trac-9572)
         
     | 
| 
       4010 
3943 
     | 
    
         
             
            function camelCase( string ) {
         
     | 
| 
       4011 
3944 
     | 
    
         
             
            	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
         
     | 
| 
       4012 
3945 
     | 
    
         
             
            }
         
     | 
| 
         @@ -4042,7 +3975,7 @@ Data.prototype = { 
     | 
|
| 
       4042 
3975 
     | 
    
         
             
            			value = {};
         
     | 
| 
       4043 
3976 
     | 
    
         | 
| 
       4044 
3977 
     | 
    
         
             
            			// We can accept data for non-element nodes in modern browsers,
         
     | 
| 
       4045 
     | 
    
         
            -
            			// but we should not, see  
     | 
| 
      
 3978 
     | 
    
         
            +
            			// but we should not, see trac-8335.
         
     | 
| 
       4046 
3979 
     | 
    
         
             
            			// Always return an empty object.
         
     | 
| 
       4047 
3980 
     | 
    
         
             
            			if ( acceptData( owner ) ) {
         
     | 
| 
       4048 
3981 
     | 
    
         | 
| 
         @@ -4281,7 +4214,7 @@ jQuery.fn.extend( { 
     | 
|
| 
       4281 
4214 
     | 
    
         
             
            					while ( i-- ) {
         
     | 
| 
       4282 
4215 
     | 
    
         | 
| 
       4283 
4216 
     | 
    
         
             
            						// Support: IE 11 only
         
     | 
| 
       4284 
     | 
    
         
            -
            						// The attrs elements can be null ( 
     | 
| 
      
 4217 
     | 
    
         
            +
            						// The attrs elements can be null (trac-14894)
         
     | 
| 
       4285 
4218 
     | 
    
         
             
            						if ( attrs[ i ] ) {
         
     | 
| 
       4286 
4219 
     | 
    
         
             
            							name = attrs[ i ].name;
         
     | 
| 
       4287 
4220 
     | 
    
         
             
            							if ( name.indexOf( "data-" ) === 0 ) {
         
     | 
| 
         @@ -4528,27 +4461,6 @@ var isHiddenWithinTree = function( elem, el ) { 
     | 
|
| 
       4528 
4461 
     | 
    
         
             
            			jQuery.css( elem, "display" ) === "none";
         
     | 
| 
       4529 
4462 
     | 
    
         
             
            	};
         
     | 
| 
       4530 
4463 
     | 
    
         | 
| 
       4531 
     | 
    
         
            -
            var swap = function( elem, options, callback, args ) {
         
     | 
| 
       4532 
     | 
    
         
            -
            	var ret, name,
         
     | 
| 
       4533 
     | 
    
         
            -
            		old = {};
         
     | 
| 
       4534 
     | 
    
         
            -
             
     | 
| 
       4535 
     | 
    
         
            -
            	// Remember the old values, and insert the new ones
         
     | 
| 
       4536 
     | 
    
         
            -
            	for ( name in options ) {
         
     | 
| 
       4537 
     | 
    
         
            -
            		old[ name ] = elem.style[ name ];
         
     | 
| 
       4538 
     | 
    
         
            -
            		elem.style[ name ] = options[ name ];
         
     | 
| 
       4539 
     | 
    
         
            -
            	}
         
     | 
| 
       4540 
     | 
    
         
            -
             
     | 
| 
       4541 
     | 
    
         
            -
            	ret = callback.apply( elem, args || [] );
         
     | 
| 
       4542 
     | 
    
         
            -
             
     | 
| 
       4543 
     | 
    
         
            -
            	// Revert the old values
         
     | 
| 
       4544 
     | 
    
         
            -
            	for ( name in options ) {
         
     | 
| 
       4545 
     | 
    
         
            -
            		elem.style[ name ] = old[ name ];
         
     | 
| 
       4546 
     | 
    
         
            -
            	}
         
     | 
| 
       4547 
     | 
    
         
            -
             
     | 
| 
       4548 
     | 
    
         
            -
            	return ret;
         
     | 
| 
       4549 
     | 
    
         
            -
            };
         
     | 
| 
       4550 
     | 
    
         
            -
             
     | 
| 
       4551 
     | 
    
         
            -
             
     | 
| 
       4552 
4464 
     | 
    
         | 
| 
       4553 
4465 
     | 
    
         | 
| 
       4554 
4466 
     | 
    
         
             
            function adjustCSS( elem, prop, valueParts, tween ) {
         
     | 
| 
         @@ -4719,11 +4631,40 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); 
     | 
|
| 
       4719 
4631 
     | 
    
         | 
| 
       4720 
4632 
     | 
    
         | 
| 
       4721 
4633 
     | 
    
         | 
| 
       4722 
     | 
    
         
            -
             
     | 
| 
       4723 
     | 
    
         
            -
            var  
     | 
| 
      
 4634 
     | 
    
         
            +
            ( function() {
         
     | 
| 
      
 4635 
     | 
    
         
            +
            	var fragment = document.createDocumentFragment(),
         
     | 
| 
      
 4636 
     | 
    
         
            +
            		div = fragment.appendChild( document.createElement( "div" ) ),
         
     | 
| 
      
 4637 
     | 
    
         
            +
            		input = document.createElement( "input" );
         
     | 
| 
      
 4638 
     | 
    
         
            +
             
     | 
| 
      
 4639 
     | 
    
         
            +
            	// Support: Android 4.0 - 4.3 only
         
     | 
| 
      
 4640 
     | 
    
         
            +
            	// Check state lost if the name is set (trac-11217)
         
     | 
| 
      
 4641 
     | 
    
         
            +
            	// Support: Windows Web Apps (WWA)
         
     | 
| 
      
 4642 
     | 
    
         
            +
            	// `name` and `type` must use .setAttribute for WWA (trac-14901)
         
     | 
| 
      
 4643 
     | 
    
         
            +
            	input.setAttribute( "type", "radio" );
         
     | 
| 
      
 4644 
     | 
    
         
            +
            	input.setAttribute( "checked", "checked" );
         
     | 
| 
      
 4645 
     | 
    
         
            +
            	input.setAttribute( "name", "t" );
         
     | 
| 
      
 4646 
     | 
    
         
            +
             
     | 
| 
      
 4647 
     | 
    
         
            +
            	div.appendChild( input );
         
     | 
| 
      
 4648 
     | 
    
         
            +
             
     | 
| 
      
 4649 
     | 
    
         
            +
            	// Support: Android <=4.1 only
         
     | 
| 
      
 4650 
     | 
    
         
            +
            	// Older WebKit doesn't clone checked state correctly in fragments
         
     | 
| 
      
 4651 
     | 
    
         
            +
            	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
         
     | 
| 
      
 4652 
     | 
    
         
            +
             
     | 
| 
      
 4653 
     | 
    
         
            +
            	// Support: IE <=11 only
         
     | 
| 
      
 4654 
     | 
    
         
            +
            	// Make sure textarea (and checkbox) defaultValue is properly cloned
         
     | 
| 
      
 4655 
     | 
    
         
            +
            	div.innerHTML = "<textarea>x</textarea>";
         
     | 
| 
      
 4656 
     | 
    
         
            +
            	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
         
     | 
| 
       4724 
4657 
     | 
    
         | 
| 
       4725 
4658 
     | 
    
         
             
            	// Support: IE <=9 only
         
     | 
| 
       4726 
     | 
    
         
            -
            	 
     | 
| 
      
 4659 
     | 
    
         
            +
            	// IE <=9 replaces <option> tags with their contents when inserted outside of
         
     | 
| 
      
 4660 
     | 
    
         
            +
            	// the select element.
         
     | 
| 
      
 4661 
     | 
    
         
            +
            	div.innerHTML = "<option></option>";
         
     | 
| 
      
 4662 
     | 
    
         
            +
            	support.option = !!div.lastChild;
         
     | 
| 
      
 4663 
     | 
    
         
            +
            } )();
         
     | 
| 
      
 4664 
     | 
    
         
            +
             
     | 
| 
      
 4665 
     | 
    
         
            +
             
     | 
| 
      
 4666 
     | 
    
         
            +
            // We have to close these tags to support XHTML (trac-13200)
         
     | 
| 
      
 4667 
     | 
    
         
            +
            var wrapMap = {
         
     | 
| 
       4727 
4668 
     | 
    
         | 
| 
       4728 
4669 
     | 
    
         
             
            	// XHTML parsers do not magically insert elements in the
         
     | 
| 
       4729 
4670 
     | 
    
         
             
            	// same way that tag soup parsers do. So we cannot shorten
         
     | 
| 
         @@ -4736,17 +4677,19 @@ var wrapMap = { 
     | 
|
| 
       4736 
4677 
     | 
    
         
             
            	_default: [ 0, "", "" ]
         
     | 
| 
       4737 
4678 
     | 
    
         
             
            };
         
     | 
| 
       4738 
4679 
     | 
    
         | 
| 
       4739 
     | 
    
         
            -
            // Support: IE <=9 only
         
     | 
| 
       4740 
     | 
    
         
            -
            wrapMap.optgroup = wrapMap.option;
         
     | 
| 
       4741 
     | 
    
         
            -
             
     | 
| 
       4742 
4680 
     | 
    
         
             
            wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
         
     | 
| 
       4743 
4681 
     | 
    
         
             
            wrapMap.th = wrapMap.td;
         
     | 
| 
       4744 
4682 
     | 
    
         | 
| 
      
 4683 
     | 
    
         
            +
            // Support: IE <=9 only
         
     | 
| 
      
 4684 
     | 
    
         
            +
            if ( !support.option ) {
         
     | 
| 
      
 4685 
     | 
    
         
            +
            	wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
         
     | 
| 
      
 4686 
     | 
    
         
            +
            }
         
     | 
| 
      
 4687 
     | 
    
         
            +
             
     | 
| 
       4745 
4688 
     | 
    
         | 
| 
       4746 
4689 
     | 
    
         
             
            function getAll( context, tag ) {
         
     | 
| 
       4747 
4690 
     | 
    
         | 
| 
       4748 
4691 
     | 
    
         
             
            	// Support: IE <=9 - 11 only
         
     | 
| 
       4749 
     | 
    
         
            -
            	// Use typeof to avoid zero-argument method invocation on host objects ( 
     | 
| 
      
 4692 
     | 
    
         
            +
            	// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
         
     | 
| 
       4750 
4693 
     | 
    
         
             
            	var ret;
         
     | 
| 
       4751 
4694 
     | 
    
         | 
| 
       4752 
4695 
     | 
    
         
             
            	if ( typeof context.getElementsByTagName !== "undefined" ) {
         
     | 
| 
         @@ -4829,7 +4772,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) { 
     | 
|
| 
       4829 
4772 
     | 
    
         
             
            				// Remember the top-level container
         
     | 
| 
       4830 
4773 
     | 
    
         
             
            				tmp = fragment.firstChild;
         
     | 
| 
       4831 
4774 
     | 
    
         | 
| 
       4832 
     | 
    
         
            -
            				// Ensure the created nodes are orphaned ( 
     | 
| 
      
 4775 
     | 
    
         
            +
            				// Ensure the created nodes are orphaned (trac-12392)
         
     | 
| 
       4833 
4776 
     | 
    
         
             
            				tmp.textContent = "";
         
     | 
| 
       4834 
4777 
     | 
    
         
             
            			}
         
     | 
| 
       4835 
4778 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -4870,40 +4813,11 @@ function buildFragment( elems, context, scripts, selection, ignored ) { 
     | 
|
| 
       4870 
4813 
     | 
    
         
             
            		}
         
     | 
| 
       4871 
4814 
     | 
    
         
             
            	}
         
     | 
| 
       4872 
4815 
     | 
    
         | 
| 
       4873 
     | 
    
         
            -
            	return fragment;
         
     | 
| 
       4874 
     | 
    
         
            -
            }
         
     | 
| 
       4875 
     | 
    
         
            -
             
     | 
| 
       4876 
     | 
    
         
            -
             
     | 
| 
       4877 
     | 
    
         
            -
            ( function() {
         
     | 
| 
       4878 
     | 
    
         
            -
            	var fragment = document.createDocumentFragment(),
         
     | 
| 
       4879 
     | 
    
         
            -
            		div = fragment.appendChild( document.createElement( "div" ) ),
         
     | 
| 
       4880 
     | 
    
         
            -
            		input = document.createElement( "input" );
         
     | 
| 
       4881 
     | 
    
         
            -
             
     | 
| 
       4882 
     | 
    
         
            -
            	// Support: Android 4.0 - 4.3 only
         
     | 
| 
       4883 
     | 
    
         
            -
            	// Check state lost if the name is set (#11217)
         
     | 
| 
       4884 
     | 
    
         
            -
            	// Support: Windows Web Apps (WWA)
         
     | 
| 
       4885 
     | 
    
         
            -
            	// `name` and `type` must use .setAttribute for WWA (#14901)
         
     | 
| 
       4886 
     | 
    
         
            -
            	input.setAttribute( "type", "radio" );
         
     | 
| 
       4887 
     | 
    
         
            -
            	input.setAttribute( "checked", "checked" );
         
     | 
| 
       4888 
     | 
    
         
            -
            	input.setAttribute( "name", "t" );
         
     | 
| 
       4889 
     | 
    
         
            -
             
     | 
| 
       4890 
     | 
    
         
            -
            	div.appendChild( input );
         
     | 
| 
       4891 
     | 
    
         
            -
             
     | 
| 
       4892 
     | 
    
         
            -
            	// Support: Android <=4.1 only
         
     | 
| 
       4893 
     | 
    
         
            -
            	// Older WebKit doesn't clone checked state correctly in fragments
         
     | 
| 
       4894 
     | 
    
         
            -
            	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
         
     | 
| 
       4895 
     | 
    
         
            -
             
     | 
| 
       4896 
     | 
    
         
            -
            	// Support: IE <=11 only
         
     | 
| 
       4897 
     | 
    
         
            -
            	// Make sure textarea (and checkbox) defaultValue is properly cloned
         
     | 
| 
       4898 
     | 
    
         
            -
            	div.innerHTML = "<textarea>x</textarea>";
         
     | 
| 
       4899 
     | 
    
         
            -
            	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
         
     | 
| 
       4900 
     | 
    
         
            -
            } )();
         
     | 
| 
       4901 
     | 
    
         
            -
             
     | 
| 
      
 4816 
     | 
    
         
            +
            	return fragment;
         
     | 
| 
      
 4817 
     | 
    
         
            +
            }
         
     | 
| 
       4902 
4818 
     | 
    
         | 
| 
       4903 
     | 
    
         
            -
             
     | 
| 
       4904 
     | 
    
         
            -
             
     | 
| 
       4905 
     | 
    
         
            -
            	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
         
     | 
| 
       4906 
     | 
    
         
            -
            	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
         
     | 
| 
      
 4819 
     | 
    
         
            +
             
     | 
| 
      
 4820 
     | 
    
         
            +
            var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
         
     | 
| 
       4907 
4821 
     | 
    
         | 
| 
       4908 
4822 
     | 
    
         
             
            function returnTrue() {
         
     | 
| 
       4909 
4823 
     | 
    
         
             
            	return true;
         
     | 
| 
         @@ -4913,25 +4827,6 @@ function returnFalse() { 
     | 
|
| 
       4913 
4827 
     | 
    
         
             
            	return false;
         
     | 
| 
       4914 
4828 
     | 
    
         
             
            }
         
     | 
| 
       4915 
4829 
     | 
    
         | 
| 
       4916 
     | 
    
         
            -
            // Support: IE <=9 - 11+
         
     | 
| 
       4917 
     | 
    
         
            -
            // focus() and blur() are asynchronous, except when they are no-op.
         
     | 
| 
       4918 
     | 
    
         
            -
            // So expect focus to be synchronous when the element is already active,
         
     | 
| 
       4919 
     | 
    
         
            -
            // and blur to be synchronous when the element is not already active.
         
     | 
| 
       4920 
     | 
    
         
            -
            // (focus and blur are always synchronous in other supported browsers,
         
     | 
| 
       4921 
     | 
    
         
            -
            // this just defines when we can count on it).
         
     | 
| 
       4922 
     | 
    
         
            -
            function expectSync( elem, type ) {
         
     | 
| 
       4923 
     | 
    
         
            -
            	return ( elem === safeActiveElement() ) === ( type === "focus" );
         
     | 
| 
       4924 
     | 
    
         
            -
            }
         
     | 
| 
       4925 
     | 
    
         
            -
             
     | 
| 
       4926 
     | 
    
         
            -
            // Support: IE <=9 only
         
     | 
| 
       4927 
     | 
    
         
            -
            // Accessing document.activeElement can throw unexpectedly
         
     | 
| 
       4928 
     | 
    
         
            -
            // https://bugs.jquery.com/ticket/13393
         
     | 
| 
       4929 
     | 
    
         
            -
            function safeActiveElement() {
         
     | 
| 
       4930 
     | 
    
         
            -
            	try {
         
     | 
| 
       4931 
     | 
    
         
            -
            		return document.activeElement;
         
     | 
| 
       4932 
     | 
    
         
            -
            	} catch ( err ) { }
         
     | 
| 
       4933 
     | 
    
         
            -
            }
         
     | 
| 
       4934 
     | 
    
         
            -
             
     | 
| 
       4935 
4830 
     | 
    
         
             
            function on( elem, types, selector, data, fn, one ) {
         
     | 
| 
       4936 
4831 
     | 
    
         
             
            	var origFn, type;
         
     | 
| 
       4937 
4832 
     | 
    
         | 
| 
         @@ -5008,8 +4903,8 @@ jQuery.event = { 
     | 
|
| 
       5008 
4903 
     | 
    
         
             
            			special, handlers, type, namespaces, origType,
         
     | 
| 
       5009 
4904 
     | 
    
         
             
            			elemData = dataPriv.get( elem );
         
     | 
| 
       5010 
4905 
     | 
    
         | 
| 
       5011 
     | 
    
         
            -
            		//  
     | 
| 
       5012 
     | 
    
         
            -
            		if ( ! 
     | 
| 
      
 4906 
     | 
    
         
            +
            		// Only attach events to objects that accept data
         
     | 
| 
      
 4907 
     | 
    
         
            +
            		if ( !acceptData( elem ) ) {
         
     | 
| 
       5013 
4908 
     | 
    
         
             
            			return;
         
     | 
| 
       5014 
4909 
     | 
    
         
             
            		}
         
     | 
| 
       5015 
4910 
     | 
    
         | 
| 
         @@ -5033,7 +4928,7 @@ jQuery.event = { 
     | 
|
| 
       5033 
4928 
     | 
    
         | 
| 
       5034 
4929 
     | 
    
         
             
            		// Init the element's event structure and main handler, if this is the first
         
     | 
| 
       5035 
4930 
     | 
    
         
             
            		if ( !( events = elemData.events ) ) {
         
     | 
| 
       5036 
     | 
    
         
            -
            			events = elemData.events =  
     | 
| 
      
 4931 
     | 
    
         
            +
            			events = elemData.events = Object.create( null );
         
     | 
| 
       5037 
4932 
     | 
    
         
             
            		}
         
     | 
| 
       5038 
4933 
     | 
    
         
             
            		if ( !( eventHandle = elemData.handle ) ) {
         
     | 
| 
       5039 
4934 
     | 
    
         
             
            			eventHandle = elemData.handle = function( e ) {
         
     | 
| 
         @@ -5191,12 +5086,15 @@ jQuery.event = { 
     | 
|
| 
       5191 
5086 
     | 
    
         | 
| 
       5192 
5087 
     | 
    
         
             
            	dispatch: function( nativeEvent ) {
         
     | 
| 
       5193 
5088 
     | 
    
         | 
| 
       5194 
     | 
    
         
            -
            		// Make a writable jQuery.Event from the native event object
         
     | 
| 
       5195 
     | 
    
         
            -
            		var event = jQuery.event.fix( nativeEvent );
         
     | 
| 
       5196 
     | 
    
         
            -
             
     | 
| 
       5197 
5089 
     | 
    
         
             
            		var i, j, ret, matched, handleObj, handlerQueue,
         
     | 
| 
       5198 
5090 
     | 
    
         
             
            			args = new Array( arguments.length ),
         
     | 
| 
       5199 
     | 
    
         
            -
             
     | 
| 
      
 5091 
     | 
    
         
            +
             
     | 
| 
      
 5092 
     | 
    
         
            +
            			// Make a writable jQuery.Event from the native event object
         
     | 
| 
      
 5093 
     | 
    
         
            +
            			event = jQuery.event.fix( nativeEvent ),
         
     | 
| 
      
 5094 
     | 
    
         
            +
             
     | 
| 
      
 5095 
     | 
    
         
            +
            			handlers = (
         
     | 
| 
      
 5096 
     | 
    
         
            +
            				dataPriv.get( this, "events" ) || Object.create( null )
         
     | 
| 
      
 5097 
     | 
    
         
            +
            			)[ event.type ] || [],
         
     | 
| 
       5200 
5098 
     | 
    
         
             
            			special = jQuery.event.special[ event.type ] || {};
         
     | 
| 
       5201 
5099 
     | 
    
         | 
| 
       5202 
5100 
     | 
    
         
             
            		// Use the fix-ed jQuery.Event rather than the (read-only) native event
         
     | 
| 
         @@ -5276,15 +5174,15 @@ jQuery.event = { 
     | 
|
| 
       5276 
5174 
     | 
    
         | 
| 
       5277 
5175 
     | 
    
         
             
            			for ( ; cur !== this; cur = cur.parentNode || this ) {
         
     | 
| 
       5278 
5176 
     | 
    
         | 
| 
       5279 
     | 
    
         
            -
            				// Don't check non-elements ( 
     | 
| 
       5280 
     | 
    
         
            -
            				// Don't process clicks on disabled elements ( 
     | 
| 
      
 5177 
     | 
    
         
            +
            				// Don't check non-elements (trac-13208)
         
     | 
| 
      
 5178 
     | 
    
         
            +
            				// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
         
     | 
| 
       5281 
5179 
     | 
    
         
             
            				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
         
     | 
| 
       5282 
5180 
     | 
    
         
             
            					matchedHandlers = [];
         
     | 
| 
       5283 
5181 
     | 
    
         
             
            					matchedSelectors = {};
         
     | 
| 
       5284 
5182 
     | 
    
         
             
            					for ( i = 0; i < delegateCount; i++ ) {
         
     | 
| 
       5285 
5183 
     | 
    
         
             
            						handleObj = handlers[ i ];
         
     | 
| 
       5286 
5184 
     | 
    
         | 
| 
       5287 
     | 
    
         
            -
            						// Don't conflict with Object.prototype properties ( 
     | 
| 
      
 5185 
     | 
    
         
            +
            						// Don't conflict with Object.prototype properties (trac-13203)
         
     | 
| 
       5288 
5186 
     | 
    
         
             
            						sel = handleObj.selector + " ";
         
     | 
| 
       5289 
5187 
     | 
    
         | 
| 
       5290 
5188 
     | 
    
         
             
            						if ( matchedSelectors[ sel ] === undefined ) {
         
     | 
| 
         @@ -5320,12 +5218,12 @@ jQuery.event = { 
     | 
|
| 
       5320 
5218 
     | 
    
         
             
            			get: isFunction( hook ) ?
         
     | 
| 
       5321 
5219 
     | 
    
         
             
            				function() {
         
     | 
| 
       5322 
5220 
     | 
    
         
             
            					if ( this.originalEvent ) {
         
     | 
| 
       5323 
     | 
    
         
            -
             
     | 
| 
      
 5221 
     | 
    
         
            +
            						return hook( this.originalEvent );
         
     | 
| 
       5324 
5222 
     | 
    
         
             
            					}
         
     | 
| 
       5325 
5223 
     | 
    
         
             
            				} :
         
     | 
| 
       5326 
5224 
     | 
    
         
             
            				function() {
         
     | 
| 
       5327 
5225 
     | 
    
         
             
            					if ( this.originalEvent ) {
         
     | 
| 
       5328 
     | 
    
         
            -
             
     | 
| 
      
 5226 
     | 
    
         
            +
            						return this.originalEvent[ name ];
         
     | 
| 
       5329 
5227 
     | 
    
         
             
            					}
         
     | 
| 
       5330 
5228 
     | 
    
         
             
            				},
         
     | 
| 
       5331 
5229 
     | 
    
         | 
| 
         @@ -5366,7 +5264,7 @@ jQuery.event = { 
     | 
|
| 
       5366 
5264 
     | 
    
         
             
            					el.click && nodeName( el, "input" ) ) {
         
     | 
| 
       5367 
5265 
     | 
    
         | 
| 
       5368 
5266 
     | 
    
         
             
            					// dataPriv.set( el, "click", ... )
         
     | 
| 
       5369 
     | 
    
         
            -
            					leverageNative( el, "click",  
     | 
| 
      
 5267 
     | 
    
         
            +
            					leverageNative( el, "click", true );
         
     | 
| 
       5370 
5268 
     | 
    
         
             
            				}
         
     | 
| 
       5371 
5269 
     | 
    
         | 
| 
       5372 
5270 
     | 
    
         
             
            				// Return false to allow normal processing in the caller
         
     | 
| 
         @@ -5417,10 +5315,10 @@ jQuery.event = { 
     | 
|
| 
       5417 
5315 
     | 
    
         
             
            // synthetic events by interrupting progress until reinvoked in response to
         
     | 
| 
       5418 
5316 
     | 
    
         
             
            // *native* events that it fires directly, ensuring that state changes have
         
     | 
| 
       5419 
5317 
     | 
    
         
             
            // already occurred before other listeners are invoked.
         
     | 
| 
       5420 
     | 
    
         
            -
            function leverageNative( el, type,  
     | 
| 
      
 5318 
     | 
    
         
            +
            function leverageNative( el, type, isSetup ) {
         
     | 
| 
       5421 
5319 
     | 
    
         | 
| 
       5422 
     | 
    
         
            -
            	// Missing  
     | 
| 
       5423 
     | 
    
         
            -
            	if ( ! 
     | 
| 
      
 5320 
     | 
    
         
            +
            	// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add
         
     | 
| 
      
 5321 
     | 
    
         
            +
            	if ( !isSetup ) {
         
     | 
| 
       5424 
5322 
     | 
    
         
             
            		if ( dataPriv.get( el, type ) === undefined ) {
         
     | 
| 
       5425 
5323 
     | 
    
         
             
            			jQuery.event.add( el, type, returnTrue );
         
     | 
| 
       5426 
5324 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -5432,15 +5330,13 @@ function leverageNative( el, type, expectSync ) { 
     | 
|
| 
       5432 
5330 
     | 
    
         
             
            	jQuery.event.add( el, type, {
         
     | 
| 
       5433 
5331 
     | 
    
         
             
            		namespace: false,
         
     | 
| 
       5434 
5332 
     | 
    
         
             
            		handler: function( event ) {
         
     | 
| 
       5435 
     | 
    
         
            -
            			var  
     | 
| 
      
 5333 
     | 
    
         
            +
            			var result,
         
     | 
| 
       5436 
5334 
     | 
    
         
             
            				saved = dataPriv.get( this, type );
         
     | 
| 
       5437 
5335 
     | 
    
         | 
| 
       5438 
5336 
     | 
    
         
             
            			if ( ( event.isTrigger & 1 ) && this[ type ] ) {
         
     | 
| 
       5439 
5337 
     | 
    
         | 
| 
       5440 
5338 
     | 
    
         
             
            				// Interrupt processing of the outer synthetic .trigger()ed event
         
     | 
| 
       5441 
     | 
    
         
            -
            				 
     | 
| 
       5442 
     | 
    
         
            -
            				// from an async native handler (gh-4350)
         
     | 
| 
       5443 
     | 
    
         
            -
            				if ( !saved.length ) {
         
     | 
| 
      
 5339 
     | 
    
         
            +
            				if ( !saved ) {
         
     | 
| 
       5444 
5340 
     | 
    
         | 
| 
       5445 
5341 
     | 
    
         
             
            					// Store arguments for use when handling the inner native event
         
     | 
| 
       5446 
5342 
     | 
    
         
             
            					// There will always be at least one argument (an event object), so this array
         
     | 
| 
         @@ -5449,27 +5345,22 @@ function leverageNative( el, type, expectSync ) { 
     | 
|
| 
       5449 
5345 
     | 
    
         
             
            					dataPriv.set( this, type, saved );
         
     | 
| 
       5450 
5346 
     | 
    
         | 
| 
       5451 
5347 
     | 
    
         
             
            					// Trigger the native event and capture its result
         
     | 
| 
       5452 
     | 
    
         
            -
            					// Support: IE <=9 - 11+
         
     | 
| 
       5453 
     | 
    
         
            -
            					// focus() and blur() are asynchronous
         
     | 
| 
       5454 
     | 
    
         
            -
            					notAsync = expectSync( this, type );
         
     | 
| 
       5455 
5348 
     | 
    
         
             
            					this[ type ]();
         
     | 
| 
       5456 
5349 
     | 
    
         
             
            					result = dataPriv.get( this, type );
         
     | 
| 
       5457 
     | 
    
         
            -
            					 
     | 
| 
       5458 
     | 
    
         
            -
             
     | 
| 
       5459 
     | 
    
         
            -
            					} else {
         
     | 
| 
       5460 
     | 
    
         
            -
            						result = {};
         
     | 
| 
       5461 
     | 
    
         
            -
            					}
         
     | 
| 
      
 5350 
     | 
    
         
            +
            					dataPriv.set( this, type, false );
         
     | 
| 
      
 5351 
     | 
    
         
            +
             
     | 
| 
       5462 
5352 
     | 
    
         
             
            					if ( saved !== result ) {
         
     | 
| 
       5463 
5353 
     | 
    
         | 
| 
       5464 
5354 
     | 
    
         
             
            						// Cancel the outer synthetic event
         
     | 
| 
       5465 
5355 
     | 
    
         
             
            						event.stopImmediatePropagation();
         
     | 
| 
       5466 
5356 
     | 
    
         
             
            						event.preventDefault();
         
     | 
| 
       5467 
     | 
    
         
            -
             
     | 
| 
      
 5357 
     | 
    
         
            +
             
     | 
| 
      
 5358 
     | 
    
         
            +
            						return result;
         
     | 
| 
       5468 
5359 
     | 
    
         
             
            					}
         
     | 
| 
       5469 
5360 
     | 
    
         | 
| 
       5470 
5361 
     | 
    
         
             
            				// If this is an inner synthetic event for an event with a bubbling surrogate
         
     | 
| 
       5471 
     | 
    
         
            -
            				// (focus or blur), assume that the surrogate already propagated from triggering 
     | 
| 
       5472 
     | 
    
         
            -
            				// native event and prevent that from happening again here.
         
     | 
| 
      
 5362 
     | 
    
         
            +
            				// (focus or blur), assume that the surrogate already propagated from triggering
         
     | 
| 
      
 5363 
     | 
    
         
            +
            				// the native event and prevent that from happening again here.
         
     | 
| 
       5473 
5364 
     | 
    
         
             
            				// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
         
     | 
| 
       5474 
5365 
     | 
    
         
             
            				// bubbling surrogate propagates *after* the non-bubbling base), but that seems
         
     | 
| 
       5475 
5366 
     | 
    
         
             
            				// less bad than duplication.
         
     | 
| 
         @@ -5479,22 +5370,25 @@ function leverageNative( el, type, expectSync ) { 
     | 
|
| 
       5479 
5370 
     | 
    
         | 
| 
       5480 
5371 
     | 
    
         
             
            			// If this is a native event triggered above, everything is now in order
         
     | 
| 
       5481 
5372 
     | 
    
         
             
            			// Fire an inner synthetic event with the original arguments
         
     | 
| 
       5482 
     | 
    
         
            -
            			} else if ( saved 
     | 
| 
      
 5373 
     | 
    
         
            +
            			} else if ( saved ) {
         
     | 
| 
       5483 
5374 
     | 
    
         | 
| 
       5484 
5375 
     | 
    
         
             
            				// ...and capture the result
         
     | 
| 
       5485 
     | 
    
         
            -
            				dataPriv.set( this, type,  
     | 
| 
       5486 
     | 
    
         
            -
            					 
     | 
| 
       5487 
     | 
    
         
            -
             
     | 
| 
       5488 
     | 
    
         
            -
             
     | 
| 
       5489 
     | 
    
         
            -
             
     | 
| 
       5490 
     | 
    
         
            -
             
     | 
| 
       5491 
     | 
    
         
            -
             
     | 
| 
       5492 
     | 
    
         
            -
             
     | 
| 
       5493 
     | 
    
         
            -
             
     | 
| 
       5494 
     | 
    
         
            -
            				 
     | 
| 
       5495 
     | 
    
         
            -
             
     | 
| 
       5496 
     | 
    
         
            -
            				//  
     | 
| 
       5497 
     | 
    
         
            -
            				 
     | 
| 
      
 5376 
     | 
    
         
            +
            				dataPriv.set( this, type, jQuery.event.trigger(
         
     | 
| 
      
 5377 
     | 
    
         
            +
            					saved[ 0 ],
         
     | 
| 
      
 5378 
     | 
    
         
            +
            					saved.slice( 1 ),
         
     | 
| 
      
 5379 
     | 
    
         
            +
            					this
         
     | 
| 
      
 5380 
     | 
    
         
            +
            				) );
         
     | 
| 
      
 5381 
     | 
    
         
            +
             
     | 
| 
      
 5382 
     | 
    
         
            +
            				// Abort handling of the native event by all jQuery handlers while allowing
         
     | 
| 
      
 5383 
     | 
    
         
            +
            				// native handlers on the same element to run. On target, this is achieved
         
     | 
| 
      
 5384 
     | 
    
         
            +
            				// by stopping immediate propagation just on the jQuery event. However,
         
     | 
| 
      
 5385 
     | 
    
         
            +
            				// the native event is re-wrapped by a jQuery one on each level of the
         
     | 
| 
      
 5386 
     | 
    
         
            +
            				// propagation so the only way to stop it for jQuery is to stop it for
         
     | 
| 
      
 5387 
     | 
    
         
            +
            				// everyone via native `stopPropagation()`. This is not a problem for
         
     | 
| 
      
 5388 
     | 
    
         
            +
            				// focus/blur which don't bubble, but it does also stop click on checkboxes
         
     | 
| 
      
 5389 
     | 
    
         
            +
            				// and radios. We accept this limitation.
         
     | 
| 
      
 5390 
     | 
    
         
            +
            				event.stopPropagation();
         
     | 
| 
      
 5391 
     | 
    
         
            +
            				event.isImmediatePropagationStopped = returnTrue;
         
     | 
| 
       5498 
5392 
     | 
    
         
             
            			}
         
     | 
| 
       5499 
5393 
     | 
    
         
             
            		}
         
     | 
| 
       5500 
5394 
     | 
    
         
             
            	} );
         
     | 
| 
         @@ -5532,7 +5426,7 @@ jQuery.Event = function( src, props ) { 
     | 
|
| 
       5532 
5426 
     | 
    
         | 
| 
       5533 
5427 
     | 
    
         
             
            		// Create target properties
         
     | 
| 
       5534 
5428 
     | 
    
         
             
            		// Support: Safari <=6 - 7 only
         
     | 
| 
       5535 
     | 
    
         
            -
            		// Target should not be a text node ( 
     | 
| 
      
 5429 
     | 
    
         
            +
            		// Target should not be a text node (trac-504, trac-13143)
         
     | 
| 
       5536 
5430 
     | 
    
         
             
            		this.target = ( src.target && src.target.nodeType === 3 ) ?
         
     | 
| 
       5537 
5431 
     | 
    
         
             
            			src.target.parentNode :
         
     | 
| 
       5538 
5432 
     | 
    
         
             
            			src.target;
         
     | 
| 
         @@ -5629,49 +5523,77 @@ jQuery.each( { 
     | 
|
| 
       5629 
5523 
     | 
    
         
             
            	targetTouches: true,
         
     | 
| 
       5630 
5524 
     | 
    
         
             
            	toElement: true,
         
     | 
| 
       5631 
5525 
     | 
    
         
             
            	touches: true,
         
     | 
| 
      
 5526 
     | 
    
         
            +
            	which: true
         
     | 
| 
      
 5527 
     | 
    
         
            +
            }, jQuery.event.addProp );
         
     | 
| 
       5632 
5528 
     | 
    
         | 
| 
       5633 
     | 
    
         
            -
             
     | 
| 
       5634 
     | 
    
         
            -
            		var button = event.button;
         
     | 
| 
      
 5529 
     | 
    
         
            +
            jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
         
     | 
| 
       5635 
5530 
     | 
    
         | 
| 
       5636 
     | 
    
         
            -
             
     | 
| 
       5637 
     | 
    
         
            -
            		if (  
     | 
| 
       5638 
     | 
    
         
            -
            			return event.charCode != null ? event.charCode : event.keyCode;
         
     | 
| 
       5639 
     | 
    
         
            -
            		}
         
     | 
| 
      
 5531 
     | 
    
         
            +
            	function focusMappedHandler( nativeEvent ) {
         
     | 
| 
      
 5532 
     | 
    
         
            +
            		if ( document.documentMode ) {
         
     | 
| 
       5640 
5533 
     | 
    
         | 
| 
       5641 
     | 
    
         
            -
             
     | 
| 
       5642 
     | 
    
         
            -
             
     | 
| 
       5643 
     | 
    
         
            -
            			 
     | 
| 
       5644 
     | 
    
         
            -
             
     | 
| 
       5645 
     | 
    
         
            -
            			}
         
     | 
| 
      
 5534 
     | 
    
         
            +
            			// Support: IE 11+
         
     | 
| 
      
 5535 
     | 
    
         
            +
            			// Attach a single focusin/focusout handler on the document while someone wants
         
     | 
| 
      
 5536 
     | 
    
         
            +
            			// focus/blur. This is because the former are synchronous in IE while the latter
         
     | 
| 
      
 5537 
     | 
    
         
            +
            			// are async. In other browsers, all those handlers are invoked synchronously.
         
     | 
| 
       5646 
5538 
     | 
    
         | 
| 
       5647 
     | 
    
         
            -
            			 
     | 
| 
       5648 
     | 
    
         
            -
             
     | 
| 
       5649 
     | 
    
         
            -
            			 
     | 
| 
      
 5539 
     | 
    
         
            +
            			// `handle` from private data would already wrap the event, but we need
         
     | 
| 
      
 5540 
     | 
    
         
            +
            			// to change the `type` here.
         
     | 
| 
      
 5541 
     | 
    
         
            +
            			var handle = dataPriv.get( this, "handle" ),
         
     | 
| 
      
 5542 
     | 
    
         
            +
            				event = jQuery.event.fix( nativeEvent );
         
     | 
| 
      
 5543 
     | 
    
         
            +
            			event.type = nativeEvent.type === "focusin" ? "focus" : "blur";
         
     | 
| 
      
 5544 
     | 
    
         
            +
            			event.isSimulated = true;
         
     | 
| 
      
 5545 
     | 
    
         
            +
             
     | 
| 
      
 5546 
     | 
    
         
            +
            			// First, handle focusin/focusout
         
     | 
| 
      
 5547 
     | 
    
         
            +
            			handle( nativeEvent );
         
     | 
| 
      
 5548 
     | 
    
         
            +
             
     | 
| 
      
 5549 
     | 
    
         
            +
            			// ...then, handle focus/blur
         
     | 
| 
      
 5550 
     | 
    
         
            +
            			//
         
     | 
| 
      
 5551 
     | 
    
         
            +
            			// focus/blur don't bubble while focusin/focusout do; simulate the former by only
         
     | 
| 
      
 5552 
     | 
    
         
            +
            			// invoking the handler at the lower level.
         
     | 
| 
      
 5553 
     | 
    
         
            +
            			if ( event.target === event.currentTarget ) {
         
     | 
| 
       5650 
5554 
     | 
    
         | 
| 
       5651 
     | 
    
         
            -
             
     | 
| 
       5652 
     | 
    
         
            -
            				 
     | 
| 
      
 5555 
     | 
    
         
            +
            				// The setup part calls `leverageNative`, which, in turn, calls
         
     | 
| 
      
 5556 
     | 
    
         
            +
            				// `jQuery.event.add`, so event handle will already have been set
         
     | 
| 
      
 5557 
     | 
    
         
            +
            				// by this point.
         
     | 
| 
      
 5558 
     | 
    
         
            +
            				handle( event );
         
     | 
| 
       5653 
5559 
     | 
    
         
             
            			}
         
     | 
| 
      
 5560 
     | 
    
         
            +
            		} else {
         
     | 
| 
       5654 
5561 
     | 
    
         | 
| 
       5655 
     | 
    
         
            -
            			 
     | 
| 
      
 5562 
     | 
    
         
            +
            			// For non-IE browsers, attach a single capturing handler on the document
         
     | 
| 
      
 5563 
     | 
    
         
            +
            			// while someone wants focusin/focusout.
         
     | 
| 
      
 5564 
     | 
    
         
            +
            			jQuery.event.simulate( delegateType, nativeEvent.target,
         
     | 
| 
      
 5565 
     | 
    
         
            +
            				jQuery.event.fix( nativeEvent ) );
         
     | 
| 
       5656 
5566 
     | 
    
         
             
            		}
         
     | 
| 
       5657 
     | 
    
         
            -
             
     | 
| 
       5658 
     | 
    
         
            -
            		return event.which;
         
     | 
| 
       5659 
5567 
     | 
    
         
             
            	}
         
     | 
| 
       5660 
     | 
    
         
            -
            }, jQuery.event.addProp );
         
     | 
| 
       5661 
5568 
     | 
    
         | 
| 
       5662 
     | 
    
         
            -
            jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
         
     | 
| 
       5663 
5569 
     | 
    
         
             
            	jQuery.event.special[ type ] = {
         
     | 
| 
       5664 
5570 
     | 
    
         | 
| 
       5665 
5571 
     | 
    
         
             
            		// Utilize native event if possible so blur/focus sequence is correct
         
     | 
| 
       5666 
5572 
     | 
    
         
             
            		setup: function() {
         
     | 
| 
       5667 
5573 
     | 
    
         | 
| 
      
 5574 
     | 
    
         
            +
            			var attaches;
         
     | 
| 
      
 5575 
     | 
    
         
            +
             
     | 
| 
       5668 
5576 
     | 
    
         
             
            			// Claim the first handler
         
     | 
| 
       5669 
5577 
     | 
    
         
             
            			// dataPriv.set( this, "focus", ... )
         
     | 
| 
       5670 
5578 
     | 
    
         
             
            			// dataPriv.set( this, "blur", ... )
         
     | 
| 
       5671 
     | 
    
         
            -
            			leverageNative( this, type,  
     | 
| 
      
 5579 
     | 
    
         
            +
            			leverageNative( this, type, true );
         
     | 
| 
       5672 
5580 
     | 
    
         | 
| 
       5673 
     | 
    
         
            -
            			 
     | 
| 
       5674 
     | 
    
         
            -
             
     | 
| 
      
 5581 
     | 
    
         
            +
            			if ( document.documentMode ) {
         
     | 
| 
      
 5582 
     | 
    
         
            +
             
     | 
| 
      
 5583 
     | 
    
         
            +
            				// Support: IE 9 - 11+
         
     | 
| 
      
 5584 
     | 
    
         
            +
            				// We use the same native handler for focusin & focus (and focusout & blur)
         
     | 
| 
      
 5585 
     | 
    
         
            +
            				// so we need to coordinate setup & teardown parts between those events.
         
     | 
| 
      
 5586 
     | 
    
         
            +
            				// Use `delegateType` as the key as `type` is already used by `leverageNative`.
         
     | 
| 
      
 5587 
     | 
    
         
            +
            				attaches = dataPriv.get( this, delegateType );
         
     | 
| 
      
 5588 
     | 
    
         
            +
            				if ( !attaches ) {
         
     | 
| 
      
 5589 
     | 
    
         
            +
            					this.addEventListener( delegateType, focusMappedHandler );
         
     | 
| 
      
 5590 
     | 
    
         
            +
            				}
         
     | 
| 
      
 5591 
     | 
    
         
            +
            				dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );
         
     | 
| 
      
 5592 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 5593 
     | 
    
         
            +
             
     | 
| 
      
 5594 
     | 
    
         
            +
            				// Return false to allow normal processing in the caller
         
     | 
| 
      
 5595 
     | 
    
         
            +
            				return false;
         
     | 
| 
      
 5596 
     | 
    
         
            +
            			}
         
     | 
| 
       5675 
5597 
     | 
    
         
             
            		},
         
     | 
| 
       5676 
5598 
     | 
    
         
             
            		trigger: function() {
         
     | 
| 
       5677 
5599 
     | 
    
         | 
| 
         @@ -5682,8 +5604,84 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp 
     | 
|
| 
       5682 
5604 
     | 
    
         
             
            			return true;
         
     | 
| 
       5683 
5605 
     | 
    
         
             
            		},
         
     | 
| 
       5684 
5606 
     | 
    
         | 
| 
      
 5607 
     | 
    
         
            +
            		teardown: function() {
         
     | 
| 
      
 5608 
     | 
    
         
            +
            			var attaches;
         
     | 
| 
      
 5609 
     | 
    
         
            +
             
     | 
| 
      
 5610 
     | 
    
         
            +
            			if ( document.documentMode ) {
         
     | 
| 
      
 5611 
     | 
    
         
            +
            				attaches = dataPriv.get( this, delegateType ) - 1;
         
     | 
| 
      
 5612 
     | 
    
         
            +
            				if ( !attaches ) {
         
     | 
| 
      
 5613 
     | 
    
         
            +
            					this.removeEventListener( delegateType, focusMappedHandler );
         
     | 
| 
      
 5614 
     | 
    
         
            +
            					dataPriv.remove( this, delegateType );
         
     | 
| 
      
 5615 
     | 
    
         
            +
            				} else {
         
     | 
| 
      
 5616 
     | 
    
         
            +
            					dataPriv.set( this, delegateType, attaches );
         
     | 
| 
      
 5617 
     | 
    
         
            +
            				}
         
     | 
| 
      
 5618 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 5619 
     | 
    
         
            +
             
     | 
| 
      
 5620 
     | 
    
         
            +
            				// Return false to indicate standard teardown should be applied
         
     | 
| 
      
 5621 
     | 
    
         
            +
            				return false;
         
     | 
| 
      
 5622 
     | 
    
         
            +
            			}
         
     | 
| 
      
 5623 
     | 
    
         
            +
            		},
         
     | 
| 
      
 5624 
     | 
    
         
            +
             
     | 
| 
      
 5625 
     | 
    
         
            +
            		// Suppress native focus or blur if we're currently inside
         
     | 
| 
      
 5626 
     | 
    
         
            +
            		// a leveraged native-event stack
         
     | 
| 
      
 5627 
     | 
    
         
            +
            		_default: function( event ) {
         
     | 
| 
      
 5628 
     | 
    
         
            +
            			return dataPriv.get( event.target, type );
         
     | 
| 
      
 5629 
     | 
    
         
            +
            		},
         
     | 
| 
      
 5630 
     | 
    
         
            +
             
     | 
| 
       5685 
5631 
     | 
    
         
             
            		delegateType: delegateType
         
     | 
| 
       5686 
5632 
     | 
    
         
             
            	};
         
     | 
| 
      
 5633 
     | 
    
         
            +
             
     | 
| 
      
 5634 
     | 
    
         
            +
            	// Support: Firefox <=44
         
     | 
| 
      
 5635 
     | 
    
         
            +
            	// Firefox doesn't have focus(in | out) events
         
     | 
| 
      
 5636 
     | 
    
         
            +
            	// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
         
     | 
| 
      
 5637 
     | 
    
         
            +
            	//
         
     | 
| 
      
 5638 
     | 
    
         
            +
            	// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
         
     | 
| 
      
 5639 
     | 
    
         
            +
            	// focus(in | out) events fire after focus & blur events,
         
     | 
| 
      
 5640 
     | 
    
         
            +
            	// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
         
     | 
| 
      
 5641 
     | 
    
         
            +
            	// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
         
     | 
| 
      
 5642 
     | 
    
         
            +
            	//
         
     | 
| 
      
 5643 
     | 
    
         
            +
            	// Support: IE 9 - 11+
         
     | 
| 
      
 5644 
     | 
    
         
            +
            	// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,
         
     | 
| 
      
 5645 
     | 
    
         
            +
            	// attach a single handler for both events in IE.
         
     | 
| 
      
 5646 
     | 
    
         
            +
            	jQuery.event.special[ delegateType ] = {
         
     | 
| 
      
 5647 
     | 
    
         
            +
            		setup: function() {
         
     | 
| 
      
 5648 
     | 
    
         
            +
             
     | 
| 
      
 5649 
     | 
    
         
            +
            			// Handle: regular nodes (via `this.ownerDocument`), window
         
     | 
| 
      
 5650 
     | 
    
         
            +
            			// (via `this.document`) & document (via `this`).
         
     | 
| 
      
 5651 
     | 
    
         
            +
            			var doc = this.ownerDocument || this.document || this,
         
     | 
| 
      
 5652 
     | 
    
         
            +
            				dataHolder = document.documentMode ? this : doc,
         
     | 
| 
      
 5653 
     | 
    
         
            +
            				attaches = dataPriv.get( dataHolder, delegateType );
         
     | 
| 
      
 5654 
     | 
    
         
            +
             
     | 
| 
      
 5655 
     | 
    
         
            +
            			// Support: IE 9 - 11+
         
     | 
| 
      
 5656 
     | 
    
         
            +
            			// We use the same native handler for focusin & focus (and focusout & blur)
         
     | 
| 
      
 5657 
     | 
    
         
            +
            			// so we need to coordinate setup & teardown parts between those events.
         
     | 
| 
      
 5658 
     | 
    
         
            +
            			// Use `delegateType` as the key as `type` is already used by `leverageNative`.
         
     | 
| 
      
 5659 
     | 
    
         
            +
            			if ( !attaches ) {
         
     | 
| 
      
 5660 
     | 
    
         
            +
            				if ( document.documentMode ) {
         
     | 
| 
      
 5661 
     | 
    
         
            +
            					this.addEventListener( delegateType, focusMappedHandler );
         
     | 
| 
      
 5662 
     | 
    
         
            +
            				} else {
         
     | 
| 
      
 5663 
     | 
    
         
            +
            					doc.addEventListener( type, focusMappedHandler, true );
         
     | 
| 
      
 5664 
     | 
    
         
            +
            				}
         
     | 
| 
      
 5665 
     | 
    
         
            +
            			}
         
     | 
| 
      
 5666 
     | 
    
         
            +
            			dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );
         
     | 
| 
      
 5667 
     | 
    
         
            +
            		},
         
     | 
| 
      
 5668 
     | 
    
         
            +
            		teardown: function() {
         
     | 
| 
      
 5669 
     | 
    
         
            +
            			var doc = this.ownerDocument || this.document || this,
         
     | 
| 
      
 5670 
     | 
    
         
            +
            				dataHolder = document.documentMode ? this : doc,
         
     | 
| 
      
 5671 
     | 
    
         
            +
            				attaches = dataPriv.get( dataHolder, delegateType ) - 1;
         
     | 
| 
      
 5672 
     | 
    
         
            +
             
     | 
| 
      
 5673 
     | 
    
         
            +
            			if ( !attaches ) {
         
     | 
| 
      
 5674 
     | 
    
         
            +
            				if ( document.documentMode ) {
         
     | 
| 
      
 5675 
     | 
    
         
            +
            					this.removeEventListener( delegateType, focusMappedHandler );
         
     | 
| 
      
 5676 
     | 
    
         
            +
            				} else {
         
     | 
| 
      
 5677 
     | 
    
         
            +
            					doc.removeEventListener( type, focusMappedHandler, true );
         
     | 
| 
      
 5678 
     | 
    
         
            +
            				}
         
     | 
| 
      
 5679 
     | 
    
         
            +
            				dataPriv.remove( dataHolder, delegateType );
         
     | 
| 
      
 5680 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 5681 
     | 
    
         
            +
            				dataPriv.set( dataHolder, delegateType, attaches );
         
     | 
| 
      
 5682 
     | 
    
         
            +
            			}
         
     | 
| 
      
 5683 
     | 
    
         
            +
            		}
         
     | 
| 
      
 5684 
     | 
    
         
            +
            	};
         
     | 
| 
       5687 
5685 
     | 
    
         
             
            } );
         
     | 
| 
       5688 
5686 
     | 
    
         | 
| 
       5689 
5687 
     | 
    
         
             
            // Create mouseenter/leave events using mouseover/out and event-time checks
         
     | 
| 
         @@ -5771,13 +5769,6 @@ jQuery.fn.extend( { 
     | 
|
| 
       5771 
5769 
     | 
    
         | 
| 
       5772 
5770 
     | 
    
         
             
            var
         
     | 
| 
       5773 
5771 
     | 
    
         | 
| 
       5774 
     | 
    
         
            -
            	/* eslint-disable max-len */
         
     | 
| 
       5775 
     | 
    
         
            -
             
     | 
| 
       5776 
     | 
    
         
            -
            	// See https://github.com/eslint/eslint/issues/3229
         
     | 
| 
       5777 
     | 
    
         
            -
            	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
         
     | 
| 
       5778 
     | 
    
         
            -
             
     | 
| 
       5779 
     | 
    
         
            -
            	/* eslint-enable */
         
     | 
| 
       5780 
     | 
    
         
            -
             
     | 
| 
       5781 
5772 
     | 
    
         
             
            	// Support: IE <=10 - 11, Edge 12 - 13 only
         
     | 
| 
       5782 
5773 
     | 
    
         
             
            	// In IE/Edge using regex groups here causes severe slowdowns.
         
     | 
| 
       5783 
5774 
     | 
    
         
             
            	// See https://connect.microsoft.com/IE/feedback/details/1736512/
         
     | 
| 
         @@ -5785,7 +5776,8 @@ var 
     | 
|
| 
       5785 
5776 
     | 
    
         | 
| 
       5786 
5777 
     | 
    
         
             
            	// checked="checked" or checked
         
     | 
| 
       5787 
5778 
     | 
    
         
             
            	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
         
     | 
| 
       5788 
     | 
    
         
            -
             
     | 
| 
      
 5779 
     | 
    
         
            +
             
     | 
| 
      
 5780 
     | 
    
         
            +
            	rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
         
     | 
| 
       5789 
5781 
     | 
    
         | 
| 
       5790 
5782 
     | 
    
         
             
            // Prefer a tbody over its parent table for containing new rows
         
     | 
| 
       5791 
5783 
     | 
    
         
             
            function manipulationTarget( elem, content ) {
         
     | 
| 
         @@ -5814,7 +5806,7 @@ function restoreScript( elem ) { 
     | 
|
| 
       5814 
5806 
     | 
    
         
             
            }
         
     | 
| 
       5815 
5807 
     | 
    
         | 
| 
       5816 
5808 
     | 
    
         
             
            function cloneCopyEvent( src, dest ) {
         
     | 
| 
       5817 
     | 
    
         
            -
            	var i, l, type, pdataOld,  
     | 
| 
      
 5809 
     | 
    
         
            +
            	var i, l, type, pdataOld, udataOld, udataCur, events;
         
     | 
| 
       5818 
5810 
     | 
    
         | 
| 
       5819 
5811 
     | 
    
         
             
            	if ( dest.nodeType !== 1 ) {
         
     | 
| 
       5820 
5812 
     | 
    
         
             
            		return;
         
     | 
| 
         @@ -5822,13 +5814,11 @@ function cloneCopyEvent( src, dest ) { 
     | 
|
| 
       5822 
5814 
     | 
    
         | 
| 
       5823 
5815 
     | 
    
         
             
            	// 1. Copy private data: events, handlers, etc.
         
     | 
| 
       5824 
5816 
     | 
    
         
             
            	if ( dataPriv.hasData( src ) ) {
         
     | 
| 
       5825 
     | 
    
         
            -
            		pdataOld = dataPriv. 
     | 
| 
       5826 
     | 
    
         
            -
            		pdataCur = dataPriv.set( dest, pdataOld );
         
     | 
| 
      
 5817 
     | 
    
         
            +
            		pdataOld = dataPriv.get( src );
         
     | 
| 
       5827 
5818 
     | 
    
         
             
            		events = pdataOld.events;
         
     | 
| 
       5828 
5819 
     | 
    
         | 
| 
       5829 
5820 
     | 
    
         
             
            		if ( events ) {
         
     | 
| 
       5830 
     | 
    
         
            -
            			 
     | 
| 
       5831 
     | 
    
         
            -
            			pdataCur.events = {};
         
     | 
| 
      
 5821 
     | 
    
         
            +
            			dataPriv.remove( dest, "handle events" );
         
     | 
| 
       5832 
5822 
     | 
    
         | 
| 
       5833 
5823 
     | 
    
         
             
            			for ( type in events ) {
         
     | 
| 
       5834 
5824 
     | 
    
         
             
            				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
         
     | 
| 
         @@ -5864,7 +5854,7 @@ function fixInput( src, dest ) { 
     | 
|
| 
       5864 
5854 
     | 
    
         
             
            function domManip( collection, args, callback, ignored ) {
         
     | 
| 
       5865 
5855 
     | 
    
         | 
| 
       5866 
5856 
     | 
    
         
             
            	// Flatten any nested arrays
         
     | 
| 
       5867 
     | 
    
         
            -
            	args =  
     | 
| 
      
 5857 
     | 
    
         
            +
            	args = flat( args );
         
     | 
| 
       5868 
5858 
     | 
    
         | 
| 
       5869 
5859 
     | 
    
         
             
            	var fragment, first, scripts, hasScripts, node, doc,
         
     | 
| 
       5870 
5860 
     | 
    
         
             
            		i = 0,
         
     | 
| 
         @@ -5901,7 +5891,7 @@ function domManip( collection, args, callback, ignored ) { 
     | 
|
| 
       5901 
5891 
     | 
    
         | 
| 
       5902 
5892 
     | 
    
         
             
            			// Use the original fragment for the last item
         
     | 
| 
       5903 
5893 
     | 
    
         
             
            			// instead of the first because it can end up
         
     | 
| 
       5904 
     | 
    
         
            -
            			// being emptied incorrectly in certain situations ( 
     | 
| 
      
 5894 
     | 
    
         
            +
            			// being emptied incorrectly in certain situations (trac-8070).
         
     | 
| 
       5905 
5895 
     | 
    
         
             
            			for ( ; i < l; i++ ) {
         
     | 
| 
       5906 
5896 
     | 
    
         
             
            				node = fragment;
         
     | 
| 
       5907 
5897 
     | 
    
         | 
| 
         @@ -5939,9 +5929,15 @@ function domManip( collection, args, callback, ignored ) { 
     | 
|
| 
       5939 
5929 
     | 
    
         
             
            							if ( jQuery._evalUrl && !node.noModule ) {
         
     | 
| 
       5940 
5930 
     | 
    
         
             
            								jQuery._evalUrl( node.src, {
         
     | 
| 
       5941 
5931 
     | 
    
         
             
            									nonce: node.nonce || node.getAttribute( "nonce" )
         
     | 
| 
       5942 
     | 
    
         
            -
            								} );
         
     | 
| 
      
 5932 
     | 
    
         
            +
            								}, doc );
         
     | 
| 
       5943 
5933 
     | 
    
         
             
            							}
         
     | 
| 
       5944 
5934 
     | 
    
         
             
            						} else {
         
     | 
| 
      
 5935 
     | 
    
         
            +
             
     | 
| 
      
 5936 
     | 
    
         
            +
            							// Unwrap a CDATA section containing script contents. This shouldn't be
         
     | 
| 
      
 5937 
     | 
    
         
            +
            							// needed as in XML documents they're already not visible when
         
     | 
| 
      
 5938 
     | 
    
         
            +
            							// inspecting element contents and in HTML documents they have no
         
     | 
| 
      
 5939 
     | 
    
         
            +
            							// meaning but we're preserving that logic for backwards compatibility.
         
     | 
| 
      
 5940 
     | 
    
         
            +
            							// This will be removed completely in 4.0. See gh-4904.
         
     | 
| 
       5945 
5941 
     | 
    
         
             
            							DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
         
     | 
| 
       5946 
5942 
     | 
    
         
             
            						}
         
     | 
| 
       5947 
5943 
     | 
    
         
             
            					}
         
     | 
| 
         @@ -5976,7 +5972,7 @@ function remove( elem, selector, keepData ) { 
     | 
|
| 
       5976 
5972 
     | 
    
         | 
| 
       5977 
5973 
     | 
    
         
             
            jQuery.extend( {
         
     | 
| 
       5978 
5974 
     | 
    
         
             
            	htmlPrefilter: function( html ) {
         
     | 
| 
       5979 
     | 
    
         
            -
            		return html 
     | 
| 
      
 5975 
     | 
    
         
            +
            		return html;
         
     | 
| 
       5980 
5976 
     | 
    
         
             
            	},
         
     | 
| 
       5981 
5977 
     | 
    
         | 
| 
       5982 
5978 
     | 
    
         
             
            	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
         
     | 
| 
         @@ -5988,7 +5984,8 @@ jQuery.extend( { 
     | 
|
| 
       5988 
5984 
     | 
    
         
             
            		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
         
     | 
| 
       5989 
5985 
     | 
    
         
             
            				!jQuery.isXMLDoc( elem ) ) {
         
     | 
| 
       5990 
5986 
     | 
    
         | 
| 
       5991 
     | 
    
         
            -
            			// We eschew  
     | 
| 
      
 5987 
     | 
    
         
            +
            			// We eschew jQuery#find here for performance reasons:
         
     | 
| 
      
 5988 
     | 
    
         
            +
            			// https://jsperf.com/getall-vs-sizzle/2
         
     | 
| 
       5992 
5989 
     | 
    
         
             
            			destElements = getAll( clone );
         
     | 
| 
       5993 
5990 
     | 
    
         
             
            			srcElements = getAll( elem );
         
     | 
| 
       5994 
5991 
     | 
    
         | 
| 
         @@ -6224,9 +6221,12 @@ jQuery.each( { 
     | 
|
| 
       6224 
6221 
     | 
    
         
             
            } );
         
     | 
| 
       6225 
6222 
     | 
    
         
             
            var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
         
     | 
| 
       6226 
6223 
     | 
    
         | 
| 
      
 6224 
     | 
    
         
            +
            var rcustomProp = /^--/;
         
     | 
| 
      
 6225 
     | 
    
         
            +
             
     | 
| 
      
 6226 
     | 
    
         
            +
             
     | 
| 
       6227 
6227 
     | 
    
         
             
            var getStyles = function( elem ) {
         
     | 
| 
       6228 
6228 
     | 
    
         | 
| 
       6229 
     | 
    
         
            -
            		// Support: IE <=11 only, Firefox <=30 ( 
     | 
| 
      
 6229 
     | 
    
         
            +
            		// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
         
     | 
| 
       6230 
6230 
     | 
    
         
             
            		// IE throws on elements created in popups
         
     | 
| 
       6231 
6231 
     | 
    
         
             
            		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
         
     | 
| 
       6232 
6232 
     | 
    
         
             
            		var view = elem.ownerDocument.defaultView;
         
     | 
| 
         @@ -6238,6 +6238,27 @@ var getStyles = function( elem ) { 
     | 
|
| 
       6238 
6238 
     | 
    
         
             
            		return view.getComputedStyle( elem );
         
     | 
| 
       6239 
6239 
     | 
    
         
             
            	};
         
     | 
| 
       6240 
6240 
     | 
    
         | 
| 
      
 6241 
     | 
    
         
            +
            var swap = function( elem, options, callback ) {
         
     | 
| 
      
 6242 
     | 
    
         
            +
            	var ret, name,
         
     | 
| 
      
 6243 
     | 
    
         
            +
            		old = {};
         
     | 
| 
      
 6244 
     | 
    
         
            +
             
     | 
| 
      
 6245 
     | 
    
         
            +
            	// Remember the old values, and insert the new ones
         
     | 
| 
      
 6246 
     | 
    
         
            +
            	for ( name in options ) {
         
     | 
| 
      
 6247 
     | 
    
         
            +
            		old[ name ] = elem.style[ name ];
         
     | 
| 
      
 6248 
     | 
    
         
            +
            		elem.style[ name ] = options[ name ];
         
     | 
| 
      
 6249 
     | 
    
         
            +
            	}
         
     | 
| 
      
 6250 
     | 
    
         
            +
             
     | 
| 
      
 6251 
     | 
    
         
            +
            	ret = callback.call( elem );
         
     | 
| 
      
 6252 
     | 
    
         
            +
             
     | 
| 
      
 6253 
     | 
    
         
            +
            	// Revert the old values
         
     | 
| 
      
 6254 
     | 
    
         
            +
            	for ( name in options ) {
         
     | 
| 
      
 6255 
     | 
    
         
            +
            		elem.style[ name ] = old[ name ];
         
     | 
| 
      
 6256 
     | 
    
         
            +
            	}
         
     | 
| 
      
 6257 
     | 
    
         
            +
             
     | 
| 
      
 6258 
     | 
    
         
            +
            	return ret;
         
     | 
| 
      
 6259 
     | 
    
         
            +
            };
         
     | 
| 
      
 6260 
     | 
    
         
            +
             
     | 
| 
      
 6261 
     | 
    
         
            +
             
     | 
| 
       6241 
6262 
     | 
    
         
             
            var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
         
     | 
| 
       6242 
6263 
     | 
    
         | 
| 
       6243 
6264 
     | 
    
         | 
| 
         @@ -6295,7 +6316,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 
     | 
|
| 
       6295 
6316 
     | 
    
         
             
            	}
         
     | 
| 
       6296 
6317 
     | 
    
         | 
| 
       6297 
6318 
     | 
    
         
             
            	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
         
     | 
| 
       6298 
     | 
    
         
            -
            		reliableMarginLeftVal,
         
     | 
| 
      
 6319 
     | 
    
         
            +
            		reliableTrDimensionsVal, reliableMarginLeftVal,
         
     | 
| 
       6299 
6320 
     | 
    
         
             
            		container = document.createElement( "div" ),
         
     | 
| 
       6300 
6321 
     | 
    
         
             
            		div = document.createElement( "div" );
         
     | 
| 
       6301 
6322 
     | 
    
         | 
| 
         @@ -6305,7 +6326,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 
     | 
|
| 
       6305 
6326 
     | 
    
         
             
            	}
         
     | 
| 
       6306 
6327 
     | 
    
         | 
| 
       6307 
6328 
     | 
    
         
             
            	// Support: IE <=9 - 11 only
         
     | 
| 
       6308 
     | 
    
         
            -
            	// Style of cloned element affects source element cloned ( 
     | 
| 
      
 6329 
     | 
    
         
            +
            	// Style of cloned element affects source element cloned (trac-8908)
         
     | 
| 
       6309 
6330 
     | 
    
         
             
            	div.style.backgroundClip = "content-box";
         
     | 
| 
       6310 
6331 
     | 
    
         
             
            	div.cloneNode( true ).style.backgroundClip = "";
         
     | 
| 
       6311 
6332 
     | 
    
         
             
            	support.clearCloneStyle = div.style.backgroundClip === "content-box";
         
     | 
| 
         @@ -6330,6 +6351,54 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 
     | 
|
| 
       6330 
6351 
     | 
    
         
             
            		scrollboxSize: function() {
         
     | 
| 
       6331 
6352 
     | 
    
         
             
            			computeStyleTests();
         
     | 
| 
       6332 
6353 
     | 
    
         
             
            			return scrollboxSizeVal;
         
     | 
| 
      
 6354 
     | 
    
         
            +
            		},
         
     | 
| 
      
 6355 
     | 
    
         
            +
             
     | 
| 
      
 6356 
     | 
    
         
            +
            		// Support: IE 9 - 11+, Edge 15 - 18+
         
     | 
| 
      
 6357 
     | 
    
         
            +
            		// IE/Edge misreport `getComputedStyle` of table rows with width/height
         
     | 
| 
      
 6358 
     | 
    
         
            +
            		// set in CSS while `offset*` properties report correct values.
         
     | 
| 
      
 6359 
     | 
    
         
            +
            		// Behavior in IE 9 is more subtle than in newer versions & it passes
         
     | 
| 
      
 6360 
     | 
    
         
            +
            		// some versions of this test; make sure not to make it pass there!
         
     | 
| 
      
 6361 
     | 
    
         
            +
            		//
         
     | 
| 
      
 6362 
     | 
    
         
            +
            		// Support: Firefox 70+
         
     | 
| 
      
 6363 
     | 
    
         
            +
            		// Only Firefox includes border widths
         
     | 
| 
      
 6364 
     | 
    
         
            +
            		// in computed dimensions. (gh-4529)
         
     | 
| 
      
 6365 
     | 
    
         
            +
            		reliableTrDimensions: function() {
         
     | 
| 
      
 6366 
     | 
    
         
            +
            			var table, tr, trChild, trStyle;
         
     | 
| 
      
 6367 
     | 
    
         
            +
            			if ( reliableTrDimensionsVal == null ) {
         
     | 
| 
      
 6368 
     | 
    
         
            +
            				table = document.createElement( "table" );
         
     | 
| 
      
 6369 
     | 
    
         
            +
            				tr = document.createElement( "tr" );
         
     | 
| 
      
 6370 
     | 
    
         
            +
            				trChild = document.createElement( "div" );
         
     | 
| 
      
 6371 
     | 
    
         
            +
             
     | 
| 
      
 6372 
     | 
    
         
            +
            				table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
         
     | 
| 
      
 6373 
     | 
    
         
            +
            				tr.style.cssText = "border:1px solid";
         
     | 
| 
      
 6374 
     | 
    
         
            +
             
     | 
| 
      
 6375 
     | 
    
         
            +
            				// Support: Chrome 86+
         
     | 
| 
      
 6376 
     | 
    
         
            +
            				// Height set through cssText does not get applied.
         
     | 
| 
      
 6377 
     | 
    
         
            +
            				// Computed height then comes back as 0.
         
     | 
| 
      
 6378 
     | 
    
         
            +
            				tr.style.height = "1px";
         
     | 
| 
      
 6379 
     | 
    
         
            +
            				trChild.style.height = "9px";
         
     | 
| 
      
 6380 
     | 
    
         
            +
             
     | 
| 
      
 6381 
     | 
    
         
            +
            				// Support: Android 8 Chrome 86+
         
     | 
| 
      
 6382 
     | 
    
         
            +
            				// In our bodyBackground.html iframe,
         
     | 
| 
      
 6383 
     | 
    
         
            +
            				// display for all div elements is set to "inline",
         
     | 
| 
      
 6384 
     | 
    
         
            +
            				// which causes a problem only in Android 8 Chrome 86.
         
     | 
| 
      
 6385 
     | 
    
         
            +
            				// Ensuring the div is display: block
         
     | 
| 
      
 6386 
     | 
    
         
            +
            				// gets around this issue.
         
     | 
| 
      
 6387 
     | 
    
         
            +
            				trChild.style.display = "block";
         
     | 
| 
      
 6388 
     | 
    
         
            +
             
     | 
| 
      
 6389 
     | 
    
         
            +
            				documentElement
         
     | 
| 
      
 6390 
     | 
    
         
            +
            					.appendChild( table )
         
     | 
| 
      
 6391 
     | 
    
         
            +
            					.appendChild( tr )
         
     | 
| 
      
 6392 
     | 
    
         
            +
            					.appendChild( trChild );
         
     | 
| 
      
 6393 
     | 
    
         
            +
             
     | 
| 
      
 6394 
     | 
    
         
            +
            				trStyle = window.getComputedStyle( tr );
         
     | 
| 
      
 6395 
     | 
    
         
            +
            				reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
         
     | 
| 
      
 6396 
     | 
    
         
            +
            					parseInt( trStyle.borderTopWidth, 10 ) +
         
     | 
| 
      
 6397 
     | 
    
         
            +
            					parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;
         
     | 
| 
      
 6398 
     | 
    
         
            +
             
     | 
| 
      
 6399 
     | 
    
         
            +
            				documentElement.removeChild( table );
         
     | 
| 
      
 6400 
     | 
    
         
            +
            			}
         
     | 
| 
      
 6401 
     | 
    
         
            +
            			return reliableTrDimensionsVal;
         
     | 
| 
       6333 
6402 
     | 
    
         
             
            		}
         
     | 
| 
       6334 
6403 
     | 
    
         
             
            	} );
         
     | 
| 
       6335 
6404 
     | 
    
         
             
            } )();
         
     | 
| 
         @@ -6337,6 +6406,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 
     | 
|
| 
       6337 
6406 
     | 
    
         | 
| 
       6338 
6407 
     | 
    
         
             
            function curCSS( elem, name, computed ) {
         
     | 
| 
       6339 
6408 
     | 
    
         
             
            	var width, minWidth, maxWidth, ret,
         
     | 
| 
      
 6409 
     | 
    
         
            +
            		isCustomProp = rcustomProp.test( name ),
         
     | 
| 
       6340 
6410 
     | 
    
         | 
| 
       6341 
6411 
     | 
    
         
             
            		// Support: Firefox 51+
         
     | 
| 
       6342 
6412 
     | 
    
         
             
            		// Retrieving style before computed somehow
         
     | 
| 
         @@ -6347,11 +6417,42 @@ function curCSS( elem, name, computed ) { 
     | 
|
| 
       6347 
6417 
     | 
    
         
             
            	computed = computed || getStyles( elem );
         
     | 
| 
       6348 
6418 
     | 
    
         | 
| 
       6349 
6419 
     | 
    
         
             
            	// getPropertyValue is needed for:
         
     | 
| 
       6350 
     | 
    
         
            -
            	//   .css('filter') (IE 9 only,  
     | 
| 
       6351 
     | 
    
         
            -
            	//   .css('--customProperty) ( 
     | 
| 
      
 6420 
     | 
    
         
            +
            	//   .css('filter') (IE 9 only, trac-12537)
         
     | 
| 
      
 6421 
     | 
    
         
            +
            	//   .css('--customProperty) (gh-3144)
         
     | 
| 
       6352 
6422 
     | 
    
         
             
            	if ( computed ) {
         
     | 
| 
      
 6423 
     | 
    
         
            +
             
     | 
| 
      
 6424 
     | 
    
         
            +
            		// Support: IE <=9 - 11+
         
     | 
| 
      
 6425 
     | 
    
         
            +
            		// IE only supports `"float"` in `getPropertyValue`; in computed styles
         
     | 
| 
      
 6426 
     | 
    
         
            +
            		// it's only available as `"cssFloat"`. We no longer modify properties
         
     | 
| 
      
 6427 
     | 
    
         
            +
            		// sent to `.css()` apart from camelCasing, so we need to check both.
         
     | 
| 
      
 6428 
     | 
    
         
            +
            		// Normally, this would create difference in behavior: if
         
     | 
| 
      
 6429 
     | 
    
         
            +
            		// `getPropertyValue` returns an empty string, the value returned
         
     | 
| 
      
 6430 
     | 
    
         
            +
            		// by `.css()` would be `undefined`. This is usually the case for
         
     | 
| 
      
 6431 
     | 
    
         
            +
            		// disconnected elements. However, in IE even disconnected elements
         
     | 
| 
      
 6432 
     | 
    
         
            +
            		// with no styles return `"none"` for `getPropertyValue( "float" )`
         
     | 
| 
       6353 
6433 
     | 
    
         
             
            		ret = computed.getPropertyValue( name ) || computed[ name ];
         
     | 
| 
       6354 
6434 
     | 
    
         | 
| 
      
 6435 
     | 
    
         
            +
            		if ( isCustomProp && ret ) {
         
     | 
| 
      
 6436 
     | 
    
         
            +
             
     | 
| 
      
 6437 
     | 
    
         
            +
            			// Support: Firefox 105+, Chrome <=105+
         
     | 
| 
      
 6438 
     | 
    
         
            +
            			// Spec requires trimming whitespace for custom properties (gh-4926).
         
     | 
| 
      
 6439 
     | 
    
         
            +
            			// Firefox only trims leading whitespace. Chrome just collapses
         
     | 
| 
      
 6440 
     | 
    
         
            +
            			// both leading & trailing whitespace to a single space.
         
     | 
| 
      
 6441 
     | 
    
         
            +
            			//
         
     | 
| 
      
 6442 
     | 
    
         
            +
            			// Fall back to `undefined` if empty string returned.
         
     | 
| 
      
 6443 
     | 
    
         
            +
            			// This collapses a missing definition with property defined
         
     | 
| 
      
 6444 
     | 
    
         
            +
            			// and set to an empty string but there's no standard API
         
     | 
| 
      
 6445 
     | 
    
         
            +
            			// allowing us to differentiate them without a performance penalty
         
     | 
| 
      
 6446 
     | 
    
         
            +
            			// and returning `undefined` aligns with older jQuery.
         
     | 
| 
      
 6447 
     | 
    
         
            +
            			//
         
     | 
| 
      
 6448 
     | 
    
         
            +
            			// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED
         
     | 
| 
      
 6449 
     | 
    
         
            +
            			// as whitespace while CSS does not, but this is not a problem
         
     | 
| 
      
 6450 
     | 
    
         
            +
            			// because CSS preprocessing replaces them with U+000A LINE FEED
         
     | 
| 
      
 6451 
     | 
    
         
            +
            			// (which *is* CSS whitespace)
         
     | 
| 
      
 6452 
     | 
    
         
            +
            			// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
         
     | 
| 
      
 6453 
     | 
    
         
            +
            			ret = ret.replace( rtrimCSS, "$1" ) || undefined;
         
     | 
| 
      
 6454 
     | 
    
         
            +
            		}
         
     | 
| 
      
 6455 
     | 
    
         
            +
             
     | 
| 
       6355 
6456 
     | 
    
         
             
            		if ( ret === "" && !isAttached( elem ) ) {
         
     | 
| 
       6356 
6457 
     | 
    
         
             
            			ret = jQuery.style( elem, name );
         
     | 
| 
       6357 
6458 
     | 
    
         
             
            		}
         
     | 
| 
         @@ -6447,14 +6548,13 @@ var 
     | 
|
| 
       6447 
6548 
     | 
    
         
             
            	// except "table", "table-cell", or "table-caption"
         
     | 
| 
       6448 
6549 
     | 
    
         
             
            	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
         
     | 
| 
       6449 
6550 
     | 
    
         
             
            	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
         
     | 
| 
       6450 
     | 
    
         
            -
            	rcustomProp = /^--/,
         
     | 
| 
       6451 
6551 
     | 
    
         
             
            	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
         
     | 
| 
       6452 
6552 
     | 
    
         
             
            	cssNormalTransform = {
         
     | 
| 
       6453 
6553 
     | 
    
         
             
            		letterSpacing: "0",
         
     | 
| 
       6454 
6554 
     | 
    
         
             
            		fontWeight: "400"
         
     | 
| 
       6455 
6555 
     | 
    
         
             
            	};
         
     | 
| 
       6456 
6556 
     | 
    
         | 
| 
       6457 
     | 
    
         
            -
            function setPositiveNumber(  
     | 
| 
      
 6557 
     | 
    
         
            +
            function setPositiveNumber( _elem, value, subtract ) {
         
     | 
| 
       6458 
6558 
     | 
    
         | 
| 
       6459 
6559 
     | 
    
         
             
            	// Any relative (+/-) values have already been
         
     | 
| 
       6460 
6560 
     | 
    
         
             
            	// normalized at this point
         
     | 
| 
         @@ -6469,7 +6569,8 @@ function setPositiveNumber( elem, value, subtract ) { 
     | 
|
| 
       6469 
6569 
     | 
    
         
             
            function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
         
     | 
| 
       6470 
6570 
     | 
    
         
             
            	var i = dimension === "width" ? 1 : 0,
         
     | 
| 
       6471 
6571 
     | 
    
         
             
            		extra = 0,
         
     | 
| 
       6472 
     | 
    
         
            -
            		delta = 0 
     | 
| 
      
 6572 
     | 
    
         
            +
            		delta = 0,
         
     | 
| 
      
 6573 
     | 
    
         
            +
            		marginDelta = 0;
         
     | 
| 
       6473 
6574 
     | 
    
         | 
| 
       6474 
6575 
     | 
    
         
             
            	// Adjustment may not be necessary
         
     | 
| 
       6475 
6576 
     | 
    
         
             
            	if ( box === ( isBorderBox ? "border" : "content" ) ) {
         
     | 
| 
         @@ -6479,8 +6580,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed 
     | 
|
| 
       6479 
6580 
     | 
    
         
             
            	for ( ; i < 4; i += 2 ) {
         
     | 
| 
       6480 
6581 
     | 
    
         | 
| 
       6481 
6582 
     | 
    
         
             
            		// Both box models exclude margin
         
     | 
| 
      
 6583 
     | 
    
         
            +
            		// Count margin delta separately to only add it after scroll gutter adjustment.
         
     | 
| 
      
 6584 
     | 
    
         
            +
            		// This is needed to make negative margins work with `outerHeight( true )` (gh-3982).
         
     | 
| 
       6482 
6585 
     | 
    
         
             
            		if ( box === "margin" ) {
         
     | 
| 
       6483 
     | 
    
         
            -
            			 
     | 
| 
      
 6586 
     | 
    
         
            +
            			marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
         
     | 
| 
       6484 
6587 
     | 
    
         
             
            		}
         
     | 
| 
       6485 
6588 
     | 
    
         | 
| 
       6486 
6589 
     | 
    
         
             
            		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
         
     | 
| 
         @@ -6531,7 +6634,7 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed 
     | 
|
| 
       6531 
6634 
     | 
    
         
             
            		) ) || 0;
         
     | 
| 
       6532 
6635 
     | 
    
         
             
            	}
         
     | 
| 
       6533 
6636 
     | 
    
         | 
| 
       6534 
     | 
    
         
            -
            	return delta;
         
     | 
| 
      
 6637 
     | 
    
         
            +
            	return delta + marginDelta;
         
     | 
| 
       6535 
6638 
     | 
    
         
             
            }
         
     | 
| 
       6536 
6639 
     | 
    
         | 
| 
       6537 
6640 
     | 
    
         
             
            function getWidthOrHeight( elem, dimension, extra ) {
         
     | 
| 
         @@ -6559,17 +6662,26 @@ function getWidthOrHeight( elem, dimension, extra ) { 
     | 
|
| 
       6559 
6662 
     | 
    
         
             
            	}
         
     | 
| 
       6560 
6663 
     | 
    
         | 
| 
       6561 
6664 
     | 
    
         | 
| 
       6562 
     | 
    
         
            -
            	//  
     | 
| 
       6563 
     | 
    
         
            -
            	//  
     | 
| 
       6564 
     | 
    
         
            -
            	//  
     | 
| 
       6565 
     | 
    
         
            -
            	// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
         
     | 
| 
       6566 
     | 
    
         
            -
            	// Support: IE 9-11 only
         
     | 
| 
       6567 
     | 
    
         
            -
            	// Also use offsetWidth/offsetHeight for when box sizing is unreliable
         
     | 
| 
       6568 
     | 
    
         
            -
            	// We use getClientRects() to check for hidden/disconnected.
         
     | 
| 
       6569 
     | 
    
         
            -
            	// In those cases, the computed value can be trusted to be border-box
         
     | 
| 
      
 6665 
     | 
    
         
            +
            	// Support: IE 9 - 11 only
         
     | 
| 
      
 6666 
     | 
    
         
            +
            	// Use offsetWidth/offsetHeight for when box sizing is unreliable.
         
     | 
| 
      
 6667 
     | 
    
         
            +
            	// In those cases, the computed value can be trusted to be border-box.
         
     | 
| 
       6570 
6668 
     | 
    
         
             
            	if ( ( !support.boxSizingReliable() && isBorderBox ||
         
     | 
| 
      
 6669 
     | 
    
         
            +
             
     | 
| 
      
 6670 
     | 
    
         
            +
            		// Support: IE 10 - 11+, Edge 15 - 18+
         
     | 
| 
      
 6671 
     | 
    
         
            +
            		// IE/Edge misreport `getComputedStyle` of table rows with width/height
         
     | 
| 
      
 6672 
     | 
    
         
            +
            		// set in CSS while `offset*` properties report correct values.
         
     | 
| 
      
 6673 
     | 
    
         
            +
            		// Interestingly, in some cases IE 9 doesn't suffer from this issue.
         
     | 
| 
      
 6674 
     | 
    
         
            +
            		!support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
         
     | 
| 
      
 6675 
     | 
    
         
            +
             
     | 
| 
      
 6676 
     | 
    
         
            +
            		// Fall back to offsetWidth/offsetHeight when value is "auto"
         
     | 
| 
      
 6677 
     | 
    
         
            +
            		// This happens for inline elements with no explicit setting (gh-3571)
         
     | 
| 
       6571 
6678 
     | 
    
         
             
            		val === "auto" ||
         
     | 
| 
      
 6679 
     | 
    
         
            +
             
     | 
| 
      
 6680 
     | 
    
         
            +
            		// Support: Android <=4.1 - 4.3 only
         
     | 
| 
      
 6681 
     | 
    
         
            +
            		// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
         
     | 
| 
       6572 
6682 
     | 
    
         
             
            		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
         
     | 
| 
      
 6683 
     | 
    
         
            +
             
     | 
| 
      
 6684 
     | 
    
         
            +
            		// Make sure the element is visible & connected
         
     | 
| 
       6573 
6685 
     | 
    
         
             
            		elem.getClientRects().length ) {
         
     | 
| 
       6574 
6686 
     | 
    
         | 
| 
       6575 
6687 
     | 
    
         
             
            		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
         
     | 
| 
         @@ -6620,26 +6732,35 @@ jQuery.extend( { 
     | 
|
| 
       6620 
6732 
     | 
    
         | 
| 
       6621 
6733 
     | 
    
         
             
            	// Don't automatically add "px" to these possibly-unitless properties
         
     | 
| 
       6622 
6734 
     | 
    
         
             
            	cssNumber: {
         
     | 
| 
       6623 
     | 
    
         
            -
            		 
     | 
| 
       6624 
     | 
    
         
            -
            		 
     | 
| 
       6625 
     | 
    
         
            -
            		 
     | 
| 
       6626 
     | 
    
         
            -
            		 
     | 
| 
       6627 
     | 
    
         
            -
            		 
     | 
| 
       6628 
     | 
    
         
            -
            		 
     | 
| 
       6629 
     | 
    
         
            -
            		 
     | 
| 
       6630 
     | 
    
         
            -
            		 
     | 
| 
       6631 
     | 
    
         
            -
            		 
     | 
| 
       6632 
     | 
    
         
            -
            		 
     | 
| 
       6633 
     | 
    
         
            -
            		 
     | 
| 
       6634 
     | 
    
         
            -
            		 
     | 
| 
       6635 
     | 
    
         
            -
            		 
     | 
| 
       6636 
     | 
    
         
            -
            		 
     | 
| 
       6637 
     | 
    
         
            -
            		 
     | 
| 
       6638 
     | 
    
         
            -
            		 
     | 
| 
       6639 
     | 
    
         
            -
            		 
     | 
| 
       6640 
     | 
    
         
            -
            		 
     | 
| 
       6641 
     | 
    
         
            -
            		 
     | 
| 
       6642 
     | 
    
         
            -
            		 
     | 
| 
      
 6735 
     | 
    
         
            +
            		animationIterationCount: true,
         
     | 
| 
      
 6736 
     | 
    
         
            +
            		aspectRatio: true,
         
     | 
| 
      
 6737 
     | 
    
         
            +
            		borderImageSlice: true,
         
     | 
| 
      
 6738 
     | 
    
         
            +
            		columnCount: true,
         
     | 
| 
      
 6739 
     | 
    
         
            +
            		flexGrow: true,
         
     | 
| 
      
 6740 
     | 
    
         
            +
            		flexShrink: true,
         
     | 
| 
      
 6741 
     | 
    
         
            +
            		fontWeight: true,
         
     | 
| 
      
 6742 
     | 
    
         
            +
            		gridArea: true,
         
     | 
| 
      
 6743 
     | 
    
         
            +
            		gridColumn: true,
         
     | 
| 
      
 6744 
     | 
    
         
            +
            		gridColumnEnd: true,
         
     | 
| 
      
 6745 
     | 
    
         
            +
            		gridColumnStart: true,
         
     | 
| 
      
 6746 
     | 
    
         
            +
            		gridRow: true,
         
     | 
| 
      
 6747 
     | 
    
         
            +
            		gridRowEnd: true,
         
     | 
| 
      
 6748 
     | 
    
         
            +
            		gridRowStart: true,
         
     | 
| 
      
 6749 
     | 
    
         
            +
            		lineHeight: true,
         
     | 
| 
      
 6750 
     | 
    
         
            +
            		opacity: true,
         
     | 
| 
      
 6751 
     | 
    
         
            +
            		order: true,
         
     | 
| 
      
 6752 
     | 
    
         
            +
            		orphans: true,
         
     | 
| 
      
 6753 
     | 
    
         
            +
            		scale: true,
         
     | 
| 
      
 6754 
     | 
    
         
            +
            		widows: true,
         
     | 
| 
      
 6755 
     | 
    
         
            +
            		zIndex: true,
         
     | 
| 
      
 6756 
     | 
    
         
            +
            		zoom: true,
         
     | 
| 
      
 6757 
     | 
    
         
            +
             
     | 
| 
      
 6758 
     | 
    
         
            +
            		// SVG-related
         
     | 
| 
      
 6759 
     | 
    
         
            +
            		fillOpacity: true,
         
     | 
| 
      
 6760 
     | 
    
         
            +
            		floodOpacity: true,
         
     | 
| 
      
 6761 
     | 
    
         
            +
            		stopOpacity: true,
         
     | 
| 
      
 6762 
     | 
    
         
            +
            		strokeMiterlimit: true,
         
     | 
| 
      
 6763 
     | 
    
         
            +
            		strokeOpacity: true
         
     | 
| 
       6643 
6764 
     | 
    
         
             
            	},
         
     | 
| 
       6644 
6765 
     | 
    
         | 
| 
       6645 
6766 
     | 
    
         
             
            	// Add in properties whose names you wish to fix before
         
     | 
| 
         @@ -6674,15 +6795,15 @@ jQuery.extend( { 
     | 
|
| 
       6674 
6795 
     | 
    
         
             
            		if ( value !== undefined ) {
         
     | 
| 
       6675 
6796 
     | 
    
         
             
            			type = typeof value;
         
     | 
| 
       6676 
6797 
     | 
    
         | 
| 
       6677 
     | 
    
         
            -
            			// Convert "+=" or "-=" to relative numbers ( 
     | 
| 
      
 6798 
     | 
    
         
            +
            			// Convert "+=" or "-=" to relative numbers (trac-7345)
         
     | 
| 
       6678 
6799 
     | 
    
         
             
            			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
         
     | 
| 
       6679 
6800 
     | 
    
         
             
            				value = adjustCSS( elem, name, ret );
         
     | 
| 
       6680 
6801 
     | 
    
         | 
| 
       6681 
     | 
    
         
            -
            				// Fixes bug  
     | 
| 
      
 6802 
     | 
    
         
            +
            				// Fixes bug trac-9237
         
     | 
| 
       6682 
6803 
     | 
    
         
             
            				type = "number";
         
     | 
| 
       6683 
6804 
     | 
    
         
             
            			}
         
     | 
| 
       6684 
6805 
     | 
    
         | 
| 
       6685 
     | 
    
         
            -
            			// Make sure that null and NaN values aren't set ( 
     | 
| 
      
 6806 
     | 
    
         
            +
            			// Make sure that null and NaN values aren't set (trac-7116)
         
     | 
| 
       6686 
6807 
     | 
    
         
             
            			if ( value == null || value !== value ) {
         
     | 
| 
       6687 
6808 
     | 
    
         
             
            				return;
         
     | 
| 
       6688 
6809 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -6764,7 +6885,7 @@ jQuery.extend( { 
     | 
|
| 
       6764 
6885 
     | 
    
         
             
            	}
         
     | 
| 
       6765 
6886 
     | 
    
         
             
            } );
         
     | 
| 
       6766 
6887 
     | 
    
         | 
| 
       6767 
     | 
    
         
            -
            jQuery.each( [ "height", "width" ], function(  
     | 
| 
      
 6888 
     | 
    
         
            +
            jQuery.each( [ "height", "width" ], function( _i, dimension ) {
         
     | 
| 
       6768 
6889 
     | 
    
         
             
            	jQuery.cssHooks[ dimension ] = {
         
     | 
| 
       6769 
6890 
     | 
    
         
             
            		get: function( elem, computed, extra ) {
         
     | 
| 
       6770 
6891 
     | 
    
         
             
            			if ( computed ) {
         
     | 
| 
         @@ -6780,10 +6901,10 @@ jQuery.each( [ "height", "width" ], function( i, dimension ) { 
     | 
|
| 
       6780 
6901 
     | 
    
         
             
            					// Running getBoundingClientRect on a disconnected node
         
     | 
| 
       6781 
6902 
     | 
    
         
             
            					// in IE throws an error.
         
     | 
| 
       6782 
6903 
     | 
    
         
             
            					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
         
     | 
| 
       6783 
     | 
    
         
            -
             
     | 
| 
       6784 
     | 
    
         
            -
             
     | 
| 
       6785 
     | 
    
         
            -
             
     | 
| 
       6786 
     | 
    
         
            -
             
     | 
| 
      
 6904 
     | 
    
         
            +
            					swap( elem, cssShow, function() {
         
     | 
| 
      
 6905 
     | 
    
         
            +
            						return getWidthOrHeight( elem, dimension, extra );
         
     | 
| 
      
 6906 
     | 
    
         
            +
            					} ) :
         
     | 
| 
      
 6907 
     | 
    
         
            +
            					getWidthOrHeight( elem, dimension, extra );
         
     | 
| 
       6787 
6908 
     | 
    
         
             
            			}
         
     | 
| 
       6788 
6909 
     | 
    
         
             
            		},
         
     | 
| 
       6789 
6910 
     | 
    
         | 
| 
         @@ -6842,7 +6963,7 @@ jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, 
     | 
|
| 
       6842 
6963 
     | 
    
         
             
            					swap( elem, { marginLeft: 0 }, function() {
         
     | 
| 
       6843 
6964 
     | 
    
         
             
            						return elem.getBoundingClientRect().left;
         
     | 
| 
       6844 
6965 
     | 
    
         
             
            					} )
         
     | 
| 
       6845 
     | 
    
         
            -
             
     | 
| 
      
 6966 
     | 
    
         
            +
            			) + "px";
         
     | 
| 
       6846 
6967 
     | 
    
         
             
            		}
         
     | 
| 
       6847 
6968 
     | 
    
         
             
            	}
         
     | 
| 
       6848 
6969 
     | 
    
         
             
            );
         
     | 
| 
         @@ -6981,7 +7102,7 @@ Tween.propHooks = { 
     | 
|
| 
       6981 
7102 
     | 
    
         
             
            			if ( jQuery.fx.step[ tween.prop ] ) {
         
     | 
| 
       6982 
7103 
     | 
    
         
             
            				jQuery.fx.step[ tween.prop ]( tween );
         
     | 
| 
       6983 
7104 
     | 
    
         
             
            			} else if ( tween.elem.nodeType === 1 && (
         
     | 
| 
       6984 
     | 
    
         
            -
             
     | 
| 
      
 7105 
     | 
    
         
            +
            				jQuery.cssHooks[ tween.prop ] ||
         
     | 
| 
       6985 
7106 
     | 
    
         
             
            					tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
         
     | 
| 
       6986 
7107 
     | 
    
         
             
            				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
         
     | 
| 
       6987 
7108 
     | 
    
         
             
            			} else {
         
     | 
| 
         @@ -7226,7 +7347,7 @@ function defaultPrefilter( elem, props, opts ) { 
     | 
|
| 
       7226 
7347 
     | 
    
         | 
| 
       7227 
7348 
     | 
    
         
             
            			anim.done( function() {
         
     | 
| 
       7228 
7349 
     | 
    
         | 
| 
       7229 
     | 
    
         
            -
             
     | 
| 
      
 7350 
     | 
    
         
            +
            				/* eslint-enable no-loop-func */
         
     | 
| 
       7230 
7351 
     | 
    
         | 
| 
       7231 
7352 
     | 
    
         
             
            				// The final step of a "hide" animation is actually hiding the element
         
     | 
| 
       7232 
7353 
     | 
    
         
             
            				if ( !hidden ) {
         
     | 
| 
         @@ -7306,7 +7427,7 @@ function Animation( elem, properties, options ) { 
     | 
|
| 
       7306 
7427 
     | 
    
         
             
            				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
         
     | 
| 
       7307 
7428 
     | 
    
         | 
| 
       7308 
7429 
     | 
    
         
             
            				// Support: Android 2.3 only
         
     | 
| 
       7309 
     | 
    
         
            -
            				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` ( 
     | 
| 
      
 7430 
     | 
    
         
            +
            				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
         
     | 
| 
       7310 
7431 
     | 
    
         
             
            				temp = remaining / animation.duration || 0,
         
     | 
| 
       7311 
7432 
     | 
    
         
             
            				percent = 1 - temp,
         
     | 
| 
       7312 
7433 
     | 
    
         
             
            				index = 0,
         
     | 
| 
         @@ -7346,7 +7467,7 @@ function Animation( elem, properties, options ) { 
     | 
|
| 
       7346 
7467 
     | 
    
         
             
            			tweens: [],
         
     | 
| 
       7347 
7468 
     | 
    
         
             
            			createTween: function( prop, end ) {
         
     | 
| 
       7348 
7469 
     | 
    
         
             
            				var tween = jQuery.Tween( elem, animation.opts, prop, end,
         
     | 
| 
       7349 
     | 
    
         
            -
             
     | 
| 
      
 7470 
     | 
    
         
            +
            					animation.opts.specialEasing[ prop ] || animation.opts.easing );
         
     | 
| 
       7350 
7471 
     | 
    
         
             
            				animation.tweens.push( tween );
         
     | 
| 
       7351 
7472 
     | 
    
         
             
            				return tween;
         
     | 
| 
       7352 
7473 
     | 
    
         
             
            			},
         
     | 
| 
         @@ -7519,7 +7640,8 @@ jQuery.fn.extend( { 
     | 
|
| 
       7519 
7640 
     | 
    
         
             
            					anim.stop( true );
         
     | 
| 
       7520 
7641 
     | 
    
         
             
            				}
         
     | 
| 
       7521 
7642 
     | 
    
         
             
            			};
         
     | 
| 
       7522 
     | 
    
         
            -
             
     | 
| 
      
 7643 
     | 
    
         
            +
             
     | 
| 
      
 7644 
     | 
    
         
            +
            		doAnimation.finish = doAnimation;
         
     | 
| 
       7523 
7645 
     | 
    
         | 
| 
       7524 
7646 
     | 
    
         
             
            		return empty || optall.queue === false ?
         
     | 
| 
       7525 
7647 
     | 
    
         
             
            			this.each( doAnimation ) :
         
     | 
| 
         @@ -7537,7 +7659,7 @@ jQuery.fn.extend( { 
     | 
|
| 
       7537 
7659 
     | 
    
         
             
            			clearQueue = type;
         
     | 
| 
       7538 
7660 
     | 
    
         
             
            			type = undefined;
         
     | 
| 
       7539 
7661 
     | 
    
         
             
            		}
         
     | 
| 
       7540 
     | 
    
         
            -
            		if ( clearQueue  
     | 
| 
      
 7662 
     | 
    
         
            +
            		if ( clearQueue ) {
         
     | 
| 
       7541 
7663 
     | 
    
         
             
            			this.queue( type || "fx", [] );
         
     | 
| 
       7542 
7664 
     | 
    
         
             
            		}
         
     | 
| 
       7543 
7665 
     | 
    
         | 
| 
         @@ -7620,7 +7742,7 @@ jQuery.fn.extend( { 
     | 
|
| 
       7620 
7742 
     | 
    
         
             
            	}
         
     | 
| 
       7621 
7743 
     | 
    
         
             
            } );
         
     | 
| 
       7622 
7744 
     | 
    
         | 
| 
       7623 
     | 
    
         
            -
            jQuery.each( [ "toggle", "show", "hide" ], function(  
     | 
| 
      
 7745 
     | 
    
         
            +
            jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
         
     | 
| 
       7624 
7746 
     | 
    
         
             
            	var cssFn = jQuery.fn[ name ];
         
     | 
| 
       7625 
7747 
     | 
    
         
             
            	jQuery.fn[ name ] = function( speed, easing, callback ) {
         
     | 
| 
       7626 
7748 
     | 
    
         
             
            		return speed == null || typeof speed === "boolean" ?
         
     | 
| 
         @@ -7695,7 +7817,6 @@ jQuery.fx.speeds = { 
     | 
|
| 
       7695 
7817 
     | 
    
         | 
| 
       7696 
7818 
     | 
    
         | 
| 
       7697 
7819 
     | 
    
         
             
            // Based off of the plugin by Clint Helfers, with permission.
         
     | 
| 
       7698 
     | 
    
         
            -
            // https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
         
     | 
| 
       7699 
7820 
     | 
    
         
             
            jQuery.fn.delay = function( time, type ) {
         
     | 
| 
       7700 
7821 
     | 
    
         
             
            	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
         
     | 
| 
       7701 
7822 
     | 
    
         
             
            	type = type || "fx";
         
     | 
| 
         @@ -7841,7 +7962,7 @@ boolHook = { 
     | 
|
| 
       7841 
7962 
     | 
    
         
             
            	}
         
     | 
| 
       7842 
7963 
     | 
    
         
             
            };
         
     | 
| 
       7843 
7964 
     | 
    
         | 
| 
       7844 
     | 
    
         
            -
            jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function(  
     | 
| 
      
 7965 
     | 
    
         
            +
            jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
         
     | 
| 
       7845 
7966 
     | 
    
         
             
            	var getter = attrHandle[ name ] || jQuery.find.attr;
         
     | 
| 
       7846 
7967 
     | 
    
         | 
| 
       7847 
7968 
     | 
    
         
             
            	attrHandle[ name ] = function( elem, name, isXML ) {
         
     | 
| 
         @@ -7920,8 +8041,7 @@ jQuery.extend( { 
     | 
|
| 
       7920 
8041 
     | 
    
         
             
            				// Support: IE <=9 - 11 only
         
     | 
| 
       7921 
8042 
     | 
    
         
             
            				// elem.tabIndex doesn't always return the
         
     | 
| 
       7922 
8043 
     | 
    
         
             
            				// correct value when it hasn't been explicitly set
         
     | 
| 
       7923 
     | 
    
         
            -
            				//  
     | 
| 
       7924 
     | 
    
         
            -
            				// Use proper attribute retrieval(#12072)
         
     | 
| 
      
 8044 
     | 
    
         
            +
            				// Use proper attribute retrieval (trac-12072)
         
     | 
| 
       7925 
8045 
     | 
    
         
             
            				var tabindex = jQuery.find.attr( elem, "tabindex" );
         
     | 
| 
       7926 
8046 
     | 
    
         | 
| 
       7927 
8047 
     | 
    
         
             
            				if ( tabindex ) {
         
     | 
| 
         @@ -8025,8 +8145,7 @@ function classesToArray( value ) { 
     | 
|
| 
       8025 
8145 
     | 
    
         | 
| 
       8026 
8146 
     | 
    
         
             
            jQuery.fn.extend( {
         
     | 
| 
       8027 
8147 
     | 
    
         
             
            	addClass: function( value ) {
         
     | 
| 
       8028 
     | 
    
         
            -
            		var  
     | 
| 
       8029 
     | 
    
         
            -
            			i = 0;
         
     | 
| 
      
 8148 
     | 
    
         
            +
            		var classNames, cur, curValue, className, i, finalValue;
         
     | 
| 
       8030 
8149 
     | 
    
         | 
| 
       8031 
8150 
     | 
    
         
             
            		if ( isFunction( value ) ) {
         
     | 
| 
       8032 
8151 
     | 
    
         
             
            			return this.each( function( j ) {
         
     | 
| 
         @@ -8034,36 +8153,35 @@ jQuery.fn.extend( { 
     | 
|
| 
       8034 
8153 
     | 
    
         
             
            			} );
         
     | 
| 
       8035 
8154 
     | 
    
         
             
            		}
         
     | 
| 
       8036 
8155 
     | 
    
         | 
| 
       8037 
     | 
    
         
            -
            		 
     | 
| 
      
 8156 
     | 
    
         
            +
            		classNames = classesToArray( value );
         
     | 
| 
       8038 
8157 
     | 
    
         | 
| 
       8039 
     | 
    
         
            -
            		if (  
     | 
| 
       8040 
     | 
    
         
            -
            			 
     | 
| 
       8041 
     | 
    
         
            -
            				curValue = getClass(  
     | 
| 
       8042 
     | 
    
         
            -
            				cur =  
     | 
| 
      
 8158 
     | 
    
         
            +
            		if ( classNames.length ) {
         
     | 
| 
      
 8159 
     | 
    
         
            +
            			return this.each( function() {
         
     | 
| 
      
 8160 
     | 
    
         
            +
            				curValue = getClass( this );
         
     | 
| 
      
 8161 
     | 
    
         
            +
            				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
         
     | 
| 
       8043 
8162 
     | 
    
         | 
| 
       8044 
8163 
     | 
    
         
             
            				if ( cur ) {
         
     | 
| 
       8045 
     | 
    
         
            -
            					 
     | 
| 
       8046 
     | 
    
         
            -
             
     | 
| 
       8047 
     | 
    
         
            -
            						if ( cur.indexOf( " " +  
     | 
| 
       8048 
     | 
    
         
            -
            							cur +=  
     | 
| 
      
 8164 
     | 
    
         
            +
            					for ( i = 0; i < classNames.length; i++ ) {
         
     | 
| 
      
 8165 
     | 
    
         
            +
            						className = classNames[ i ];
         
     | 
| 
      
 8166 
     | 
    
         
            +
            						if ( cur.indexOf( " " + className + " " ) < 0 ) {
         
     | 
| 
      
 8167 
     | 
    
         
            +
            							cur += className + " ";
         
     | 
| 
       8049 
8168 
     | 
    
         
             
            						}
         
     | 
| 
       8050 
8169 
     | 
    
         
             
            					}
         
     | 
| 
       8051 
8170 
     | 
    
         | 
| 
       8052 
8171 
     | 
    
         
             
            					// Only assign if different to avoid unneeded rendering.
         
     | 
| 
       8053 
8172 
     | 
    
         
             
            					finalValue = stripAndCollapse( cur );
         
     | 
| 
       8054 
8173 
     | 
    
         
             
            					if ( curValue !== finalValue ) {
         
     | 
| 
       8055 
     | 
    
         
            -
            						 
     | 
| 
      
 8174 
     | 
    
         
            +
            						this.setAttribute( "class", finalValue );
         
     | 
| 
       8056 
8175 
     | 
    
         
             
            					}
         
     | 
| 
       8057 
8176 
     | 
    
         
             
            				}
         
     | 
| 
       8058 
     | 
    
         
            -
            			}
         
     | 
| 
      
 8177 
     | 
    
         
            +
            			} );
         
     | 
| 
       8059 
8178 
     | 
    
         
             
            		}
         
     | 
| 
       8060 
8179 
     | 
    
         | 
| 
       8061 
8180 
     | 
    
         
             
            		return this;
         
     | 
| 
       8062 
8181 
     | 
    
         
             
            	},
         
     | 
| 
       8063 
8182 
     | 
    
         | 
| 
       8064 
8183 
     | 
    
         
             
            	removeClass: function( value ) {
         
     | 
| 
       8065 
     | 
    
         
            -
            		var  
     | 
| 
       8066 
     | 
    
         
            -
            			i = 0;
         
     | 
| 
      
 8184 
     | 
    
         
            +
            		var classNames, cur, curValue, className, i, finalValue;
         
     | 
| 
       8067 
8185 
     | 
    
         | 
| 
       8068 
8186 
     | 
    
         
             
            		if ( isFunction( value ) ) {
         
     | 
| 
       8069 
8187 
     | 
    
         
             
            			return this.each( function( j ) {
         
     | 
| 
         @@ -8075,45 +8193,42 @@ jQuery.fn.extend( { 
     | 
|
| 
       8075 
8193 
     | 
    
         
             
            			return this.attr( "class", "" );
         
     | 
| 
       8076 
8194 
     | 
    
         
             
            		}
         
     | 
| 
       8077 
8195 
     | 
    
         | 
| 
       8078 
     | 
    
         
            -
            		 
     | 
| 
      
 8196 
     | 
    
         
            +
            		classNames = classesToArray( value );
         
     | 
| 
       8079 
8197 
     | 
    
         | 
| 
       8080 
     | 
    
         
            -
            		if (  
     | 
| 
       8081 
     | 
    
         
            -
            			 
     | 
| 
       8082 
     | 
    
         
            -
            				curValue = getClass(  
     | 
| 
      
 8198 
     | 
    
         
            +
            		if ( classNames.length ) {
         
     | 
| 
      
 8199 
     | 
    
         
            +
            			return this.each( function() {
         
     | 
| 
      
 8200 
     | 
    
         
            +
            				curValue = getClass( this );
         
     | 
| 
       8083 
8201 
     | 
    
         | 
| 
       8084 
8202 
     | 
    
         
             
            				// This expression is here for better compressibility (see addClass)
         
     | 
| 
       8085 
     | 
    
         
            -
            				cur =  
     | 
| 
      
 8203 
     | 
    
         
            +
            				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
         
     | 
| 
       8086 
8204 
     | 
    
         | 
| 
       8087 
8205 
     | 
    
         
             
            				if ( cur ) {
         
     | 
| 
       8088 
     | 
    
         
            -
            					 
     | 
| 
       8089 
     | 
    
         
            -
             
     | 
| 
      
 8206 
     | 
    
         
            +
            					for ( i = 0; i < classNames.length; i++ ) {
         
     | 
| 
      
 8207 
     | 
    
         
            +
            						className = classNames[ i ];
         
     | 
| 
       8090 
8208 
     | 
    
         | 
| 
       8091 
8209 
     | 
    
         
             
            						// Remove *all* instances
         
     | 
| 
       8092 
     | 
    
         
            -
            						while ( cur.indexOf( " " +  
     | 
| 
       8093 
     | 
    
         
            -
            							cur = cur.replace( " " +  
     | 
| 
      
 8210 
     | 
    
         
            +
            						while ( cur.indexOf( " " + className + " " ) > -1 ) {
         
     | 
| 
      
 8211 
     | 
    
         
            +
            							cur = cur.replace( " " + className + " ", " " );
         
     | 
| 
       8094 
8212 
     | 
    
         
             
            						}
         
     | 
| 
       8095 
8213 
     | 
    
         
             
            					}
         
     | 
| 
       8096 
8214 
     | 
    
         | 
| 
       8097 
8215 
     | 
    
         
             
            					// Only assign if different to avoid unneeded rendering.
         
     | 
| 
       8098 
8216 
     | 
    
         
             
            					finalValue = stripAndCollapse( cur );
         
     | 
| 
       8099 
8217 
     | 
    
         
             
            					if ( curValue !== finalValue ) {
         
     | 
| 
       8100 
     | 
    
         
            -
            						 
     | 
| 
      
 8218 
     | 
    
         
            +
            						this.setAttribute( "class", finalValue );
         
     | 
| 
       8101 
8219 
     | 
    
         
             
            					}
         
     | 
| 
       8102 
8220 
     | 
    
         
             
            				}
         
     | 
| 
       8103 
     | 
    
         
            -
            			}
         
     | 
| 
      
 8221 
     | 
    
         
            +
            			} );
         
     | 
| 
       8104 
8222 
     | 
    
         
             
            		}
         
     | 
| 
       8105 
8223 
     | 
    
         | 
| 
       8106 
8224 
     | 
    
         
             
            		return this;
         
     | 
| 
       8107 
8225 
     | 
    
         
             
            	},
         
     | 
| 
       8108 
8226 
     | 
    
         | 
| 
       8109 
8227 
     | 
    
         
             
            	toggleClass: function( value, stateVal ) {
         
     | 
| 
       8110 
     | 
    
         
            -
            		var  
     | 
| 
      
 8228 
     | 
    
         
            +
            		var classNames, className, i, self,
         
     | 
| 
      
 8229 
     | 
    
         
            +
            			type = typeof value,
         
     | 
| 
       8111 
8230 
     | 
    
         
             
            			isValidValue = type === "string" || Array.isArray( value );
         
     | 
| 
       8112 
8231 
     | 
    
         | 
| 
       8113 
     | 
    
         
            -
            		if ( typeof stateVal === "boolean" && isValidValue ) {
         
     | 
| 
       8114 
     | 
    
         
            -
            			return stateVal ? this.addClass( value ) : this.removeClass( value );
         
     | 
| 
       8115 
     | 
    
         
            -
            		}
         
     | 
| 
       8116 
     | 
    
         
            -
             
     | 
| 
       8117 
8232 
     | 
    
         
             
            		if ( isFunction( value ) ) {
         
     | 
| 
       8118 
8233 
     | 
    
         
             
            			return this.each( function( i ) {
         
     | 
| 
       8119 
8234 
     | 
    
         
             
            				jQuery( this ).toggleClass(
         
     | 
| 
         @@ -8123,17 +8238,20 @@ jQuery.fn.extend( { 
     | 
|
| 
       8123 
8238 
     | 
    
         
             
            			} );
         
     | 
| 
       8124 
8239 
     | 
    
         
             
            		}
         
     | 
| 
       8125 
8240 
     | 
    
         | 
| 
       8126 
     | 
    
         
            -
            		 
     | 
| 
       8127 
     | 
    
         
            -
            			 
     | 
| 
      
 8241 
     | 
    
         
            +
            		if ( typeof stateVal === "boolean" && isValidValue ) {
         
     | 
| 
      
 8242 
     | 
    
         
            +
            			return stateVal ? this.addClass( value ) : this.removeClass( value );
         
     | 
| 
      
 8243 
     | 
    
         
            +
            		}
         
     | 
| 
      
 8244 
     | 
    
         
            +
             
     | 
| 
      
 8245 
     | 
    
         
            +
            		classNames = classesToArray( value );
         
     | 
| 
       8128 
8246 
     | 
    
         | 
| 
      
 8247 
     | 
    
         
            +
            		return this.each( function() {
         
     | 
| 
       8129 
8248 
     | 
    
         
             
            			if ( isValidValue ) {
         
     | 
| 
       8130 
8249 
     | 
    
         | 
| 
       8131 
8250 
     | 
    
         
             
            				// Toggle individual class names
         
     | 
| 
       8132 
     | 
    
         
            -
            				i = 0;
         
     | 
| 
       8133 
8251 
     | 
    
         
             
            				self = jQuery( this );
         
     | 
| 
       8134 
     | 
    
         
            -
            				classNames = classesToArray( value );
         
     | 
| 
       8135 
8252 
     | 
    
         | 
| 
       8136 
     | 
    
         
            -
            				 
     | 
| 
      
 8253 
     | 
    
         
            +
            				for ( i = 0; i < classNames.length; i++ ) {
         
     | 
| 
      
 8254 
     | 
    
         
            +
            					className = classNames[ i ];
         
     | 
| 
       8137 
8255 
     | 
    
         | 
| 
       8138 
8256 
     | 
    
         
             
            					// Check each className given, space separated list
         
     | 
| 
       8139 
8257 
     | 
    
         
             
            					if ( self.hasClass( className ) ) {
         
     | 
| 
         @@ -8159,8 +8277,8 @@ jQuery.fn.extend( { 
     | 
|
| 
       8159 
8277 
     | 
    
         
             
            				if ( this.setAttribute ) {
         
     | 
| 
       8160 
8278 
     | 
    
         
             
            					this.setAttribute( "class",
         
     | 
| 
       8161 
8279 
     | 
    
         
             
            						className || value === false ?
         
     | 
| 
       8162 
     | 
    
         
            -
             
     | 
| 
       8163 
     | 
    
         
            -
             
     | 
| 
      
 8280 
     | 
    
         
            +
            							"" :
         
     | 
| 
      
 8281 
     | 
    
         
            +
            							dataPriv.get( this, "__className__" ) || ""
         
     | 
| 
       8164 
8282 
     | 
    
         
             
            					);
         
     | 
| 
       8165 
8283 
     | 
    
         
             
            				}
         
     | 
| 
       8166 
8284 
     | 
    
         
             
            			}
         
     | 
| 
         @@ -8175,7 +8293,7 @@ jQuery.fn.extend( { 
     | 
|
| 
       8175 
8293 
     | 
    
         
             
            		while ( ( elem = this[ i++ ] ) ) {
         
     | 
| 
       8176 
8294 
     | 
    
         
             
            			if ( elem.nodeType === 1 &&
         
     | 
| 
       8177 
8295 
     | 
    
         
             
            				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
         
     | 
| 
       8178 
     | 
    
         
            -
             
     | 
| 
      
 8296 
     | 
    
         
            +
            				return true;
         
     | 
| 
       8179 
8297 
     | 
    
         
             
            			}
         
     | 
| 
       8180 
8298 
     | 
    
         
             
            		}
         
     | 
| 
       8181 
8299 
     | 
    
         | 
| 
         @@ -8267,7 +8385,7 @@ jQuery.extend( { 
     | 
|
| 
       8267 
8385 
     | 
    
         
             
            					val :
         
     | 
| 
       8268 
8386 
     | 
    
         | 
| 
       8269 
8387 
     | 
    
         
             
            					// Support: IE <=10 - 11 only
         
     | 
| 
       8270 
     | 
    
         
            -
            					// option.text throws exceptions ( 
     | 
| 
      
 8388 
     | 
    
         
            +
            					// option.text throws exceptions (trac-14686, trac-14858)
         
     | 
| 
       8271 
8389 
     | 
    
         
             
            					// Strip and collapse whitespace
         
     | 
| 
       8272 
8390 
     | 
    
         
             
            					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
         
     | 
| 
       8273 
8391 
     | 
    
         
             
            					stripAndCollapse( jQuery.text( elem ) );
         
     | 
| 
         @@ -8294,7 +8412,7 @@ jQuery.extend( { 
     | 
|
| 
       8294 
8412 
     | 
    
         
             
            					option = options[ i ];
         
     | 
| 
       8295 
8413 
     | 
    
         | 
| 
       8296 
8414 
     | 
    
         
             
            					// Support: IE <=9 only
         
     | 
| 
       8297 
     | 
    
         
            -
            					// IE8-9 doesn't update selected after form reset ( 
     | 
| 
      
 8415 
     | 
    
         
            +
            					// IE8-9 doesn't update selected after form reset (trac-2551)
         
     | 
| 
       8298 
8416 
     | 
    
         
             
            					if ( ( option.selected || i === index ) &&
         
     | 
| 
       8299 
8417 
     | 
    
         | 
| 
       8300 
8418 
     | 
    
         
             
            							// Don't return options that are disabled or in a disabled optgroup
         
     | 
| 
         @@ -8368,9 +8486,39 @@ jQuery.each( [ "radio", "checkbox" ], function() { 
     | 
|
| 
       8368 
8486 
     | 
    
         | 
| 
       8369 
8487 
     | 
    
         | 
| 
       8370 
8488 
     | 
    
         
             
            // Return jQuery for attributes-only inclusion
         
     | 
| 
      
 8489 
     | 
    
         
            +
            var location = window.location;
         
     | 
| 
      
 8490 
     | 
    
         
            +
             
     | 
| 
      
 8491 
     | 
    
         
            +
            var nonce = { guid: Date.now() };
         
     | 
| 
      
 8492 
     | 
    
         
            +
             
     | 
| 
      
 8493 
     | 
    
         
            +
            var rquery = ( /\?/ );
         
     | 
| 
      
 8494 
     | 
    
         
            +
             
     | 
| 
      
 8495 
     | 
    
         
            +
             
     | 
| 
      
 8496 
     | 
    
         
            +
             
     | 
| 
      
 8497 
     | 
    
         
            +
            // Cross-browser xml parsing
         
     | 
| 
      
 8498 
     | 
    
         
            +
            jQuery.parseXML = function( data ) {
         
     | 
| 
      
 8499 
     | 
    
         
            +
            	var xml, parserErrorElem;
         
     | 
| 
      
 8500 
     | 
    
         
            +
            	if ( !data || typeof data !== "string" ) {
         
     | 
| 
      
 8501 
     | 
    
         
            +
            		return null;
         
     | 
| 
      
 8502 
     | 
    
         
            +
            	}
         
     | 
| 
       8371 
8503 
     | 
    
         | 
| 
      
 8504 
     | 
    
         
            +
            	// Support: IE 9 - 11 only
         
     | 
| 
      
 8505 
     | 
    
         
            +
            	// IE throws on parseFromString with invalid input.
         
     | 
| 
      
 8506 
     | 
    
         
            +
            	try {
         
     | 
| 
      
 8507 
     | 
    
         
            +
            		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
         
     | 
| 
      
 8508 
     | 
    
         
            +
            	} catch ( e ) {}
         
     | 
| 
       8372 
8509 
     | 
    
         | 
| 
       8373 
     | 
    
         
            -
             
     | 
| 
      
 8510 
     | 
    
         
            +
            	parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
         
     | 
| 
      
 8511 
     | 
    
         
            +
            	if ( !xml || parserErrorElem ) {
         
     | 
| 
      
 8512 
     | 
    
         
            +
            		jQuery.error( "Invalid XML: " + (
         
     | 
| 
      
 8513 
     | 
    
         
            +
            			parserErrorElem ?
         
     | 
| 
      
 8514 
     | 
    
         
            +
            				jQuery.map( parserErrorElem.childNodes, function( el ) {
         
     | 
| 
      
 8515 
     | 
    
         
            +
            					return el.textContent;
         
     | 
| 
      
 8516 
     | 
    
         
            +
            				} ).join( "\n" ) :
         
     | 
| 
      
 8517 
     | 
    
         
            +
            				data
         
     | 
| 
      
 8518 
     | 
    
         
            +
            		) );
         
     | 
| 
      
 8519 
     | 
    
         
            +
            	}
         
     | 
| 
      
 8520 
     | 
    
         
            +
            	return xml;
         
     | 
| 
      
 8521 
     | 
    
         
            +
            };
         
     | 
| 
       8374 
8522 
     | 
    
         | 
| 
       8375 
8523 
     | 
    
         | 
| 
       8376 
8524 
     | 
    
         
             
            var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
         
     | 
| 
         @@ -8437,8 +8585,8 @@ jQuery.extend( jQuery.event, { 
     | 
|
| 
       8437 
8585 
     | 
    
         
             
            			return;
         
     | 
| 
       8438 
8586 
     | 
    
         
             
            		}
         
     | 
| 
       8439 
8587 
     | 
    
         | 
| 
       8440 
     | 
    
         
            -
            		// Determine event propagation path in advance, per W3C events spec ( 
     | 
| 
       8441 
     | 
    
         
            -
            		// Bubble up to document, then to window; watch for a global ownerDocument var ( 
     | 
| 
      
 8588 
     | 
    
         
            +
            		// Determine event propagation path in advance, per W3C events spec (trac-9951)
         
     | 
| 
      
 8589 
     | 
    
         
            +
            		// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
         
     | 
| 
       8442 
8590 
     | 
    
         
             
            		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
         
     | 
| 
       8443 
8591 
     | 
    
         | 
| 
       8444 
8592 
     | 
    
         
             
            			bubbleType = special.delegateType || type;
         
     | 
| 
         @@ -8465,7 +8613,7 @@ jQuery.extend( jQuery.event, { 
     | 
|
| 
       8465 
8613 
     | 
    
         
             
            				special.bindType || type;
         
     | 
| 
       8466 
8614 
     | 
    
         | 
| 
       8467 
8615 
     | 
    
         
             
            			// jQuery handler
         
     | 
| 
       8468 
     | 
    
         
            -
            			handle = ( dataPriv.get( cur, "events" ) ||  
     | 
| 
      
 8616 
     | 
    
         
            +
            			handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
         
     | 
| 
       8469 
8617 
     | 
    
         
             
            				dataPriv.get( cur, "handle" );
         
     | 
| 
       8470 
8618 
     | 
    
         
             
            			if ( handle ) {
         
     | 
| 
       8471 
8619 
     | 
    
         
             
            				handle.apply( cur, data );
         
     | 
| 
         @@ -8490,7 +8638,7 @@ jQuery.extend( jQuery.event, { 
     | 
|
| 
       8490 
8638 
     | 
    
         
             
            				acceptData( elem ) ) {
         
     | 
| 
       8491 
8639 
     | 
    
         | 
| 
       8492 
8640 
     | 
    
         
             
            				// Call a native DOM method on the target with the same name as the event.
         
     | 
| 
       8493 
     | 
    
         
            -
            				// Don't do default actions on window, that's where global variables be ( 
     | 
| 
      
 8641 
     | 
    
         
            +
            				// Don't do default actions on window, that's where global variables be (trac-6170)
         
     | 
| 
       8494 
8642 
     | 
    
         
             
            				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
         
     | 
| 
       8495 
8643 
     | 
    
         | 
| 
       8496 
8644 
     | 
    
         
             
            					// Don't re-trigger an onFOO event when we call its FOO() method
         
     | 
| 
         @@ -8558,77 +8706,6 @@ jQuery.fn.extend( { 
     | 
|
| 
       8558 
8706 
     | 
    
         
             
            } );
         
     | 
| 
       8559 
8707 
     | 
    
         | 
| 
       8560 
8708 
     | 
    
         | 
| 
       8561 
     | 
    
         
            -
            // Support: Firefox <=44
         
     | 
| 
       8562 
     | 
    
         
            -
            // Firefox doesn't have focus(in | out) events
         
     | 
| 
       8563 
     | 
    
         
            -
            // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
         
     | 
| 
       8564 
     | 
    
         
            -
            //
         
     | 
| 
       8565 
     | 
    
         
            -
            // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
         
     | 
| 
       8566 
     | 
    
         
            -
            // focus(in | out) events fire after focus & blur events,
         
     | 
| 
       8567 
     | 
    
         
            -
            // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
         
     | 
| 
       8568 
     | 
    
         
            -
            // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
         
     | 
| 
       8569 
     | 
    
         
            -
            if ( !support.focusin ) {
         
     | 
| 
       8570 
     | 
    
         
            -
            	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
         
     | 
| 
       8571 
     | 
    
         
            -
             
     | 
| 
       8572 
     | 
    
         
            -
            		// Attach a single capturing handler on the document while someone wants focusin/focusout
         
     | 
| 
       8573 
     | 
    
         
            -
            		var handler = function( event ) {
         
     | 
| 
       8574 
     | 
    
         
            -
            			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
         
     | 
| 
       8575 
     | 
    
         
            -
            		};
         
     | 
| 
       8576 
     | 
    
         
            -
             
     | 
| 
       8577 
     | 
    
         
            -
            		jQuery.event.special[ fix ] = {
         
     | 
| 
       8578 
     | 
    
         
            -
            			setup: function() {
         
     | 
| 
       8579 
     | 
    
         
            -
            				var doc = this.ownerDocument || this,
         
     | 
| 
       8580 
     | 
    
         
            -
            					attaches = dataPriv.access( doc, fix );
         
     | 
| 
       8581 
     | 
    
         
            -
             
     | 
| 
       8582 
     | 
    
         
            -
            				if ( !attaches ) {
         
     | 
| 
       8583 
     | 
    
         
            -
            					doc.addEventListener( orig, handler, true );
         
     | 
| 
       8584 
     | 
    
         
            -
            				}
         
     | 
| 
       8585 
     | 
    
         
            -
            				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
         
     | 
| 
       8586 
     | 
    
         
            -
            			},
         
     | 
| 
       8587 
     | 
    
         
            -
            			teardown: function() {
         
     | 
| 
       8588 
     | 
    
         
            -
            				var doc = this.ownerDocument || this,
         
     | 
| 
       8589 
     | 
    
         
            -
            					attaches = dataPriv.access( doc, fix ) - 1;
         
     | 
| 
       8590 
     | 
    
         
            -
             
     | 
| 
       8591 
     | 
    
         
            -
            				if ( !attaches ) {
         
     | 
| 
       8592 
     | 
    
         
            -
            					doc.removeEventListener( orig, handler, true );
         
     | 
| 
       8593 
     | 
    
         
            -
            					dataPriv.remove( doc, fix );
         
     | 
| 
       8594 
     | 
    
         
            -
             
     | 
| 
       8595 
     | 
    
         
            -
            				} else {
         
     | 
| 
       8596 
     | 
    
         
            -
            					dataPriv.access( doc, fix, attaches );
         
     | 
| 
       8597 
     | 
    
         
            -
            				}
         
     | 
| 
       8598 
     | 
    
         
            -
            			}
         
     | 
| 
       8599 
     | 
    
         
            -
            		};
         
     | 
| 
       8600 
     | 
    
         
            -
            	} );
         
     | 
| 
       8601 
     | 
    
         
            -
            }
         
     | 
| 
       8602 
     | 
    
         
            -
            var location = window.location;
         
     | 
| 
       8603 
     | 
    
         
            -
             
     | 
| 
       8604 
     | 
    
         
            -
            var nonce = Date.now();
         
     | 
| 
       8605 
     | 
    
         
            -
             
     | 
| 
       8606 
     | 
    
         
            -
            var rquery = ( /\?/ );
         
     | 
| 
       8607 
     | 
    
         
            -
             
     | 
| 
       8608 
     | 
    
         
            -
             
     | 
| 
       8609 
     | 
    
         
            -
             
     | 
| 
       8610 
     | 
    
         
            -
            // Cross-browser xml parsing
         
     | 
| 
       8611 
     | 
    
         
            -
            jQuery.parseXML = function( data ) {
         
     | 
| 
       8612 
     | 
    
         
            -
            	var xml;
         
     | 
| 
       8613 
     | 
    
         
            -
            	if ( !data || typeof data !== "string" ) {
         
     | 
| 
       8614 
     | 
    
         
            -
            		return null;
         
     | 
| 
       8615 
     | 
    
         
            -
            	}
         
     | 
| 
       8616 
     | 
    
         
            -
             
     | 
| 
       8617 
     | 
    
         
            -
            	// Support: IE 9 - 11 only
         
     | 
| 
       8618 
     | 
    
         
            -
            	// IE throws on parseFromString with invalid input.
         
     | 
| 
       8619 
     | 
    
         
            -
            	try {
         
     | 
| 
       8620 
     | 
    
         
            -
            		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
         
     | 
| 
       8621 
     | 
    
         
            -
            	} catch ( e ) {
         
     | 
| 
       8622 
     | 
    
         
            -
            		xml = undefined;
         
     | 
| 
       8623 
     | 
    
         
            -
            	}
         
     | 
| 
       8624 
     | 
    
         
            -
             
     | 
| 
       8625 
     | 
    
         
            -
            	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
         
     | 
| 
       8626 
     | 
    
         
            -
            		jQuery.error( "Invalid XML: " + data );
         
     | 
| 
       8627 
     | 
    
         
            -
            	}
         
     | 
| 
       8628 
     | 
    
         
            -
            	return xml;
         
     | 
| 
       8629 
     | 
    
         
            -
            };
         
     | 
| 
       8630 
     | 
    
         
            -
             
     | 
| 
       8631 
     | 
    
         
            -
             
     | 
| 
       8632 
8709 
     | 
    
         
             
            var
         
     | 
| 
       8633 
8710 
     | 
    
         
             
            	rbracket = /\[\]$/,
         
     | 
| 
       8634 
8711 
     | 
    
         
             
            	rCRLF = /\r?\n/g,
         
     | 
| 
         @@ -8724,16 +8801,14 @@ jQuery.fn.extend( { 
     | 
|
| 
       8724 
8801 
     | 
    
         
             
            			// Can add propHook for "elements" to filter or add form elements
         
     | 
| 
       8725 
8802 
     | 
    
         
             
            			var elements = jQuery.prop( this, "elements" );
         
     | 
| 
       8726 
8803 
     | 
    
         
             
            			return elements ? jQuery.makeArray( elements ) : this;
         
     | 
| 
       8727 
     | 
    
         
            -
            		} )
         
     | 
| 
       8728 
     | 
    
         
            -
            		.filter( function() {
         
     | 
| 
      
 8804 
     | 
    
         
            +
            		} ).filter( function() {
         
     | 
| 
       8729 
8805 
     | 
    
         
             
            			var type = this.type;
         
     | 
| 
       8730 
8806 
     | 
    
         | 
| 
       8731 
8807 
     | 
    
         
             
            			// Use .is( ":disabled" ) so that fieldset[disabled] works
         
     | 
| 
       8732 
8808 
     | 
    
         
             
            			return this.name && !jQuery( this ).is( ":disabled" ) &&
         
     | 
| 
       8733 
8809 
     | 
    
         
             
            				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
         
     | 
| 
       8734 
8810 
     | 
    
         
             
            				( this.checked || !rcheckableType.test( type ) );
         
     | 
| 
       8735 
     | 
    
         
            -
            		} )
         
     | 
| 
       8736 
     | 
    
         
            -
            		.map( function( i, elem ) {
         
     | 
| 
      
 8811 
     | 
    
         
            +
            		} ).map( function( _i, elem ) {
         
     | 
| 
       8737 
8812 
     | 
    
         
             
            			var val = jQuery( this ).val();
         
     | 
| 
       8738 
8813 
     | 
    
         | 
| 
       8739 
8814 
     | 
    
         
             
            			if ( val == null ) {
         
     | 
| 
         @@ -8758,7 +8833,7 @@ var 
     | 
|
| 
       8758 
8833 
     | 
    
         
             
            	rantiCache = /([?&])_=[^&]*/,
         
     | 
| 
       8759 
8834 
     | 
    
         
             
            	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
         
     | 
| 
       8760 
8835 
     | 
    
         | 
| 
       8761 
     | 
    
         
            -
            	//  
     | 
| 
      
 8836 
     | 
    
         
            +
            	// trac-7653, trac-8125, trac-8152: local protocol detection
         
     | 
| 
       8762 
8837 
     | 
    
         
             
            	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
         
     | 
| 
       8763 
8838 
     | 
    
         
             
            	rnoContent = /^(?:GET|HEAD)$/,
         
     | 
| 
       8764 
8839 
     | 
    
         
             
            	rprotocol = /^\/\//,
         
     | 
| 
         @@ -8781,12 +8856,13 @@ var 
     | 
|
| 
       8781 
8856 
     | 
    
         
             
            	 */
         
     | 
| 
       8782 
8857 
     | 
    
         
             
            	transports = {},
         
     | 
| 
       8783 
8858 
     | 
    
         | 
| 
       8784 
     | 
    
         
            -
            	// Avoid comment-prolog char sequence ( 
     | 
| 
      
 8859 
     | 
    
         
            +
            	// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
         
     | 
| 
       8785 
8860 
     | 
    
         
             
            	allTypes = "*/".concat( "*" ),
         
     | 
| 
       8786 
8861 
     | 
    
         | 
| 
       8787 
8862 
     | 
    
         
             
            	// Anchor tag for parsing the document origin
         
     | 
| 
       8788 
8863 
     | 
    
         
             
            	originAnchor = document.createElement( "a" );
         
     | 
| 
       8789 
     | 
    
         
            -
             
     | 
| 
      
 8864 
     | 
    
         
            +
             
     | 
| 
      
 8865 
     | 
    
         
            +
            originAnchor.href = location.href;
         
     | 
| 
       8790 
8866 
     | 
    
         | 
| 
       8791 
8867 
     | 
    
         
             
            // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
         
     | 
| 
       8792 
8868 
     | 
    
         
             
            function addToPrefiltersOrTransports( structure ) {
         
     | 
| 
         @@ -8851,7 +8927,7 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqX 
     | 
|
| 
       8851 
8927 
     | 
    
         | 
| 
       8852 
8928 
     | 
    
         
             
            // A special extend for ajax options
         
     | 
| 
       8853 
8929 
     | 
    
         
             
            // that takes "flat" options (not to be deep extended)
         
     | 
| 
       8854 
     | 
    
         
            -
            // Fixes  
     | 
| 
      
 8930 
     | 
    
         
            +
            // Fixes trac-9887
         
     | 
| 
       8855 
8931 
     | 
    
         
             
            function ajaxExtend( target, src ) {
         
     | 
| 
       8856 
8932 
     | 
    
         
             
            	var key, deep,
         
     | 
| 
       8857 
8933 
     | 
    
         
             
            		flatOptions = jQuery.ajaxSettings.flatOptions || {};
         
     | 
| 
         @@ -9167,8 +9243,8 @@ jQuery.extend( { 
     | 
|
| 
       9167 
9243 
     | 
    
         
             
            			// Context for global events is callbackContext if it is a DOM node or jQuery collection
         
     | 
| 
       9168 
9244 
     | 
    
         
             
            			globalEventContext = s.context &&
         
     | 
| 
       9169 
9245 
     | 
    
         
             
            				( callbackContext.nodeType || callbackContext.jquery ) ?
         
     | 
| 
       9170 
     | 
    
         
            -
             
     | 
| 
       9171 
     | 
    
         
            -
             
     | 
| 
      
 9246 
     | 
    
         
            +
            				jQuery( callbackContext ) :
         
     | 
| 
      
 9247 
     | 
    
         
            +
            				jQuery.event,
         
     | 
| 
       9172 
9248 
     | 
    
         | 
| 
       9173 
9249 
     | 
    
         
             
            			// Deferreds
         
     | 
| 
       9174 
9250 
     | 
    
         
             
            			deferred = jQuery.Deferred(),
         
     | 
| 
         @@ -9262,12 +9338,12 @@ jQuery.extend( { 
     | 
|
| 
       9262 
9338 
     | 
    
         
             
            		deferred.promise( jqXHR );
         
     | 
| 
       9263 
9339 
     | 
    
         | 
| 
       9264 
9340 
     | 
    
         
             
            		// Add protocol if not provided (prefilters might expect it)
         
     | 
| 
       9265 
     | 
    
         
            -
            		// Handle falsy url in the settings object ( 
     | 
| 
      
 9341 
     | 
    
         
            +
            		// Handle falsy url in the settings object (trac-10093: consistency with old signature)
         
     | 
| 
       9266 
9342 
     | 
    
         
             
            		// We also use the url parameter if available
         
     | 
| 
       9267 
9343 
     | 
    
         
             
            		s.url = ( ( url || s.url || location.href ) + "" )
         
     | 
| 
       9268 
9344 
     | 
    
         
             
            			.replace( rprotocol, location.protocol + "//" );
         
     | 
| 
       9269 
9345 
     | 
    
         | 
| 
       9270 
     | 
    
         
            -
            		// Alias method option to type as per ticket  
     | 
| 
      
 9346 
     | 
    
         
            +
            		// Alias method option to type as per ticket trac-12004
         
     | 
| 
       9271 
9347 
     | 
    
         
             
            		s.type = options.method || options.type || s.method || s.type;
         
     | 
| 
       9272 
9348 
     | 
    
         | 
| 
       9273 
9349 
     | 
    
         
             
            		// Extract dataTypes list
         
     | 
| 
         @@ -9310,7 +9386,7 @@ jQuery.extend( { 
     | 
|
| 
       9310 
9386 
     | 
    
         
             
            		}
         
     | 
| 
       9311 
9387 
     | 
    
         | 
| 
       9312 
9388 
     | 
    
         
             
            		// We can fire global events as of now if asked to
         
     | 
| 
       9313 
     | 
    
         
            -
            		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario ( 
     | 
| 
      
 9389 
     | 
    
         
            +
            		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
         
     | 
| 
       9314 
9390 
     | 
    
         
             
            		fireGlobals = jQuery.event && s.global;
         
     | 
| 
       9315 
9391 
     | 
    
         | 
| 
       9316 
9392 
     | 
    
         
             
            		// Watch for a new set of requests
         
     | 
| 
         @@ -9339,14 +9415,15 @@ jQuery.extend( { 
     | 
|
| 
       9339 
9415 
     | 
    
         
             
            			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
         
     | 
| 
       9340 
9416 
     | 
    
         
             
            				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
         
     | 
| 
       9341 
9417 
     | 
    
         | 
| 
       9342 
     | 
    
         
            -
            				//  
     | 
| 
      
 9418 
     | 
    
         
            +
            				// trac-9682: remove data so that it's not used in an eventual retry
         
     | 
| 
       9343 
9419 
     | 
    
         
             
            				delete s.data;
         
     | 
| 
       9344 
9420 
     | 
    
         
             
            			}
         
     | 
| 
       9345 
9421 
     | 
    
         | 
| 
       9346 
9422 
     | 
    
         
             
            			// Add or update anti-cache param if needed
         
     | 
| 
       9347 
9423 
     | 
    
         
             
            			if ( s.cache === false ) {
         
     | 
| 
       9348 
9424 
     | 
    
         
             
            				cacheURL = cacheURL.replace( rantiCache, "$1" );
         
     | 
| 
       9349 
     | 
    
         
            -
            				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + 
     | 
| 
      
 9425 
     | 
    
         
            +
            				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
         
     | 
| 
      
 9426 
     | 
    
         
            +
            					uncached;
         
     | 
| 
       9350 
9427 
     | 
    
         
             
            			}
         
     | 
| 
       9351 
9428 
     | 
    
         | 
| 
       9352 
9429 
     | 
    
         
             
            			// Put hash and anti-cache on the URL that will be requested (gh-1732)
         
     | 
| 
         @@ -9479,6 +9556,13 @@ jQuery.extend( { 
     | 
|
| 
       9479 
9556 
     | 
    
         
             
            				response = ajaxHandleResponses( s, jqXHR, responses );
         
     | 
| 
       9480 
9557 
     | 
    
         
             
            			}
         
     | 
| 
       9481 
9558 
     | 
    
         | 
| 
      
 9559 
     | 
    
         
            +
            			// Use a noop converter for missing script but not if jsonp
         
     | 
| 
      
 9560 
     | 
    
         
            +
            			if ( !isSuccess &&
         
     | 
| 
      
 9561 
     | 
    
         
            +
            				jQuery.inArray( "script", s.dataTypes ) > -1 &&
         
     | 
| 
      
 9562 
     | 
    
         
            +
            				jQuery.inArray( "json", s.dataTypes ) < 0 ) {
         
     | 
| 
      
 9563 
     | 
    
         
            +
            				s.converters[ "text script" ] = function() {};
         
     | 
| 
      
 9564 
     | 
    
         
            +
            			}
         
     | 
| 
      
 9565 
     | 
    
         
            +
             
     | 
| 
       9482 
9566 
     | 
    
         
             
            			// Convert no matter what (that way responseXXX fields are always set)
         
     | 
| 
       9483 
9567 
     | 
    
         
             
            			response = ajaxConvert( s, response, jqXHR, isSuccess );
         
     | 
| 
       9484 
9568 
     | 
    
         | 
| 
         @@ -9569,7 +9653,7 @@ jQuery.extend( { 
     | 
|
| 
       9569 
9653 
     | 
    
         
             
            	}
         
     | 
| 
       9570 
9654 
     | 
    
         
             
            } );
         
     | 
| 
       9571 
9655 
     | 
    
         | 
| 
       9572 
     | 
    
         
            -
            jQuery.each( [ "get", "post" ], function(  
     | 
| 
      
 9656 
     | 
    
         
            +
            jQuery.each( [ "get", "post" ], function( _i, method ) {
         
     | 
| 
       9573 
9657 
     | 
    
         
             
            	jQuery[ method ] = function( url, data, callback, type ) {
         
     | 
| 
       9574 
9658 
     | 
    
         | 
| 
       9575 
9659 
     | 
    
         
             
            		// Shift arguments if data argument was omitted
         
     | 
| 
         @@ -9590,12 +9674,21 @@ jQuery.each( [ "get", "post" ], function( i, method ) { 
     | 
|
| 
       9590 
9674 
     | 
    
         
             
            	};
         
     | 
| 
       9591 
9675 
     | 
    
         
             
            } );
         
     | 
| 
       9592 
9676 
     | 
    
         | 
| 
      
 9677 
     | 
    
         
            +
            jQuery.ajaxPrefilter( function( s ) {
         
     | 
| 
      
 9678 
     | 
    
         
            +
            	var i;
         
     | 
| 
      
 9679 
     | 
    
         
            +
            	for ( i in s.headers ) {
         
     | 
| 
      
 9680 
     | 
    
         
            +
            		if ( i.toLowerCase() === "content-type" ) {
         
     | 
| 
      
 9681 
     | 
    
         
            +
            			s.contentType = s.headers[ i ] || "";
         
     | 
| 
      
 9682 
     | 
    
         
            +
            		}
         
     | 
| 
      
 9683 
     | 
    
         
            +
            	}
         
     | 
| 
      
 9684 
     | 
    
         
            +
            } );
         
     | 
| 
      
 9685 
     | 
    
         
            +
             
     | 
| 
       9593 
9686 
     | 
    
         | 
| 
       9594 
     | 
    
         
            -
            jQuery._evalUrl = function( url, options ) {
         
     | 
| 
      
 9687 
     | 
    
         
            +
            jQuery._evalUrl = function( url, options, doc ) {
         
     | 
| 
       9595 
9688 
     | 
    
         
             
            	return jQuery.ajax( {
         
     | 
| 
       9596 
9689 
     | 
    
         
             
            		url: url,
         
     | 
| 
       9597 
9690 
     | 
    
         | 
| 
       9598 
     | 
    
         
            -
            		// Make this explicit, since user can override this through ajaxSetup ( 
     | 
| 
      
 9691 
     | 
    
         
            +
            		// Make this explicit, since user can override this through ajaxSetup (trac-11264)
         
     | 
| 
       9599 
9692 
     | 
    
         
             
            		type: "GET",
         
     | 
| 
       9600 
9693 
     | 
    
         
             
            		dataType: "script",
         
     | 
| 
       9601 
9694 
     | 
    
         
             
            		cache: true,
         
     | 
| 
         @@ -9609,7 +9702,7 @@ jQuery._evalUrl = function( url, options ) { 
     | 
|
| 
       9609 
9702 
     | 
    
         
             
            			"text script": function() {}
         
     | 
| 
       9610 
9703 
     | 
    
         
             
            		},
         
     | 
| 
       9611 
9704 
     | 
    
         
             
            		dataFilter: function( response ) {
         
     | 
| 
       9612 
     | 
    
         
            -
            			jQuery.globalEval( response, options );
         
     | 
| 
      
 9705 
     | 
    
         
            +
            			jQuery.globalEval( response, options, doc );
         
     | 
| 
       9613 
9706 
     | 
    
         
             
            		}
         
     | 
| 
       9614 
9707 
     | 
    
         
             
            	} );
         
     | 
| 
       9615 
9708 
     | 
    
         
             
            };
         
     | 
| 
         @@ -9704,7 +9797,7 @@ var xhrSuccessStatus = { 
     | 
|
| 
       9704 
9797 
     | 
    
         
             
            		0: 200,
         
     | 
| 
       9705 
9798 
     | 
    
         | 
| 
       9706 
9799 
     | 
    
         
             
            		// Support: IE <=9 only
         
     | 
| 
       9707 
     | 
    
         
            -
            		//  
     | 
| 
      
 9800 
     | 
    
         
            +
            		// trac-1450: sometimes IE returns 1223 when it should be 204
         
     | 
| 
       9708 
9801 
     | 
    
         
             
            		1223: 204
         
     | 
| 
       9709 
9802 
     | 
    
         
             
            	},
         
     | 
| 
       9710 
9803 
     | 
    
         
             
            	xhrSupported = jQuery.ajaxSettings.xhr();
         
     | 
| 
         @@ -9776,7 +9869,7 @@ jQuery.ajaxTransport( function( options ) { 
     | 
|
| 
       9776 
9869 
     | 
    
         
             
            								} else {
         
     | 
| 
       9777 
9870 
     | 
    
         
             
            									complete(
         
     | 
| 
       9778 
9871 
     | 
    
         | 
| 
       9779 
     | 
    
         
            -
            										// File: protocol always yields status 0; see  
     | 
| 
      
 9872 
     | 
    
         
            +
            										// File: protocol always yields status 0; see trac-8605, trac-14207
         
     | 
| 
       9780 
9873 
     | 
    
         
             
            										xhr.status,
         
     | 
| 
       9781 
9874 
     | 
    
         
             
            										xhr.statusText
         
     | 
| 
       9782 
9875 
     | 
    
         
             
            									);
         
     | 
| 
         @@ -9837,7 +9930,7 @@ jQuery.ajaxTransport( function( options ) { 
     | 
|
| 
       9837 
9930 
     | 
    
         
             
            					xhr.send( options.hasContent && options.data || null );
         
     | 
| 
       9838 
9931 
     | 
    
         
             
            				} catch ( e ) {
         
     | 
| 
       9839 
9932 
     | 
    
         | 
| 
       9840 
     | 
    
         
            -
            					//  
     | 
| 
      
 9933 
     | 
    
         
            +
            					// trac-14683: Only rethrow if this hasn't been notified as an error yet
         
     | 
| 
       9841 
9934 
     | 
    
         
             
            					if ( callback ) {
         
     | 
| 
       9842 
9935 
     | 
    
         
             
            						throw e;
         
     | 
| 
       9843 
9936 
     | 
    
         
             
            					}
         
     | 
| 
         @@ -9931,7 +10024,7 @@ var oldCallbacks = [], 
     | 
|
| 
       9931 
10024 
     | 
    
         
             
            jQuery.ajaxSetup( {
         
     | 
| 
       9932 
10025 
     | 
    
         
             
            	jsonp: "callback",
         
     | 
| 
       9933 
10026 
     | 
    
         
             
            	jsonpCallback: function() {
         
     | 
| 
       9934 
     | 
    
         
            -
            		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
         
     | 
| 
      
 10027 
     | 
    
         
            +
            		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
         
     | 
| 
       9935 
10028 
     | 
    
         
             
            		this[ callback ] = true;
         
     | 
| 
       9936 
10029 
     | 
    
         
             
            		return callback;
         
     | 
| 
       9937 
10030 
     | 
    
         
             
            	}
         
     | 
| 
         @@ -10148,23 +10241,6 @@ jQuery.fn.load = function( url, params, callback ) { 
     | 
|
| 
       10148 
10241 
     | 
    
         | 
| 
       10149 
10242 
     | 
    
         | 
| 
       10150 
10243 
     | 
    
         | 
| 
       10151 
     | 
    
         
            -
            // Attach a bunch of functions for handling common AJAX events
         
     | 
| 
       10152 
     | 
    
         
            -
            jQuery.each( [
         
     | 
| 
       10153 
     | 
    
         
            -
            	"ajaxStart",
         
     | 
| 
       10154 
     | 
    
         
            -
            	"ajaxStop",
         
     | 
| 
       10155 
     | 
    
         
            -
            	"ajaxComplete",
         
     | 
| 
       10156 
     | 
    
         
            -
            	"ajaxError",
         
     | 
| 
       10157 
     | 
    
         
            -
            	"ajaxSuccess",
         
     | 
| 
       10158 
     | 
    
         
            -
            	"ajaxSend"
         
     | 
| 
       10159 
     | 
    
         
            -
            ], function( i, type ) {
         
     | 
| 
       10160 
     | 
    
         
            -
            	jQuery.fn[ type ] = function( fn ) {
         
     | 
| 
       10161 
     | 
    
         
            -
            		return this.on( type, fn );
         
     | 
| 
       10162 
     | 
    
         
            -
            	};
         
     | 
| 
       10163 
     | 
    
         
            -
            } );
         
     | 
| 
       10164 
     | 
    
         
            -
             
     | 
| 
       10165 
     | 
    
         
            -
             
     | 
| 
       10166 
     | 
    
         
            -
             
     | 
| 
       10167 
     | 
    
         
            -
             
     | 
| 
       10168 
10244 
     | 
    
         
             
            jQuery.expr.pseudos.animated = function( elem ) {
         
     | 
| 
       10169 
10245 
     | 
    
         
             
            	return jQuery.grep( jQuery.timers, function( fn ) {
         
     | 
| 
       10170 
10246 
     | 
    
         
             
            		return elem === fn.elem;
         
     | 
| 
         @@ -10371,7 +10447,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( 
     | 
|
| 
       10371 
10447 
     | 
    
         
             
            // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
         
     | 
| 
       10372 
10448 
     | 
    
         
             
            // getComputedStyle returns percent when specified for top/left/bottom/right;
         
     | 
| 
       10373 
10449 
     | 
    
         
             
            // rather than make the css module depend on the offset module, just check for it here
         
     | 
| 
       10374 
     | 
    
         
            -
            jQuery.each( [ "top", "left" ], function(  
     | 
| 
      
 10450 
     | 
    
         
            +
            jQuery.each( [ "top", "left" ], function( _i, prop ) {
         
     | 
| 
       10375 
10451 
     | 
    
         
             
            	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
         
     | 
| 
       10376 
10452 
     | 
    
         
             
            		function( elem, computed ) {
         
     | 
| 
       10377 
10453 
     | 
    
         
             
            			if ( computed ) {
         
     | 
| 
         @@ -10389,8 +10465,11 @@ jQuery.each( [ "top", "left" ], function( i, prop ) { 
     | 
|
| 
       10389 
10465 
     | 
    
         | 
| 
       10390 
10466 
     | 
    
         
             
            // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
         
     | 
| 
       10391 
10467 
     | 
    
         
             
            jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
         
     | 
| 
       10392 
     | 
    
         
            -
            	jQuery.each( { 
     | 
| 
       10393 
     | 
    
         
            -
            		 
     | 
| 
      
 10468 
     | 
    
         
            +
            	jQuery.each( {
         
     | 
| 
      
 10469 
     | 
    
         
            +
            		padding: "inner" + name,
         
     | 
| 
      
 10470 
     | 
    
         
            +
            		content: type,
         
     | 
| 
      
 10471 
     | 
    
         
            +
            		"": "outer" + name
         
     | 
| 
      
 10472 
     | 
    
         
            +
            	}, function( defaultExtra, funcName ) {
         
     | 
| 
       10394 
10473 
     | 
    
         | 
| 
       10395 
10474 
     | 
    
         
             
            		// Margin is only for outerHeight, outerWidth
         
     | 
| 
       10396 
10475 
     | 
    
         
             
            		jQuery.fn[ funcName ] = function( margin, value ) {
         
     | 
| 
         @@ -10434,25 +10513,19 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 
     | 
|
| 
       10434 
10513 
     | 
    
         
             
            } );
         
     | 
| 
       10435 
10514 
     | 
    
         | 
| 
       10436 
10515 
     | 
    
         | 
| 
       10437 
     | 
    
         
            -
            jQuery.each(  
     | 
| 
       10438 
     | 
    
         
            -
            	" 
     | 
| 
       10439 
     | 
    
         
            -
            	" 
     | 
| 
       10440 
     | 
    
         
            -
            	 
     | 
| 
       10441 
     | 
    
         
            -
             
     | 
| 
       10442 
     | 
    
         
            -
            	 
     | 
| 
       10443 
     | 
    
         
            -
            	 
     | 
| 
       10444 
     | 
    
         
            -
             
     | 
| 
       10445 
     | 
    
         
            -
             
     | 
| 
       10446 
     | 
    
         
            -
             
     | 
| 
      
 10516 
     | 
    
         
            +
            jQuery.each( [
         
     | 
| 
      
 10517 
     | 
    
         
            +
            	"ajaxStart",
         
     | 
| 
      
 10518 
     | 
    
         
            +
            	"ajaxStop",
         
     | 
| 
      
 10519 
     | 
    
         
            +
            	"ajaxComplete",
         
     | 
| 
      
 10520 
     | 
    
         
            +
            	"ajaxError",
         
     | 
| 
      
 10521 
     | 
    
         
            +
            	"ajaxSuccess",
         
     | 
| 
      
 10522 
     | 
    
         
            +
            	"ajaxSend"
         
     | 
| 
      
 10523 
     | 
    
         
            +
            ], function( _i, type ) {
         
     | 
| 
      
 10524 
     | 
    
         
            +
            	jQuery.fn[ type ] = function( fn ) {
         
     | 
| 
      
 10525 
     | 
    
         
            +
            		return this.on( type, fn );
         
     | 
| 
       10447 
10526 
     | 
    
         
             
            	};
         
     | 
| 
       10448 
10527 
     | 
    
         
             
            } );
         
     | 
| 
       10449 
10528 
     | 
    
         | 
| 
       10450 
     | 
    
         
            -
            jQuery.fn.extend( {
         
     | 
| 
       10451 
     | 
    
         
            -
            	hover: function( fnOver, fnOut ) {
         
     | 
| 
       10452 
     | 
    
         
            -
            		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
         
     | 
| 
       10453 
     | 
    
         
            -
            	}
         
     | 
| 
       10454 
     | 
    
         
            -
            } );
         
     | 
| 
       10455 
     | 
    
         
            -
             
     | 
| 
       10456 
10529 
     | 
    
         | 
| 
       10457 
10530 
     | 
    
         | 
| 
       10458 
10531 
     | 
    
         | 
| 
         @@ -10474,9 +10547,37 @@ jQuery.fn.extend( { 
     | 
|
| 
       10474 
10547 
     | 
    
         
             
            		return arguments.length === 1 ?
         
     | 
| 
       10475 
10548 
     | 
    
         
             
            			this.off( selector, "**" ) :
         
     | 
| 
       10476 
10549 
     | 
    
         
             
            			this.off( types, selector || "**", fn );
         
     | 
| 
      
 10550 
     | 
    
         
            +
            	},
         
     | 
| 
      
 10551 
     | 
    
         
            +
             
     | 
| 
      
 10552 
     | 
    
         
            +
            	hover: function( fnOver, fnOut ) {
         
     | 
| 
      
 10553 
     | 
    
         
            +
            		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
         
     | 
| 
       10477 
10554 
     | 
    
         
             
            	}
         
     | 
| 
       10478 
10555 
     | 
    
         
             
            } );
         
     | 
| 
       10479 
10556 
     | 
    
         | 
| 
      
 10557 
     | 
    
         
            +
            jQuery.each(
         
     | 
| 
      
 10558 
     | 
    
         
            +
            	( "blur focus focusin focusout resize scroll click dblclick " +
         
     | 
| 
      
 10559 
     | 
    
         
            +
            	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
         
     | 
| 
      
 10560 
     | 
    
         
            +
            	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
         
     | 
| 
      
 10561 
     | 
    
         
            +
            	function( _i, name ) {
         
     | 
| 
      
 10562 
     | 
    
         
            +
             
     | 
| 
      
 10563 
     | 
    
         
            +
            		// Handle event binding
         
     | 
| 
      
 10564 
     | 
    
         
            +
            		jQuery.fn[ name ] = function( data, fn ) {
         
     | 
| 
      
 10565 
     | 
    
         
            +
            			return arguments.length > 0 ?
         
     | 
| 
      
 10566 
     | 
    
         
            +
            				this.on( name, null, data, fn ) :
         
     | 
| 
      
 10567 
     | 
    
         
            +
            				this.trigger( name );
         
     | 
| 
      
 10568 
     | 
    
         
            +
            		};
         
     | 
| 
      
 10569 
     | 
    
         
            +
            	}
         
     | 
| 
      
 10570 
     | 
    
         
            +
            );
         
     | 
| 
      
 10571 
     | 
    
         
            +
             
     | 
| 
      
 10572 
     | 
    
         
            +
             
     | 
| 
      
 10573 
     | 
    
         
            +
             
     | 
| 
      
 10574 
     | 
    
         
            +
             
     | 
| 
      
 10575 
     | 
    
         
            +
            // Support: Android <=4.0 only
         
     | 
| 
      
 10576 
     | 
    
         
            +
            // Make sure we trim BOM and NBSP
         
     | 
| 
      
 10577 
     | 
    
         
            +
            // Require that the "whitespace run" starts from a non-whitespace
         
     | 
| 
      
 10578 
     | 
    
         
            +
            // to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
         
     | 
| 
      
 10579 
     | 
    
         
            +
            var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
         
     | 
| 
      
 10580 
     | 
    
         
            +
             
     | 
| 
       10480 
10581 
     | 
    
         
             
            // Bind a function to a context, optionally partially applying any
         
     | 
| 
       10481 
10582 
     | 
    
         
             
            // arguments.
         
     | 
| 
       10482 
10583 
     | 
    
         
             
            // jQuery.proxy is deprecated to promote standards (specifically Function#bind)
         
     | 
| 
         @@ -10539,6 +10640,11 @@ jQuery.isNumeric = function( obj ) { 
     | 
|
| 
       10539 
10640 
     | 
    
         
             
            		!isNaN( obj - parseFloat( obj ) );
         
     | 
| 
       10540 
10641 
     | 
    
         
             
            };
         
     | 
| 
       10541 
10642 
     | 
    
         | 
| 
      
 10643 
     | 
    
         
            +
            jQuery.trim = function( text ) {
         
     | 
| 
      
 10644 
     | 
    
         
            +
            	return text == null ?
         
     | 
| 
      
 10645 
     | 
    
         
            +
            		"" :
         
     | 
| 
      
 10646 
     | 
    
         
            +
            		( text + "" ).replace( rtrim, "$1" );
         
     | 
| 
      
 10647 
     | 
    
         
            +
            };
         
     | 
| 
       10542 
10648 
     | 
    
         | 
| 
       10543 
10649 
     | 
    
         | 
| 
       10544 
10650 
     | 
    
         | 
| 
         @@ -10585,9 +10691,9 @@ jQuery.noConflict = function( deep ) { 
     | 
|
| 
       10585 
10691 
     | 
    
         
             
            };
         
     | 
| 
       10586 
10692 
     | 
    
         | 
| 
       10587 
10693 
     | 
    
         
             
            // Expose jQuery and $ identifiers, even in AMD
         
     | 
| 
       10588 
     | 
    
         
            -
            // ( 
     | 
| 
       10589 
     | 
    
         
            -
            // and CommonJS for browser emulators ( 
     | 
| 
       10590 
     | 
    
         
            -
            if (  
     | 
| 
      
 10694 
     | 
    
         
            +
            // (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
         
     | 
| 
      
 10695 
     | 
    
         
            +
            // and CommonJS for browser emulators (trac-13566)
         
     | 
| 
      
 10696 
     | 
    
         
            +
            if ( typeof noGlobal === "undefined" ) {
         
     | 
| 
       10591 
10697 
     | 
    
         
             
            	window.jQuery = window.$ = jQuery;
         
     | 
| 
       10592 
10698 
     | 
    
         
             
            }
         
     | 
| 
       10593 
10699 
     | 
    
         |