From 032ca690c0da175ac101746d0a8d715b182bab30 Mon Sep 17 00:00:00 2001 From: Kyle Honeycutt Date: Mon, 20 Apr 2020 22:30:54 -0700 Subject: [PATCH] Init DragDrop Initial create for the drag drop key pair creation tool --- dragdrop/buidl.js | Bin 0 -> 1815986 bytes dragdrop/index.html | 147 + dragdrop/jquery.js | 9789 +++++++++++++++++++++++++++++++++++++++++++ dragdrop/qrcode.js | 614 +++ 4 files changed, 10550 insertions(+) create mode 100644 dragdrop/buidl.js create mode 100644 dragdrop/index.html create mode 100644 dragdrop/jquery.js create mode 100644 dragdrop/qrcode.js diff --git a/dragdrop/buidl.js b/dragdrop/buidl.js new file mode 100644 index 0000000000000000000000000000000000000000..1243460a676cce210c3bf2d900420ace33af945e GIT binary patch literal 1815986 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

09lJh9r$&HdZdnc;F=tsEQ^@>w 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


00t=)2v#! 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

SFDD1w}b@2)131i}f^AmxXC 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 + + + + + + + + + + + +

Create a Key Pair From a File

+ + +
+
This standalone page can be run offline, it is OPEN SOURCE and uses buidl.js an easy to use layer on top of the BitcoinJS library.

Create a key pair using the raw bytes of a file. It's important to be aware that this file should be absolutely unique, such as a photo you took and have never shared and has never been accessible on an internet connected device. +

If you intend to use the source file as your back-up (instead of saving the resulting paper wallet or private key) keep in mind any changes to the file (INCLUDING META DATA) will result in a different key pair.
USE AT YOUR OWN RISK.

