diff --git a/node_modules/jquery/src/ajax/jsonp.js b/node_modules/jquery/src/ajax/jsonp.js
index 28ae036..10186de 100644
--- a/node_modules/jquery/src/ajax/jsonp.js
+++ b/node_modules/jquery/src/ajax/jsonp.js
@@ -15,7 +15,7 @@
 jQuery.ajaxSetup( {
 	jsonp: "callback",
 	jsonpCallback: function() {
-		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
 		this[ callback ] = true;
 		return callback;
 	}
diff --git a/node_modules/jquery/src/ajax/parseXML.js b/node_modules/jquery/src/ajax/parseXML.js
deleted file mode 100644
index acf7ab2..0000000
--- a/node_modules/jquery/src/ajax/parseXML.js
+++ /dev/null
@@ -1,30 +0,0 @@
-define( [
-	"../core"
-], function( jQuery ) {
-
-"use strict";
-
-// Cross-browser xml parsing
-jQuery.parseXML = function( data ) {
-	var xml;
-	if ( !data || typeof data !== "string" ) {
-		return null;
-	}
-
-	// Support: IE 9 - 11 only
-	// IE throws on parseFromString with invalid input.
-	try {
-		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
-	} catch ( e ) {
-		xml = undefined;
-	}
-
-	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
-		jQuery.error( "Invalid XML: " + data );
-	}
-	return xml;
-};
-
-return jQuery.parseXML;
-
-} );
diff --git a/node_modules/jquery/src/ajax/var/nonce.js b/node_modules/jquery/src/ajax/var/nonce.js
index 33d0cff..c0e4472 100644
--- a/node_modules/jquery/src/ajax/var/nonce.js
+++ b/node_modules/jquery/src/ajax/var/nonce.js
@@ -1,5 +1,5 @@
 define( function() {
 	"use strict";
 
-	return Date.now();
+	return { guid: Date.now() };
 } );
