rem: var target = arguments[0] || {}, a = 1, al = arguments.length; 
add: var target = arguments[0] || {}, a = 1, al = arguments.length, deep = false;   if ( target.constructor == Boolean ) { deep = true; target = arguments[1] || {}; } 
context: jQuery.extend = jQuery.fn.extend = function() {	// copy reference to target object	var target = arguments[0] || {}, a = 1, al = arguments.length;	// extend jQuery itself if only one argument is passed	if ( al == 1 ) {		target = this;		a = 0;	}	var prop;	for ( ; a < al; a++ )		// Only deal with non-null/undefined values		if ( (prop = arguments[a]) != null )			// Extend the base object			for ( var i in prop ) {				// Prevent never-ending loop				if ( target == prop[i] )					continue;				// Recurse if we're merging object values				if ( typeof prop[i] == 'object' && target[i] )					jQuery.extend( target[i], prop[i] );				// Don't bring in undefined values				else if ( prop[i] != undefined )					target[i] = prop[i];			}	// Return the modified object	return target;};
meta: 2798	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/2798/e112e6b04d1736d3a847d44b96f7178175e17a15/jquery.js/buggy/src/jquery/jquery.js