@ -1,5 +1,5 @@
/ * !
* jQuery JavaScript Library v3 . 6. 0 - ajax , - ajax / jsonp , - ajax / load , - ajax / script , - ajax / var / l o c a t i o n , - a j a x / v a r / n o n c e , - a j a x / v a r / r q u e r y , - a j a x / x h r , - m a n i p u l a t i o n / _ e v a l U r l , - d e p r e c a t e d / a j a x - e v e n t - a l i a s , - e f f e c t s , - e f f e c t s / T w e e n , - e f f e c t s / a n i m a t e d S e l e c t o r
* jQuery JavaScript Library v3 . 6. 1 - ajax , - ajax / jsonp , - ajax / load , - ajax / script , - ajax / var / l o c a t i o n , - a j a x / v a r / n o n c e , - a j a x / v a r / r q u e r y , - a j a x / x h r , - m a n i p u l a t i o n / _ e v a l U r l , - d e p r e c a t e d / a j a x - e v e n t - a l i a s , - e f f e c t s , - e f f e c t s / T w e e n , - e f f e c t s / a n i m a t e d S e l e c t o r
* https : //jquery.com/
*
* Includes Sizzle . js
@ -9,7 +9,7 @@
* Released under the MIT license
* https : //jquery.org/license
*
* Date : 202 1- 03 - 02 T17 : 08 Z
* Date : 202 2- 08 - 26 T17 : 52 Z
* /
( function ( global , factory ) {
@ -23,7 +23,7 @@
// (such as Node.js), expose a factory as module.exports.
// This accentuates the need for the creation of a real `window`.
// e.g. var jQuery = require("jquery")(window);
// See ticket # 14549 for more info.
// See ticket trac- 14549 for more info.
module . exports = global . document ?
factory ( global , true ) :
function ( w ) {
@ -151,7 +151,7 @@ function toType( obj ) {
var
version = "3.6. 0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",
version = "3.6. 1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",
// Define a local copy of jQuery
jQuery = function ( selector , context ) {
@ -3129,8 +3129,8 @@ jQuery.fn.extend( {
var rootjQuery ,
// A simple way to check for HTML strings
// Prioritize #id over <tag> to avoid XSS via location.hash ( # 9521)
// Strict HTML recognition ( # 11290: must start with <)
// Prioritize #id over <tag> to avoid XSS via location.hash ( trac- 9521)
// Strict HTML recognition ( trac- 11290: must start with <)
// Shortcut simple #id case for speed
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/ ,
@ -4087,7 +4087,7 @@ jQuery.extend( {
isReady : false ,
// A counter to track how many items to wait for before
// the ready event fires. See # 6781
// the ready event fires. See trac- 6781
readyWait : 1 ,
// Handle when the DOM is ready
@ -4215,7 +4215,7 @@ function fcamelCase( _all, letter ) {
// Convert dashed to camelCase; used by the css and data modules
// Support: IE <=9 - 11, Edge 12 - 15
// Microsoft forgot to hump their vendor prefix ( # 9572)
// Microsoft forgot to hump their vendor prefix ( trac- 9572)
function camelCase ( string ) {
return string . replace ( rmsPrefix , "ms-" ) . replace ( rdashAlpha , fcamelCase ) ;
}
@ -4251,7 +4251,7 @@ Data.prototype = {
value = { } ;
// We can accept data for non-element nodes in modern browsers,
// but we should not, see # 8335.
// but we should not, see trac- 8335.
// Always return an empty object.
if ( acceptData ( owner ) ) {
@ -4490,7 +4490,7 @@ jQuery.fn.extend( {
while ( i -- ) {
// Support: IE 11 only
// The attrs elements can be null ( # 14894)
// The attrs elements can be null ( trac- 14894)
if ( attrs [ i ] ) {
name = attrs [ i ] . name ;
if ( name . indexOf ( "data-" ) === 0 ) {
@ -4913,9 +4913,9 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
input = document . createElement ( "input" ) ;
// Support: Android 4.0 - 4.3 only
// Check state lost if the name is set ( # 11217)
// Check state lost if the name is set ( trac- 11217)
// Support: Windows Web Apps (WWA)
// `name` and `type` must use .setAttribute for WWA ( # 14901)
// `name` and `type` must use .setAttribute for WWA ( trac- 14901)
input . setAttribute ( "type" , "radio" ) ;
input . setAttribute ( "checked" , "checked" ) ;
input . setAttribute ( "name" , "t" ) ;
@ -4939,7 +4939,7 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
} ) ( ) ;
// We have to close these tags to support XHTML ( # 13200)
// We have to close these tags to support XHTML ( trac- 13200)
var wrapMap = {
// XHTML parsers do not magically insert elements in the
@ -4965,7 +4965,7 @@ if ( !support.option ) {
function getAll ( context , tag ) {
// Support: IE <=9 - 11 only
// Use typeof to avoid zero-argument method invocation on host objects ( # 15151)
// Use typeof to avoid zero-argument method invocation on host objects ( trac- 15151)
var ret ;
if ( typeof context . getElementsByTagName !== "undefined" ) {
@ -5048,7 +5048,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
// Remember the top-level container
tmp = fragment . firstChild ;
// Ensure the created nodes are orphaned ( # 12392)
// Ensure the created nodes are orphaned ( trac- 12392)
tmp . textContent = "" ;
}
}
@ -5469,15 +5469,15 @@ jQuery.event = {
for ( ; cur !== this ; cur = cur . parentNode || this ) {
// Don't check non-elements ( # 13208)
// Don't process clicks on disabled elements ( #6911, #8165, #11382, # 11764)
// Don't check non-elements ( trac- 13208)
// Don't process clicks on disabled elements ( trac-6911, trac-8165, trac-11382, trac- 11764)
if ( cur . nodeType === 1 && ! ( event . type === "click" && cur . disabled === true ) ) {
matchedHandlers = [ ] ;
matchedSelectors = { } ;
for ( i = 0 ; i < delegateCount ; i ++ ) {
handleObj = handlers [ i ] ;
// Don't conflict with Object.prototype properties ( # 13203)
// Don't conflict with Object.prototype properties ( trac- 13203)
sel = handleObj . selector + " " ;
if ( matchedSelectors [ sel ] === undefined ) {
@ -5731,7 +5731,7 @@ jQuery.Event = function( src, props ) {
// Create target properties
// Support: Safari <=6 - 7 only
// Target should not be a text node ( #504, # 13143)
// Target should not be a text node ( trac-504, trac- 13143)
this . target = ( src . target && src . target . nodeType === 3 ) ?
src . target . parentNode :
src . target ;
@ -5854,10 +5854,10 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp
return true ;
} ,
// Suppress native focus or blur as it's already being fired
// in leverageNative.
_default : function ( ) {
return true ;
// Suppress native focus or blur if we're currently inside
// a leveraged native-event stack
_default : function ( event ) {
return dataPriv . get ( event . target , type ) ;
} ,
delegateType : delegateType
@ -5956,7 +5956,8 @@ var
// checked="checked" or checked
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i ,
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g ;
rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g ;
// Prefer a tbody over its parent table for containing new rows
function manipulationTarget ( elem , content ) {
@ -6070,7 +6071,7 @@ function domManip( collection, args, callback, ignored ) {
// Use the original fragment for the last item
// instead of the first because it can end up
// being emptied incorrectly in certain situations ( # 8070).
// being emptied incorrectly in certain situations ( trac- 8070).
for ( ; i < l ; i ++ ) {
node = fragment ;
@ -6111,6 +6112,12 @@ function domManip( collection, args, callback, ignored ) {
} , doc ) ;
}
} else {
// Unwrap a CDATA section containing script contents. This shouldn't be
// needed as in XML documents they're already not visible when
// inspecting element contents and in HTML documents they have no
// meaning but we're preserving that logic for backwards compatibility.
// This will be removed completely in 4.0. See gh-4904.
DOMEval ( node . textContent . replace ( rcleanScript , "" ) , node , doc ) ;
}
}
@ -6393,9 +6400,12 @@ jQuery.each( {
} ) ;
var rnumnonpx = new RegExp ( "^(" + pnum + ")(?!px)[a-z%]+$" , "i" ) ;
var rcustomProp = /^--/ ;
var getStyles = function ( elem ) {
// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
// Support: IE <=11 only, Firefox <=30 ( trac-15098, trac- 14150)
// IE throws on elements created in popups
// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
var view = elem . ownerDocument . defaultView ;
@ -6430,6 +6440,15 @@ var swap = function( elem, options, callback ) {
var rboxStyle = new RegExp ( cssExpand . join ( "|" ) , "i" ) ;
var whitespace = "[\\x20\\t\\r\\n\\f]" ;
var rtrimCSS = new RegExp (
"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$" ,
"g"
) ;
( function ( ) {
@ -6495,7 +6514,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
}
// Support: IE <=9 - 11 only
// Style of cloned element affects source element cloned ( # 8908)
// Style of cloned element affects source element cloned ( trac- 8908)
div . style . backgroundClip = "content-box" ;
div . cloneNode ( true ) . style . backgroundClip = "" ;
support . clearCloneStyle = div . style . backgroundClip === "content-box" ;
@ -6575,6 +6594,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
function curCSS ( elem , name , computed ) {
var width , minWidth , maxWidth , ret ,
isCustomProp = rcustomProp . test ( name ) ,
// Support: Firefox 51+
// Retrieving style before computed somehow
@ -6585,11 +6605,22 @@ function curCSS( elem, name, computed ) {
computed = computed || getStyles ( elem ) ;
// getPropertyValue is needed for:
// .css('filter') (IE 9 only, # 12537)
// .css('--customProperty) ( # 3144)
// .css('filter') (IE 9 only, trac- 12537)
// .css('--customProperty) ( gh- 3144)
if ( computed ) {
ret = computed . getPropertyValue ( name ) || computed [ name ] ;
// trim whitespace for custom property (issue gh-4926)
if ( isCustomProp ) {
// rtrim treats U+000D CARRIAGE RETURN and U+000C FORM FEED
// as whitespace while CSS does not, but this is not a problem
// because CSS preprocessing replaces them with U+000A LINE FEED
// (which *is* CSS whitespace)
// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
ret = ret . replace ( rtrimCSS , "$1" ) ;
}
if ( ret === "" && ! isAttached ( elem ) ) {
ret = jQuery . style ( elem , name ) ;
}
@ -6685,7 +6716,6 @@ var
// except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/ ,
rcustomProp = /^--/ ,
cssShow = { position : "absolute" , visibility : "hidden" , display : "block" } ,
cssNormalTransform = {
letterSpacing : "0" ,
@ -6921,15 +6951,15 @@ jQuery.extend( {
if ( value !== undefined ) {
type = typeof value ;
// Convert "+=" or "-=" to relative numbers ( # 7345)
// Convert "+=" or "-=" to relative numbers ( trac- 7345)
if ( type === "string" && ( ret = rcssNum . exec ( value ) ) && ret [ 1 ] ) {
value = adjustCSS ( elem , name , ret ) ;
// Fixes bug # 9237
// Fixes bug trac- 9237
type = "number" ;
}
// Make sure that null and NaN values aren't set ( # 7116)
// Make sure that null and NaN values aren't set ( trac- 7116)
if ( value == null || value !== value ) {
return ;
}
@ -7149,7 +7179,6 @@ jQuery.fn.extend( {
// Based off of the plugin by Clint Helfers, with permission.
// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
jQuery . fn . delay = function ( time , type ) {
time = jQuery . fx ? jQuery . fx . speeds [ time ] || time : time ;
type = type || "fx" ;
@ -7374,8 +7403,7 @@ jQuery.extend( {
// Support: IE <=9 - 11 only
// elem.tabIndex doesn't always return the
// correct value when it hasn't been explicitly set
// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// Use proper attribute retrieval(#12072)
// Use proper attribute retrieval (trac-12072)
var tabindex = jQuery . find . attr ( elem , "tabindex" ) ;
if ( tabindex ) {
@ -7479,8 +7507,7 @@ function classesToArray( value ) {
jQuery . fn . extend ( {
addClass : function ( value ) {
var classes , elem , cur , curValue , clazz , j , finalValue ,
i = 0 ;
var classNames , cur , curValue , className , i , finalValue ;
if ( isFunction ( value ) ) {
return this . each ( function ( j ) {
@ -7488,36 +7515,35 @@ jQuery.fn.extend( {
} ) ;
}
class es = classesToArray ( value ) ;
class Nam es = classesToArray ( value ) ;
if ( class es. length ) {
while ( ( elem = this [ i ++ ] ) ) {
curValue = getClass ( elem ) ;
cur = elem . nodeType === 1 && ( " " + stripAndCollapse ( curValue ) + " " ) ;
if ( class Nam es. length ) {
return this . each ( function ( ) {
curValue = getClass ( this ) ;
cur = this . nodeType === 1 && ( " " + stripAndCollapse ( curValue ) + " " ) ;
if ( cur ) {
j = 0 ;
while ( ( clazz = classes [ j ++ ] ) ) {
if ( cur . indexOf ( " " + cla zz + " " ) < 0 ) {
cur += cla zz + " " ;
for ( i = 0 ; i < classNames . length ; i ++ ) {
className = classNames [ i ] ;
if ( cur . indexOf ( " " + cla ssName + " " ) < 0 ) {
cur += cla ssName + " " ;
}
}
// Only assign if different to avoid unneeded rendering.
finalValue = stripAndCollapse ( cur ) ;
if ( curValue !== finalValue ) {
elem . setAttribute ( "class" , finalValue ) ;
this . setAttribute ( "class" , finalValue ) ;
}
}
}
} ) ;
}
return this ;
} ,
removeClass : function ( value ) {
var classes , elem , cur , curValue , clazz , j , finalValue ,
i = 0 ;
var classNames , cur , curValue , className , i , finalValue ;
if ( isFunction ( value ) ) {
return this . each ( function ( j ) {
@ -7529,45 +7555,42 @@ jQuery.fn.extend( {
return this . attr ( "class" , "" ) ;
}
class es = classesToArray ( value ) ;
class Nam es = classesToArray ( value ) ;
if ( class es. length ) {
while ( ( elem = this [ i ++ ] ) ) {
curValue = getClass ( elem ) ;
if ( class Nam es. length ) {
return this . each ( function ( ) {
curValue = getClass ( this ) ;
// This expression is here for better compressibility (see addClass)
cur = elem . nodeType === 1 && ( " " + stripAndCollapse ( curValue ) + " " ) ;
cur = this . nodeType === 1 && ( " " + stripAndCollapse ( curValue ) + " " ) ;
if ( cur ) {
j = 0 ;
while ( ( clazz = classes [ j ++ ] ) ) {
for ( i = 0 ; i < classNames . length ; i ++ ) {
className = classNames [ i ] ;
// Remove *all* instances
while ( cur . indexOf ( " " + cla zz + " " ) > - 1 ) {
cur = cur . replace ( " " + cla zz + " " , " " ) ;
while ( cur . indexOf ( " " + cla ssName + " " ) > - 1 ) {
cur = cur . replace ( " " + cla ssName + " " , " " ) ;
}
}
// Only assign if different to avoid unneeded rendering.
finalValue = stripAndCollapse ( cur ) ;
if ( curValue !== finalValue ) {
elem . setAttribute ( "class" , finalValue ) ;
this . setAttribute ( "class" , finalValue ) ;
}
}
}
} ) ;
}
return this ;
} ,
toggleClass : function ( value , stateVal ) {
var type = typeof value ,
var classNames , className , i , self ,
type = typeof value ,
isValidValue = type === "string" || Array . isArray ( value ) ;
if ( typeof stateVal === "boolean" && isValidValue ) {
return stateVal ? this . addClass ( value ) : this . removeClass ( value ) ;
}
if ( isFunction ( value ) ) {
return this . each ( function ( i ) {
jQuery ( this ) . toggleClass (
@ -7577,17 +7600,20 @@ jQuery.fn.extend( {
} ) ;
}
return this . each ( function ( ) {
var className , i , self , classNames ;
if ( typeof stateVal === "boolean" && isValidValue ) {
return stateVal ? this . addClass ( value ) : this . removeClass ( value ) ;
}
classNames = classesToArray ( value ) ;
return this . each ( function ( ) {
if ( isValidValue ) {
// Toggle individual class names
i = 0 ;
self = jQuery ( this ) ;
classNames = classesToArray ( value ) ;
while ( ( className = classNames [ i ++ ] ) ) {
for ( i = 0 ; i < classNames . length ; i ++ ) {
className = classNames [ i ] ;
// Check each className given, space separated list
if ( self . hasClass ( className ) ) {
@ -7721,7 +7747,7 @@ jQuery.extend( {
val :
// Support: IE <=10 - 11 only
// option.text throws exceptions ( #14686, # 14858)
// option.text throws exceptions ( trac-14686, trac- 14858)
// Strip and collapse whitespace
// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
stripAndCollapse ( jQuery . text ( elem ) ) ;
@ -7748,7 +7774,7 @@ jQuery.extend( {
option = options [ i ] ;
// Support: IE <=9 only
// IE8-9 doesn't update selected after form reset ( # 2551)
// IE8-9 doesn't update selected after form reset ( trac- 2551)
if ( ( option . selected || i === index ) &&
// Don't return options that are disabled or in a disabled optgroup
@ -7891,8 +7917,8 @@ jQuery.extend( jQuery.event, {
return ;
}
// Determine event propagation path in advance, per W3C events spec ( # 9951)
// Bubble up to document, then to window; watch for a global ownerDocument var ( # 9724)
// Determine event propagation path in advance, per W3C events spec ( trac- 9951)
// Bubble up to document, then to window; watch for a global ownerDocument var ( trac- 9724)
if ( ! onlyHandlers && ! special . noBubble && ! isWindow ( elem ) ) {
bubbleType = special . delegateType || type ;
@ -7944,7 +7970,7 @@ jQuery.extend( jQuery.event, {
acceptData ( elem ) ) {
// Call a native DOM method on the target with the same name as the event.
// Don't do default actions on window, that's where global variables be ( # 6170)
// Don't do default actions on window, that's where global variables be ( trac- 6170)
if ( ontype && isFunction ( elem [ type ] ) && ! isWindow ( elem ) ) {
// Don't re-trigger an onFOO event when we call its FOO() method
@ -8654,7 +8680,9 @@ jQuery.each(
// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g ;
// Require that the "whitespace run" starts from a non-whitespace
// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g ;
// Bind a function to a context, optionally partially applying any
// arguments.
@ -8721,7 +8749,7 @@ jQuery.isNumeric = function( obj ) {
jQuery . trim = function ( text ) {
return text == null ?
"" :
( text + "" ) . replace ( rtrim , " " ) ;
( text + "" ) . replace ( rtrim , " $1 " ) ;
} ;
@ -8769,8 +8797,8 @@ jQuery.noConflict = function( deep ) {
} ;
// Expose jQuery and $ identifiers, even in AMD
// ( # 7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators ( # 13566)
// ( trac- 7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators ( trac- 13566)
if ( typeof noGlobal === "undefined" ) {
window . jQuery = window . $ = jQuery ;
}