11/*!
2- * jQuery JavaScript Library v1.4.4
2+ * jQuery JavaScript Library v1.4.5-sec
33 * http://jquery.com/
44 *
55 * Copyright 2010, John Resig
1111 * Copyright 2010, The Dojo Foundation
1212 * Released under the MIT, BSD, and GPL Licenses.
1313 *
14- * Date: Thu Nov 11 19:04:53 2010 -0500
14+ * Date: Thu Feb 15 16:39:20 2024 -0600
1515 */
1616( function ( window , undefined ) {
1717
@@ -35,8 +35,9 @@ var jQuery = function( selector, context ) {
3535 rootjQuery ,
3636
3737 // A simple way to check for HTML strings or ID strings
38- // (both of which we optimize for)
39- quickExpr = / ^ (?: [ ^ < ] * ( < [ \w \W ] + > ) [ ^ > ] * $ | # ( [ \w \- ] + ) $ ) / ,
38+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
39+ // Strict HTML recognition (#11290: must start with <)
40+ quickExpr = / ^ (?: ( < [ \w \W ] + > ) [ ^ > ] * | # ( [ \w - ] * ) ) $ / ,
4041
4142 // Is it a simple selector
4243 isSimple = / ^ .[ ^ : # \[ \. , ] * $ / ,
@@ -211,7 +212,7 @@ jQuery.fn = jQuery.prototype = {
211212 selector : "" ,
212213
213214 // The current version of jQuery being used
214- jquery : "1.4.4 " ,
215+ jquery : "1.4.5-sec " ,
215216
216217 // The default length of a jQuery object is 0
217218 length : 0 ,
@@ -363,8 +364,9 @@ jQuery.extend = jQuery.fn.extend = function() {
363364 src = target [ name ] ;
364365 copy = options [ name ] ;
365366
367+ // Prevent Object.prototype pollution
366368 // Prevent never-ending loop
367- if ( target === copy ) {
369+ if ( name === "__proto__" || target === copy ) {
368370 continue ;
369371 }
370372
@@ -4623,7 +4625,6 @@ function winnow( elements, qualifier, keep ) {
46234625
46244626var rinlinejQuery = / j Q u e r y \d + = " (?: \d + | n u l l ) " / g,
46254627 rleadingWhitespace = / ^ \s + / ,
4626- rxhtmlTag = / < (? ! a r e a | b r | c o l | e m b e d | h r | i m g | i n p u t | l i n k | m e t a | p a r a m ) ( ( [ \w : ] + ) [ ^ > ] * ) \/ > / ig,
46274628 rtagName = / < ( [ \w : ] + ) / ,
46284629 rtbody = / < t b o d y / i,
46294630 rhtml = / < | & # ? \w + ; / ,
@@ -4632,7 +4633,6 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
46324633 rchecked = / c h e c k e d \s * (?: [ ^ = ] | = \s * .c h e c k e d .) / i,
46334634 raction = / \= ( [ ^ = " ' > \s ] + \/ ) > / g,
46344635 wrapMap = {
4635- option : [ 1 , "<select multiple='multiple'>" , "</select>" ] ,
46364636 legend : [ 1 , "<fieldset>" , "</fieldset>" ] ,
46374637 thead : [ 1 , "<table>" , "</table>" ] ,
46384638 tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] ,
@@ -4642,7 +4642,6 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
46424642 _default : [ 0 , "" , "" ]
46434643 } ;
46444644
4645- wrapMap . optgroup = wrapMap . option ;
46464645wrapMap . tbody = wrapMap . tfoot = wrapMap . colgroup = wrapMap . caption = wrapMap . thead ;
46474646wrapMap . th = wrapMap . td ;
46484647
@@ -4856,8 +4855,6 @@ jQuery.fn.extend({
48564855 ( jQuery . support . leadingWhitespace || ! rleadingWhitespace . test ( value ) ) &&
48574856 ! wrapMap [ ( rtagName . exec ( value ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] ) {
48584857
4859- value = value . replace ( rxhtmlTag , "<$1></$2>" ) ;
4860-
48614858 try {
48624859 for ( var i = 0 , l = this . length ; i < l ; i ++ ) {
48634860 // Remove element nodes and prevent memory leaks
@@ -5104,8 +5101,6 @@ jQuery.extend({
51045101 elem = context . createTextNode ( elem ) ;
51055102
51065103 } else if ( typeof elem === "string" ) {
5107- // Fix "XHTML"-style tags in all browsers
5108- elem = elem . replace ( rxhtmlTag , "<$1></$2>" ) ;
51095104
51105105 // Trim whitespace, otherwise indexOf won't work as expected
51115106 var tag = ( rtagName . exec ( elem ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ,
@@ -5566,7 +5561,7 @@ if ( jQuery.expr && jQuery.expr.filters ) {
55665561
55675562
55685563var jsc = jQuery . now ( ) ,
5569- rscript = / < s c r i p t \b [ ^ < ] * (?: (? ! < \/ s c r i p t > ) < [ ^ < ] * ) * < \/ s c r i p t > / gi,
5564+ rscript = / < s c r i p t \b [ ^ < ] * (?: (? ! < \/ s c r i p t > ) < [ ^ < ] * ) * < * \/ * s c r i p t * > ? / gi,
55705565 rselectTextarea = / ^ (?: s e l e c t | t e x t a r e a ) / i,
55715566 rinput = / ^ (?: c o l o r | d a t e | d a t e t i m e | e m a i l | h i d d e n | m o n t h | n u m b e r | p a s s w o r d | r a n g e | s e a r c h | t e l | t e x t | t i m e | u r l | w e e k ) $ / i,
55725567 rnoContent = / ^ (?: G E T | H E A D ) $ / ,
@@ -6247,7 +6242,7 @@ jQuery.extend({
62476242 data = jQuery . parseJSON ( data ) ;
62486243
62496244 // If the type is "script", eval it in global context
6250- } else if ( type === "script" || ! type && ct . indexOf ( "javascript" ) >= 0 ) {
6245+ } else if ( type === "script" ) {
62516246 jQuery . globalEval ( data ) ;
62526247 }
62536248 }
0 commit comments