From 5afb9c98cd6441741c44ed51e453c07bb275205e Mon Sep 17 00:00:00 2001 From: Ch10316 Date: Wed, 25 Nov 2020 17:39:16 +0900 Subject: [PATCH 1/6] Update root.html --- Root_Web/root.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Root_Web/root.html b/Root_Web/root.html index 4fddb6f..61f9654 100644 --- a/Root_Web/root.html +++ b/Root_Web/root.html @@ -8,7 +8,7 @@ - +

Seoul Digitech High School Hacking Club

From 4d605c1600beee6520634c393b7346bd287ef03b Mon Sep 17 00:00:00 2001 From: Ch10316 <74522343+Ch10316@users.noreply.github.com> Date: Wed, 25 Nov 2020 17:49:55 +0900 Subject: [PATCH 2/6] Update root.css --- Root_Web/css/root.css | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Root_Web/css/root.css b/Root_Web/css/root.css index 7d5eb63..5f8ce1d 100644 --- a/Root_Web/css/root.css +++ b/Root_Web/css/root.css @@ -30,7 +30,4 @@ h4{color: #fff; font-weight: normal; line-height: 30px; float: left; text-shadow .b1{width: 100%; height: 200px; position: fixed; opacity: 0.7; background-color: #EDEBEC;} .b2{width: 100%; height: 800px; position: fixed; opacity: 0.4; background-color: #E0DCDE; position: relative;} -.bg_img{ - width: 30%; height: 60%; - position:fixed; right: 0; bottom: 0; -} +.bg_img{width: 30%; height: 60%; position: fixed; right: 0; bottom: 0;} From 7b2fa345d68d4e9f54473ea6156ddcbaf7e70d72 Mon Sep 17 00:00:00 2001 From: Ch10316 Date: Wed, 25 Nov 2020 17:55:45 +0900 Subject: [PATCH 3/6] Create settings.json --- .vscode/settings.json | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file From 6f30509459d928e9e3563cd25eb7a2dfe637a704 Mon Sep 17 00:00:00 2001 From: Ch10316 Date: Wed, 25 Nov 2020 21:34:51 +0900 Subject: [PATCH 4/6] Delete settings.json --- .vscode/settings.json | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 7a73a41..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} \ No newline at end of file From 8c960cbbdfe9eb405916a0a870c5c22caf312bd9 Mon Sep 17 00:00:00 2001 From: Ch10316 Date: Mon, 7 Dec 2020 20:18:59 +0900 Subject: [PATCH 5/6] second --- Root_Web/css/track.css | 29 ++++++++++++++++++++++++ Root_Web/images/Pwnable.png | Bin 0 -> 156848 bytes Root_Web/images/Root_main_logo02.PNG | Bin 21102 -> 0 bytes Root_Web/images/Webhacking.png | Bin 0 -> 25491 bytes Root_Web/images/hacker_char.png | Bin 5503 -> 0 bytes Root_Web/images/left.png | Bin 0 -> 4008 bytes Root_Web/images/reversing.PNG | Bin 0 -> 40412 bytes Root_Web/images/right.png | Bin 0 -> 4059 bytes Root_Web/images/root_logo.PNG | Bin 91081 -> 0 bytes Root_Web/js/root.js | 32 +++++++++++++-------------- Root_Web/js/track.js | 20 +++++++++++++++++ Root_Web/root.html | 1 - 12 files changed, 64 insertions(+), 18 deletions(-) create mode 100644 Root_Web/css/track.css create mode 100644 Root_Web/images/Pwnable.png delete mode 100644 Root_Web/images/Root_main_logo02.PNG create mode 100644 Root_Web/images/Webhacking.png delete mode 100644 Root_Web/images/hacker_char.png create mode 100644 Root_Web/images/left.png create mode 100644 Root_Web/images/reversing.PNG create mode 100644 Root_Web/images/right.png delete mode 100644 Root_Web/images/root_logo.PNG create mode 100644 Root_Web/js/track.js diff --git a/Root_Web/css/track.css b/Root_Web/css/track.css new file mode 100644 index 0000000..2cb84c7 --- /dev/null +++ b/Root_Web/css/track.css @@ -0,0 +1,29 @@ +@charset "utf-8"; + +*{margin: 0; padding: 0;} +ul, li{list-style: none;} +a{text-decoration: none; color: inherit;} +img{vertical-align: middle; border: none;} + +#slide{text-align: center; display: flex; align-items: center; justify-content: center;} + +.Slide img{width: 100%;} +.Slide ul{width: calc(100%*3); display: flex;} +.Slide li{width: calc(100%/3); height: 100%; position: relative;} +.Slide{overflow: hidden;} + +.left{ + position: absolute; + width: 100px; height: 100px; + left: 0; top: 50%; + margin-top: -50px; + background: url(../images/left.png) no-repeat; +} +.right{ + position: absolute; + width: 100px; height: 100px; + right: 0; top: 50%; + margin-top: -50px; + background: url(../images/right.png) no-repeat; +} + diff --git a/Root_Web/images/Pwnable.png b/Root_Web/images/Pwnable.png new file mode 100644 index 0000000000000000000000000000000000000000..044067b14f5dc200406891d01bbc5aec679ccc0b GIT binary patch literal 156848 zcmd3N^LJ!T)b31dJ007$GqG*kHYc_w#w3$uV%xTDqhs5-nfF_F-S1DhKlD1QPM_+o zs(otjXFvO?2n9KDco-a*Z{NPbOG=0+eftI)`0d;GNGOP}JDLNZWM7x>&Pw9K-zp~o z$6pOFb0JxwZ{KR-VBZYEzuM3a5}MB6z9IDe`+Og=FE;tQN#r7`;qt@D)X>G!-i}bk z($@4FGb1x2Hxn~ABO4(z3pXPpH!J(kqG7sk-#$GgMTAs5^v>QP4FDs)2k-)kBoJId zP^3LsedKnrvsUitYCRM*&$KHy$K?h&eJhWfhf6t^zP?*rBaM@Xgwl=Z745&&Ru>>F zoe$`pzX>66O?*qd9e?zsnj`sY0f?1rwcDqc}r_Qz-0==|Km?=Z3a84FgN zn17c_?D2t;|J_EeN1Fe?U$SOc!_k4U{m+wM9S(4QzzY4>?Z4hFgVVwa|Ldoi{y*&6 z_iw@slh*V7pBgk`6S!c9Dmwi6f@Z~udc_5l2a9rYpaS;^LoU zKEsC#-N!DaaV@k#me>FUNal1n8}>}8 zzLJ-1?eQELa#b9Xt{V8l9XAa(T8tlrNX z-^~x%2JeLw(8nV8j7U;_iu|7;8V<1H#1c{n$D=RKO4XY=&In(v=GE4s>^NvFAY7;5<|s0#t&F93>h#JQkg{n5C~eZhU@T$?Iiw?D42Ed zIIB*hlc1QxI>iq1CnS7KwUNL#R?AeiwJ&#vV{ek(5Xh~GryjCl=`m|Eyt|_$52c7t zcr(<*gbrrnVy1F!<~@^ZYgJE0(QNT2-jVnpX|+w<7@9$~z_ zo&D6&y?5I%>66y7;*Pio`t2msu3Bl$w*}Vq6O>&5G!B^>H}VKb%8=P*p4;Zw+8^ zo~L};hPkk<%3xgs!4{Ozi57HGebJF>Ikk7QyBuCtI+eEgpjEMZ{WKIao?}|&9d)9k zj3m5C5Ua||53zK`B_#><#z(%kV8v3#3w-y*XOw--{(v1pEMr|IIr1(aSsFNkn`md<&f4gy{X58Dx4o(R5>uMRIEL;$aSu-Y5@(~V4I z9K^iKE2P!O^4`YZYe^1pG2%0A{!j^
    02-3bJb25-rP*-s~PoG<&9(f84N^9&Hz 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

    8>9L#7tUUKQx)=a*~g9NsrA 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 F@jrf+wxj?6 literal 0 HcmV?d00001 diff --git a/Root_Web/images/hacker_char.png b/Root_Web/images/hacker_char.png deleted file mode 100644 index e927066d824af3024f2c27a134ee5a52b3832b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5503 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 Mo|ds@H5?W8KX{!#KmY&$ literal 0 HcmV?d00001 diff --git a/Root_Web/images/reversing.PNG b/Root_Web/images/reversing.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2c29f13dbc626c6b348b60faf120562a4a5cad01 GIT binary patch literal 40412 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

    ", "
    " ], - area: [ 1, "", "" ], - - // Support: IE8 - 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: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
    ", "
    " ] -}; - -// Support: IE8-IE9 -wrapMap.optgroup = wrapMap.option; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== "undefined" ? - 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; -} - - -// 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" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/, - rtbody = / from table fragments - if ( !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 ( !support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - - 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; -} - - -( function() { - var i, eventName, - div = document.createElement( "div" ); - - // Support: IE<9 (lack submit/change bubble), Firefox (lack focus(in | out) events) - for ( i in { submit: true, change: true, focusin: true } ) { - eventName = "on" + i; - - if ( !( support[ i ] = eventName in window ) ) { - - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) - div.setAttribute( eventName, "t" ); - support[ i ] = div.attributes[ eventName ].expando === false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -} )(); - - -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE9 -// See #13393 for more info -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // 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 ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - 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 elem; - } - - 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 elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * 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 !== "undefined" && - ( !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( 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( 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 = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = 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( "." ) > -1 ) { - - // 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.rnamespace = 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 && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === 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 - ) && 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, j, ret, matched, handleObj, - handlerQueue = [], - args = 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.rnamespace || event.rnamespace.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 i, matches, sel, handleObj, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Support (at least): Chrome, IE9 - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // - // Support: Firefox<=42+ - // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) - if ( delegateCount && cur.nodeType && - ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { - - /* 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 ) > -1 : - 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: Safari 6-8+ - // 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 detail 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 ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - // Piggyback on a donor event to simulate a different one - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - - // Previously, `originalEvent: {}` was set here, so stopPropagation call - // would not be triggered on donor event, since in our own - // jQuery.event.stopPropagation function we had a check for existence of - // originalEvent.stopPropagation method, so, consequently it would be a noop. - // - // Guard for simulated events was moved to jQuery.event.stopPropagation function - // since `originalEvent` should point to the original event for the - // constancy with other events and for more focused logic - } - ); - - jQuery.event.trigger( e, null, elem ); - - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } - } : - 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 ] === "undefined" ) { - 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.defaultPrevented === undefined && - - // Support: IE < 9, Android < 4.0 - src.returnValue === false ? - 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 = { - constructor: jQuery.Event, - 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 || this.isSimulated ) { - 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() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && e.stopImmediatePropagation ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://code.google.com/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, 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 mouseenter/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 ( !support.submit ) { - - 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" ) ? - - // Support: IE <=8 - // We use jQuery.prop instead of elem.form - // to allow fixing the IE8 delegated submit issue (gh-2332) - // by 3rd party polyfills/workarounds. - jQuery.prop( elem, "form" ) : - undefined; - - if ( form && !jQuery._data( form, "submit" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submitBubble = true; - } ); - jQuery._data( form, "submit", 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._submitBubble ) { - delete event._submitBubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event ); - } - } - }, - - 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 ( !support.change ) { - - 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._justChanged = true; - } - } ); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._justChanged && !event.isTrigger ) { - this._justChanged = false; - } - - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event ); - } ); - } - 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, "change" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event ); - } - } ); - jQuery._data( elem, "change", 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 ); - } - }; -} - -// Support: Firefox -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome, Safari -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - jQuery._removeData( doc, fix ); - } else { - jQuery._data( doc, fix, attaches ); - } - } - }; - } ); -} - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, 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 rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp( "<(?:" + nodeNames + ")[\\s/>]", "i" ), - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, - - // Support: IE 10-11, Edge 10240+ - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement( "div" ) ); - -// Support: IE<8 -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? 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; -} - -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 ( !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 ( support.html5Clone && ( src.innerHTML && !jQuery.trim( dest.innerHTML ) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && 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; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = collection.length, - 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" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( isFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - 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 ) { - - // Support: Android<4.1, PhantomJS<2 - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ 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 ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( - ( node.text || node.textContent || node.innerHTML || "" ) - .replace( rcleanScript, "" ) - ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - elems = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = elems[ i ] ) != null; i++ ) { - - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html.replace( rxhtmlTag, "<$1>" ); - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( 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 ( ( !support.noCloneEvent || !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; - }, - - cleanData: function( elems, /* internal */ forceAcceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - attributes = support.attributes, - special = jQuery.event.special; - - for ( ; ( elem = elems[ i ] ) != null; i++ ) { - if ( forceAcceptData || 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 ]; - - // Support: IE<9 - // IE does not allow us to delete expando properties from nodes - // IE creates expando attributes along with the property - // IE does not have a removeAttribute function on Document nodes - if ( !attributes && typeof elem.removeAttribute !== "undefined" ) { - elem.removeAttribute( internalKey ); - - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://code.google.com/p/chromium/issues/detail?id=378607 - } else { - elem[ internalKey ] = undefined; - } - - deletedIds.push( id ); - } - } - } - } - } -} ); - -jQuery.fn.extend( { - - // Keep domManip exposed until 3.0 (gh-2225) - domManip: domManip, - - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return 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 domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, 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 domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - 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 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 ) && - ( support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - 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 ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -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() - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); - - -var iframe, - elemdisplay = { - - // Support: Firefox - // We have to pre-define these values for FF (#10227) - HTML: "block", - BODY: "block" - }; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ - -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - display = jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function 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( "

    AR9!0>u^q<%u|@C*t^^_WD5w<)yssS&mf{H9*~Sw|Qw zF*|g)T%8!Ex+^KX?Kudn$PdJKblj3xY=&mJafkc!am7PE0w|gi=`(!J*6T#ZEY~aW z4`tfrE~%|@bj*yWKSm}W8amrkewtUSU9T6j&Sd!z6DIj%xB@njAv&Hu#mNk-uN!OU zD=OXy8uU;AWpR5IM`g1aj8Fa~4Ws0i3IFnQb;VWQYwmFKclG^xoFm39az|NIRLs~Z z=o>#py{y5}W!(o#j8~MPU-*#8gOrJHsN^^*k^XDeBluuXV;RGgm(#Sv76rjBFP@n! z#)F>3iI-kEWaCPs<}$lOJ92Ie4(!Y)Z?!2%-7lrI7c>#=b!{%jRTOTtnn`@&m{(V> zR^Q30_#5oZ`CO1WHrWw>>xSMQ{{#cKY(F$~d))CgZCsD6pMoq=m?0o;JtIp@es+oB zIh5jdzJ_CPU-G0XI3Y$yc(6<8$(H+{4^k@(*D>3XegUF^dzKdr-xt{z{;Xf#dNmhM zRJae*_wLbJc+mGZ^b4cSdtAZQH)lON&q_VyWz^iqOiz&3uD%y$K+o4Hg8kh7oh|uV z-z)#j88x(owjddXyxw=fLK%&9&!eQ&zXX8hsSWJb>%|GqWvs&=N}aq=N^!&h zi!@^GMy{t|j+PUrLiETpIWqIzbApkASJ$qg^&Qo=v;5-CT9cd1dUIu^<=u-*=_4Z{ zhrgJL2Jt_Ch-iqM4M}@CEl#>t}}ZWs7A;Zw}gE+m)ZkG7ncs!;(Oi5AX93 zO^2-`51H-V&24>*Qq&p?vgd(xw!lZwoKw@9x$42%jFDK zJbVb+j?eK^ZDC7ur0pc81JZZOou4yqy&l@pyf(7I!*YSkq3{uVF^GkftWoF5VC~D8 z*mZH2<*jXYw)8h-WR8)$w_&>&BtO?>CAe$TCFRb?t}VLvW}+fk*rMbYT>Rc~JlA=* z&ZloUA69$t1~6jmFqw&5nzOXCCvm7IZJUqskKj8#Gz50PWqJ-De3Fei)$6iZ&42Ar zcJPRd$1tj+ugmT9qVJ)Ae@4^UdrQANrE6mnNiQ#jGg(>Dew?~Q_l1ONn-idx&yaZB z;~F#F)TqTsHb7ttJ|&TQi^sq7HlxBdb!8uoR@qLF1O%=%3xTOGeoGe$7I$JFBnct4 zGA*9qC>j;W`a)!;2G%&*o_@bZ@m?)Fy8lKSbJ&Uxij4M?l7Uhpgs$U+`$wzP*rshP z!koN}HaZ}m)WIxWAzJ#p9*A?-!2l5SYiiBJEjTgv(_P*yl33S7*xi1Wvm)iQ&s%#T z$yU=yez#4}f)Jty&?&E4P)0xH`PJTGHRyF16Lhm8itv<`R=-G4$gwK3mj$a+ZP&XO z)U&;hDNCJOj}EHfc?o_~+Db#2bs{fyST*CWALhoD#-piwMiH=aZ8#3({PsGXsA)qT zdPWnXwTSHyho>q2;*a0KNx}4_mkr{opD&H_)MszqP$LPp2XSq&j!3@0{0f=ADpXUY zx7DVQ)Nw%xGh~G7euMjP!6e!449R-Z>_#3EmVS(;g^B0&4hhA~EG6@6NW^^aq^|B% zjETOWR;)=We613rF#xw3`}y9Tv-{C)P~%5^D{HRq6e$BM<6*B+YRc_J@?MZQo=1mi zH~ddJyp|=H=aXLl6&@WH9=+=1<*sUK*gFHJ1%vhT_Un6rT3HFG_4&O|5Y0RHZU7S{lgr zP|h*_6GbKXhSDu)ylVYP`(S_}94dT;`?!O592Or8=Srmn^cy%Y7&A7>YO2*H?=a*p z?nz;yE|S$&II(^|A+X~YIWZ`BQ1LaqhMzAjTBpPbi1(idfUz$rer$^-Gk*= z8^!pJQOJC!7NVk`R75!}^DM{tmi}n-O}QOTz-=yKo;Hy*FN|n>*`Bpiyc?2sX^zjL zTvr`P!!a%2J=?d|ad?G5fEz+oZIEFtY;K^mAX_aIqCk8bTn2|&H*|zS+ z;Z4OFvg(#-#gd;9fD(>lqVtgXq<=p?6BhUEiw`V|=AB&ylFvb)*hD{J^?aogmtn{2 z+wU|On^-XB_rmqUTIX9^H~eE4yU0n!Rnu>EJd8X9Rkoc90zqjhhuD$huMV0zX5hXz zZ%?!$c7ok|OdoN7Kr11zmN(a$Rf07o=`peintCg{``y=HAzeg<1#p9=c;Q z&Z2=;KA%wzSwN_n7D<&3EXX8eT@BX7sxR?|8FO36kL_>$-Whk}cQ#TG9{je+S75Q1 z*G;=HG%DAft&a*2F9<_L4Mn9xeiT0Yg4#JpJ#=gg_`{gcjhq?6_-)%*;Q8an&CbB% zwO^O-LY+sin+FkRllt<}i;u3*9r^igMvRjdwm~~3Djp%qco!dR0xBQ;K4au!$2B=1 z1vi?*EdrF74gn2w;fd=&+&Y`a#J8_s1GdJXHf^4jE^pmBSS&SvvZnEBh}v}iKHuNW zC~quketvo27mr}+PS(C52CpJOAfPYVY3-#JXq&wal8@>4_;yhPx@F2;p`n4)aQtx&Jm<|kbZfa>$;!+ z9&1${Bu&RroN|0FLoGV>BU7BAz{k2_i-1GsA|R_G*g&!as*<1R9cjHYS4Wpeq3>5& z(fzwr%wqzlz(;|gScUwS@JbdAfxxo*wgj?us@y12?=XB$Rq{~WjUJdvd+?ZtLWL#w znMf19>}F!88LwkB-p{Wq=A``e`tjhUARfm1kdND|cg1gwa6g&1a?Q0&bJV4mB_Vm6 z{=J=}$cXd14ijw(T~V2LsB3IMSd3K#3U!Q1qWnz#Qev!Mm)fv5V7!S!pJMDqc1VGA zTi773kjMtTmlp4*B`W5enMNzh(dl9L?(`}|bV_8I0g21=iB{_Z%TlHchFR0b1v>?b zvh)Mk4WX~Um67w~<7xF1vf|FHd;CL47Q|Z5AghYhG=8pO+l?`~5k56FwYB?A-`-xa zx?`2L10YSe>^9B+*evJOuXw`}&(?<&)F6lq=}i&iS3}LfF4I7an83lf-8{c4`)IB$ zRP#fw8q2^DA83BWrRmZXRa)}y;)9F3BZWt{{$ssMt8s~ola>p5v=68O28j>;G0}r) zM7}9fys2Ic-WCv;(9kqNb=WqhQ$DXo-dBN8hiND~&Ln5d!~?L3#v_I$bs0`l_L5iQOZ>vey6nprkAH;rSIbYOTi0U1vLC)`2Z0Wnl zvfRD7)n@u*p~57zM^3u^mI5QMU(_2VDl~d2n%=<%+T!(F2)}qUw7x56%m3{`!4~FX z`qO>=3GH7`K1=d(Cv~uy@EVrV<*%~^n=n<$CcOUE1k+G*FR|HV{h=wlxDb8tu8!>Z z_;F`^Q@>!P0NGQAPG&Th;BUZaF*dmXESmhLE?&o6-jIa6^6%Ap_$_?Puk7|rwf?<1 zQkhVv^KPEw=09jshJhoGKjY4T7KcGWVc>=O&*$ZyTAjb%|3UOVxI}TH`un20ypSRM z$Kn@_Q2$Ly`Q{_9z$tvnE9BnyZT4iCn4IayZ%($h6qq(+=;KF^lI4ZyEfB3i8zzob z_Cb%lU^8sx%X6(aIp%WbLh!scwKqg<(X;x)L4(J_N$RbJZ#8@A&1rEk^QMuIKy`cm z^Q(dSJsMMI;ip!1*2!OE4Y%7FozQb3?oX{{gDGF;>KVxdeTsN(gz2HNY(H&Z32fUw z8lVw*sXmHr@HsEtREMFZ9diQmsS_IsO$glzhpaca-c4T5w<+Wf)4?di@)>%GJaw!| zG(;sR>P`^nFC9MI9rgDV<-vPAKePo>v;`gXpea2l#lnht#)|g|QS%gh=!f-=taEct z)DtPwdL?qt8<|}c_qrA+==9%`(u6ndY4htc+82{(fc~aYDgO zRYmL|?om(qR7-ND= zxGg+;xgJ&7%W-uv?o?=!m}h*~;L>mj)BM7`?+*trBNHPfr9i3daw!dCdlWCH?YD}d zNaL%s6GWNjdg}1|w>Y3<7uxjA)=smne}vh`gLq4ZwD&AcYv@MZsEEVF@$tpf$`BUS zvj`(=W=yHiO1=ISlvOJ1e88?R)UJ|m={~s=h02Q&QMP=BlUcl+C^H@0=;(OecNDI_ zSC(!1H8$aZ)&=)oRjj@tx;0oU!vtmbkEDcU>aV!V4nLzmM{-7J3Nl+5a;|%_kk`eL z*GYE=P%fCV2^p%YXAx%`HW${RP$8j$%y4q>N*G=E(ehZc4EagZnu_c02_P~B6p;GT z1&E-sMxjkorXV)uRL9k4XkJX+oxFlC-e%bY0jO&v2Ve4aFfB&7bTSOHpe^PffUAtT z42HpycWUys=gX~{l)%g@okLIT`kcP0OJ=Jh@B(;+0uvN0p@xU%AD2KRVP615ha>cr zwySWI)Xr|d1K0SkTvJcpK#4pKwC3#%WEYUVgV1G$gDj-~ZwUUf6fl>>@e#l*$bsRK zk<8cD`ABf4!8q0wRXxFueX6eIxNh>m2f^bFx z7UI!<)X>_X6}3Rmqt(jw?w9C$d%SAIjINV-M+_DKe!WBr1~|?GfHK@W*8UJC-&8il zMkXhFijtw=R1Co>XV_^_@9Spwxk^8oFBBxmESM=nB?e;jHNW&8}#ng+>Pi`&MZFTknzNrsu@rwG1xA$(vD7;TTa&r?ipp$rFjg55qMNM46JMl=|CP)l%3@{}2 z%(h%-=~-buRSnx#+KqOF4iv>EW@Kf-ZJNxee!PfQ7nfji7=A9rZ5-&xMp+_aZd7`b z^qkgY$h%`Owj0^EIZOz3?`um7?*;!ZD9lY4XyNFHDJWOG7IOWWK`h8m1>nDBjLl8O z8(t7Olp%}|)refe>I(uxze*MH;Gi#v_gex@f>v|WYn_Vmp0%HUX;l|d?wk=cJ5y4* zZ==%YF)=ZuGK(F3UfsI9=q&8={@MU86OcU&4kLOG_FXjNMsjJwo|D{zrGKBc=s10s zvJAa)V49Mo9id#m$$Z)twi479x9VYI{0_5rHwIOVqn>_yn&x;9PyIqkHHqDU14wrR zHnY}OpWLj;SNysL@QNeVd+p&xM{8c`N^`2W7WCRwn(W+D15hG;0i*QxGWfd3 z&3mw*WH3p<194v3T#bv&2{64X6@^M*8$aa-r`tceq=jyLwR-JCgJp+L)XO4c^qh{ z-y*t)Vh6opIf>-=D3zyZ%GFiq9AyG(e%4W*ku}|-8)-`68_dWtbgbg441mVR+1@=6=tGd#m4W>CYM$6Az zW>Ufb^+5A(M5fXxLUwm;K8vSG)pA1yQi<%3MYe3;dnhCVI@>ZrSn!quqOgBWLY`8| z)?5@P*Yz#`c-kJ^@`38;oHL%t$*2Qc8%u}tjs_JdVUlX60I$b?6$N99gf7=-qXS891f-t>f6kiUk4 z3If(+Ps8>F4*gqhAjSihO~@WVB~&@0u~0N31_wHl+laP++kODol5ugw?gJDdWe@UmcaPwCu^F3SG?>g-odO{cj{|tZ(|ykWwy{ zq0ktD@c=3_u|!=kO5Gxc*Vlcsi{faLlZN9-n;=(@2`~!l+T2{N(hi<`rILvoExi>O zmR{I6_J?EOB~EJ8`Vv}V$}Ok8L_VRpT#jq|^gfmq+Z(~_Sod1l1r5dw?d zW}u=GLN@O|xZ^&Fwku{}KZF0-17k|10HPs3=ZG2m~lh2sETSTU8BkI;a3Yw9wM~B$-nt8+r9e9?L=K~BbF-{rd*dPBNvBntx zF4VsA2!siVr%LEdy(E}E$mnv_3z$+^z@}w{aDTrBB)HtOBRfe~Fwwf2=TwpY!JqZ4 z#JkCQ1vixB0Ye46TKvEy7h17a V?&x!6R=Z2UVXSX~tk(62`G1NTcJu%M literal 0 HcmV?d00001 diff --git a/Root_Web/images/right.png b/Root_Web/images/right.png new file mode 100644 index 0000000000000000000000000000000000000000..c15ee43a907e2b17f76d2d1413174eca4d2559fd GIT binary patch literal 4059 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�mO^&BE2ys!X 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 diff --git a/Root_Web/js/root.js b/Root_Web/js/root.js index c19283d..266bade 100644 --- a/Root_Web/js/root.js +++ b/Root_Web/js/root.js @@ -8,20 +8,18 @@ $(document).on('mouseenter mouseleave', '.menu>ul>li', menu) // 복사 방지, 드래그 방지 -function select(e){ - var tags = ["input", "textarea", "select"] - if (tags.indexOf(e.target.tagName.toLowerCase()) == -1){ - return false - } -} -function reEnable() { - return true -} -if (typeof document.onselectstart != "undefined"){ - document.onselectstart = new Function ("return false") -}else{ - document.onmousedown = select - document.onmouseup = reEnable -} - -// \ No newline at end of file +// function select(e){ +// var tags = ["input", "textarea", "select"] +// if (tags.indexOf(e.target.tagName.toLowerCase()) == -1){ +// return false +// } +// } +// function reEnable() { +// return true +// } +// if (typeof document.onselectstart != "undefined"){ +// document.onselectstart = new Function ("return false") +// }else{ +// document.onmousedown = select +// document.onmouseup = reEnable +// } \ No newline at end of file diff --git a/Root_Web/js/track.js b/Root_Web/js/track.js new file mode 100644 index 0000000..ad37489 --- /dev/null +++ b/Root_Web/js/track.js @@ -0,0 +1,20 @@ +// JavaScript Document + +var i = 0; // 사진 인덱스를 저장할 변수 +$(".left").click(function() { // img 크기만큼 왼쪽으로 이동 + if (i > 0) { + i = i - 1; + $(".imgSlide").stop().animate({ + "left": -800 * i + "px" + }, "slow"); + } +}); +$(".right").click(function() { // img 크기만큼 오른쪽으로 이동 + if (i < 2) { + i = i + 1; + $(".imgSlide").stop().animate({ + "left": -800 * i + "px" + }, "slow"); + } + +}); \ No newline at end of file diff --git a/Root_Web/root.html b/Root_Web/root.html index 61f9654..ea43035 100644 --- a/Root_Web/root.html +++ b/Root_Web/root.html @@ -5,7 +5,6 @@ ROOT - From b73cc882a1a3b33fac35e416152ee8d16f54bda9 Mon Sep 17 00:00:00 2001 From: Ch10316 Date: Mon, 7 Dec 2020 20:20:45 +0900 Subject: [PATCH 6/6] second --- Root_Web/js/jquery-1.12.3.js | 11015 --------------------------------- Root_Web/track.html | 67 + 2 files changed, 67 insertions(+), 11015 deletions(-) delete mode 100644 Root_Web/js/jquery-1.12.3.js create mode 100644 Root_Web/track.html diff --git a/Root_Web/js/jquery-1.12.3.js b/Root_Web/js/jquery-1.12.3.js deleted file mode 100644 index 5fac9dd..0000000 --- a/Root_Web/js/jquery-1.12.3.js +++ /dev/null @@ -1,11015 +0,0 @@ -/*! - * jQuery JavaScript Library v1.12.3 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2016-04-05T19:16Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Support: Firefox 18+ -// Can't be in strict mode, several libs including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -//"use strict"; -var deletedIds = []; - -var document = window.document; - -var slice = deletedIds.slice; - -var concat = deletedIds.concat; - -var push = deletedIds.push; - -var indexOf = deletedIds.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - version = "1.12.3", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1, IE<9 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/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(); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return 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 just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // 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. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( 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 ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: deletedIds.sort, - splice: deletedIds.splice -}; - -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; - - // skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // 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 ( i === length ) { - 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 - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - // 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 ) { - - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - var realStringObj = obj && obj.toString(); - return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - 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 && - !hasOwn.call( obj, "constructor" ) && - !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 ( !support.ownFirst ) { - for ( key in obj ) { - return 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 || hasOwn.call( obj, key ); - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; - }, - - // 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 ); // jscs:ignore requireDotNotation - } )( 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(); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // Support: Android<4.1, IE<9 - trim: 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 { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( indexOf ) { - return 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 len = +second.length, - j = 0, - i = first.length; - - while ( j < len ) { - first[ i++ ] = second[ j++ ]; - } - - // Support: IE<9 - // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) - if ( len !== len ) { - while ( second[ j ] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return 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 = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( 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; - }, - - now: function() { - return +( new Date() ); - }, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -// JSHint would error on this code due to the Symbol not being defined in ES5. -// Defining this global in .jshintrc would create a danger of using the global -// unguarded in another place, it seems safer to just disable JSHint for these -// three lines. -/* jshint ignore: start */ -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ]; -} -/* jshint ignore: end */ - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); - -function isArrayLike( obj ) { - - // Support: iOS 8.2 (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.2.1 - * http://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2015-10-17 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - 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 as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[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 - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "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" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - 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<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }; - -// 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 m, i, elem, nid, nidselect, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - - // ID selector - if ( (m = match[1]) ) { - - // Document context - if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !compilerCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - - if ( nodeType !== 1 ) { - newContext = context; - newSelector = selector; - - // qSA looks outside Element context, which is not what we want - // Thanks to Andrew Dupont for this workaround technique - // Support: IE <=8 - // Exclude object elements - } else if ( context.nodeName.toLowerCase() !== "object" ) { - - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", (nid = expando) ); - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; - while ( i-- ) { - groups[i] = nidselect + " " + toSelector( groups[i] ); - } - newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - } finally { - if ( nid === expando ) { - 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 = arr.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]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -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; -}; - -/** - * 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 hasCompare, parent, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); - - // Support: IE 9-11, Edge - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - if ( (parent = document.defaultView) && parent.top !== parent ) { - // Support: IE 11 - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); - - // Support: IE 9 - 10 only - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); - } - } - - /* 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( document.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // 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 !document.getElementsByName || !document.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - return m ? [ 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 !== "undefined" && - elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - 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 !== "undefined" && 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( document.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 - docElem.appendChild( div ).innerHTML = "" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // 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"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + 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.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 - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - 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 = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === document ? -1 : - b === document ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( 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 document; -}; - -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 && - !compilerCache[ expr + " " ] && - ( !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 ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -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 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - 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 - while ( (node = elem[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 (jQuery #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[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[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // 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 !== "undefined" && 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.replace( rwhitespace, " " ) + " " ).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, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - 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 - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && 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 ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - // Use previously-cached element index if available - if ( useCache ) { - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - // 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 ) { - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - uniqueCache[ 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( 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 ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - 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 negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - 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; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // 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(); - -tokenize = Sizzle.tokenize = function( 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 oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator 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 ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); - - if ( (oldCache = uniqueCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - 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 multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -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( 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( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - 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 ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context === document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - if ( !context && elem.ownerDocument !== document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context || document, xml) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // 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 ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - 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, match /* 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 ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound 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; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - 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 ) && testContext( 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 if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// 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 elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// 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 ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) > -1 ) !== not; - } ); -} - -jQuery.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; - } ) ); -}; - -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; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - 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; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // 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-]*))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // init accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // 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 - // Intentionally let the error be thrown if parseHTML is not present - 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 || root ).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 typeof root.ready !== "undefined" ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // 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( { - 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; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - 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 ) ) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // 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 ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - 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 dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( 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.uniqueSort( ret ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - } - - return this.pushStack( ret ); - }; -} ); -var rnotwhite = ( /\S+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( 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" ? - 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, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( jQuery.isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - 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.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = true; - if ( !memory ) { - self.disable(); - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - 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 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() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "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 = 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 ? 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() - .progress( updateFunc( i, progressContexts, progressValues ) ) - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -} ); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend( { - - // 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; - } - - // 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.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -} ); - -/** - * Clean-up method for dom ready events - */ -function detach() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } -} - -/** - * The ready event handler and self cleanup method - */ -function completed() { - - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || - window.event.type === "load" || - document.readyState === "complete" ) { - - detach(); - jQuery.ready(); - } -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called - // after the browser event has already occurred. - // Support: IE6-10 - // Older IE sometimes signals "interactive" too soon - if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); - - // 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 window.setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - } )(); - } - } - } - return readyList.promise( obj ); -}; - -// Kick off the DOM ready check even if the user does not -jQuery.ready.promise(); - - - - -// Support: IE<9 -// Iteration over object's inherited properties before its own -var i; -for ( i in jQuery( support ) ) { - break; -} -support.ownFirst = i === "0"; - -// Note: most support tests are defined in their respective modules. -// false until the test is run -support.inlineBlockNeedsLayout = false; - -// Execute ASAP in case we need to set body.style.zoom -jQuery( function() { - - // Minified: var a,b,c,d - var val, div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - - // Return for frameset docs that don't have a body - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - if ( typeof div.style.zoom !== "undefined" ) { - - // 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.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; - - support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; - if ( val ) { - - // 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 ); -} ); - - -( function() { - var div = document.createElement( "div" ); - - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch ( e ) { - support.deleteExpando = false; - } - - // Null elements to avoid leaks in IE. - div = null; -} )(); -var acceptData = function( elem ) { - var noData = jQuery.noData[ ( elem.nodeName + " " ).toLowerCase() ], - nodeType = +elem.nodeType || 1; - - // Do not set data on non-element DOM nodes because it will not be cleared (#8335). - return nodeType !== 1 && nodeType !== 9 ? - false : - - // Nodes accept data unless otherwise specified; rejection can be conditional - !noData || noData !== true && elem.getAttribute( "classid" ) === noData; -}; - - - - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; - -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; -} - -function internalData( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !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 ] = 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 ( !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 ( support.deleteExpando || cache != cache.window ) { - /* jshint eqeqeq: true */ - delete cache[ id ]; - - // When all else fails, undefined - } else { - cache[ id ] = undefined; - } -} - -jQuery.extend( { - cache: {}, - - // The following elements (space-suffixed to avoid Object.prototype collisions) - // throw uncatchable exceptions if you attempt to set expando properties - noData: { - "applet ": true, - "embed ": true, - - // ...but Flash objects (which have this classid) *can* 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 ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // 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" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ 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 ) ) : undefined; - }, - - removeData: function( key ) { - return this.each( function() { - jQuery.removeData( this, key ); - } ); - } -} ); - - -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 ); - } ); - }, - 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 ); - } -} ); - - -( function() { - var shrinkWrapBlocksVal; - - support.shrinkWrapBlocks = function() { - if ( shrinkWrapBlocksVal != null ) { - return shrinkWrapBlocksVal; - } - - // Will be changed later if needed. - shrinkWrapBlocksVal = false; - - // Minified: var b,c,d - var div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - - // Test fired too early or in an unsupported environment, exit. - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - // Support: IE6 - // Check if elements with layout shrink-wrap their children - if ( typeof div.style.zoom !== "undefined" ) { - - // Reset CSS: box-sizing; display; margin; border - div.style.cssText = - - // Support: Firefox<29, Android 2.3 - // Vendor-prefix box-sizing - "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + - "box-sizing:content-box;display:block;margin:0;border:0;" + - "padding:1px;width:1px;zoom:1"; - div.appendChild( document.createElement( "div" ) ).style.width = "5px"; - shrinkWrapBlocksVal = div.offsetWidth !== 3; - } - - body.removeChild( container ); - - return shrinkWrapBlocksVal; - }; - -} )(); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( 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 adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, - scale = 1, - maxIterations = 20, - currentValue = tween ? - function() { return tween.cur(); } : - function() { return jQuery.css( elem, prop, "" ); }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - do { - - // If previous iteration zeroed out, double until we get *something*. - // Use string for doubling so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - initialInUnit = initialInUnit / scale; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Update scale, tolerating zero or NaN from tween.cur() - // Break the loop if scale is unchanged or perfect, or if we've just had enough. - } while ( - scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations - ); - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var 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 ) { - 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; -}; -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([\w:-]+)/ ); - -var rscriptType = ( /^$|\/(?:java|ecma)script/i ); - -var rleadingWhitespace = ( /^\s+/ ); - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|" + - "details|dialog|figcaption|figure|footer|header|hgroup|main|" + - "mark|meter|nav|output|picture|progress|section|summary|template|time|video"; - - - -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - - -( function() { - var div = document.createElement( "div" ), - fragment = document.createDocumentFragment(), - input = document.createElement( "input" ); - - // Setup - div.innerHTML = "
    a"; - - // 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; - - // 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>"; - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - input.type = "checkbox"; - input.checked = true; - fragment.appendChild( input ); - support.appendChecked = input.checked; - - // Make sure textarea (and checkbox) defaultValue is properly cloned - // Support: IE6-IE11+ - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // #11217 - WebKit loses check when the name is after the checked attribute - fragment.appendChild( div ); - - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input = document.createElement( "input" ); - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 - // old WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Cloned elements keep attachEvent handlers, we use addEventListener on IE9+ - support.noCloneEvent = !!div.addEventListener; - - // Support: IE<9 - // Since attributes and properties are the same in IE, - // cleanData must set properties to undefined rather than use removeAttribute - div[ jQuery.expando ] = 1; - support.attributes = !div.getAttribute( jQuery.expando ); -} )(); - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - option: [ 1, "" ], - legend: [ 1, "