+ +You can enable testnet mode by adding ?testnet=true to the end of the url. +
+
+
+ +
DRAG/DROP ANY FILE
+ +Address:
+P2SH Segwit Address:
+Bech32 Address:
+PrivateKey:
+ + + + + + \ No newline at end of file diff --git a/dragdrop/jquery.js b/dragdrop/jquery.js new file mode 100644 index 0000000..c5c6482 --- /dev/null +++ b/dragdrop/jquery.js @@ -0,0 +1,9789 @@ +/*! + * jQuery JavaScript Library v1.10.2 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-07-03T13:48Z + */ +(function( window, undefined ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +//"use strict"; +var + // The deferred used on DOM ready + readyList, + + // A central reference to the root jQuery(document) + rootjQuery, + + // Support: IE<10 + // For `typeof xmlNode.method` instead of `xmlNode.method !== undefined` + core_strundefined = typeof undefined, + + // Use the correct document accordingly with window argument (sandbox) + location = window.location, + document = window.document, + docElem = document.documentElement, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // [[Class]] -> type pairs + class2type = {}, + + // List of deleted data cache ids, so we can reuse them + core_deletedIds = [], + + core_version = "1.10.2", + + // Save a reference to some core methods + core_concat = core_deletedIds.concat, + core_push = core_deletedIds.push, + core_slice = core_deletedIds.slice, + core_indexOf = core_deletedIds.indexOf, + core_toString = class2type.toString, + core_hasOwn = class2type.hasOwnProperty, + core_trim = core_version.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + + // Used for splitting on whitespace + core_rnotwhite = /\S+/g, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }, + + // The ready event handler + completed = function( event ) { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } + }, + // Clean-up method for dom ready events + detach = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: core_version, + + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), + + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + if ( obj == null ) { + return String( obj ); + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ core_toString.call(obj) ] || "object" : + typeof obj; + }, + + isPlainObject: function( obj ) { + var key; + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Support: IE<9 + // Handle iteration over inherited properties before own properties. + if ( jQuery.support.ownLast ) { + for ( key in obj ) { + return core_hasOwn.call( obj, key ); + } + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // keepScripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + if ( scripts ) { + jQuery( scripts ).remove(); + } + return jQuery.merge( [], parsed.childNodes ); + }, + + parseJSON: function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + if ( data === null ) { + return data; + } + + if ( typeof data === "string" ) { + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + if ( data ) { + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + } + } + } + + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + core_push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return core_concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations. + // Note: this method belongs to the css module but it's needed here for the support module. + // If support gets modularized, this method should be moved back to the css module. + swap: function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || type !== "function" && + ( length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj ); +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +/*! + * Sizzle CSS Selector Engine v1.10.2 + * http://sizzlejs.com/ + * + * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-07-03 + */ +(function( window, undefined ) { + +var i, + support, + cachedruns, + Expr, + getText, + isXML, + compile, + outermostContext, + sortInput, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + hasDuplicate = false, + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rsibling = new RegExp( whitespace + "*[+~]" ), + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent.attachEvent && parent !== parent.top ) { + parent.attachEvent( "onbeforeunload", function() { + setDocument(); + }); + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = assert(function( div ) { + div.innerHTML = "
"; + + // Support: Safari<4 + // Catch class over-caching + div.firstChild.className = "i"; + // Support: Opera<10 + // Catch gEBCN failure to find non-leading classes + return div.getElementsByClassName("i").length === 2; + }); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Support: Opera 10-12/IE8 + // ^= $= *= and empty values + // Should not select anything + // Support: Windows 8 Native Apps + // The type attribute is restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "t", "" ); + + if ( div.querySelectorAll("[t^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = rnative.test( docElem.contains ) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b ); + + if ( compare ) { + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } + + // Not directly comparable, sort on existence of method + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val === undefined ? + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null : + val; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] && match[4] !== undefined ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + } + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) + ); + return results; +} + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome<14 +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = ""; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = ""; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + elem[ name ] === true ? name.toLowerCase() : null; + } + }); +} + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function( support ) { + + var all, a, input, select, fragment, opt, eventName, isSupported, i, + div = document.createElement("div"); + + // Setup + div.setAttribute( "className", "t" ); + div.innerHTML = "
a"; + + // Finish early in limited (non-browser) environments + all = div.getElementsByTagName("*") || []; + a = div.getElementsByTagName("a")[ 0 ]; + if ( !a || !a.style || !all.length ) { + return support; + } + + // First batch of tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px;float:left;opacity:.5"; + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + support.getSetAttribute = div.className !== "t"; + + // IE strips leading whitespace when .innerHTML is used + support.leadingWhitespace = div.firstChild.nodeType === 3; + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + support.tbody = !div.getElementsByTagName("tbody").length; + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + support.htmlSerialize = !!div.getElementsByTagName("link").length; + + // Get the style information from getAttribute + // (IE uses .cssText instead) + support.style = /top/.test( a.getAttribute("style") ); + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + support.hrefNormalized = a.getAttribute("href") === "/a"; + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + support.opacity = /^0.5/.test( a.style.opacity ); + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + support.cssFloat = !!a.style.cssFloat; + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + support.checkOn = !!input.value; + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + support.optSelected = opt.selected; + + // Tests for enctype support on a form (#6743) + support.enctype = !!document.createElement("form").enctype; + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + support.html5Clone = document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>"; + + // Will be defined later + support.inlineBlockNeedsLayout = false; + support.shrinkWrapBlocks = false; + support.pixelPosition = false; + support.deleteExpando = true; + support.noCloneEvent = true; + support.reliableMarginRight = true; + support.boxSizingReliable = true; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE<9 + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + // Check if we can trust getAttribute("value") + input = document.createElement("input"); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "checked", "t" ); + input.setAttribute( "name", "t" ); + + fragment = document.createDocumentFragment(); + fragment.appendChild( input ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) + for ( i in { submit: true, change: true, focusin: true }) { + div.setAttribute( eventName = "on" + i, "t" ); + + support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; + } + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Support: IE<9 + // Iteration over object's inherited properties before its own. + for ( i in jQuery( support ) ) { + break; + } + support.ownLast = i !== "0"; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, marginDiv, tds, + divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + + body.appendChild( container ).appendChild( div ); + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "
t
"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Support: IE8 + // Check if empty table cells still have offsetWidth/Height + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior. + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + + // Workaround failing boxSizing test due to offsetWidth returning wrong value + // with some non-1 values of body zoom, ticket #13543 + jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() { + support.boxSizing = div.offsetWidth === 4; + }); + + // Use window.getComputedStyle because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. (#3333) + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = div.appendChild( document.createElement("div") ); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== core_strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + div.style.display = "block"; + div.innerHTML = "
"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + // Null elements to avoid leaks in IE + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + all = select = fragment = opt = a = input = null; + + return support; +})({}); + +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +function internalData( elem, name, data, pvt /* Internal Use Only */ ){ + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var ret, thisCache, + internalKey = jQuery.expando, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + id = elem[ internalKey ] = core_deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + // Avoid exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( typeof name === "string" ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + i = name.length; + while ( i-- ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + /* jshint eqeqeq: false */ + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + /* jshint eqeqeq: true */ + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "applet": true, + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var attrs, name, + data = null, + i = 0, + elem = this[0]; + + // Special expections of .data basically thwart jQuery.access, + // so implement the relevant behavior ourselves + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attrs = elem.attributes; + for ( ; i < attrs.length; i++ ) { + name = attrs[i].name; + + if ( name.indexOf("data-") === 0 ) { + name = jQuery.camelCase( name.slice(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return arguments.length > 1 ? + + // Sets one value + this.each(function() { + jQuery.data( this, key, value ); + }) : + + // Gets one value + // Try to fetch any internally stored data first + elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, + rclass = /[\t\r\n\f]/g, + rreturn = /\r/g, + rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + getSetInput = jQuery.support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + elem.className = jQuery.trim( cur ); + + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + elem.className = value ? jQuery.trim( cur ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + classNames = value.match( core_rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( type === core_strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var ret, hooks, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // Use proper attribute retrieval(#6932, #12072) + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + elem.text; + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) { + optionSet = true; + } + } + + // force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attr: function( elem, name, value ) { + var hooks, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === core_strundefined ) { + return jQuery.prop( elem, name, value ); + } + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( core_rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( jQuery.expr.match.bool.test( name ) ) { + // Set corresponding property to false + if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + elem[ propName ] = false; + // Support: IE<9 + // Also clear defaultChecked/defaultSelected (if appropriate) + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? + ret : + ( elem[ name ] = value ); + + } else { + return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? + ret : + elem[ name ]; + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + return tabindex ? + parseInt( tabindex, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + -1; + } + } + } +}); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = jQuery.expr.attrHandle[ name ] || jQuery.find.attr; + + jQuery.expr.attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ? + function( elem, name, isXML ) { + var fn = jQuery.expr.attrHandle[ name ], + ret = isXML ? + undefined : + /* jshint eqeqeq: false */ + (jQuery.expr.attrHandle[ name ] = undefined) != + getter( elem, name, isXML ) ? + + name.toLowerCase() : + null; + jQuery.expr.attrHandle[ name ] = fn; + return ret; + } : + function( elem, name, isXML ) { + return isXML ? + undefined : + elem[ jQuery.camelCase( "default-" + name ) ] ? + name.toLowerCase() : + null; + }; +}); + +// fix oldIE attroperties +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = { + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + return name === "value" || value === elem.getAttribute( name ) ? + value : + undefined; + } + }; + jQuery.expr.attrHandle.id = jQuery.expr.attrHandle.name = jQuery.expr.attrHandle.coords = + // Some attributes are constructed with empty-string values when not defined + function( elem, name, isXML ) { + var ret; + return isXML ? + undefined : + (ret = elem.getAttributeNode( name )) && ret.value !== "" ? + ret.value : + null; + }; + jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return ret && ret.specified ? + ret.value : + undefined; + }, + set: nodeHook.set + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }; + }); +} + + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !jQuery.support.hrefNormalized ) { + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }; +} + +jQuery.each([ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +}); + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }; + if ( !jQuery.support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + // Support: Webkit + // "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + }; + } +}); +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = core_hasOwn.call( event, "type" ) ? event.type : event, + namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + 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) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = core_slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + /* jshint eqeqeq: false */ + for ( ; cur != this; cur = cur.parentNode || this ) { + /* jshint eqeqeq: true */ + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Even when returnValue equals to undefined Firefox will still show alert + if ( event.result !== undefined ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === core_strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); +var isSimple = /^.[^:#\[\.,]*$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, + ret = [], + self = this, + len = self.length; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector(cur, selectors)) ) { + + cur = ret.push( cur ); + break; + } + } + } + + return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( jQuery.unique(all) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + ret = jQuery.unique( ret ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + } + + return this.pushStack( ret ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( isSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + area: [ 1, "", "" ], + param: [ 1, "", "" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + col: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
", "
" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var + // Snapshot the DOM in case .domManip sweeps something relevant into its fragment + args = jQuery.map( this, function( elem ) { + return [ elem.nextSibling, elem.parentNode ]; + }), + i = 0; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + var next = args[ i++ ], + parent = args[ i++ ]; + + if ( parent ) { + // Don't use the snapshot next if it has moved (#13810) + if ( next && next.parentNode !== parent ) { + next = this.nextSibling; + } + jQuery( this ).remove(); + parent.insertBefore( elem, next ); + } + // Allow new content to include elements from the context set + }, true ); + + // Force removal if there was no new content (e.g., from empty arguments) + return i ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback, allowIntersection ) { + + // Flatten any nested arrays + args = core_concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, self.html() ); + } + self.domManip( args, callback, allowIntersection ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, !allowIntersection && this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[i], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Hope ajax is available... + jQuery._evalUrl( node.src ); + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +// Support: IE<8 +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType === 1 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + core_push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( manipulation_rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare or + wrap[1] === "
" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== core_strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + core_deletedIds.push( id ); + } + } + } + } + }, + + _evalUrl: function( url ) { + return jQuery.ajax({ + url: url, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } +}); +jQuery.fn.extend({ + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + } +}); +var iframe, getStyles, curCSS, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table 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]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), + elemdisplay = { BODY: "block" }, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + + if ( !values[ index ] ) { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + var len, styles, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each(function() { + if ( isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + } +}); + +// NOTE: we've included the "window" in window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return window.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, _computed ) { + var width, minWidth, maxWidth, + computed = _computed || getStyles( elem ), + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, + style = elem.style; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, _computed ) { + var left, rs, rsLeft, + computed = _computed || getStyles( elem ), + ret = computed ? computed[ name ] : undefined, + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + // Use the already-created iframe if possible + iframe = ( iframe || + jQuery("