{"mappings":"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","sources":["","js/app.ts","node_modules/.pnpm/jquery@3.7.1/node_modules/jquery/dist/jquery.js","js/cookie-consent.ts","js/contact-form.ts"],"sourcesContent":["(function () {\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\nvar $67ec8e7d54d80c35$exports = {};\n/*!\n * jQuery JavaScript Library v3.7.1\n * https://jquery.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2023-08-28T13:37Z\n */ (function(global, factory) {\n \"use strict\";\n if (typeof $67ec8e7d54d80c35$exports === \"object\") // For CommonJS and CommonJS-like environments where a proper `window`\n // is present, execute the factory and get jQuery.\n // For environments that do not have a `window` with a `document`\n // (such as Node.js), expose a factory as module.exports.\n // This accentuates the need for the creation of a real `window`.\n // e.g. var jQuery = require(\"jquery\")(window);\n // See ticket trac-14549 for more info.\n $67ec8e7d54d80c35$exports = global.document ? factory(global, true) : function(w) {\n if (!w.document) throw new Error(\"jQuery requires a window with a document\");\n return factory(w);\n };\n else factory(global);\n// Pass this if window is not defined yet\n})(typeof window !== \"undefined\" ? window : $67ec8e7d54d80c35$exports, function(window1, noGlobal) {\n // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n // enough that all such attempts are guarded in a try block.\n \"use strict\";\n var arr = [];\n var getProto = Object.getPrototypeOf;\n var slice = arr.slice;\n var flat = arr.flat ? function(array) {\n return arr.flat.call(array);\n } : function(array) {\n return arr.concat.apply([], array);\n };\n var push = arr.push;\n var indexOf = arr.indexOf;\n var class2type = {};\n var toString = class2type.toString;\n var hasOwn = class2type.hasOwnProperty;\n var fnToString = hasOwn.toString;\n var ObjectFunctionString = fnToString.call(Object);\n var support = {};\n var isFunction = function isFunction(obj) {\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n // Plus for old WebKit, typeof returns \"function\" for HTML collections\n // (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\" && typeof obj.item !== \"function\";\n };\n var isWindow = function isWindow(obj) {\n return obj != null && obj === obj.window;\n };\n var document = window1.document;\n var preservedScriptAttributes = {\n type: true,\n src: true,\n nonce: true,\n noModule: true\n };\n function DOMEval(code, node, doc) {\n doc = doc || document;\n var i, val, script = doc.createElement(\"script\");\n script.text = code;\n if (node) for(i in preservedScriptAttributes){\n // Support: Firefox 64+, Edge 18+\n // Some browsers don't support the \"nonce\" property on scripts.\n // On the other hand, just using `getAttribute` is not enough as\n // the `nonce` attribute is reset to an empty string whenever it\n // becomes browsing-context connected.\n // See https://github.com/whatwg/html/issues/2369\n // See https://html.spec.whatwg.org/#nonce-attributes\n // The `node.getAttribute` check was added for the sake of\n // `jQuery.globalEval` so that it can fake a nonce-containing node\n // via an object.\n val = node[i] || node.getAttribute && node.getAttribute(i);\n if (val) script.setAttribute(i, val);\n }\n doc.head.appendChild(script).parentNode.removeChild(script);\n }\n function toType(obj) {\n if (obj == null) return obj + \"\";\n // Support: Android <=2.3 only (functionish RegExp)\n return typeof obj === \"object\" || typeof obj === \"function\" ? class2type[toString.call(obj)] || \"object\" : typeof obj;\n }\n /* global Symbol */ // Defining this global in .eslintrc.json would create a danger of using the global\n // unguarded in another place, it seems safer to define global only for this module\n var version = \"3.7.1\", rhtmlSuffix = /HTML$/i, // Define a local copy of jQuery\n jQuery = function(selector, context) {\n // The jQuery object is actually just the init constructor 'enhanced'\n // Need init if jQuery is called (just allow error to be thrown if not included)\n return new jQuery.fn.init(selector, context);\n };\n jQuery.fn = jQuery.prototype = {\n // The current version of jQuery being used\n jquery: version,\n constructor: jQuery,\n // The default length of a jQuery object is 0\n length: 0,\n toArray: function() {\n return slice.call(this);\n },\n // Get the Nth element in the matched element set OR\n // Get the whole matched element set as a clean array\n get: function(num) {\n // Return all the elements in a clean array\n if (num == null) return slice.call(this);\n // Return just the one element from the set\n return num < 0 ? this[num + this.length] : this[num];\n },\n // Take an array of elements and push it onto the stack\n // (returning the new matched element set)\n pushStack: function(elems) {\n // Build a new jQuery matched element set\n var ret = jQuery.merge(this.constructor(), elems);\n // Add the old object onto the stack (as a reference)\n ret.prevObject = this;\n // Return the newly-formed element set\n return ret;\n },\n // Execute a callback for every element in the matched set.\n each: function(callback) {\n return jQuery.each(this, callback);\n },\n map: function(callback) {\n return this.pushStack(jQuery.map(this, function(elem, i) {\n return callback.call(elem, i, elem);\n }));\n },\n slice: function() {\n return this.pushStack(slice.apply(this, arguments));\n },\n first: function() {\n return this.eq(0);\n },\n last: function() {\n return this.eq(-1);\n },\n even: function() {\n return this.pushStack(jQuery.grep(this, function(_elem, i) {\n return (i + 1) % 2;\n }));\n },\n odd: function() {\n return this.pushStack(jQuery.grep(this, function(_elem, i) {\n return i % 2;\n }));\n },\n eq: function(i) {\n var len = this.length, j = +i + (i < 0 ? len : 0);\n return this.pushStack(j >= 0 && j < len ? [\n this[j]\n ] : []);\n },\n end: function() {\n return this.prevObject || this.constructor();\n },\n // For internal use only.\n // Behaves like an Array's method, not like a jQuery method.\n push: push,\n sort: arr.sort,\n splice: arr.splice\n };\n jQuery.extend = jQuery.fn.extend = function() {\n var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = false;\n // Handle a deep copy situation\n if (typeof target === \"boolean\") {\n deep = target;\n // Skip the boolean and the target\n target = arguments[i] || {};\n i++;\n }\n // Handle case when target is a string or something (possible in deep copy)\n if (typeof target !== \"object\" && !isFunction(target)) target = {};\n // Extend jQuery itself if only one argument is passed\n if (i === length) {\n target = this;\n i--;\n }\n for(; i < length; i++){\n // Only deal with non-null/undefined values\n if ((options = arguments[i]) != null) // Extend the base object\n for(name in options){\n copy = options[name];\n // Prevent Object.prototype pollution\n // Prevent never-ending loop\n if (name === \"__proto__\" || target === copy) continue;\n // Recurse if we're merging plain objects or arrays\n if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {\n src = target[name];\n // Ensure proper type for the source value\n if (copyIsArray && !Array.isArray(src)) clone = [];\n else if (!copyIsArray && !jQuery.isPlainObject(src)) clone = {};\n else clone = src;\n copyIsArray = false;\n // Never move original objects, clone them\n target[name] = jQuery.extend(deep, clone, copy);\n // Don't bring in undefined values\n } else if (copy !== undefined) target[name] = copy;\n }\n }\n // Return the modified object\n return target;\n };\n jQuery.extend({\n // Unique for each copy of jQuery on the page\n expando: \"jQuery\" + (version + Math.random()).replace(/\\D/g, \"\"),\n // Assume jQuery is ready without the ready module\n isReady: true,\n error: function(msg) {\n throw new Error(msg);\n },\n noop: function() {},\n isPlainObject: function(obj) {\n var proto, Ctor;\n // Detect obvious negatives\n // Use toString instead of jQuery.type to catch host objects\n if (!obj || toString.call(obj) !== \"[object Object]\") return false;\n proto = getProto(obj);\n // Objects with no prototype (e.g., `Object.create( null )`) are plain\n if (!proto) return true;\n // Objects with prototype are plain iff they were constructed by a global Object function\n Ctor = hasOwn.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && fnToString.call(Ctor) === ObjectFunctionString;\n },\n isEmptyObject: function(obj) {\n var name;\n for(name in obj)return false;\n return true;\n },\n // Evaluates a script in a provided context; falls back to the global one\n // if not specified.\n globalEval: function(code, options, doc) {\n DOMEval(code, {\n nonce: options && options.nonce\n }, doc);\n },\n each: function(obj, callback) {\n var length, i = 0;\n if (isArrayLike(obj)) {\n length = obj.length;\n for(; i < length; i++){\n if (callback.call(obj[i], i, obj[i]) === false) break;\n }\n } else for(i in obj){\n if (callback.call(obj[i], i, obj[i]) === false) break;\n }\n return obj;\n },\n // Retrieve the text value of an array of DOM nodes\n text: function(elem) {\n var node, ret = \"\", i = 0, nodeType = elem.nodeType;\n if (!nodeType) // If no nodeType, this is expected to be an array\n while(node = elem[i++])// Do not traverse comment nodes\n ret += jQuery.text(node);\n if (nodeType === 1 || nodeType === 11) return elem.textContent;\n if (nodeType === 9) return elem.documentElement.textContent;\n if (nodeType === 3 || nodeType === 4) return elem.nodeValue;\n // Do not include comment or processing instruction nodes\n return ret;\n },\n // results is for internal usage only\n makeArray: function(arr, results) {\n var ret = results || [];\n if (arr != null) {\n if (isArrayLike(Object(arr))) jQuery.merge(ret, typeof arr === \"string\" ? [\n arr\n ] : arr);\n else push.call(ret, arr);\n }\n return ret;\n },\n inArray: function(elem, arr, i) {\n return arr == null ? -1 : indexOf.call(arr, elem, i);\n },\n isXMLDoc: function(elem) {\n var namespace = elem && elem.namespaceURI, docElem = elem && (elem.ownerDocument || elem).documentElement;\n // Assume HTML when documentElement doesn't yet exist, such as inside\n // document fragments.\n return !rhtmlSuffix.test(namespace || docElem && docElem.nodeName || \"HTML\");\n },\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n merge: function(first, second) {\n var len = +second.length, j = 0, i = first.length;\n for(; j < len; j++)first[i++] = second[j];\n first.length = i;\n return first;\n },\n grep: function(elems, callback, invert) {\n var callbackInverse, matches = [], i = 0, length = elems.length, callbackExpect = !invert;\n // Go through the array, only saving the items\n // that pass the validator function\n for(; i < length; i++){\n callbackInverse = !callback(elems[i], i);\n if (callbackInverse !== callbackExpect) matches.push(elems[i]);\n }\n return matches;\n },\n // arg is for internal usage only\n map: function(elems, callback, arg) {\n var length, value, i = 0, ret = [];\n // Go through the array, translating each of the items to their new values\n if (isArrayLike(elems)) {\n length = elems.length;\n for(; i < length; i++){\n value = callback(elems[i], i, arg);\n if (value != null) ret.push(value);\n }\n // Go through every key on the object,\n } else for(i in elems){\n value = callback(elems[i], i, arg);\n if (value != null) ret.push(value);\n }\n // Flatten any nested arrays\n return flat(ret);\n },\n // A global GUID counter for objects\n guid: 1,\n // jQuery.support is not used in Core but other projects attach their\n // properties to it so it needs to exist.\n support: support\n });\n if (typeof Symbol === \"function\") jQuery.fn[Symbol.iterator] = arr[Symbol.iterator];\n // Populate the class2type map\n jQuery.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"), function(_i, name) {\n class2type[\"[object \" + name + \"]\"] = name.toLowerCase();\n });\n function isArrayLike(obj) {\n // Support: real iOS 8.2 only (not reproducible in simulator)\n // `in` check used to prevent JIT error (gh-2145)\n // hasOwn isn't used here due to false negatives\n // regarding Nodelist length in IE\n var length = !!obj && \"length\" in obj && obj.length, type = toType(obj);\n if (isFunction(obj) || isWindow(obj)) return false;\n return type === \"array\" || length === 0 || typeof length === \"number\" && length > 0 && length - 1 in obj;\n }\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n }\n var pop = arr.pop;\n var sort = arr.sort;\n var splice = arr.splice;\n var whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\";\n var rtrimCSS = new RegExp(\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\");\n // Note: an element does not contain itself\n jQuery.contains = function(a, b) {\n var bup = b && b.parentNode;\n return a === bup || !!(bup && bup.nodeType === 1 && // Support: IE 9 - 11+\n // IE doesn't have `contains` on SVG.\n (a.contains ? a.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16));\n };\n // CSS string/identifier serialization\n // https://drafts.csswg.org/cssom/#common-serializing-idioms\n var rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\n function fcssescape(ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === \"\\0\") return \"\\uFFFD\";\n // Control characters and (dependent upon position) numbers get escaped as code points\n return ch.slice(0, -1) + \"\\\\\" + ch.charCodeAt(ch.length - 1).toString(16) + \" \";\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return \"\\\\\" + ch;\n }\n jQuery.escapeSelector = function(sel) {\n return (sel + \"\").replace(rcssescape, fcssescape);\n };\n var preferredDoc = document, pushNative = push;\n (function() {\n var i, Expr, outermostContext, sortInput, hasDuplicate, push = pushNative, // Local document vars\n document, documentElement, documentIsHTML, rbuggyQSA, matches, // Instance-specific data\n expando = jQuery.expando, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), nonnativeSelectorCache = createCache(), sortOrder = function(a, b) {\n if (a === b) hasDuplicate = true;\n return 0;\n }, booleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\", // Regular expressions\n // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n identifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\", // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors\n attributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace + // Operator (capture 2)\n \"*([*^$|!~]?=)\" + whitespace + // \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n \"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace + \"*\\\\]\", pseudos = \":(\" + identifier + \")(?:\\\\((\" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n // 1. quoted (capture 3; capture 4 or capture 5)\n \"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" + // 2. simple (capture 6)\n \"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" + // 3. anything else (capture 2)\n \".*\" + \")\\\\)|)\", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n rwhitespace = new RegExp(whitespace + \"+\", \"g\"), rcomma = new RegExp(\"^\" + whitespace + \"*,\" + whitespace + \"*\"), rleadingCombinator = new RegExp(\"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\"), rdescend = new RegExp(whitespace + \"|>\"), rpseudo = new RegExp(pseudos), ridentifier = new RegExp(\"^\" + identifier + \"$\"), matchExpr = {\n ID: new RegExp(\"^#(\" + identifier + \")\"),\n CLASS: new RegExp(\"^\\\\.(\" + identifier + \")\"),\n TAG: new RegExp(\"^(\" + identifier + \"|[*])\"),\n ATTR: new RegExp(\"^\" + attributes),\n PSEUDO: new RegExp(\"^\" + pseudos),\n CHILD: new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\"),\n bool: new RegExp(\"^(?:\" + booleans + \")$\", \"i\"),\n // For use in libraries implementing .is()\n // We use this for POS matching in `select`\n needsContext: new RegExp(\"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\")\n }, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\\d$/i, // Easily-parseable/retrievable ID or TAG or CLASS selectors\n rquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/, rsibling = /[+~]/, // CSS escapes\n // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n runescape = new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\"), funescape = function(escape, nonHex) {\n var high = \"0x\" + escape.slice(1) - 0x10000;\n if (nonHex) // Strip the backslash prefix from a non-hex escape sequence\n return nonHex;\n // Replace a hexadecimal escape sequence with the encoded Unicode code point\n // Support: IE <=11+\n // For values outside the Basic Multilingual Plane (BMP), manually construct a\n // surrogate pair\n return high < 0 ? String.fromCharCode(high + 0x10000) : String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00);\n }, // Used for iframes; see `setDocument`.\n // Support: IE 9 - 11+, Edge 12 - 18+\n // Removing the function wrapper causes a \"Permission Denied\"\n // error in IE/Edge.\n unloadHandler = function() {\n setDocument();\n }, inDisabledFieldset = addCombinator(function(elem) {\n return elem.disabled === true && nodeName(elem, \"fieldset\");\n }, {\n dir: \"parentNode\",\n next: \"legend\"\n });\n // Support: IE <=9 only\n // Accessing document.activeElement can throw unexpectedly\n // https://bugs.jquery.com/ticket/13393\n function safeActiveElement() {\n try {\n return document.activeElement;\n } catch (err) {}\n }\n // Optimize for push.apply( _, NodeList )\n try {\n push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes);\n // Support: Android <=4.0\n // Detect silently failing push.apply\n // eslint-disable-next-line no-unused-expressions\n arr[preferredDoc.childNodes.length].nodeType;\n } catch (e) {\n push = {\n apply: function(target, els) {\n pushNative.apply(target, slice.call(els));\n },\n call: function(target) {\n pushNative.apply(target, slice.call(arguments, 1));\n }\n };\n }\n function find(selector, context, results, seed) {\n var m, i, elem, nid, match, groups, newSelector, newContext = context && context.ownerDocument, // nodeType defaults to 9, since context defaults to document\n nodeType = context ? context.nodeType : 9;\n results = results || [];\n // Return early from calls with invalid selector or context\n if (typeof selector !== \"string\" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) return results;\n // Try to shortcut find operations (as opposed to filters) in HTML documents\n if (!seed) {\n setDocument(context);\n context = context || document;\n if (documentIsHTML) {\n // If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n // (excepting DocumentFragment context, where the methods don't exist)\n if (nodeType !== 11 && (match = rquickExpr.exec(selector))) {\n // ID selector\n if (m = match[1]) {\n // Document context\n if (nodeType === 9) {\n if (elem = context.getElementById(m)) // Support: IE 9 only\n // getElementById can match elements by name instead of ID\n {\n if (elem.id === m) {\n push.call(results, elem);\n return results;\n }\n } else return results;\n // Element context\n } else // Support: IE 9 only\n // getElementById can match elements by name instead of ID\n if (newContext && (elem = newContext.getElementById(m)) && find.contains(context, elem) && elem.id === m) {\n push.call(results, elem);\n return results;\n }\n // Type selector\n } else if (match[2]) {\n push.apply(results, context.getElementsByTagName(selector));\n return results;\n // Class selector\n } else if ((m = match[3]) && context.getElementsByClassName) {\n push.apply(results, context.getElementsByClassName(m));\n return results;\n }\n }\n // Take advantage of querySelectorAll\n if (!nonnativeSelectorCache[selector + \" \"] && (!rbuggyQSA || !rbuggyQSA.test(selector))) {\n newSelector = selector;\n newContext = context;\n // qSA considers elements outside a scoping root when evaluating child or\n // descendant combinators, which is not what we want.\n // In such cases, we work around the behavior by prefixing every selector in the\n // list with an ID selector referencing the scope context.\n // The technique has to be used as well when a leading combinator is used\n // as such selectors are not recognized by querySelectorAll.\n // Thanks to Andrew Dupont for this technique.\n if (nodeType === 1 && (rdescend.test(selector) || rleadingCombinator.test(selector))) {\n // Expand context for sibling selectors\n newContext = rsibling.test(selector) && testContext(context.parentNode) || context;\n // We can use :scope instead of the ID hack if the browser\n // supports it & if we're not changing the context.\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when\n // strict-comparing two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (newContext != context || !support.scope) {\n // Capture the context ID, setting it first if necessary\n if (nid = context.getAttribute(\"id\")) nid = jQuery.escapeSelector(nid);\n else context.setAttribute(\"id\", nid = expando);\n }\n // Prefix every selector in the list\n groups = tokenize(selector);\n i = groups.length;\n while(i--)groups[i] = (nid ? \"#\" + nid : \":scope\") + \" \" + toSelector(groups[i]);\n newSelector = groups.join(\",\");\n }\n try {\n push.apply(results, newContext.querySelectorAll(newSelector));\n return results;\n } catch (qsaError) {\n nonnativeSelectorCache(selector, true);\n } finally{\n if (nid === expando) context.removeAttribute(\"id\");\n }\n }\n }\n }\n // All others\n return select(selector.replace(rtrimCSS, \"$1\"), context, results, seed);\n }\n /**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */ function createCache() {\n var keys = [];\n function cache(key, value) {\n // Use (key + \" \") to avoid collision with native prototype properties\n // (see https://github.com/jquery/sizzle/issues/157)\n if (keys.push(key + \" \") > Expr.cacheLength) // Only keep the most recent entries\n delete cache[keys.shift()];\n return cache[key + \" \"] = value;\n }\n return cache;\n }\n /**\n * Mark a function for special use by jQuery selector module\n * @param {Function} fn The function to mark\n */ function markFunction(fn) {\n fn[expando] = true;\n return fn;\n }\n /**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */ function assert(fn) {\n var el = document.createElement(\"fieldset\");\n try {\n return !!fn(el);\n } catch (e) {\n return false;\n } finally{\n // Remove from its parent by default\n if (el.parentNode) el.parentNode.removeChild(el);\n // release memory in IE\n el = null;\n }\n }\n /**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */ function createInputPseudo(type) {\n return function(elem) {\n return nodeName(elem, \"input\") && elem.type === type;\n };\n }\n /**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */ function createButtonPseudo(type) {\n return function(elem) {\n return (nodeName(elem, \"input\") || nodeName(elem, \"button\")) && elem.type === type;\n };\n }\n /**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */ function createDisabledPseudo(disabled) {\n // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n return function(elem) {\n // Only certain elements can match :enabled or :disabled\n // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n if (\"form\" in elem) {\n // Check for inherited disabledness on relevant non-disabled elements:\n // * listed form-associated elements in a disabled fieldset\n // https://html.spec.whatwg.org/multipage/forms.html#category-listed\n // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n // * option elements in a disabled optgroup\n // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n // All such elements have a \"form\" property.\n if (elem.parentNode && elem.disabled === false) {\n // Option elements defer to a parent optgroup if present\n if (\"label\" in elem) {\n if (\"label\" in elem.parentNode) return elem.parentNode.disabled === disabled;\n else return elem.disabled === disabled;\n }\n // Support: IE 6 - 11+\n // Use the isDisabled shortcut property to check for disabled fieldset ancestors\n return elem.isDisabled === disabled || // Where there is no isDisabled, check manually\n elem.isDisabled !== !disabled && inDisabledFieldset(elem) === disabled;\n }\n return elem.disabled === disabled;\n // Try to winnow out elements that can't be disabled before trusting the disabled property.\n // Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n // even exist on them, let alone have a boolean value.\n } else if (\"label\" in elem) return elem.disabled === disabled;\n // Remaining elements are neither :enabled nor :disabled\n return false;\n };\n }\n /**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */ function createPositionalPseudo(fn) {\n return markFunction(function(argument) {\n argument = +argument;\n return markFunction(function(seed, matches) {\n var j, matchIndexes = fn([], seed.length, argument), i = matchIndexes.length;\n // Match elements found at the specified indexes\n while(i--)if (seed[j = matchIndexes[i]]) seed[j] = !(matches[j] = seed[j]);\n });\n });\n }\n /**\n * Checks a node for validity as a jQuery selector context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */ function testContext(context) {\n return context && typeof context.getElementsByTagName !== \"undefined\" && context;\n }\n /**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [node] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */ function setDocument(node) {\n var subWindow, doc = node ? node.ownerDocument || node : preferredDoc;\n // Return early if doc is invalid or already selected\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (doc == document || doc.nodeType !== 9 || !doc.documentElement) return document;\n // Update global variables\n document = doc;\n documentElement = document.documentElement;\n documentIsHTML = !jQuery.isXMLDoc(document);\n // Support: iOS 7 only, IE 9 - 11+\n // Older browsers didn't support unprefixed `matches`.\n matches = documentElement.matches || documentElement.webkitMatchesSelector || documentElement.msMatchesSelector;\n // Support: IE 9 - 11+, Edge 12 - 18+\n // Accessing iframe documents after unload throws \"permission denied\" errors\n // (see trac-13936).\n // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,\n // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.\n if (documentElement.msMatchesSelector && // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n preferredDoc != document && (subWindow = document.defaultView) && subWindow.top !== subWindow) // Support: IE 9 - 11+, Edge 12 - 18+\n subWindow.addEventListener(\"unload\", unloadHandler);\n // Support: IE <10\n // Check if getElementById returns elements by name\n // The broken getElementById methods don't pick up programmatically-set names,\n // so use a roundabout getElementsByName test\n support.getById = assert(function(el) {\n documentElement.appendChild(el).id = jQuery.expando;\n return !document.getElementsByName || !document.getElementsByName(jQuery.expando).length;\n });\n // Support: IE 9 only\n // Check to see if it's possible to do matchesSelector\n // on a disconnected node.\n support.disconnectedMatch = assert(function(el) {\n return matches.call(el, \"*\");\n });\n // Support: IE 9 - 11+, Edge 12 - 18+\n // IE/Edge don't support the :scope pseudo-class.\n support.scope = assert(function() {\n return document.querySelectorAll(\":scope\");\n });\n // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only\n // Make sure the `:has()` argument is parsed unforgivingly.\n // We include `*` in the test to detect buggy implementations that are\n // _selectively_ forgiving (specifically when the list includes at least\n // one valid selector).\n // Note that we treat complete lack of support for `:has()` as if it were\n // spec-compliant support, which is fine because use of `:has()` in such\n // environments will fail in the qSA path and fall back to jQuery traversal\n // anyway.\n support.cssHas = assert(function() {\n try {\n document.querySelector(\":has(*,:jqfake)\");\n return false;\n } catch (e) {\n return true;\n }\n });\n // ID filter and find\n if (support.getById) {\n Expr.filter.ID = function(id) {\n var attrId = id.replace(runescape, funescape);\n return function(elem) {\n return elem.getAttribute(\"id\") === attrId;\n };\n };\n Expr.find.ID = function(id, context) {\n if (typeof context.getElementById !== \"undefined\" && documentIsHTML) {\n var elem = context.getElementById(id);\n return elem ? [\n elem\n ] : [];\n }\n };\n } else {\n Expr.filter.ID = function(id) {\n var attrId = id.replace(runescape, funescape);\n return function(elem) {\n var node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\n return node && node.value === attrId;\n };\n };\n // Support: IE 6 - 7 only\n // getElementById is not reliable as a find shortcut\n Expr.find.ID = function(id, context) {\n if (typeof context.getElementById !== \"undefined\" && documentIsHTML) {\n var node, i, elems, elem = context.getElementById(id);\n if (elem) {\n // Verify the id attribute\n node = elem.getAttributeNode(\"id\");\n if (node && node.value === id) return [\n elem\n ];\n // Fall back on getElementsByName\n elems = context.getElementsByName(id);\n i = 0;\n while(elem = elems[i++]){\n node = elem.getAttributeNode(\"id\");\n if (node && node.value === id) return [\n elem\n ];\n }\n }\n return [];\n }\n };\n }\n // Tag\n Expr.find.TAG = function(tag, context) {\n if (typeof context.getElementsByTagName !== \"undefined\") return context.getElementsByTagName(tag);\n else return context.querySelectorAll(tag);\n };\n // Class\n Expr.find.CLASS = function(className, context) {\n if (typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML) return context.getElementsByClassName(className);\n };\n /* QSA/matchesSelector\n\t---------------------------------------------------------------------- */ // QSA and matchesSelector support\n rbuggyQSA = [];\n // Build QSA regex\n // Regex strategy adopted from Diego Perini\n assert(function(el) {\n var input;\n documentElement.appendChild(el).innerHTML = \"\" + \"\";\n // Support: iOS <=7 - 8 only\n // Boolean attributes and \"value\" are not treated correctly in some XML documents\n if (!el.querySelectorAll(\"[selected]\").length) rbuggyQSA.push(\"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\");\n // Support: iOS <=7 - 8 only\n if (!el.querySelectorAll(\"[id~=\" + expando + \"-]\").length) rbuggyQSA.push(\"~=\");\n // Support: iOS 8 only\n // https://bugs.webkit.org/show_bug.cgi?id=136851\n // In-page `selector#id sibling-combinator selector` fails\n if (!el.querySelectorAll(\"a#\" + expando + \"+*\").length) rbuggyQSA.push(\".#.+[+~]\");\n // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n // In some of the document kinds, these selectors wouldn't work natively.\n // This is probably OK but for backwards compatibility we want to maintain\n // handling them through jQuery traversal in jQuery 3.x.\n if (!el.querySelectorAll(\":checked\").length) rbuggyQSA.push(\":checked\");\n // Support: Windows 8 Native Apps\n // The type and name attributes are restricted during .innerHTML assignment\n input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"hidden\");\n el.appendChild(input).setAttribute(\"name\", \"D\");\n // Support: IE 9 - 11+\n // IE's :disabled selector does not pick up the children of disabled fieldsets\n // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n // In some of the document kinds, these selectors wouldn't work natively.\n // This is probably OK but for backwards compatibility we want to maintain\n // handling them through jQuery traversal in jQuery 3.x.\n documentElement.appendChild(el).disabled = true;\n if (el.querySelectorAll(\":disabled\").length !== 2) rbuggyQSA.push(\":enabled\", \":disabled\");\n // Support: IE 11+, Edge 15 - 18+\n // IE 11/Edge don't find elements on a `[name='']` query in some cases.\n // Adding a temporary attribute to the document before the selection works\n // around the issue.\n // Interestingly, IE 10 & older don't seem to have the issue.\n input = document.createElement(\"input\");\n input.setAttribute(\"name\", \"\");\n el.appendChild(input);\n if (!el.querySelectorAll(\"[name='']\").length) rbuggyQSA.push(\"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" + whitespace + \"*(?:''|\\\"\\\")\");\n });\n if (!support.cssHas) // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+\n // Our regular `try-catch` mechanism fails to detect natively-unsupported\n // pseudo-classes inside `:has()` (such as `:has(:contains(\"Foo\"))`)\n // in browsers that parse the `:has()` argument as a forgiving selector list.\n // https://drafts.csswg.org/selectors/#relational now requires the argument\n // to be parsed unforgivingly, but browsers have not yet fully adjusted.\n rbuggyQSA.push(\":has\");\n rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join(\"|\"));\n /* Sorting\n\t---------------------------------------------------------------------- */ // Document order sorting\n sortOrder = function(a, b) {\n // Flag for duplicate removal\n if (a === b) {\n hasDuplicate = true;\n return 0;\n }\n // Sort on method existence if only one input has compareDocumentPosition\n var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n if (compare) return compare;\n // Calculate position if both inputs belong to the same document\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n compare = (a.ownerDocument || a) == (b.ownerDocument || b) ? a.compareDocumentPosition(b) : // Otherwise we know they are disconnected\n 1;\n // Disconnected nodes\n if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) {\n // Choose the first element that is related to our preferred document\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (a === document || a.ownerDocument == preferredDoc && find.contains(preferredDoc, a)) return -1;\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (b === document || b.ownerDocument == preferredDoc && find.contains(preferredDoc, b)) return 1;\n // Maintain original order\n return sortInput ? indexOf.call(sortInput, a) - indexOf.call(sortInput, b) : 0;\n }\n return compare & 4 ? -1 : 1;\n };\n return document;\n }\n find.matches = function(expr, elements) {\n return find(expr, null, null, elements);\n };\n find.matchesSelector = function(elem, expr) {\n setDocument(elem);\n if (documentIsHTML && !nonnativeSelectorCache[expr + \" \"] && (!rbuggyQSA || !rbuggyQSA.test(expr))) try {\n var ret = matches.call(elem, expr);\n // IE 9's matchesSelector returns false on disconnected nodes\n if (ret || support.disconnectedMatch || // As well, disconnected nodes are said to be in a document\n // fragment in IE 9\n elem.document && elem.document.nodeType !== 11) return ret;\n } catch (e) {\n nonnativeSelectorCache(expr, true);\n }\n return find(expr, document, null, [\n elem\n ]).length > 0;\n };\n find.contains = function(context, elem) {\n // Set document vars if needed\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if ((context.ownerDocument || context) != document) setDocument(context);\n return jQuery.contains(context, elem);\n };\n find.attr = function(elem, name) {\n // Set document vars if needed\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if ((elem.ownerDocument || elem) != document) setDocument(elem);\n var fn = Expr.attrHandle[name.toLowerCase()], // Don't get fooled by Object.prototype properties (see trac-13807)\n val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined;\n if (val !== undefined) return val;\n return elem.getAttribute(name);\n };\n find.error = function(msg) {\n throw new Error(\"Syntax error, unrecognized expression: \" + msg);\n };\n /**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */ jQuery.uniqueSort = function(results) {\n var elem, duplicates = [], j = 0, i = 0;\n // Unless we *know* we can detect duplicates, assume their presence\n //\n // Support: Android <=4.0+\n // Testing for detecting duplicates is unpredictable so instead assume we can't\n // depend on duplicate detection in all browsers without a stable sort.\n hasDuplicate = !support.sortStable;\n sortInput = !support.sortStable && slice.call(results, 0);\n sort.call(results, sortOrder);\n if (hasDuplicate) {\n while(elem = results[i++])if (elem === results[i]) j = duplicates.push(i);\n while(j--)splice.call(results, duplicates[j], 1);\n }\n // Clear input after sorting to release objects\n // See https://github.com/jquery/sizzle/pull/225\n sortInput = null;\n return results;\n };\n jQuery.fn.uniqueSort = function() {\n return this.pushStack(jQuery.uniqueSort(slice.apply(this)));\n };\n Expr = jQuery.expr = {\n // Can be adjusted by the user\n cacheLength: 50,\n createPseudo: markFunction,\n match: matchExpr,\n attrHandle: {},\n find: {},\n relative: {\n \">\": {\n dir: \"parentNode\",\n first: true\n },\n \" \": {\n dir: \"parentNode\"\n },\n \"+\": {\n dir: \"previousSibling\",\n first: true\n },\n \"~\": {\n dir: \"previousSibling\"\n }\n },\n preFilter: {\n ATTR: function(match) {\n match[1] = match[1].replace(runescape, funescape);\n // Move the given value to match[3] whether quoted or unquoted\n match[3] = (match[3] || match[4] || match[5] || \"\").replace(runescape, funescape);\n if (match[2] === \"~=\") match[3] = \" \" + match[3] + \" \";\n return match.slice(0, 4);\n },\n CHILD: function(match) {\n /* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/ match[1] = match[1].toLowerCase();\n if (match[1].slice(0, 3) === \"nth\") {\n // nth-* requires argument\n if (!match[3]) find.error(match[0]);\n // numeric x and y parameters for Expr.filter.CHILD\n // remember that false/true cast respectively to 0/1\n match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === \"even\" || match[3] === \"odd\"));\n match[5] = +(match[7] + match[8] || match[3] === \"odd\");\n // other types prohibit arguments\n } else if (match[3]) find.error(match[0]);\n return match;\n },\n PSEUDO: function(match) {\n var excess, unquoted = !match[6] && match[2];\n if (matchExpr.CHILD.test(match[0])) return null;\n // Accept quoted arguments as-is\n if (match[3]) match[2] = match[4] || match[5] || \"\";\n else if (unquoted && rpseudo.test(unquoted) && // Get excess from tokenize (recursively)\n (excess = tokenize(unquoted, true)) && // advance to the next closing parenthesis\n (excess = unquoted.indexOf(\")\", unquoted.length - excess) - unquoted.length)) {\n // excess is a negative index\n match[0] = match[0].slice(0, excess);\n match[2] = unquoted.slice(0, excess);\n }\n // Return only captures needed by the pseudo filter method (type and argument)\n return match.slice(0, 3);\n }\n },\n filter: {\n TAG: function(nodeNameSelector) {\n var expectedNodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase();\n return nodeNameSelector === \"*\" ? function() {\n return true;\n } : function(elem) {\n return nodeName(elem, expectedNodeName);\n };\n },\n CLASS: function(className) {\n var pattern = classCache[className + \" \"];\n return pattern || (pattern = new RegExp(\"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\"), classCache(className, function(elem) {\n return pattern.test(typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\");\n }));\n },\n ATTR: function(name, operator, check) {\n return function(elem) {\n var result = find.attr(elem, name);\n if (result == null) return operator === \"!=\";\n if (!operator) return true;\n result += \"\";\n if (operator === \"=\") return result === check;\n if (operator === \"!=\") return result !== check;\n if (operator === \"^=\") return check && result.indexOf(check) === 0;\n if (operator === \"*=\") return check && result.indexOf(check) > -1;\n if (operator === \"$=\") return check && result.slice(-check.length) === check;\n if (operator === \"~=\") return (\" \" + result.replace(rwhitespace, \" \") + \" \").indexOf(check) > -1;\n if (operator === \"|=\") return result === check || result.slice(0, check.length + 1) === check + \"-\";\n return false;\n };\n },\n CHILD: function(type, what, _argument, first, last) {\n var simple = type.slice(0, 3) !== \"nth\", forward = type.slice(-4) !== \"last\", ofType = what === \"of-type\";\n return first === 1 && last === 0 ? // Shortcut for :nth-*(n)\n function(elem) {\n return !!elem.parentNode;\n } : function(elem, _context, xml) {\n var cache, outerCache, node, nodeIndex, start, dir = simple !== forward ? \"nextSibling\" : \"previousSibling\", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType, diff = false;\n if (parent) {\n // :(first|last|only)-(child|of-type)\n if (simple) {\n while(dir){\n node = elem;\n while(node = node[dir]){\n if (ofType ? nodeName(node, name) : node.nodeType === 1) return false;\n }\n // Reverse direction for :only-* (if we haven't yet done so)\n start = dir = type === \"only\" && !start && \"nextSibling\";\n }\n return true;\n }\n start = [\n forward ? parent.firstChild : parent.lastChild\n ];\n // non-xml :nth-child(...) stores cache data on `parent`\n if (forward && useCache) {\n // Seek `elem` from a previously-cached index\n outerCache = parent[expando] || (parent[expando] = {});\n cache = outerCache[type] || [];\n nodeIndex = cache[0] === dirruns && cache[1];\n diff = nodeIndex && cache[2];\n node = nodeIndex && parent.childNodes[nodeIndex];\n while(node = ++nodeIndex && node && node[dir] || // Fallback to seeking `elem` from the start\n (diff = nodeIndex = 0) || start.pop())// When found, cache indexes on `parent` and break\n if (node.nodeType === 1 && ++diff && node === elem) {\n outerCache[type] = [\n dirruns,\n nodeIndex,\n diff\n ];\n break;\n }\n } else {\n // Use previously-cached element index if available\n if (useCache) {\n outerCache = elem[expando] || (elem[expando] = {});\n cache = outerCache[type] || [];\n nodeIndex = cache[0] === dirruns && cache[1];\n diff = nodeIndex;\n }\n // xml :nth-child(...)\n // or :nth-last-child(...) or :nth(-last)?-of-type(...)\n if (diff === false) {\n // Use the same loop as above to seek `elem` from the start\n while(node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop())if ((ofType ? nodeName(node, name) : node.nodeType === 1) && ++diff) {\n // Cache the index of each encountered element\n if (useCache) {\n outerCache = node[expando] || (node[expando] = {});\n outerCache[type] = [\n dirruns,\n diff\n ];\n }\n if (node === elem) break;\n }\n }\n }\n // Incorporate the offset, then check against cycle size\n diff -= last;\n return diff === first || diff % first === 0 && diff / first >= 0;\n }\n };\n },\n PSEUDO: function(pseudo, argument) {\n // pseudo-class names are case-insensitive\n // https://www.w3.org/TR/selectors/#pseudo-classes\n // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n // Remember that setFilters inherits from pseudos\n var args, fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || find.error(\"unsupported pseudo: \" + pseudo);\n // The user may use createPseudo to indicate that\n // arguments are needed to create the filter function\n // just as jQuery does\n if (fn[expando]) return fn(argument);\n // But maintain support for old signatures\n if (fn.length > 1) {\n args = [\n pseudo,\n pseudo,\n \"\",\n argument\n ];\n return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function(seed, matches) {\n var idx, matched = fn(seed, argument), i = matched.length;\n while(i--){\n idx = indexOf.call(seed, matched[i]);\n seed[idx] = !(matches[idx] = matched[i]);\n }\n }) : function(elem) {\n return fn(elem, 0, args);\n };\n }\n return fn;\n }\n },\n pseudos: {\n // Potentially complex pseudos\n not: markFunction(function(selector) {\n // Trim the selector passed to compile\n // to avoid treating leading and trailing\n // spaces as combinators\n var input = [], results = [], matcher = compile(selector.replace(rtrimCSS, \"$1\"));\n return matcher[expando] ? markFunction(function(seed, matches, _context, xml) {\n var elem, unmatched = matcher(seed, null, xml, []), i = seed.length;\n // Match elements unmatched by `matcher`\n while(i--)if (elem = unmatched[i]) seed[i] = !(matches[i] = elem);\n }) : function(elem, _context, xml) {\n input[0] = elem;\n matcher(input, null, xml, results);\n // Don't keep the element\n // (see https://github.com/jquery/sizzle/issues/299)\n input[0] = null;\n return !results.pop();\n };\n }),\n has: markFunction(function(selector) {\n return function(elem) {\n return find(selector, elem).length > 0;\n };\n }),\n contains: markFunction(function(text) {\n text = text.replace(runescape, funescape);\n return function(elem) {\n return (elem.textContent || jQuery.text(elem)).indexOf(text) > -1;\n };\n }),\n // \"Whether an element is represented by a :lang() selector\n // is based solely on the element's language value\n // being equal to the identifier C,\n // or beginning with the identifier C immediately followed by \"-\".\n // The matching of C against the element's language value is performed case-insensitively.\n // The identifier C does not have to be a valid language name.\"\n // https://www.w3.org/TR/selectors/#lang-pseudo\n lang: markFunction(function(lang) {\n // lang value must be a valid identifier\n if (!ridentifier.test(lang || \"\")) find.error(\"unsupported lang: \" + lang);\n lang = lang.replace(runescape, funescape).toLowerCase();\n return function(elem) {\n var elemLang;\n do if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) {\n elemLang = elemLang.toLowerCase();\n return elemLang === lang || elemLang.indexOf(lang + \"-\") === 0;\n }\n while ((elem = elem.parentNode) && elem.nodeType === 1);\n return false;\n };\n }),\n // Miscellaneous\n target: function(elem) {\n var hash = window1.location && window1.location.hash;\n return hash && hash.slice(1) === elem.id;\n },\n root: function(elem) {\n return elem === documentElement;\n },\n focus: function(elem) {\n return elem === safeActiveElement() && document.hasFocus() && !!(elem.type || elem.href || ~elem.tabIndex);\n },\n // Boolean properties\n enabled: createDisabledPseudo(false),\n disabled: createDisabledPseudo(true),\n checked: function(elem) {\n // In CSS3, :checked should return both checked and selected elements\n // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n return nodeName(elem, \"input\") && !!elem.checked || nodeName(elem, \"option\") && !!elem.selected;\n },\n selected: function(elem) {\n // Support: IE <=11+\n // Accessing the selectedIndex property\n // forces the browser to treat the default option as\n // selected when in an optgroup.\n if (elem.parentNode) // eslint-disable-next-line no-unused-expressions\n elem.parentNode.selectedIndex;\n return elem.selected === true;\n },\n // Contents\n empty: function(elem) {\n // https://www.w3.org/TR/selectors/#empty-pseudo\n // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n // but not by others (comment: 8; processing instruction: 7; etc.)\n // nodeType < 6 works because attributes (2) do not appear as children\n for(elem = elem.firstChild; elem; elem = elem.nextSibling){\n if (elem.nodeType < 6) return false;\n }\n return true;\n },\n parent: function(elem) {\n return !Expr.pseudos.empty(elem);\n },\n // Element/input types\n header: function(elem) {\n return rheader.test(elem.nodeName);\n },\n input: function(elem) {\n return rinputs.test(elem.nodeName);\n },\n button: function(elem) {\n return nodeName(elem, \"input\") && elem.type === \"button\" || nodeName(elem, \"button\");\n },\n text: function(elem) {\n var attr;\n return nodeName(elem, \"input\") && elem.type === \"text\" && // Support: IE <10 only\n // New HTML5 attribute values (e.g., \"search\") appear\n // with elem.type === \"text\"\n ((attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\");\n },\n // Position-in-collection\n first: createPositionalPseudo(function() {\n return [\n 0\n ];\n }),\n last: createPositionalPseudo(function(_matchIndexes, length) {\n return [\n length - 1\n ];\n }),\n eq: createPositionalPseudo(function(_matchIndexes, length, argument) {\n return [\n argument < 0 ? argument + length : argument\n ];\n }),\n even: createPositionalPseudo(function(matchIndexes, length) {\n var i = 0;\n for(; i < length; i += 2)matchIndexes.push(i);\n return matchIndexes;\n }),\n odd: createPositionalPseudo(function(matchIndexes, length) {\n var i = 1;\n for(; i < length; i += 2)matchIndexes.push(i);\n return matchIndexes;\n }),\n lt: createPositionalPseudo(function(matchIndexes, length, argument) {\n var i;\n if (argument < 0) i = argument + length;\n else if (argument > length) i = length;\n else i = argument;\n for(; --i >= 0;)matchIndexes.push(i);\n return matchIndexes;\n }),\n gt: createPositionalPseudo(function(matchIndexes, length, argument) {\n var i = argument < 0 ? argument + length : argument;\n for(; ++i < length;)matchIndexes.push(i);\n return matchIndexes;\n })\n }\n };\n Expr.pseudos.nth = Expr.pseudos.eq;\n // Add button/input type pseudos\n for(i in {\n radio: true,\n checkbox: true,\n file: true,\n password: true,\n image: true\n })Expr.pseudos[i] = createInputPseudo(i);\n for(i in {\n submit: true,\n reset: true\n })Expr.pseudos[i] = createButtonPseudo(i);\n // Easy API for creating new setFilters\n function setFilters() {}\n setFilters.prototype = Expr.filters = Expr.pseudos;\n Expr.setFilters = new setFilters();\n function tokenize(selector, parseOnly) {\n var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[selector + \" \"];\n if (cached) return parseOnly ? 0 : cached.slice(0);\n soFar = selector;\n groups = [];\n preFilters = Expr.preFilter;\n while(soFar){\n // Comma and first run\n if (!matched || (match = rcomma.exec(soFar))) {\n if (match) // Don't consume trailing commas as valid\n soFar = soFar.slice(match[0].length) || soFar;\n groups.push(tokens = []);\n }\n matched = false;\n // Combinators\n if (match = rleadingCombinator.exec(soFar)) {\n matched = match.shift();\n tokens.push({\n value: matched,\n // Cast descendant combinators to space\n type: match[0].replace(rtrimCSS, \" \")\n });\n soFar = soFar.slice(matched.length);\n }\n // Filters\n for(type in Expr.filter)if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) {\n matched = match.shift();\n tokens.push({\n value: matched,\n type: type,\n matches: match\n });\n soFar = soFar.slice(matched.length);\n }\n if (!matched) break;\n }\n // Return the length of the invalid excess\n // if we're just parsing\n // Otherwise, throw an error or return tokens\n if (parseOnly) return soFar.length;\n return soFar ? find.error(selector) : // Cache the tokens\n tokenCache(selector, groups).slice(0);\n }\n function toSelector(tokens) {\n var i = 0, len = tokens.length, selector = \"\";\n for(; i < len; i++)selector += tokens[i].value;\n return selector;\n }\n function addCombinator(matcher, combinator, base) {\n var dir = combinator.dir, skip = combinator.next, key = skip || dir, checkNonElements = base && key === \"parentNode\", doneName = done++;\n return combinator.first ? // Check against closest ancestor/preceding element\n function(elem, context, xml) {\n while(elem = elem[dir]){\n if (elem.nodeType === 1 || checkNonElements) return matcher(elem, context, xml);\n }\n return false;\n } : // Check against all ancestor/preceding elements\n function(elem, context, xml) {\n var oldCache, outerCache, newCache = [\n dirruns,\n doneName\n ];\n // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n if (xml) {\n while(elem = elem[dir])if (elem.nodeType === 1 || checkNonElements) {\n if (matcher(elem, context, xml)) return true;\n }\n } else {\n while(elem = elem[dir])if (elem.nodeType === 1 || checkNonElements) {\n outerCache = elem[expando] || (elem[expando] = {});\n if (skip && nodeName(elem, skip)) elem = elem[dir] || elem;\n else if ((oldCache = outerCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) // Assign to newCache so results back-propagate to previous elements\n return newCache[2] = oldCache[2];\n else {\n // Reuse newcache so results back-propagate to previous elements\n outerCache[key] = newCache;\n // A match means we're done; a fail means we have to keep checking\n if (newCache[2] = matcher(elem, context, xml)) return true;\n }\n }\n }\n return false;\n };\n }\n function elementMatcher(matchers) {\n return matchers.length > 1 ? function(elem, context, xml) {\n var i = matchers.length;\n while(i--){\n if (!matchers[i](elem, context, xml)) return false;\n }\n return true;\n } : matchers[0];\n }\n function multipleContexts(selector, contexts, results) {\n var i = 0, len = contexts.length;\n for(; i < len; i++)find(selector, contexts[i], results);\n return results;\n }\n function condense(unmatched, map, filter, context, xml) {\n var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = map != null;\n for(; i < len; i++){\n if (elem = unmatched[i]) {\n if (!filter || filter(elem, context, xml)) {\n newUnmatched.push(elem);\n if (mapped) map.push(i);\n }\n }\n }\n return newUnmatched;\n }\n function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) {\n if (postFilter && !postFilter[expando]) postFilter = setMatcher(postFilter);\n if (postFinder && !postFinder[expando]) postFinder = setMatcher(postFinder, postSelector);\n return markFunction(function(seed, results, context, xml) {\n var temp, i, elem, matcherOut, preMap = [], postMap = [], preexisting = results.length, // Get initial elements from seed or context\n elems = seed || multipleContexts(selector || \"*\", context.nodeType ? [\n context\n ] : context, []), // Prefilter to get matcher input, preserving a map for seed-results synchronization\n matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems;\n if (matcher) {\n // If we have a postFinder, or filtered seed, or non-seed postFilter\n // or preexisting results,\n matcherOut = postFinder || (seed ? preFilter : preexisting || postFilter) ? // ...intermediate processing is necessary\n [] : // ...otherwise use results directly\n results;\n // Find primary matches\n matcher(matcherIn, matcherOut, context, xml);\n } else matcherOut = matcherIn;\n // Apply postFilter\n if (postFilter) {\n temp = condense(matcherOut, postMap);\n postFilter(temp, [], context, xml);\n // Un-match failing elements by moving them back to matcherIn\n i = temp.length;\n while(i--)if (elem = temp[i]) matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem);\n }\n if (seed) {\n if (postFinder || preFilter) {\n if (postFinder) {\n // Get the final matcherOut by condensing this intermediate into postFinder contexts\n temp = [];\n i = matcherOut.length;\n while(i--)if (elem = matcherOut[i]) // Restore matcherIn since elem is not yet a final match\n temp.push(matcherIn[i] = elem);\n postFinder(null, matcherOut = [], temp, xml);\n }\n // Move matched elements from seed to results to keep them synchronized\n i = matcherOut.length;\n while(i--)if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf.call(seed, elem) : preMap[i]) > -1) seed[temp] = !(results[temp] = elem);\n }\n } else {\n matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut);\n if (postFinder) postFinder(null, results, matcherOut, xml);\n else push.apply(results, matcherOut);\n }\n });\n }\n function matcherFromTokens(tokens) {\n 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)\n matchContext = addCombinator(function(elem) {\n return elem === checkContext;\n }, implicitRelative, true), matchAnyContext = addCombinator(function(elem) {\n return indexOf.call(checkContext, elem) > -1;\n }, implicitRelative, true), matchers = [\n function(elem, context, xml) {\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n var ret = !leadingRelative && (xml || context != outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml));\n // Avoid hanging onto element\n // (see https://github.com/jquery/sizzle/issues/299)\n checkContext = null;\n return ret;\n }\n ];\n for(; i < len; i++)if (matcher = Expr.relative[tokens[i].type]) matchers = [\n addCombinator(elementMatcher(matchers), matcher)\n ];\n else {\n matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches);\n // Return special upon seeing a positional matcher\n if (matcher[expando]) {\n // Find the next relative operator (if any) for proper handling\n j = ++i;\n for(; j < len; j++){\n if (Expr.relative[tokens[j].type]) break;\n }\n return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector(// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n tokens.slice(0, i - 1).concat({\n value: tokens[i - 2].type === \" \" ? \"*\" : \"\"\n })).replace(rtrimCSS, \"$1\"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens));\n }\n matchers.push(matcher);\n }\n return elementMatcher(matchers);\n }\n function matcherFromGroupMatchers(elementMatchers, setMatchers) {\n var bySet = setMatchers.length > 0, byElement = elementMatchers.length > 0, superMatcher = function(seed, context, xml, results, outermost) {\n var elem, j, matcher, matchedCount = 0, i = \"0\", unmatched = seed && [], setMatched = [], contextBackup = outermostContext, // We must always have either seed elements or outermost context\n elems = seed || byElement && Expr.find.TAG(\"*\", outermost), // Use integer dirruns iff this is the outermost matcher\n dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1, len = elems.length;\n if (outermost) // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n outermostContext = context == document || context || outermost;\n // Add elements passing elementMatchers directly to results\n // Support: iOS <=7 - 9 only\n // Tolerate NodeList properties (IE: \"length\"; Safari: ) matching\n // elements by id. (see trac-14142)\n for(; i !== len && (elem = elems[i]) != null; i++){\n if (byElement && elem) {\n j = 0;\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (!context && elem.ownerDocument != document) {\n setDocument(elem);\n xml = !documentIsHTML;\n }\n while(matcher = elementMatchers[j++])if (matcher(elem, context || document, xml)) {\n push.call(results, elem);\n break;\n }\n if (outermost) dirruns = dirrunsUnique;\n }\n // Track unmatched elements for set filters\n if (bySet) {\n // They will have gone through all possible matchers\n if (elem = !matcher && elem) matchedCount--;\n // Lengthen the array for every element, matched or not\n if (seed) unmatched.push(elem);\n }\n }\n // `i` is now the count of elements visited above, and adding it to `matchedCount`\n // makes the latter nonnegative.\n matchedCount += i;\n // Apply set filters to unmatched elements\n // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n // equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n // no element matchers and no seed.\n // Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n // case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n // numerically zero.\n if (bySet && i !== matchedCount) {\n j = 0;\n while(matcher = setMatchers[j++])matcher(unmatched, setMatched, context, xml);\n if (seed) {\n // Reintegrate element matches to eliminate the need for sorting\n if (matchedCount > 0) {\n while(i--)if (!(unmatched[i] || setMatched[i])) setMatched[i] = pop.call(results);\n }\n // Discard index placeholder values to get only actual matches\n setMatched = condense(setMatched);\n }\n // Add matches to results\n push.apply(results, setMatched);\n // Seedless set matches succeeding multiple successful matchers stipulate sorting\n if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) jQuery.uniqueSort(results);\n }\n // Override manipulation of globals by nested matchers\n if (outermost) {\n dirruns = dirrunsUnique;\n outermostContext = contextBackup;\n }\n return unmatched;\n };\n return bySet ? markFunction(superMatcher) : superMatcher;\n }\n function compile(selector, match /* Internal Use Only */ ) {\n var i, setMatchers = [], elementMatchers = [], cached = compilerCache[selector + \" \"];\n if (!cached) {\n // Generate a function of recursive functions that can be used to check each element\n if (!match) match = tokenize(selector);\n i = match.length;\n while(i--){\n cached = matcherFromTokens(match[i]);\n if (cached[expando]) setMatchers.push(cached);\n else elementMatchers.push(cached);\n }\n // Cache the compiled function\n cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers));\n // Save selector and tokenization\n cached.selector = selector;\n }\n return cached;\n }\n /**\n * A low-level selection function that works with jQuery's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with jQuery selector compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */ function select(selector, context, results, seed) {\n var i, tokens, token, type, find, compiled = typeof selector === \"function\" && selector, match = !seed && tokenize(selector = compiled.selector || selector);\n results = results || [];\n // Try to minimize operations if there is only one selector in the list and no seed\n // (the latter of which guarantees us context)\n if (match.length === 1) {\n // Reduce context if the leading compound selector is an ID\n tokens = match[0] = match[0].slice(0);\n if (tokens.length > 2 && (token = tokens[0]).type === \"ID\" && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) {\n context = (Expr.find.ID(token.matches[0].replace(runescape, funescape), context) || [])[0];\n if (!context) return results;\n else if (compiled) context = context.parentNode;\n selector = selector.slice(tokens.shift().value.length);\n }\n // Fetch a seed set for right-to-left matching\n i = matchExpr.needsContext.test(selector) ? 0 : tokens.length;\n while(i--){\n token = tokens[i];\n // Abort if we hit a combinator\n if (Expr.relative[type = token.type]) break;\n if (find = Expr.find[type]) // Search, expanding context for leading sibling combinators\n {\n if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) {\n // If seed is empty or no tokens remain, we can return early\n tokens.splice(i, 1);\n selector = seed.length && toSelector(tokens);\n if (!selector) {\n push.apply(results, seed);\n return results;\n }\n break;\n }\n }\n }\n }\n // Compile and execute a filtering function if one is not provided\n // Provide `match` to avoid retokenization if we modified the selector above\n (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context);\n return results;\n }\n // One-time assignments\n // Support: Android <=4.0 - 4.1+\n // Sort stability\n support.sortStable = expando.split(\"\").sort(sortOrder).join(\"\") === expando;\n // Initialize against the default document\n setDocument();\n // Support: Android <=4.0 - 4.1+\n // Detached nodes confoundingly follow *each other*\n support.sortDetached = assert(function(el) {\n // Should return 1, but returns 4 (following)\n return el.compareDocumentPosition(document.createElement(\"fieldset\")) & 1;\n });\n jQuery.find = find;\n // Deprecated\n jQuery.expr[\":\"] = jQuery.expr.pseudos;\n jQuery.unique = jQuery.uniqueSort;\n // These have always been private, but they used to be documented as part of\n // Sizzle so let's maintain them for now for backwards compatibility purposes.\n find.compile = compile;\n find.select = select;\n find.setDocument = setDocument;\n find.tokenize = tokenize;\n find.escape = jQuery.escapeSelector;\n find.getText = jQuery.text;\n find.isXML = jQuery.isXMLDoc;\n find.selectors = jQuery.expr;\n find.support = jQuery.support;\n find.uniqueSort = jQuery.uniqueSort;\n /* eslint-enable */ })();\n var dir = function(elem, dir, until) {\n var matched = [], truncate = until !== undefined;\n while((elem = elem[dir]) && elem.nodeType !== 9)if (elem.nodeType === 1) {\n if (truncate && jQuery(elem).is(until)) break;\n matched.push(elem);\n }\n return matched;\n };\n var siblings = function(n, elem) {\n var matched = [];\n for(; n; n = n.nextSibling)if (n.nodeType === 1 && n !== elem) matched.push(n);\n return matched;\n };\n var rneedsContext = jQuery.expr.match.needsContext;\n var rsingleTag = /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;\n // Implement the identical functionality for filter and not\n function winnow(elements, qualifier, not) {\n if (isFunction(qualifier)) return jQuery.grep(elements, function(elem, i) {\n return !!qualifier.call(elem, i, elem) !== not;\n });\n // Single element\n if (qualifier.nodeType) return jQuery.grep(elements, function(elem) {\n return elem === qualifier !== not;\n });\n // Arraylike of elements (jQuery, arguments, Array)\n if (typeof qualifier !== \"string\") return jQuery.grep(elements, function(elem) {\n return indexOf.call(qualifier, elem) > -1 !== not;\n });\n // Filtered directly for both simple and complex selectors\n return jQuery.filter(qualifier, elements, not);\n }\n jQuery.filter = function(expr, elems, not) {\n var elem = elems[0];\n if (not) expr = \":not(\" + expr + \")\";\n if (elems.length === 1 && elem.nodeType === 1) return jQuery.find.matchesSelector(elem, expr) ? [\n elem\n ] : [];\n return jQuery.find.matches(expr, jQuery.grep(elems, function(elem) {\n return elem.nodeType === 1;\n }));\n };\n jQuery.fn.extend({\n find: function(selector) {\n var i, ret, len = this.length, self = this;\n if (typeof selector !== \"string\") return this.pushStack(jQuery(selector).filter(function() {\n for(i = 0; i < len; i++){\n if (jQuery.contains(self[i], this)) return true;\n }\n }));\n ret = this.pushStack([]);\n for(i = 0; i < len; i++)jQuery.find(selector, self[i], ret);\n return len > 1 ? jQuery.uniqueSort(ret) : ret;\n },\n filter: function(selector) {\n return this.pushStack(winnow(this, selector || [], false));\n },\n not: function(selector) {\n return this.pushStack(winnow(this, selector || [], true));\n },\n is: function(selector) {\n return !!winnow(this, // If this is a positional/relative selector, check membership in the returned set\n // so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n typeof selector === \"string\" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length;\n }\n });\n // Initialize a jQuery object\n // A central reference to the root jQuery(document)\n var rootjQuery, // A simple way to check for HTML strings\n // Prioritize #id over to avoid XSS via location.hash (trac-9521)\n // Strict HTML recognition (trac-11290: must start with <)\n // Shortcut simple #id case for speed\n rquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/, init = jQuery.fn.init = function(selector, context, root) {\n var match, elem;\n // HANDLE: $(\"\"), $(null), $(undefined), $(false)\n if (!selector) return this;\n // Method init() accepts an alternate rootjQuery\n // so migrate can support jQuery.sub (gh-2101)\n root = root || rootjQuery;\n // Handle HTML strings\n if (typeof selector === \"string\") {\n if (selector[0] === \"<\" && selector[selector.length - 1] === \">\" && selector.length >= 3) // Assume that strings that start and end with <> are HTML and skip the regex check\n match = [\n null,\n selector,\n null\n ];\n else match = rquickExpr.exec(selector);\n // Match html or make sure no context is specified for #id\n if (match && (match[1] || !context)) {\n // HANDLE: $(html) -> $(array)\n if (match[1]) {\n context = context instanceof jQuery ? context[0] : context;\n // Option to run scripts is true for back-compat\n // Intentionally let the error be thrown if parseHTML is not present\n jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true));\n // HANDLE: $(html, props)\n if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) {\n for(match in context)// Properties of context are called as methods if possible\n if (isFunction(this[match])) this[match](context[match]);\n else this.attr(match, context[match]);\n }\n return this;\n // HANDLE: $(#id)\n } else {\n elem = document.getElementById(match[2]);\n if (elem) {\n // Inject the element directly into the jQuery object\n this[0] = elem;\n this.length = 1;\n }\n return this;\n }\n } else if (!context || context.jquery) return (context || root).find(selector);\n else return this.constructor(context).find(selector);\n // HANDLE: $(DOMElement)\n } else if (selector.nodeType) {\n this[0] = selector;\n this.length = 1;\n return this;\n // HANDLE: $(function)\n // Shortcut for document ready\n } else if (isFunction(selector)) return root.ready !== undefined ? root.ready(selector) : // Execute immediately if ready is not present\n selector(jQuery);\n return jQuery.makeArray(selector, this);\n };\n // Give the init function the jQuery prototype for later instantiation\n init.prototype = jQuery.fn;\n // Initialize central reference\n rootjQuery = jQuery(document);\n var rparentsprev = /^(?:parents|prev(?:Until|All))/, // Methods guaranteed to produce a unique set when starting from a unique set\n guaranteedUnique = {\n children: true,\n contents: true,\n next: true,\n prev: true\n };\n jQuery.fn.extend({\n has: function(target) {\n var targets = jQuery(target, this), l = targets.length;\n return this.filter(function() {\n var i = 0;\n for(; i < l; i++){\n if (jQuery.contains(this, targets[i])) return true;\n }\n });\n },\n closest: function(selectors, context) {\n var cur, i = 0, l = this.length, matched = [], targets = typeof selectors !== \"string\" && jQuery(selectors);\n // Positional selectors never match, since there's no _selection_ context\n if (!rneedsContext.test(selectors)) for(; i < l; i++){\n for(cur = this[i]; cur && cur !== context; cur = cur.parentNode)// Always skip document fragments\n if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : // Don't pass non-elements to jQuery#find\n cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) {\n matched.push(cur);\n break;\n }\n }\n return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched);\n },\n // Determine the position of an element within the set\n index: function(elem) {\n // No argument, return index in parent\n if (!elem) return this[0] && this[0].parentNode ? this.first().prevAll().length : -1;\n // Index in selector\n if (typeof elem === \"string\") return indexOf.call(jQuery(elem), this[0]);\n // Locate the position of the desired element\n return indexOf.call(this, // If it receives a jQuery object, the first element is used\n elem.jquery ? elem[0] : elem);\n },\n add: function(selector, context) {\n return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context))));\n },\n addBack: function(selector) {\n return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector));\n }\n });\n function sibling(cur, dir) {\n while((cur = cur[dir]) && cur.nodeType !== 1);\n return cur;\n }\n jQuery.each({\n parent: function(elem) {\n var parent = elem.parentNode;\n return parent && parent.nodeType !== 11 ? parent : null;\n },\n parents: function(elem) {\n return dir(elem, \"parentNode\");\n },\n parentsUntil: function(elem, _i, until) {\n return dir(elem, \"parentNode\", until);\n },\n next: function(elem) {\n return sibling(elem, \"nextSibling\");\n },\n prev: function(elem) {\n return sibling(elem, \"previousSibling\");\n },\n nextAll: function(elem) {\n return dir(elem, \"nextSibling\");\n },\n prevAll: function(elem) {\n return dir(elem, \"previousSibling\");\n },\n nextUntil: function(elem, _i, until) {\n return dir(elem, \"nextSibling\", until);\n },\n prevUntil: function(elem, _i, until) {\n return dir(elem, \"previousSibling\", until);\n },\n siblings: function(elem) {\n return siblings((elem.parentNode || {}).firstChild, elem);\n },\n children: function(elem) {\n return siblings(elem.firstChild);\n },\n contents: function(elem) {\n if (elem.contentDocument != null && // Support: IE 11+\n // elements with no `data` attribute has an object\n // `contentDocument` with a `null` prototype.\n getProto(elem.contentDocument)) return elem.contentDocument;\n // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n // Treat the template element as a regular one in browsers that\n // don't support it.\n if (nodeName(elem, \"template\")) elem = elem.content || elem;\n return jQuery.merge([], elem.childNodes);\n }\n }, function(name, fn) {\n jQuery.fn[name] = function(until, selector) {\n var matched = jQuery.map(this, fn, until);\n if (name.slice(-5) !== \"Until\") selector = until;\n if (selector && typeof selector === \"string\") matched = jQuery.filter(selector, matched);\n if (this.length > 1) {\n // Remove duplicates\n if (!guaranteedUnique[name]) jQuery.uniqueSort(matched);\n // Reverse order for parents* and prev-derivatives\n if (rparentsprev.test(name)) matched.reverse();\n }\n return this.pushStack(matched);\n };\n });\n var rnothtmlwhite = /[^\\x20\\t\\r\\n\\f]+/g;\n // Convert String-formatted options into Object-formatted ones\n function createOptions(options) {\n var object = {};\n jQuery.each(options.match(rnothtmlwhite) || [], function(_, flag) {\n object[flag] = true;\n });\n return object;\n }\n /*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */ jQuery.Callbacks = function(options) {\n // Convert options from String-formatted to Object-formatted if needed\n // (we check in cache first)\n options = typeof options === \"string\" ? createOptions(options) : jQuery.extend({}, options);\n var firing, // Last fire value for non-forgettable lists\n memory, // Flag to know if list was already fired\n fired, // Flag to prevent firing\n locked, // Actual callback list\n list = [], // Queue of execution data for repeatable lists\n queue = [], // Index of currently firing callback (modified by add/remove as needed)\n firingIndex = -1, // Fire callbacks\n fire = function() {\n // Enforce single-firing\n locked = locked || options.once;\n // Execute callbacks for all pending executions,\n // respecting firingIndex overrides and runtime changes\n fired = firing = true;\n for(; queue.length; firingIndex = -1){\n memory = queue.shift();\n while(++firingIndex < list.length)// Run callback and check for early termination\n if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) {\n // Jump to end and forget the data so .add doesn't re-fire\n firingIndex = list.length;\n memory = false;\n }\n }\n // Forget the data if we're done with it\n if (!options.memory) memory = false;\n firing = false;\n // Clean up if we're done firing for good\n if (locked) {\n // Keep an empty list if we have data for future add calls\n if (memory) list = [];\n else list = \"\";\n }\n }, // Actual Callbacks object\n self = {\n // Add a callback or a collection of callbacks to the list\n add: function() {\n if (list) {\n // If we have memory from a past run, we should fire after adding\n if (memory && !firing) {\n firingIndex = list.length - 1;\n queue.push(memory);\n }\n (function add(args) {\n jQuery.each(args, function(_, arg) {\n if (isFunction(arg)) {\n if (!options.unique || !self.has(arg)) list.push(arg);\n } else if (arg && arg.length && toType(arg) !== \"string\") // Inspect recursively\n add(arg);\n });\n })(arguments);\n if (memory && !firing) fire();\n }\n return this;\n },\n // Remove a callback from the list\n remove: function() {\n jQuery.each(arguments, function(_, arg) {\n var index;\n while((index = jQuery.inArray(arg, list, index)) > -1){\n list.splice(index, 1);\n // Handle firing indexes\n if (index <= firingIndex) firingIndex--;\n }\n });\n return this;\n },\n // Check if a given callback is in the list.\n // If no argument is given, return whether or not list has callbacks attached.\n has: function(fn) {\n return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0;\n },\n // Remove all callbacks from the list\n empty: function() {\n if (list) list = [];\n return this;\n },\n // Disable .fire and .add\n // Abort any current/pending executions\n // Clear all callbacks and values\n disable: function() {\n locked = queue = [];\n list = memory = \"\";\n return this;\n },\n disabled: function() {\n return !list;\n },\n // Disable .fire\n // Also disable .add unless we have memory (since it would have no effect)\n // Abort any pending executions\n lock: function() {\n locked = queue = [];\n if (!memory && !firing) list = memory = \"\";\n return this;\n },\n locked: function() {\n return !!locked;\n },\n // Call all callbacks with the given context and arguments\n fireWith: function(context, args) {\n if (!locked) {\n args = args || [];\n args = [\n context,\n args.slice ? args.slice() : args\n ];\n queue.push(args);\n if (!firing) fire();\n }\n return this;\n },\n // Call all the callbacks with the given arguments\n fire: function() {\n self.fireWith(this, arguments);\n return this;\n },\n // To know if the callbacks have already been called at least once\n fired: function() {\n return !!fired;\n }\n };\n return self;\n };\n function Identity(v) {\n return v;\n }\n function Thrower(ex) {\n throw ex;\n }\n function adoptValue(value, resolve, reject, noValue) {\n var method;\n try {\n // Check for promise aspect first to privilege synchronous behavior\n if (value && isFunction(method = value.promise)) method.call(value).done(resolve).fail(reject);\n else if (value && isFunction(method = value.then)) method.call(value, resolve, reject);\n else // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n // * false: [ value ].slice( 0 ) => resolve( value )\n // * true: [ value ].slice( 1 ) => resolve()\n resolve.apply(undefined, [\n value\n ].slice(noValue));\n // For Promises/A+, convert exceptions into rejections\n // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n // Deferred#then to conditionally suppress rejection.\n } catch (value) {\n // Support: Android 4.0 only\n // Strict mode functions invoked without .call/.apply get global-object context\n reject.apply(undefined, [\n value\n ]);\n }\n }\n jQuery.extend({\n Deferred: function(func) {\n var tuples = [\n // action, add listener, callbacks,\n // ... .then handlers, argument index, [final state]\n [\n \"notify\",\n \"progress\",\n jQuery.Callbacks(\"memory\"),\n jQuery.Callbacks(\"memory\"),\n 2\n ],\n [\n \"resolve\",\n \"done\",\n jQuery.Callbacks(\"once memory\"),\n jQuery.Callbacks(\"once memory\"),\n 0,\n \"resolved\"\n ],\n [\n \"reject\",\n \"fail\",\n jQuery.Callbacks(\"once memory\"),\n jQuery.Callbacks(\"once memory\"),\n 1,\n \"rejected\"\n ]\n ], state = \"pending\", promise = {\n state: function() {\n return state;\n },\n always: function() {\n deferred.done(arguments).fail(arguments);\n return this;\n },\n \"catch\": function(fn) {\n return promise.then(null, fn);\n },\n // Keep pipe for back-compat\n pipe: function() {\n var fns = arguments;\n return jQuery.Deferred(function(newDefer) {\n jQuery.each(tuples, function(_i, tuple) {\n // Map tuples (progress, done, fail) to arguments (done, fail, progress)\n var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]];\n // deferred.progress(function() { bind to newDefer or newDefer.notify })\n // deferred.done(function() { bind to newDefer or newDefer.resolve })\n // deferred.fail(function() { bind to newDefer or newDefer.reject })\n deferred[tuple[1]](function() {\n var returned = fn && fn.apply(this, arguments);\n if (returned && isFunction(returned.promise)) returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);\n else newDefer[tuple[0] + \"With\"](this, fn ? [\n returned\n ] : arguments);\n });\n });\n fns = null;\n }).promise();\n },\n then: function(onFulfilled, onRejected, onProgress) {\n var maxDepth = 0;\n function resolve(depth, deferred, handler, special) {\n return function() {\n var that = this, args = arguments, mightThrow = function() {\n var returned, then;\n // Support: Promises/A+ section 2.3.3.3.3\n // https://promisesaplus.com/#point-59\n // Ignore double-resolution attempts\n if (depth < maxDepth) return;\n returned = handler.apply(that, args);\n // Support: Promises/A+ section 2.3.1\n // https://promisesaplus.com/#point-48\n if (returned === deferred.promise()) throw new TypeError(\"Thenable self-resolution\");\n // Support: Promises/A+ sections 2.3.3.1, 3.5\n // https://promisesaplus.com/#point-54\n // https://promisesaplus.com/#point-75\n // Retrieve `then` only once\n then = returned && // Support: Promises/A+ section 2.3.4\n // https://promisesaplus.com/#point-64\n // Only check objects and functions for thenability\n (typeof returned === \"object\" || typeof returned === \"function\") && returned.then;\n // Handle a returned thenable\n if (isFunction(then)) {\n // Special processors (notify) just wait for resolution\n if (special) then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special));\n else {\n // ...and disregard older resolution values\n maxDepth++;\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith));\n }\n } else {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Identity) {\n that = undefined;\n args = [\n returned\n ];\n }\n // Process the value(s)\n // Default process is resolve\n (special || deferred.resolveWith)(that, args);\n }\n }, // Only normal processors (resolve) catch and reject exceptions\n process = special ? mightThrow : function() {\n try {\n mightThrow();\n } catch (e) {\n if (jQuery.Deferred.exceptionHook) jQuery.Deferred.exceptionHook(e, process.error);\n // Support: Promises/A+ section 2.3.3.3.4.1\n // https://promisesaplus.com/#point-61\n // Ignore post-resolution exceptions\n if (depth + 1 >= maxDepth) {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Thrower) {\n that = undefined;\n args = [\n e\n ];\n }\n deferred.rejectWith(that, args);\n }\n }\n };\n // Support: Promises/A+ section 2.3.3.3.1\n // https://promisesaplus.com/#point-57\n // Re-resolve promises immediately to dodge false rejection from\n // subsequent errors\n if (depth) process();\n else {\n // Call an optional hook to record the error, in case of exception\n // since it's otherwise lost when execution goes async\n if (jQuery.Deferred.getErrorHook) process.error = jQuery.Deferred.getErrorHook();\n else if (jQuery.Deferred.getStackHook) process.error = jQuery.Deferred.getStackHook();\n window1.setTimeout(process);\n }\n };\n }\n return jQuery.Deferred(function(newDefer) {\n // progress_handlers.add( ... )\n tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith));\n // fulfilled_handlers.add( ... )\n tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity));\n // rejected_handlers.add( ... )\n tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower));\n }).promise();\n },\n // Get a promise for this deferred\n // If obj is provided, the promise aspect is added to the object\n promise: function(obj) {\n return obj != null ? jQuery.extend(obj, promise) : promise;\n }\n }, deferred = {};\n // Add list-specific methods\n jQuery.each(tuples, function(i, tuple) {\n var list = tuple[2], stateString = tuple[5];\n // promise.progress = list.add\n // promise.done = list.add\n // promise.fail = list.add\n promise[tuple[1]] = list.add;\n // Handle state\n if (stateString) list.add(function() {\n // state = \"resolved\" (i.e., fulfilled)\n // state = \"rejected\"\n state = stateString;\n }, // rejected_callbacks.disable\n // fulfilled_callbacks.disable\n tuples[3 - i][2].disable, // rejected_handlers.disable\n // fulfilled_handlers.disable\n tuples[3 - i][3].disable, // progress_callbacks.lock\n tuples[0][2].lock, // progress_handlers.lock\n tuples[0][3].lock);\n // progress_handlers.fire\n // fulfilled_handlers.fire\n // rejected_handlers.fire\n list.add(tuple[3].fire);\n // deferred.notify = function() { deferred.notifyWith(...) }\n // deferred.resolve = function() { deferred.resolveWith(...) }\n // deferred.reject = function() { deferred.rejectWith(...) }\n deferred[tuple[0]] = function() {\n deferred[tuple[0] + \"With\"](this === deferred ? undefined : this, arguments);\n return this;\n };\n // deferred.notifyWith = list.fireWith\n // deferred.resolveWith = list.fireWith\n // deferred.rejectWith = list.fireWith\n deferred[tuple[0] + \"With\"] = list.fireWith;\n });\n // Make the deferred a promise\n promise.promise(deferred);\n // Call given func if any\n if (func) func.call(deferred, deferred);\n // All done!\n return deferred;\n },\n // Deferred helper\n when: function(singleValue) {\n var // count of uncompleted subordinates\n remaining = arguments.length, // count of unprocessed arguments\n i = remaining, // subordinate fulfillment data\n resolveContexts = Array(i), resolveValues = slice.call(arguments), // the primary Deferred\n primary = jQuery.Deferred(), // subordinate callback factory\n updateFunc = function(i) {\n return function(value) {\n resolveContexts[i] = this;\n resolveValues[i] = arguments.length > 1 ? slice.call(arguments) : value;\n if (!--remaining) primary.resolveWith(resolveContexts, resolveValues);\n };\n };\n // Single- and empty arguments are adopted like Promise.resolve\n if (remaining <= 1) {\n adoptValue(singleValue, primary.done(updateFunc(i)).resolve, primary.reject, !remaining);\n // Use .then() to unwrap secondary thenables (cf. gh-3000)\n if (primary.state() === \"pending\" || isFunction(resolveValues[i] && resolveValues[i].then)) return primary.then();\n }\n // Multiple arguments are aggregated like Promise.all array elements\n while(i--)adoptValue(resolveValues[i], updateFunc(i), primary.reject);\n return primary.promise();\n }\n });\n // These usually indicate a programmer mistake during development,\n // warn about them ASAP rather than swallowing them by default.\n var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n // If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error\n // captured before the async barrier to get the original error cause\n // which may otherwise be hidden.\n jQuery.Deferred.exceptionHook = function(error, asyncError) {\n // Support: IE 8 - 9 only\n // Console exists when dev tools are open, which can happen at any time\n if (window1.console && window1.console.warn && error && rerrorNames.test(error.name)) window1.console.warn(\"jQuery.Deferred exception: \" + error.message, error.stack, asyncError);\n };\n jQuery.readyException = function(error) {\n window1.setTimeout(function() {\n throw error;\n });\n };\n // The deferred used on DOM ready\n var readyList = jQuery.Deferred();\n jQuery.fn.ready = function(fn) {\n readyList.then(fn)// Wrap jQuery.readyException in a function so that the lookup\n // happens at the time of error handling instead of callback\n // registration.\n .catch(function(error) {\n jQuery.readyException(error);\n });\n return this;\n };\n jQuery.extend({\n // Is the DOM ready to be used? Set to true once it occurs.\n isReady: false,\n // A counter to track how many items to wait for before\n // the ready event fires. See trac-6781\n readyWait: 1,\n // Handle when the DOM is ready\n ready: function(wait) {\n // Abort if there are pending holds or we're already ready\n if (wait === true ? --jQuery.readyWait : jQuery.isReady) return;\n // Remember that the DOM is ready\n jQuery.isReady = true;\n // If a normal DOM Ready event fired, decrement, and wait if need be\n if (wait !== true && --jQuery.readyWait > 0) return;\n // If there are functions bound, to execute\n readyList.resolveWith(document, [\n jQuery\n ]);\n }\n });\n jQuery.ready.then = readyList.then;\n // The ready event handler and self cleanup method\n function completed() {\n document.removeEventListener(\"DOMContentLoaded\", completed);\n window1.removeEventListener(\"load\", completed);\n jQuery.ready();\n }\n // Catch cases where $(document).ready() is called\n // after the browser event has already occurred.\n // Support: IE <=9 - 10 only\n // Older IE sometimes signals \"interactive\" too soon\n if (document.readyState === \"complete\" || document.readyState !== \"loading\" && !document.documentElement.doScroll) // Handle it asynchronously to allow scripts the opportunity to delay ready\n window1.setTimeout(jQuery.ready);\n else {\n // Use the handy event callback\n document.addEventListener(\"DOMContentLoaded\", completed);\n // A fallback to window.onload, that will always work\n window1.addEventListener(\"load\", completed);\n }\n // Multifunctional method to get and set values of a collection\n // The value/s can optionally be executed if it's a function\n var access = function(elems, fn, key, value, chainable, emptyGet, raw) {\n var i = 0, len = elems.length, bulk = key == null;\n // Sets many values\n if (toType(key) === \"object\") {\n chainable = true;\n for(i in key)access(elems, fn, i, key[i], true, emptyGet, raw);\n // Sets one value\n } else if (value !== undefined) {\n chainable = true;\n if (!isFunction(value)) raw = true;\n if (bulk) {\n // Bulk operations run against the entire set\n if (raw) {\n fn.call(elems, value);\n fn = null;\n // ...except when executing function values\n } else {\n bulk = fn;\n fn = function(elem, _key, value) {\n return bulk.call(jQuery(elem), value);\n };\n }\n }\n if (fn) for(; i < len; i++)fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));\n }\n if (chainable) return elems;\n // Gets\n if (bulk) return fn.call(elems);\n return len ? fn(elems[0], key) : emptyGet;\n };\n // Matches dashed string for camelizing\n var rmsPrefix = /^-ms-/, rdashAlpha = /-([a-z])/g;\n // Used by camelCase as callback to replace()\n function fcamelCase(_all, letter) {\n return letter.toUpperCase();\n }\n // Convert dashed to camelCase; used by the css and data modules\n // Support: IE <=9 - 11, Edge 12 - 15\n // Microsoft forgot to hump their vendor prefix (trac-9572)\n function camelCase(string) {\n return string.replace(rmsPrefix, \"ms-\").replace(rdashAlpha, fcamelCase);\n }\n var acceptData = function(owner) {\n // Accepts only:\n // - Node\n // - Node.ELEMENT_NODE\n // - Node.DOCUMENT_NODE\n // - Object\n // - Any\n return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType;\n };\n function Data() {\n this.expando = jQuery.expando + Data.uid++;\n }\n Data.uid = 1;\n Data.prototype = {\n cache: function(owner) {\n // Check if the owner object already has a cache\n var value = owner[this.expando];\n // If not, create one\n if (!value) {\n value = {};\n // We can accept data for non-element nodes in modern browsers,\n // but we should not, see trac-8335.\n // Always return an empty object.\n if (acceptData(owner)) {\n // If it is a node unlikely to be stringify-ed or looped over\n // use plain assignment\n if (owner.nodeType) owner[this.expando] = value;\n else Object.defineProperty(owner, this.expando, {\n value: value,\n configurable: true\n });\n }\n }\n return value;\n },\n set: function(owner, data, value) {\n var prop, cache = this.cache(owner);\n // Handle: [ owner, key, value ] args\n // Always use camelCase key (gh-2257)\n if (typeof data === \"string\") cache[camelCase(data)] = value;\n else // Copy the properties one-by-one to the cache object\n for(prop in data)cache[camelCase(prop)] = data[prop];\n return cache;\n },\n get: function(owner, key) {\n return key === undefined ? this.cache(owner) : // Always use camelCase key (gh-2257)\n owner[this.expando] && owner[this.expando][camelCase(key)];\n },\n access: function(owner, key, value) {\n // In cases where either:\n //\n // 1. No key was specified\n // 2. A string key was specified, but no value provided\n //\n // Take the \"read\" path and allow the get method to determine\n // which value to return, respectively either:\n //\n // 1. The entire cache object\n // 2. The data stored at the key\n //\n if (key === undefined || key && typeof key === \"string\" && value === undefined) return this.get(owner, key);\n // When the key is not a string, or both a key and value\n // are specified, set or extend (existing objects) with either:\n //\n // 1. An object of properties\n // 2. A key and value\n //\n this.set(owner, key, value);\n // Since the \"set\" path can have two possible entry points\n // return the expected data based on which path was taken[*]\n return value !== undefined ? value : key;\n },\n remove: function(owner, key) {\n var i, cache = owner[this.expando];\n if (cache === undefined) return;\n if (key !== undefined) {\n // Support array or space separated string of keys\n if (Array.isArray(key)) // If key is an array of keys...\n // We always set camelCase keys, so remove that.\n key = key.map(camelCase);\n else {\n key = camelCase(key);\n // If a key with the spaces exists, use it.\n // Otherwise, create an array by matching non-whitespace\n key = key in cache ? [\n key\n ] : key.match(rnothtmlwhite) || [];\n }\n i = key.length;\n while(i--)delete cache[key[i]];\n }\n // Remove the expando if there's no more data\n if (key === undefined || jQuery.isEmptyObject(cache)) {\n // Support: Chrome <=35 - 45\n // Webkit & Blink performance suffers when deleting properties\n // from DOM nodes, so set to undefined instead\n // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n if (owner.nodeType) owner[this.expando] = undefined;\n else delete owner[this.expando];\n }\n },\n hasData: function(owner) {\n var cache = owner[this.expando];\n return cache !== undefined && !jQuery.isEmptyObject(cache);\n }\n };\n var dataPriv = new Data();\n var dataUser = new Data();\n //\tImplementation Summary\n //\n //\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n //\t2. Improve the module's maintainability by reducing the storage\n //\t\tpaths to a single mechanism.\n //\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n //\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n //\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n //\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n var rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/, rmultiDash = /[A-Z]/g;\n function getData(data) {\n if (data === \"true\") return true;\n if (data === \"false\") return false;\n if (data === \"null\") return null;\n // Only convert to a number if it doesn't change the string\n if (data === +data + \"\") return +data;\n if (rbrace.test(data)) return JSON.parse(data);\n return data;\n }\n function dataAttr(elem, key, data) {\n var name;\n // If nothing was found internally, try to fetch any\n // data from the HTML5 data-* attribute\n if (data === undefined && elem.nodeType === 1) {\n name = \"data-\" + key.replace(rmultiDash, \"-$&\").toLowerCase();\n data = elem.getAttribute(name);\n if (typeof data === \"string\") {\n try {\n data = getData(data);\n } catch (e) {}\n // Make sure we set the data so it isn't changed later\n dataUser.set(elem, key, data);\n } else data = undefined;\n }\n return data;\n }\n jQuery.extend({\n hasData: function(elem) {\n return dataUser.hasData(elem) || dataPriv.hasData(elem);\n },\n data: function(elem, name, data) {\n return dataUser.access(elem, name, data);\n },\n removeData: function(elem, name) {\n dataUser.remove(elem, name);\n },\n // TODO: Now that all calls to _data and _removeData have been replaced\n // with direct calls to dataPriv methods, these can be deprecated.\n _data: function(elem, name, data) {\n return dataPriv.access(elem, name, data);\n },\n _removeData: function(elem, name) {\n dataPriv.remove(elem, name);\n }\n });\n jQuery.fn.extend({\n data: function(key, value) {\n var i, name, data, elem = this[0], attrs = elem && elem.attributes;\n // Gets all values\n if (key === undefined) {\n if (this.length) {\n data = dataUser.get(elem);\n if (elem.nodeType === 1 && !dataPriv.get(elem, \"hasDataAttrs\")) {\n i = attrs.length;\n while(i--)// Support: IE 11 only\n // The attrs elements can be null (trac-14894)\n if (attrs[i]) {\n name = attrs[i].name;\n if (name.indexOf(\"data-\") === 0) {\n name = camelCase(name.slice(5));\n dataAttr(elem, name, data[name]);\n }\n }\n dataPriv.set(elem, \"hasDataAttrs\", true);\n }\n }\n return data;\n }\n // Sets multiple values\n if (typeof key === \"object\") return this.each(function() {\n dataUser.set(this, key);\n });\n return access(this, function(value) {\n var data;\n // The calling jQuery object (element matches) is not empty\n // (and therefore has an element appears at this[ 0 ]) and the\n // `value` parameter was not undefined. An empty jQuery object\n // will result in `undefined` for elem = this[ 0 ] which will\n // throw an exception if an attempt to read a data cache is made.\n if (elem && value === undefined) {\n // Attempt to get data from the cache\n // The key will always be camelCased in Data\n data = dataUser.get(elem, key);\n if (data !== undefined) return data;\n // Attempt to \"discover\" the data in\n // HTML5 custom data-* attrs\n data = dataAttr(elem, key);\n if (data !== undefined) return data;\n // We tried really hard, but the data doesn't exist.\n return;\n }\n // Set the data...\n this.each(function() {\n // We always store the camelCased key\n dataUser.set(this, key, value);\n });\n }, null, value, arguments.length > 1, null, true);\n },\n removeData: function(key) {\n return this.each(function() {\n dataUser.remove(this, key);\n });\n }\n });\n jQuery.extend({\n queue: function(elem, type, data) {\n var queue;\n if (elem) {\n type = (type || \"fx\") + \"queue\";\n queue = dataPriv.get(elem, type);\n // Speed up dequeue by getting out quickly if this is just a lookup\n if (data) {\n if (!queue || Array.isArray(data)) queue = dataPriv.access(elem, type, jQuery.makeArray(data));\n else queue.push(data);\n }\n return queue || [];\n }\n },\n dequeue: function(elem, type) {\n type = type || \"fx\";\n var queue = jQuery.queue(elem, type), startLength = queue.length, fn = queue.shift(), hooks = jQuery._queueHooks(elem, type), next = function() {\n jQuery.dequeue(elem, type);\n };\n // If the fx queue is dequeued, always remove the progress sentinel\n if (fn === \"inprogress\") {\n fn = queue.shift();\n startLength--;\n }\n if (fn) {\n // Add a progress sentinel to prevent the fx queue from being\n // automatically dequeued\n if (type === \"fx\") queue.unshift(\"inprogress\");\n // Clear up the last queue stop function\n delete hooks.stop;\n fn.call(elem, next, hooks);\n }\n if (!startLength && hooks) hooks.empty.fire();\n },\n // Not public - generate a queueHooks object, or return the current one\n _queueHooks: function(elem, type) {\n var key = type + \"queueHooks\";\n return dataPriv.get(elem, key) || dataPriv.access(elem, key, {\n empty: jQuery.Callbacks(\"once memory\").add(function() {\n dataPriv.remove(elem, [\n type + \"queue\",\n key\n ]);\n })\n });\n }\n });\n jQuery.fn.extend({\n queue: function(type, data) {\n var setter = 2;\n if (typeof type !== \"string\") {\n data = type;\n type = \"fx\";\n setter--;\n }\n if (arguments.length < setter) return jQuery.queue(this[0], type);\n return data === undefined ? this : this.each(function() {\n var queue = jQuery.queue(this, type, data);\n // Ensure a hooks for this queue\n jQuery._queueHooks(this, type);\n if (type === \"fx\" && queue[0] !== \"inprogress\") jQuery.dequeue(this, type);\n });\n },\n dequeue: function(type) {\n return this.each(function() {\n jQuery.dequeue(this, type);\n });\n },\n clearQueue: function(type) {\n return this.queue(type || \"fx\", []);\n },\n // Get a promise resolved when queues of a certain type\n // are emptied (fx is the type by default)\n promise: function(type, obj) {\n var tmp, count = 1, defer = jQuery.Deferred(), elements = this, i = this.length, resolve = function() {\n if (!--count) defer.resolveWith(elements, [\n elements\n ]);\n };\n if (typeof type !== \"string\") {\n obj = type;\n type = undefined;\n }\n type = type || \"fx\";\n while(i--){\n tmp = dataPriv.get(elements[i], type + \"queueHooks\");\n if (tmp && tmp.empty) {\n count++;\n tmp.empty.add(resolve);\n }\n }\n resolve();\n return defer.promise(obj);\n }\n });\n var pnum = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source;\n var rcssNum = new RegExp(\"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\");\n var cssExpand = [\n \"Top\",\n \"Right\",\n \"Bottom\",\n \"Left\"\n ];\n var documentElement = document.documentElement;\n var isAttached = function(elem) {\n return jQuery.contains(elem.ownerDocument, elem);\n }, composed = {\n composed: true\n };\n // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n // Check attachment across shadow DOM boundaries when possible (gh-3504)\n // Support: iOS 10.0-10.2 only\n // Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n // leading to errors. We need to check for `getRootNode`.\n if (documentElement.getRootNode) isAttached = function(elem) {\n return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument;\n };\n var isHiddenWithinTree = function(elem, el) {\n // isHiddenWithinTree might be called from jQuery#filter function;\n // in that case, element will be second argument\n elem = el || elem;\n // Inline style trumps all\n return elem.style.display === \"none\" || elem.style.display === \"\" && // Otherwise, check computed style\n // Support: Firefox <=43 - 45\n // Disconnected elements can have computed display: none, so first confirm that elem is\n // in the document.\n isAttached(elem) && jQuery.css(elem, \"display\") === \"none\";\n };\n function adjustCSS(elem, prop, valueParts, tween) {\n var adjusted, scale, maxIterations = 20, currentValue = tween ? function() {\n return tween.cur();\n } : function() {\n return jQuery.css(elem, prop, \"\");\n }, initial = currentValue(), unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? \"\" : \"px\"), // Starting value computation is required for potential unit mismatches\n initialInUnit = elem.nodeType && (jQuery.cssNumber[prop] || unit !== \"px\" && +initial) && rcssNum.exec(jQuery.css(elem, prop));\n if (initialInUnit && initialInUnit[3] !== unit) {\n // Support: Firefox <=54\n // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n initial = initial / 2;\n // Trust units reported by jQuery.css\n unit = unit || initialInUnit[3];\n // Iteratively approximate from a nonzero starting point\n initialInUnit = +initial || 1;\n while(maxIterations--){\n // Evaluate and update our best guess (doubling guesses that zero out).\n // Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n jQuery.style(elem, prop, initialInUnit + unit);\n if ((1 - scale) * (1 - (scale = currentValue() / initial || 0.5)) <= 0) maxIterations = 0;\n initialInUnit = initialInUnit / scale;\n }\n initialInUnit = initialInUnit * 2;\n jQuery.style(elem, prop, initialInUnit + unit);\n // Make sure we update the tween properties later on\n valueParts = valueParts || [];\n }\n if (valueParts) {\n initialInUnit = +initialInUnit || +initial || 0;\n // Apply relative offset (+=/-=) if specified\n adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2];\n if (tween) {\n tween.unit = unit;\n tween.start = initialInUnit;\n tween.end = adjusted;\n }\n }\n return adjusted;\n }\n var defaultDisplayMap = {};\n function getDefaultDisplay(elem) {\n var temp, doc = elem.ownerDocument, nodeName = elem.nodeName, display = defaultDisplayMap[nodeName];\n if (display) return display;\n temp = doc.body.appendChild(doc.createElement(nodeName));\n display = jQuery.css(temp, \"display\");\n temp.parentNode.removeChild(temp);\n if (display === \"none\") display = \"block\";\n defaultDisplayMap[nodeName] = display;\n return display;\n }\n function showHide(elements, show) {\n var display, elem, values = [], index = 0, length = elements.length;\n // Determine new display value for elements that need to change\n for(; index < length; index++){\n elem = elements[index];\n if (!elem.style) continue;\n display = elem.style.display;\n if (show) {\n // Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n // check is required in this first loop unless we have a nonempty display value (either\n // inline or about-to-be-restored)\n if (display === \"none\") {\n values[index] = dataPriv.get(elem, \"display\") || null;\n if (!values[index]) elem.style.display = \"\";\n }\n if (elem.style.display === \"\" && isHiddenWithinTree(elem)) values[index] = getDefaultDisplay(elem);\n } else if (display !== \"none\") {\n values[index] = \"none\";\n // Remember what we're overwriting\n dataPriv.set(elem, \"display\", display);\n }\n }\n // Set the display of the elements in a second loop to avoid constant reflow\n for(index = 0; index < length; index++)if (values[index] != null) elements[index].style.display = values[index];\n return elements;\n }\n jQuery.fn.extend({\n show: function() {\n return showHide(this, true);\n },\n hide: function() {\n return showHide(this);\n },\n toggle: function(state) {\n if (typeof state === \"boolean\") return state ? this.show() : this.hide();\n return this.each(function() {\n if (isHiddenWithinTree(this)) jQuery(this).show();\n else jQuery(this).hide();\n });\n }\n });\n var rcheckableType = /^(?:checkbox|radio)$/i;\n var rtagName = /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i;\n var rscriptType = /^$|^module$|\\/(?:java|ecma)script/i;\n (function() {\n var fragment = document.createDocumentFragment(), div = fragment.appendChild(document.createElement(\"div\")), input = document.createElement(\"input\");\n // Support: Android 4.0 - 4.3 only\n // Check state lost if the name is set (trac-11217)\n // Support: Windows Web Apps (WWA)\n // `name` and `type` must use .setAttribute for WWA (trac-14901)\n input.setAttribute(\"type\", \"radio\");\n input.setAttribute(\"checked\", \"checked\");\n input.setAttribute(\"name\", \"t\");\n div.appendChild(input);\n // Support: Android <=4.1 only\n // Older WebKit doesn't clone checked state correctly in fragments\n support.checkClone = div.cloneNode(true).cloneNode(true).lastChild.checked;\n // Support: IE <=11 only\n // Make sure textarea (and checkbox) defaultValue is properly cloned\n div.innerHTML = \"\";\n support.noCloneChecked = !!div.cloneNode(true).lastChild.defaultValue;\n // Support: IE <=9 only\n // IE <=9 replaces \";\n support.option = !!div.lastChild;\n })();\n // We have to close these tags to support XHTML (trac-13200)\n var wrapMap = {\n // XHTML parsers do not magically insert elements in the\n // same way that tag soup parsers do. So we cannot shorten\n // this by omitting or other required elements.\n thead: [\n 1,\n \"\",\n \"
\"\n ],\n col: [\n 2,\n \"\",\n \"
\"\n ],\n tr: [\n 2,\n \"\",\n \"
\"\n ],\n td: [\n 3,\n \"\",\n \"
\"\n ],\n _default: [\n 0,\n \"\",\n \"\"\n ]\n };\n wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\n wrapMap.th = wrapMap.td;\n // Support: IE <=9 only\n if (!support.option) wrapMap.optgroup = wrapMap.option = [\n 1,\n \"\"\n ];\n function getAll(context, tag) {\n // Support: IE <=9 - 11 only\n // Use typeof to avoid zero-argument method invocation on host objects (trac-15151)\n var ret;\n if (typeof context.getElementsByTagName !== \"undefined\") ret = context.getElementsByTagName(tag || \"*\");\n else if (typeof context.querySelectorAll !== \"undefined\") ret = context.querySelectorAll(tag || \"*\");\n else ret = [];\n if (tag === undefined || tag && nodeName(context, tag)) return jQuery.merge([\n context\n ], ret);\n return ret;\n }\n // Mark scripts as having already been evaluated\n function setGlobalEval(elems, refElements) {\n var i = 0, l = elems.length;\n for(; i < l; i++)dataPriv.set(elems[i], \"globalEval\", !refElements || dataPriv.get(refElements[i], \"globalEval\"));\n }\n var rhtml = /<|&#?\\w+;/;\n function buildFragment(elems, context, scripts, selection, ignored) {\n var elem, tmp, tag, wrap, attached, j, fragment = context.createDocumentFragment(), nodes = [], i = 0, l = elems.length;\n for(; i < l; i++){\n elem = elems[i];\n if (elem || elem === 0) {\n // Add nodes directly\n if (toType(elem) === \"object\") // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(nodes, elem.nodeType ? [\n elem\n ] : elem);\n else if (!rhtml.test(elem)) nodes.push(context.createTextNode(elem));\n else {\n tmp = tmp || fragment.appendChild(context.createElement(\"div\"));\n // Deserialize a standard representation\n tag = (rtagName.exec(elem) || [\n \"\",\n \"\"\n ])[1].toLowerCase();\n wrap = wrapMap[tag] || wrapMap._default;\n tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2];\n // Descend through wrappers to the right content\n j = wrap[0];\n while(j--)tmp = tmp.lastChild;\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(nodes, tmp.childNodes);\n // Remember the top-level container\n tmp = fragment.firstChild;\n // Ensure the created nodes are orphaned (trac-12392)\n tmp.textContent = \"\";\n }\n }\n }\n // Remove wrapper from fragment\n fragment.textContent = \"\";\n i = 0;\n while(elem = nodes[i++]){\n // Skip elements already in the context collection (trac-4087)\n if (selection && jQuery.inArray(elem, selection) > -1) {\n if (ignored) ignored.push(elem);\n continue;\n }\n attached = isAttached(elem);\n // Append to fragment\n tmp = getAll(fragment.appendChild(elem), \"script\");\n // Preserve script evaluation history\n if (attached) setGlobalEval(tmp);\n // Capture executables\n if (scripts) {\n j = 0;\n while(elem = tmp[j++])if (rscriptType.test(elem.type || \"\")) scripts.push(elem);\n }\n }\n return fragment;\n }\n var rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n function returnTrue() {\n return true;\n }\n function returnFalse() {\n return false;\n }\n function on(elem, types, selector, data, fn, one) {\n var origFn, type;\n // Types can be a map of types/handlers\n if (typeof types === \"object\") {\n // ( types-Object, selector, data )\n if (typeof selector !== \"string\") {\n // ( types-Object, data )\n data = data || selector;\n selector = undefined;\n }\n for(type in types)on(elem, type, selector, data, types[type], one);\n return elem;\n }\n if (data == null && fn == null) {\n // ( types, fn )\n fn = selector;\n data = selector = undefined;\n } else if (fn == null) {\n if (typeof selector === \"string\") {\n // ( types, selector, fn )\n fn = data;\n data = undefined;\n } else {\n // ( types, data, fn )\n fn = data;\n data = selector;\n selector = undefined;\n }\n }\n if (fn === false) fn = returnFalse;\n else if (!fn) return elem;\n if (one === 1) {\n origFn = fn;\n fn = function(event) {\n // Can use an empty set, since event contains the info\n jQuery().off(event);\n return origFn.apply(this, arguments);\n };\n // Use same guid so caller can remove using origFn\n fn.guid = origFn.guid || (origFn.guid = jQuery.guid++);\n }\n return elem.each(function() {\n jQuery.event.add(this, types, fn, data, selector);\n });\n }\n /*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */ jQuery.event = {\n global: {},\n add: function(elem, types, handler, data, selector) {\n var handleObjIn, eventHandle, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.get(elem);\n // Only attach events to objects that accept data\n if (!acceptData(elem)) return;\n // Caller can pass in an object of custom data in lieu of the handler\n if (handler.handler) {\n handleObjIn = handler;\n handler = handleObjIn.handler;\n selector = handleObjIn.selector;\n }\n // Ensure that invalid selectors throw exceptions at attach time\n // Evaluate against documentElement in case elem is a non-element node (e.g., document)\n if (selector) jQuery.find.matchesSelector(documentElement, selector);\n // Make sure that the handler has a unique ID, used to find/remove it later\n if (!handler.guid) handler.guid = jQuery.guid++;\n // Init the element's event structure and main handler, if this is the first\n if (!(events = elemData.events)) events = elemData.events = Object.create(null);\n if (!(eventHandle = elemData.handle)) eventHandle = elemData.handle = function(e) {\n // Discard the second event of a jQuery.event.trigger() and\n // when an event is called after a page has unloaded\n return typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined;\n };\n // Handle multiple events separated by a space\n types = (types || \"\").match(rnothtmlwhite) || [\n \"\"\n ];\n t = types.length;\n while(t--){\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort();\n // There *must* be a type, no attaching namespace-only handlers\n if (!type) continue;\n // If event changes its type, use the special event handlers for the changed type\n special = jQuery.event.special[type] || {};\n // If selector defined, determine special event api type, otherwise given type\n type = (selector ? special.delegateType : special.bindType) || type;\n // Update special based on newly reset type\n special = jQuery.event.special[type] || {};\n // handleObj is passed to all event handlers\n handleObj = jQuery.extend({\n type: type,\n origType: origType,\n data: data,\n handler: handler,\n guid: handler.guid,\n selector: selector,\n needsContext: selector && jQuery.expr.match.needsContext.test(selector),\n namespace: namespaces.join(\".\")\n }, handleObjIn);\n // Init the event handler queue if we're the first\n if (!(handlers = events[type])) {\n handlers = events[type] = [];\n handlers.delegateCount = 0;\n // Only use addEventListener if the special events handler returns false\n if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) {\n if (elem.addEventListener) elem.addEventListener(type, eventHandle);\n }\n }\n if (special.add) {\n special.add.call(elem, handleObj);\n if (!handleObj.handler.guid) handleObj.handler.guid = handler.guid;\n }\n // Add to the element's handler list, delegates in front\n if (selector) handlers.splice(handlers.delegateCount++, 0, handleObj);\n else handlers.push(handleObj);\n // Keep track of which events have ever been used, for event optimization\n jQuery.event.global[type] = true;\n }\n },\n // Detach an event or set of events from an element\n remove: function(elem, types, handler, selector, mappedTypes) {\n var j, origCount, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.hasData(elem) && dataPriv.get(elem);\n if (!elemData || !(events = elemData.events)) return;\n // Once for each type.namespace in types; type may be omitted\n types = (types || \"\").match(rnothtmlwhite) || [\n \"\"\n ];\n t = types.length;\n while(t--){\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort();\n // Unbind all events (on this namespace, if provided) for the element\n if (!type) {\n for(type in events)jQuery.event.remove(elem, type + types[t], handler, selector, true);\n continue;\n }\n special = jQuery.event.special[type] || {};\n type = (selector ? special.delegateType : special.bindType) || type;\n handlers = events[type] || [];\n tmp = tmp[2] && new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\");\n // Remove matching events\n origCount = j = handlers.length;\n while(j--){\n handleObj = handlers[j];\n if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector)) {\n handlers.splice(j, 1);\n if (handleObj.selector) handlers.delegateCount--;\n if (special.remove) special.remove.call(elem, handleObj);\n }\n }\n // Remove generic event handler if we removed something and no more handlers exist\n // (avoids potential for endless recursion during removal of special event handlers)\n if (origCount && !handlers.length) {\n if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) jQuery.removeEvent(elem, type, elemData.handle);\n delete events[type];\n }\n }\n // Remove data and the expando if it's no longer used\n if (jQuery.isEmptyObject(events)) dataPriv.remove(elem, \"handle events\");\n },\n dispatch: function(nativeEvent) {\n var i, j, ret, matched, handleObj, handlerQueue, args = new Array(arguments.length), // Make a writable jQuery.Event from the native event object\n event = jQuery.event.fix(nativeEvent), handlers = (dataPriv.get(this, \"events\") || Object.create(null))[event.type] || [], special = jQuery.event.special[event.type] || {};\n // Use the fix-ed jQuery.Event rather than the (read-only) native event\n args[0] = event;\n for(i = 1; i < arguments.length; i++)args[i] = arguments[i];\n event.delegateTarget = this;\n // Call the preDispatch hook for the mapped type, and let it bail if desired\n if (special.preDispatch && special.preDispatch.call(this, event) === false) return;\n // Determine handlers\n handlerQueue = jQuery.event.handlers.call(this, event, handlers);\n // Run delegates first; they may want to stop propagation beneath us\n i = 0;\n while((matched = handlerQueue[i++]) && !event.isPropagationStopped()){\n event.currentTarget = matched.elem;\n j = 0;\n while((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped())// If the event is namespaced, then each handler is only invoked if it is\n // specially universal or its namespaces are a superset of the event's.\n if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) {\n event.handleObj = handleObj;\n event.data = handleObj.data;\n ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args);\n if (ret !== undefined) {\n if ((event.result = ret) === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n }\n // Call the postDispatch hook for the mapped type\n if (special.postDispatch) special.postDispatch.call(this, event);\n return event.result;\n },\n handlers: function(event, handlers) {\n var i, handleObj, sel, matchedHandlers, matchedSelectors, handlerQueue = [], delegateCount = handlers.delegateCount, cur = event.target;\n // Find delegate handlers\n if (delegateCount && // Support: IE <=9\n // Black-hole SVG instance trees (trac-13180)\n cur.nodeType && // Support: Firefox <=42\n // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n // Support: IE 11 only\n // ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n !(event.type === \"click\" && event.button >= 1)) {\n for(; cur !== this; cur = cur.parentNode || this)// Don't check non-elements (trac-13208)\n // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)\n if (cur.nodeType === 1 && !(event.type === \"click\" && cur.disabled === true)) {\n matchedHandlers = [];\n matchedSelectors = {};\n for(i = 0; i < delegateCount; i++){\n handleObj = handlers[i];\n // Don't conflict with Object.prototype properties (trac-13203)\n sel = handleObj.selector + \" \";\n if (matchedSelectors[sel] === undefined) matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [\n cur\n ]).length;\n if (matchedSelectors[sel]) matchedHandlers.push(handleObj);\n }\n if (matchedHandlers.length) handlerQueue.push({\n elem: cur,\n handlers: matchedHandlers\n });\n }\n }\n // Add the remaining (directly-bound) handlers\n cur = this;\n if (delegateCount < handlers.length) handlerQueue.push({\n elem: cur,\n handlers: handlers.slice(delegateCount)\n });\n return handlerQueue;\n },\n addProp: function(name, hook) {\n Object.defineProperty(jQuery.Event.prototype, name, {\n enumerable: true,\n configurable: true,\n get: isFunction(hook) ? function() {\n if (this.originalEvent) return hook(this.originalEvent);\n } : function() {\n if (this.originalEvent) return this.originalEvent[name];\n },\n set: function(value) {\n Object.defineProperty(this, name, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: value\n });\n }\n });\n },\n fix: function(originalEvent) {\n return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent);\n },\n special: {\n load: {\n // Prevent triggered image.load events from bubbling to window.load\n noBubble: true\n },\n click: {\n // Utilize native event to ensure correct state for checkable inputs\n setup: function(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data;\n // Claim the first handler\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) // dataPriv.set( el, \"click\", ... )\n leverageNative(el, \"click\", true);\n // Return false to allow normal processing in the caller\n return false;\n },\n trigger: function(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data;\n // Force setup before triggering a click\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) leverageNative(el, \"click\");\n // Return non-false to allow normal event-path propagation\n return true;\n },\n // For cross-browser consistency, suppress native .click() on links\n // Also prevent it if we're currently inside a leveraged native-event stack\n _default: function(event) {\n var target = event.target;\n return rcheckableType.test(target.type) && target.click && nodeName(target, \"input\") && dataPriv.get(target, \"click\") || nodeName(target, \"a\");\n }\n },\n beforeunload: {\n postDispatch: function(event) {\n // Support: Firefox 20+\n // Firefox doesn't alert if the returnValue field is not set.\n if (event.result !== undefined && event.originalEvent) event.originalEvent.returnValue = event.result;\n }\n }\n }\n };\n // Ensure the presence of an event listener that handles manually-triggered\n // synthetic events by interrupting progress until reinvoked in response to\n // *native* events that it fires directly, ensuring that state changes have\n // already occurred before other listeners are invoked.\n function leverageNative(el, type, isSetup) {\n // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add\n if (!isSetup) {\n if (dataPriv.get(el, type) === undefined) jQuery.event.add(el, type, returnTrue);\n return;\n }\n // Register the controller as a special universal handler for all event namespaces\n dataPriv.set(el, type, false);\n jQuery.event.add(el, type, {\n namespace: false,\n handler: function(event) {\n var result, saved = dataPriv.get(this, type);\n if (event.isTrigger & 1 && this[type]) {\n // Interrupt processing of the outer synthetic .trigger()ed event\n if (!saved) {\n // Store arguments for use when handling the inner native event\n // There will always be at least one argument (an event object), so this array\n // will not be confused with a leftover capture object.\n saved = slice.call(arguments);\n dataPriv.set(this, type, saved);\n // Trigger the native event and capture its result\n this[type]();\n result = dataPriv.get(this, type);\n dataPriv.set(this, type, false);\n if (saved !== result) {\n // Cancel the outer synthetic event\n event.stopImmediatePropagation();\n event.preventDefault();\n return result;\n }\n // If this is an inner synthetic event for an event with a bubbling surrogate\n // (focus or blur), assume that the surrogate already propagated from triggering\n // the native event and prevent that from happening again here.\n // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n // bubbling surrogate propagates *after* the non-bubbling base), but that seems\n // less bad than duplication.\n } else if ((jQuery.event.special[type] || {}).delegateType) event.stopPropagation();\n // If this is a native event triggered above, everything is now in order\n // Fire an inner synthetic event with the original arguments\n } else if (saved) {\n // ...and capture the result\n dataPriv.set(this, type, jQuery.event.trigger(saved[0], saved.slice(1), this));\n // Abort handling of the native event by all jQuery handlers while allowing\n // native handlers on the same element to run. On target, this is achieved\n // by stopping immediate propagation just on the jQuery event. However,\n // the native event is re-wrapped by a jQuery one on each level of the\n // propagation so the only way to stop it for jQuery is to stop it for\n // everyone via native `stopPropagation()`. This is not a problem for\n // focus/blur which don't bubble, but it does also stop click on checkboxes\n // and radios. We accept this limitation.\n event.stopPropagation();\n event.isImmediatePropagationStopped = returnTrue;\n }\n }\n });\n }\n jQuery.removeEvent = function(elem, type, handle) {\n // This \"if\" is needed for plain objects\n if (elem.removeEventListener) elem.removeEventListener(type, handle);\n };\n jQuery.Event = function(src, props) {\n // Allow instantiation without the 'new' keyword\n if (!(this instanceof jQuery.Event)) return new jQuery.Event(src, props);\n // Event object\n if (src && src.type) {\n this.originalEvent = src;\n this.type = src.type;\n // Events bubbling up the document may have been marked as prevented\n // by a handler lower down the tree; reflect the correct value.\n this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only\n src.returnValue === false ? returnTrue : returnFalse;\n // Create target properties\n // Support: Safari <=6 - 7 only\n // Target should not be a text node (trac-504, trac-13143)\n this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target;\n this.currentTarget = src.currentTarget;\n this.relatedTarget = src.relatedTarget;\n // Event type\n } else this.type = src;\n // Put explicitly provided properties onto the event object\n if (props) jQuery.extend(this, props);\n // Create a timestamp if incoming event doesn't have one\n this.timeStamp = src && src.timeStamp || Date.now();\n // Mark it as fixed\n this[jQuery.expando] = true;\n };\n // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\n jQuery.Event.prototype = {\n constructor: jQuery.Event,\n isDefaultPrevented: returnFalse,\n isPropagationStopped: returnFalse,\n isImmediatePropagationStopped: returnFalse,\n isSimulated: false,\n preventDefault: function() {\n var e = this.originalEvent;\n this.isDefaultPrevented = returnTrue;\n if (e && !this.isSimulated) e.preventDefault();\n },\n stopPropagation: function() {\n var e = this.originalEvent;\n this.isPropagationStopped = returnTrue;\n if (e && !this.isSimulated) e.stopPropagation();\n },\n stopImmediatePropagation: function() {\n var e = this.originalEvent;\n this.isImmediatePropagationStopped = returnTrue;\n if (e && !this.isSimulated) e.stopImmediatePropagation();\n this.stopPropagation();\n }\n };\n // Includes all common event props including KeyEvent and MouseEvent specific props\n jQuery.each({\n altKey: true,\n bubbles: true,\n cancelable: true,\n changedTouches: true,\n ctrlKey: true,\n detail: true,\n eventPhase: true,\n metaKey: true,\n pageX: true,\n pageY: true,\n shiftKey: true,\n view: true,\n \"char\": true,\n code: true,\n charCode: true,\n key: true,\n keyCode: true,\n button: true,\n buttons: true,\n clientX: true,\n clientY: true,\n offsetX: true,\n offsetY: true,\n pointerId: true,\n pointerType: true,\n screenX: true,\n screenY: true,\n targetTouches: true,\n toElement: true,\n touches: true,\n which: true\n }, jQuery.event.addProp);\n jQuery.each({\n focus: \"focusin\",\n blur: \"focusout\"\n }, function(type, delegateType) {\n function focusMappedHandler(nativeEvent) {\n if (document.documentMode) {\n // Support: IE 11+\n // Attach a single focusin/focusout handler on the document while someone wants\n // focus/blur. This is because the former are synchronous in IE while the latter\n // are async. In other browsers, all those handlers are invoked synchronously.\n // `handle` from private data would already wrap the event, but we need\n // to change the `type` here.\n var handle = dataPriv.get(this, \"handle\"), event = jQuery.event.fix(nativeEvent);\n event.type = nativeEvent.type === \"focusin\" ? \"focus\" : \"blur\";\n event.isSimulated = true;\n // First, handle focusin/focusout\n handle(nativeEvent);\n // ...then, handle focus/blur\n //\n // focus/blur don't bubble while focusin/focusout do; simulate the former by only\n // invoking the handler at the lower level.\n if (event.target === event.currentTarget) // The setup part calls `leverageNative`, which, in turn, calls\n // `jQuery.event.add`, so event handle will already have been set\n // by this point.\n handle(event);\n } else // For non-IE browsers, attach a single capturing handler on the document\n // while someone wants focusin/focusout.\n jQuery.event.simulate(delegateType, nativeEvent.target, jQuery.event.fix(nativeEvent));\n }\n jQuery.event.special[type] = {\n // Utilize native event if possible so blur/focus sequence is correct\n setup: function() {\n var attaches;\n // Claim the first handler\n // dataPriv.set( this, \"focus\", ... )\n // dataPriv.set( this, \"blur\", ... )\n leverageNative(this, type, true);\n if (document.documentMode) {\n // Support: IE 9 - 11+\n // We use the same native handler for focusin & focus (and focusout & blur)\n // so we need to coordinate setup & teardown parts between those events.\n // Use `delegateType` as the key as `type` is already used by `leverageNative`.\n attaches = dataPriv.get(this, delegateType);\n if (!attaches) this.addEventListener(delegateType, focusMappedHandler);\n dataPriv.set(this, delegateType, (attaches || 0) + 1);\n } else // Return false to allow normal processing in the caller\n return false;\n },\n trigger: function() {\n // Force setup before trigger\n leverageNative(this, type);\n // Return non-false to allow normal event-path propagation\n return true;\n },\n teardown: function() {\n var attaches;\n if (document.documentMode) {\n attaches = dataPriv.get(this, delegateType) - 1;\n if (!attaches) {\n this.removeEventListener(delegateType, focusMappedHandler);\n dataPriv.remove(this, delegateType);\n } else dataPriv.set(this, delegateType, attaches);\n } else // Return false to indicate standard teardown should be applied\n return false;\n },\n // Suppress native focus or blur if we're currently inside\n // a leveraged native-event stack\n _default: function(event) {\n return dataPriv.get(event.target, type);\n },\n delegateType: delegateType\n };\n // Support: Firefox <=44\n // Firefox doesn't have focus(in | out) events\n // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n //\n // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n // focus(in | out) events fire after focus & blur events,\n // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\n //\n // Support: IE 9 - 11+\n // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,\n // attach a single handler for both events in IE.\n jQuery.event.special[delegateType] = {\n setup: function() {\n // Handle: regular nodes (via `this.ownerDocument`), window\n // (via `this.document`) & document (via `this`).\n var doc = this.ownerDocument || this.document || this, dataHolder = document.documentMode ? this : doc, attaches = dataPriv.get(dataHolder, delegateType);\n // Support: IE 9 - 11+\n // We use the same native handler for focusin & focus (and focusout & blur)\n // so we need to coordinate setup & teardown parts between those events.\n // Use `delegateType` as the key as `type` is already used by `leverageNative`.\n if (!attaches) {\n if (document.documentMode) this.addEventListener(delegateType, focusMappedHandler);\n else doc.addEventListener(type, focusMappedHandler, true);\n }\n dataPriv.set(dataHolder, delegateType, (attaches || 0) + 1);\n },\n teardown: function() {\n var doc = this.ownerDocument || this.document || this, dataHolder = document.documentMode ? this : doc, attaches = dataPriv.get(dataHolder, delegateType) - 1;\n if (!attaches) {\n if (document.documentMode) this.removeEventListener(delegateType, focusMappedHandler);\n else doc.removeEventListener(type, focusMappedHandler, true);\n dataPriv.remove(dataHolder, delegateType);\n } else dataPriv.set(dataHolder, delegateType, attaches);\n }\n };\n });\n // Create mouseenter/leave events using mouseover/out and event-time checks\n // so that event delegation works in jQuery.\n // Do the same for pointerenter/pointerleave and pointerover/pointerout\n //\n // Support: Safari 7 only\n // Safari sends mouseenter too often; see:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n // for the description of the bug (it existed in older Chrome versions as well).\n jQuery.each({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\",\n pointerenter: \"pointerover\",\n pointerleave: \"pointerout\"\n }, function(orig, fix) {\n jQuery.event.special[orig] = {\n delegateType: fix,\n bindType: fix,\n handle: function(event) {\n var ret, target = this, related = event.relatedTarget, handleObj = event.handleObj;\n // For mouseenter/leave call the handler if related is outside the target.\n // NB: No relatedTarget if the mouse left/entered the browser window\n if (!related || related !== target && !jQuery.contains(target, related)) {\n event.type = handleObj.origType;\n ret = handleObj.handler.apply(this, arguments);\n event.type = fix;\n }\n return ret;\n }\n };\n });\n jQuery.fn.extend({\n on: function(types, selector, data, fn) {\n return on(this, types, selector, data, fn);\n },\n one: function(types, selector, data, fn) {\n return on(this, types, selector, data, fn, 1);\n },\n off: function(types, selector, fn) {\n var handleObj, type;\n if (types && types.preventDefault && types.handleObj) {\n // ( event ) dispatched jQuery.Event\n handleObj = types.handleObj;\n jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler);\n return this;\n }\n if (typeof types === \"object\") {\n // ( types-object [, selector] )\n for(type in types)this.off(type, selector, types[type]);\n return this;\n }\n if (selector === false || typeof selector === \"function\") {\n // ( types [, fn] )\n fn = selector;\n selector = undefined;\n }\n if (fn === false) fn = returnFalse;\n return this.each(function() {\n jQuery.event.remove(this, types, fn, selector);\n });\n }\n });\n var // Support: IE <=10 - 11, Edge 12 - 13 only\n // In IE/Edge using regex groups here causes severe slowdowns.\n // See https://connect.microsoft.com/IE/feedback/details/1736512/\n rnoInnerhtml = /\\s*$/g;\n // Prefer a tbody over its parent table for containing new rows\n function manipulationTarget(elem, content) {\n if (nodeName(elem, \"table\") && nodeName(content.nodeType !== 11 ? content : content.firstChild, \"tr\")) return jQuery(elem).children(\"tbody\")[0] || elem;\n return elem;\n }\n // Replace/restore the type attribute of script elements for safe DOM manipulation\n function disableScript(elem) {\n elem.type = (elem.getAttribute(\"type\") !== null) + \"/\" + elem.type;\n return elem;\n }\n function restoreScript(elem) {\n if ((elem.type || \"\").slice(0, 5) === \"true/\") elem.type = elem.type.slice(5);\n else elem.removeAttribute(\"type\");\n return elem;\n }\n function cloneCopyEvent(src, dest) {\n var i, l, type, pdataOld, udataOld, udataCur, events;\n if (dest.nodeType !== 1) return;\n // 1. Copy private data: events, handlers, etc.\n if (dataPriv.hasData(src)) {\n pdataOld = dataPriv.get(src);\n events = pdataOld.events;\n if (events) {\n dataPriv.remove(dest, \"handle events\");\n for(type in events)for(i = 0, l = events[type].length; i < l; i++)jQuery.event.add(dest, type, events[type][i]);\n }\n }\n // 2. Copy user data\n if (dataUser.hasData(src)) {\n udataOld = dataUser.access(src);\n udataCur = jQuery.extend({}, udataOld);\n dataUser.set(dest, udataCur);\n }\n }\n // Fix IE bugs, see support tests\n function fixInput(src, dest) {\n var nodeName = dest.nodeName.toLowerCase();\n // Fails to persist the checked state of a cloned checkbox or radio button.\n if (nodeName === \"input\" && rcheckableType.test(src.type)) dest.checked = src.checked;\n else if (nodeName === \"input\" || nodeName === \"textarea\") dest.defaultValue = src.defaultValue;\n }\n function domManip(collection, args, callback, ignored) {\n // Flatten any nested arrays\n args = flat(args);\n var fragment, first, scripts, hasScripts, node, doc, i = 0, l = collection.length, iNoClone = l - 1, value = args[0], valueIsFunction = isFunction(value);\n // We can't cloneNode fragments that contain checked, in WebKit\n if (valueIsFunction || l > 1 && typeof value === \"string\" && !support.checkClone && rchecked.test(value)) return collection.each(function(index) {\n var self = collection.eq(index);\n if (valueIsFunction) args[0] = value.call(this, index, self.html());\n domManip(self, args, callback, ignored);\n });\n if (l) {\n fragment = buildFragment(args, collection[0].ownerDocument, false, collection, ignored);\n first = fragment.firstChild;\n if (fragment.childNodes.length === 1) fragment = first;\n // Require either new content or an interest in ignored elements to invoke the callback\n if (first || ignored) {\n scripts = jQuery.map(getAll(fragment, \"script\"), disableScript);\n hasScripts = scripts.length;\n // Use the original fragment for the last item\n // instead of the first because it can end up\n // being emptied incorrectly in certain situations (trac-8070).\n for(; i < l; i++){\n node = fragment;\n if (i !== iNoClone) {\n node = jQuery.clone(node, true, true);\n // Keep references to cloned scripts for later restoration\n if (hasScripts) // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(scripts, getAll(node, \"script\"));\n }\n callback.call(collection[i], node, i);\n }\n if (hasScripts) {\n doc = scripts[scripts.length - 1].ownerDocument;\n // Re-enable scripts\n jQuery.map(scripts, restoreScript);\n // Evaluate executable scripts on first document insertion\n for(i = 0; i < hasScripts; i++){\n node = scripts[i];\n if (rscriptType.test(node.type || \"\") && !dataPriv.access(node, \"globalEval\") && jQuery.contains(doc, node)) {\n if (node.src && (node.type || \"\").toLowerCase() !== \"module\") // Optional AJAX dependency, but won't run scripts if not present\n {\n if (jQuery._evalUrl && !node.noModule) jQuery._evalUrl(node.src, {\n nonce: node.nonce || node.getAttribute(\"nonce\")\n }, doc);\n } else // Unwrap a CDATA section containing script contents. This shouldn't be\n // needed as in XML documents they're already not visible when\n // inspecting element contents and in HTML documents they have no\n // meaning but we're preserving that logic for backwards compatibility.\n // This will be removed completely in 4.0. See gh-4904.\n DOMEval(node.textContent.replace(rcleanScript, \"\"), node, doc);\n }\n }\n }\n }\n }\n return collection;\n }\n function remove(elem, selector, keepData) {\n var node, nodes = selector ? jQuery.filter(selector, elem) : elem, i = 0;\n for(; (node = nodes[i]) != null; i++){\n if (!keepData && node.nodeType === 1) jQuery.cleanData(getAll(node));\n if (node.parentNode) {\n if (keepData && isAttached(node)) setGlobalEval(getAll(node, \"script\"));\n node.parentNode.removeChild(node);\n }\n }\n return elem;\n }\n jQuery.extend({\n htmlPrefilter: function(html) {\n return html;\n },\n clone: function(elem, dataAndEvents, deepDataAndEvents) {\n var i, l, srcElements, destElements, clone = elem.cloneNode(true), inPage = isAttached(elem);\n // Fix IE cloning issues\n if (!support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) {\n // We eschew jQuery#find here for performance reasons:\n // https://jsperf.com/getall-vs-sizzle/2\n destElements = getAll(clone);\n srcElements = getAll(elem);\n for(i = 0, l = srcElements.length; i < l; i++)fixInput(srcElements[i], destElements[i]);\n }\n // Copy the events from the original to the clone\n if (dataAndEvents) {\n if (deepDataAndEvents) {\n srcElements = srcElements || getAll(elem);\n destElements = destElements || getAll(clone);\n for(i = 0, l = srcElements.length; i < l; i++)cloneCopyEvent(srcElements[i], destElements[i]);\n } else cloneCopyEvent(elem, clone);\n }\n // Preserve script evaluation history\n destElements = getAll(clone, \"script\");\n if (destElements.length > 0) setGlobalEval(destElements, !inPage && getAll(elem, \"script\"));\n // Return the cloned set\n return clone;\n },\n cleanData: function(elems) {\n var data, elem, type, special = jQuery.event.special, i = 0;\n for(; (elem = elems[i]) !== undefined; i++)if (acceptData(elem)) {\n if (data = elem[dataPriv.expando]) {\n if (data.events) {\n for(type in data.events)if (special[type]) jQuery.event.remove(elem, type);\n else jQuery.removeEvent(elem, type, data.handle);\n }\n // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n elem[dataPriv.expando] = undefined;\n }\n if (elem[dataUser.expando]) // Support: Chrome <=35 - 45+\n // Assign undefined instead of using delete, see Data#remove\n elem[dataUser.expando] = undefined;\n }\n }\n });\n jQuery.fn.extend({\n detach: function(selector) {\n return remove(this, selector, true);\n },\n remove: function(selector) {\n return remove(this, selector);\n },\n text: function(value) {\n return access(this, function(value) {\n return value === undefined ? jQuery.text(this) : this.empty().each(function() {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) this.textContent = value;\n });\n }, null, value, arguments.length);\n },\n append: function() {\n return domManip(this, arguments, function(elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.appendChild(elem);\n }\n });\n },\n prepend: function() {\n return domManip(this, arguments, function(elem) {\n if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {\n var target = manipulationTarget(this, elem);\n target.insertBefore(elem, target.firstChild);\n }\n });\n },\n before: function() {\n return domManip(this, arguments, function(elem) {\n if (this.parentNode) this.parentNode.insertBefore(elem, this);\n });\n },\n after: function() {\n return domManip(this, arguments, function(elem) {\n if (this.parentNode) this.parentNode.insertBefore(elem, this.nextSibling);\n });\n },\n empty: function() {\n var elem, i = 0;\n for(; (elem = this[i]) != null; i++)if (elem.nodeType === 1) {\n // Prevent memory leaks\n jQuery.cleanData(getAll(elem, false));\n // Remove any remaining nodes\n elem.textContent = \"\";\n }\n return this;\n },\n clone: function(dataAndEvents, deepDataAndEvents) {\n dataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n return this.map(function() {\n return jQuery.clone(this, dataAndEvents, deepDataAndEvents);\n });\n },\n html: function(value) {\n return access(this, function(value) {\n var elem = this[0] || {}, i = 0, l = this.length;\n if (value === undefined && elem.nodeType === 1) return elem.innerHTML;\n // See if we can take a shortcut and just use innerHTML\n if (typeof value === \"string\" && !rnoInnerhtml.test(value) && !wrapMap[(rtagName.exec(value) || [\n \"\",\n \"\"\n ])[1].toLowerCase()]) {\n value = jQuery.htmlPrefilter(value);\n try {\n for(; i < l; i++){\n elem = this[i] || {};\n // Remove element nodes and prevent memory leaks\n if (elem.nodeType === 1) {\n jQuery.cleanData(getAll(elem, false));\n elem.innerHTML = value;\n }\n }\n elem = 0;\n // If using innerHTML throws an exception, use the fallback method\n } catch (e) {}\n }\n if (elem) this.empty().append(value);\n }, null, value, arguments.length);\n },\n replaceWith: function() {\n var ignored = [];\n // Make the changes, replacing each non-ignored context element with the new content\n return domManip(this, arguments, function(elem) {\n var parent = this.parentNode;\n if (jQuery.inArray(this, ignored) < 0) {\n jQuery.cleanData(getAll(this));\n if (parent) parent.replaceChild(elem, this);\n }\n // Force callback invocation\n }, ignored);\n }\n });\n jQuery.each({\n appendTo: \"append\",\n prependTo: \"prepend\",\n insertBefore: \"before\",\n insertAfter: \"after\",\n replaceAll: \"replaceWith\"\n }, function(name, original) {\n jQuery.fn[name] = function(selector) {\n var elems, ret = [], insert = jQuery(selector), last = insert.length - 1, i = 0;\n for(; i <= last; i++){\n elems = i === last ? this : this.clone(true);\n jQuery(insert[i])[original](elems);\n // Support: Android <=4.0 only, PhantomJS 1 only\n // .get() because push.apply(_, arraylike) throws on ancient WebKit\n push.apply(ret, elems.get());\n }\n return this.pushStack(ret);\n };\n });\n var rnumnonpx = new RegExp(\"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\");\n var rcustomProp = /^--/;\n var getStyles = function(elem) {\n // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)\n // IE throws on elements created in popups\n // FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n var view = elem.ownerDocument.defaultView;\n if (!view || !view.opener) view = window1;\n return view.getComputedStyle(elem);\n };\n var swap = function(elem, options, callback) {\n var ret, name, old = {};\n // Remember the old values, and insert the new ones\n for(name in options){\n old[name] = elem.style[name];\n elem.style[name] = options[name];\n }\n ret = callback.call(elem);\n // Revert the old values\n for(name in options)elem.style[name] = old[name];\n return ret;\n };\n var rboxStyle = new RegExp(cssExpand.join(\"|\"), \"i\");\n (function() {\n // Executing both pixelPosition & boxSizingReliable tests require only one layout\n // so they're executed at the same time to save the second computation.\n function computeStyleTests() {\n // This is a singleton, we need to execute it only once\n if (!div) return;\n container.style.cssText = \"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\";\n div.style.cssText = \"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\";\n documentElement.appendChild(container).appendChild(div);\n var divStyle = window1.getComputedStyle(div);\n pixelPositionVal = divStyle.top !== \"1%\";\n // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n reliableMarginLeftVal = roundPixelMeasures(divStyle.marginLeft) === 12;\n // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n // Some styles come back with percentage values, even though they shouldn't\n div.style.right = \"60%\";\n pixelBoxStylesVal = roundPixelMeasures(divStyle.right) === 36;\n // Support: IE 9 - 11 only\n // Detect misreporting of content dimensions for box-sizing:border-box elements\n boxSizingReliableVal = roundPixelMeasures(divStyle.width) === 36;\n // Support: IE 9 only\n // Detect overflow:scroll screwiness (gh-3699)\n // Support: Chrome <=64\n // Don't get tricked when zoom affects offsetWidth (gh-4029)\n div.style.position = \"absolute\";\n scrollboxSizeVal = roundPixelMeasures(div.offsetWidth / 3) === 12;\n documentElement.removeChild(container);\n // Nullify the div so it wouldn't be stored in the memory and\n // it will also be a sign that checks already performed\n div = null;\n }\n function roundPixelMeasures(measure) {\n return Math.round(parseFloat(measure));\n }\n var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, reliableTrDimensionsVal, reliableMarginLeftVal, container = document.createElement(\"div\"), div = document.createElement(\"div\");\n // Finish early in limited (non-browser) environments\n if (!div.style) return;\n // Support: IE <=9 - 11 only\n // Style of cloned element affects source element cloned (trac-8908)\n div.style.backgroundClip = \"content-box\";\n div.cloneNode(true).style.backgroundClip = \"\";\n support.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n jQuery.extend(support, {\n boxSizingReliable: function() {\n computeStyleTests();\n return boxSizingReliableVal;\n },\n pixelBoxStyles: function() {\n computeStyleTests();\n return pixelBoxStylesVal;\n },\n pixelPosition: function() {\n computeStyleTests();\n return pixelPositionVal;\n },\n reliableMarginLeft: function() {\n computeStyleTests();\n return reliableMarginLeftVal;\n },\n scrollboxSize: function() {\n computeStyleTests();\n return scrollboxSizeVal;\n },\n // Support: IE 9 - 11+, Edge 15 - 18+\n // IE/Edge misreport `getComputedStyle` of table rows with width/height\n // set in CSS while `offset*` properties report correct values.\n // Behavior in IE 9 is more subtle than in newer versions & it passes\n // some versions of this test; make sure not to make it pass there!\n //\n // Support: Firefox 70+\n // Only Firefox includes border widths\n // in computed dimensions. (gh-4529)\n reliableTrDimensions: function() {\n var table, tr, trChild, trStyle;\n if (reliableTrDimensionsVal == null) {\n table = document.createElement(\"table\");\n tr = document.createElement(\"tr\");\n trChild = document.createElement(\"div\");\n table.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n tr.style.cssText = \"box-sizing:content-box;border:1px solid\";\n // Support: Chrome 86+\n // Height set through cssText does not get applied.\n // Computed height then comes back as 0.\n tr.style.height = \"1px\";\n trChild.style.height = \"9px\";\n // Support: Android 8 Chrome 86+\n // In our bodyBackground.html iframe,\n // display for all div elements is set to \"inline\",\n // which causes a problem only in Android 8 Chrome 86.\n // Ensuring the div is `display: block`\n // gets around this issue.\n trChild.style.display = \"block\";\n documentElement.appendChild(table).appendChild(tr).appendChild(trChild);\n trStyle = window1.getComputedStyle(tr);\n reliableTrDimensionsVal = parseInt(trStyle.height, 10) + parseInt(trStyle.borderTopWidth, 10) + parseInt(trStyle.borderBottomWidth, 10) === tr.offsetHeight;\n documentElement.removeChild(table);\n }\n return reliableTrDimensionsVal;\n }\n });\n })();\n function curCSS(elem, name, computed) {\n var width, minWidth, maxWidth, ret, isCustomProp = rcustomProp.test(name), // Support: Firefox 51+\n // Retrieving style before computed somehow\n // fixes an issue with getting wrong values\n // on detached elements\n style = elem.style;\n computed = computed || getStyles(elem);\n // getPropertyValue is needed for:\n // .css('filter') (IE 9 only, trac-12537)\n // .css('--customProperty) (gh-3144)\n if (computed) {\n // Support: IE <=9 - 11+\n // IE only supports `\"float\"` in `getPropertyValue`; in computed styles\n // it's only available as `\"cssFloat\"`. We no longer modify properties\n // sent to `.css()` apart from camelCasing, so we need to check both.\n // Normally, this would create difference in behavior: if\n // `getPropertyValue` returns an empty string, the value returned\n // by `.css()` would be `undefined`. This is usually the case for\n // disconnected elements. However, in IE even disconnected elements\n // with no styles return `\"none\"` for `getPropertyValue( \"float\" )`\n ret = computed.getPropertyValue(name) || computed[name];\n if (isCustomProp && ret) // Support: Firefox 105+, Chrome <=105+\n // Spec requires trimming whitespace for custom properties (gh-4926).\n // Firefox only trims leading whitespace. Chrome just collapses\n // both leading & trailing whitespace to a single space.\n //\n // Fall back to `undefined` if empty string returned.\n // This collapses a missing definition with property defined\n // and set to an empty string but there's no standard API\n // allowing us to differentiate them without a performance penalty\n // and returning `undefined` aligns with older jQuery.\n //\n // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED\n // as whitespace while CSS does not, but this is not a problem\n // because CSS preprocessing replaces them with U+000A LINE FEED\n // (which *is* CSS whitespace)\n // https://www.w3.org/TR/css-syntax-3/#input-preprocessing\n ret = ret.replace(rtrimCSS, \"$1\") || undefined;\n if (ret === \"\" && !isAttached(elem)) ret = jQuery.style(elem, name);\n // A tribute to the \"awesome hack by Dean Edwards\"\n // Android Browser returns percentage for some values,\n // but width seems to be reliably pixels.\n // This is against the CSSOM draft spec:\n // https://drafts.csswg.org/cssom/#resolved-values\n if (!support.pixelBoxStyles() && rnumnonpx.test(ret) && rboxStyle.test(name)) {\n // Remember the original values\n width = style.width;\n minWidth = style.minWidth;\n maxWidth = style.maxWidth;\n // Put in the new values to get a computed value out\n style.minWidth = style.maxWidth = style.width = ret;\n ret = computed.width;\n // Revert the changed values\n style.width = width;\n style.minWidth = minWidth;\n style.maxWidth = maxWidth;\n }\n }\n return ret !== undefined ? // Support: IE <=9 - 11 only\n // IE returns zIndex value as an integer.\n ret + \"\" : ret;\n }\n function addGetHookIf(conditionFn, hookFn) {\n // Define the hook, we'll check on the first run if it's really needed.\n return {\n get: function() {\n if (conditionFn()) {\n // Hook not needed (or it's not possible to use it due\n // to missing dependency), remove it.\n delete this.get;\n return;\n }\n // Hook needed; redefine it so that the support test is not executed again.\n return (this.get = hookFn).apply(this, arguments);\n }\n };\n }\n var cssPrefixes = [\n \"Webkit\",\n \"Moz\",\n \"ms\"\n ], emptyStyle = document.createElement(\"div\").style, vendorProps = {};\n // Return a vendor-prefixed property or undefined\n function vendorPropName(name) {\n // Check for vendor prefixed names\n var capName = name[0].toUpperCase() + name.slice(1), i = cssPrefixes.length;\n while(i--){\n name = cssPrefixes[i] + capName;\n if (name in emptyStyle) return name;\n }\n }\n // Return a potentially-mapped jQuery.cssProps or vendor prefixed property\n function finalPropName(name) {\n var final = jQuery.cssProps[name] || vendorProps[name];\n if (final) return final;\n if (name in emptyStyle) return name;\n return vendorProps[name] = vendorPropName(name) || name;\n }\n var // Swappable if display is none or starts with table\n // except \"table\", \"table-cell\", or \"table-caption\"\n // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n rdisplayswap = /^(none|table(?!-c[ea]).+)/, cssShow = {\n position: \"absolute\",\n visibility: \"hidden\",\n display: \"block\"\n }, cssNormalTransform = {\n letterSpacing: \"0\",\n fontWeight: \"400\"\n };\n function setPositiveNumber(_elem, value, subtract) {\n // Any relative (+/-) values have already been\n // normalized at this point\n var matches = rcssNum.exec(value);\n return matches ? // Guard against undefined \"subtract\", e.g., when used as in cssHooks\n Math.max(0, matches[2] - (subtract || 0)) + (matches[3] || \"px\") : value;\n }\n function boxModelAdjustment(elem, dimension, box, isBorderBox, styles, computedVal) {\n var i = dimension === \"width\" ? 1 : 0, extra = 0, delta = 0, marginDelta = 0;\n // Adjustment may not be necessary\n if (box === (isBorderBox ? \"border\" : \"content\")) return 0;\n for(; i < 4; i += 2){\n // Both box models exclude margin\n // Count margin delta separately to only add it after scroll gutter adjustment.\n // This is needed to make negative margins work with `outerHeight( true )` (gh-3982).\n if (box === \"margin\") marginDelta += jQuery.css(elem, box + cssExpand[i], true, styles);\n // If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n if (!isBorderBox) {\n // Add padding\n delta += jQuery.css(elem, \"padding\" + cssExpand[i], true, styles);\n // For \"border\" or \"margin\", add border\n if (box !== \"padding\") delta += jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n else extra += jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n // If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n // \"padding\" or \"margin\"\n } else {\n // For \"content\", subtract padding\n if (box === \"content\") delta -= jQuery.css(elem, \"padding\" + cssExpand[i], true, styles);\n // For \"content\" or \"padding\", subtract border\n if (box !== \"margin\") delta -= jQuery.css(elem, \"border\" + cssExpand[i] + \"Width\", true, styles);\n }\n }\n // Account for positive content-box scroll gutter when requested by providing computedVal\n if (!isBorderBox && computedVal >= 0) // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n // Assuming integer scroll gutter, subtract the rest and round down\n delta += Math.max(0, Math.ceil(elem[\"offset\" + dimension[0].toUpperCase() + dimension.slice(1)] - computedVal - delta - extra - 0.5)) || 0;\n return delta + marginDelta;\n }\n function getWidthOrHeight(elem, dimension, extra) {\n // Start with computed style\n var styles = getStyles(elem), // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n // Fake content-box until we know it's needed to know the true value.\n boxSizingNeeded = !support.boxSizingReliable() || extra, isBorderBox = boxSizingNeeded && jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\", valueIsBorderBox = isBorderBox, val = curCSS(elem, dimension, styles), offsetProp = \"offset\" + dimension[0].toUpperCase() + dimension.slice(1);\n // Support: Firefox <=54\n // Return a confounding non-pixel value or feign ignorance, as appropriate.\n if (rnumnonpx.test(val)) {\n if (!extra) return val;\n val = \"auto\";\n }\n // Support: IE 9 - 11 only\n // Use offsetWidth/offsetHeight for when box sizing is unreliable.\n // In those cases, the computed value can be trusted to be border-box.\n if ((!support.boxSizingReliable() && isBorderBox || // Support: IE 10 - 11+, Edge 15 - 18+\n // IE/Edge misreport `getComputedStyle` of table rows with width/height\n // set in CSS while `offset*` properties report correct values.\n // Interestingly, in some cases IE 9 doesn't suffer from this issue.\n !support.reliableTrDimensions() && nodeName(elem, \"tr\") || // Fall back to offsetWidth/offsetHeight when value is \"auto\"\n // This happens for inline elements with no explicit setting (gh-3571)\n val === \"auto\" || // Support: Android <=4.1 - 4.3 only\n // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n !parseFloat(val) && jQuery.css(elem, \"display\", false, styles) === \"inline\") && // Make sure the element is visible & connected\n elem.getClientRects().length) {\n isBorderBox = jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\";\n // Where available, offsetWidth/offsetHeight approximate border box dimensions.\n // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n // retrieved value as a content box dimension.\n valueIsBorderBox = offsetProp in elem;\n if (valueIsBorderBox) val = elem[offsetProp];\n }\n // Normalize \"\" and auto\n val = parseFloat(val) || 0;\n // Adjust for the element's box model\n return val + boxModelAdjustment(elem, dimension, extra || (isBorderBox ? \"border\" : \"content\"), valueIsBorderBox, styles, // Provide the current computed size to request scroll gutter calculation (gh-3589)\n val) + \"px\";\n }\n jQuery.extend({\n // Add in style property hooks for overriding the default\n // behavior of getting and setting a style property\n cssHooks: {\n opacity: {\n get: function(elem, computed) {\n if (computed) {\n // We should always get a number back from opacity\n var ret = curCSS(elem, \"opacity\");\n return ret === \"\" ? \"1\" : ret;\n }\n }\n }\n },\n // Don't automatically add \"px\" to these possibly-unitless properties\n cssNumber: {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageSlice: true,\n columnCount: true,\n flexGrow: true,\n flexShrink: true,\n fontWeight: true,\n gridArea: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnStart: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowStart: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n scale: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeMiterlimit: true,\n strokeOpacity: true\n },\n // Add in properties whose names you wish to fix before\n // setting or getting the value\n cssProps: {},\n // Get and set the style property on a DOM Node\n style: function(elem, name, value, extra) {\n // Don't set styles on text and comment nodes\n if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) return;\n // Make sure that we're working with the right name\n var ret, type, hooks, origName = camelCase(name), isCustomProp = rcustomProp.test(name), style = elem.style;\n // Make sure that we're working with the right name. We don't\n // want to query the value if it is a CSS custom property\n // since they are user-defined.\n if (!isCustomProp) name = finalPropName(origName);\n // Gets hook for the prefixed version, then unprefixed version\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName];\n // Check if we're setting a value\n if (value !== undefined) {\n type = typeof value;\n // Convert \"+=\" or \"-=\" to relative numbers (trac-7345)\n if (type === \"string\" && (ret = rcssNum.exec(value)) && ret[1]) {\n value = adjustCSS(elem, name, ret);\n // Fixes bug trac-9237\n type = \"number\";\n }\n // Make sure that null and NaN values aren't set (trac-7116)\n if (value == null || value !== value) return;\n // If a number was passed in, add the unit (except for certain CSS properties)\n // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n // \"px\" to a few hardcoded values.\n if (type === \"number\" && !isCustomProp) value += ret && ret[3] || (jQuery.cssNumber[origName] ? \"\" : \"px\");\n // background-* props affect original clone's values\n if (!support.clearCloneStyle && value === \"\" && name.indexOf(\"background\") === 0) style[name] = \"inherit\";\n // If a hook was provided, use that value, otherwise just set the specified value\n if (!hooks || !(\"set\" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) {\n if (isCustomProp) style.setProperty(name, value);\n else style[name] = value;\n }\n } else {\n // If a hook was provided get the non-computed value from there\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) return ret;\n // Otherwise just get the value from the style object\n return style[name];\n }\n },\n css: function(elem, name, extra, styles) {\n var val, num, hooks, origName = camelCase(name), isCustomProp = rcustomProp.test(name);\n // Make sure that we're working with the right name. We don't\n // want to modify the value if it is a CSS custom property\n // since they are user-defined.\n if (!isCustomProp) name = finalPropName(origName);\n // Try prefixed name followed by the unprefixed name\n hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName];\n // If a hook was provided get the computed value from there\n if (hooks && \"get\" in hooks) val = hooks.get(elem, true, extra);\n // Otherwise, if a way to get the computed value exists, use that\n if (val === undefined) val = curCSS(elem, name, styles);\n // Convert \"normal\" to computed value\n if (val === \"normal\" && name in cssNormalTransform) val = cssNormalTransform[name];\n // Make numeric if forced or a qualifier was provided and val looks numeric\n if (extra === \"\" || extra) {\n num = parseFloat(val);\n return extra === true || isFinite(num) ? num || 0 : val;\n }\n return val;\n }\n });\n jQuery.each([\n \"height\",\n \"width\"\n ], function(_i, dimension) {\n jQuery.cssHooks[dimension] = {\n get: function(elem, computed, extra) {\n if (computed) // Certain elements can have dimension info if we invisibly show them\n // but it must have a current display style that would benefit\n return rdisplayswap.test(jQuery.css(elem, \"display\")) && // Support: Safari 8+\n // Table columns in Safari have non-zero offsetWidth & zero\n // getBoundingClientRect().width unless display is changed.\n // Support: IE <=11 only\n // Running getBoundingClientRect on a disconnected node\n // in IE throws an error.\n (!elem.getClientRects().length || !elem.getBoundingClientRect().width) ? swap(elem, cssShow, function() {\n return getWidthOrHeight(elem, dimension, extra);\n }) : getWidthOrHeight(elem, dimension, extra);\n },\n set: function(elem, value, extra) {\n var matches, styles = getStyles(elem), // Only read styles.position if the test has a chance to fail\n // to avoid forcing a reflow.\n scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === \"absolute\", // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n boxSizingNeeded = scrollboxSizeBuggy || extra, isBorderBox = boxSizingNeeded && jQuery.css(elem, \"boxSizing\", false, styles) === \"border-box\", subtract = extra ? boxModelAdjustment(elem, dimension, extra, isBorderBox, styles) : 0;\n // Account for unreliable border-box dimensions by comparing offset* to computed and\n // faking a content-box to get border and padding (gh-3699)\n if (isBorderBox && scrollboxSizeBuggy) subtract -= Math.ceil(elem[\"offset\" + dimension[0].toUpperCase() + dimension.slice(1)] - parseFloat(styles[dimension]) - boxModelAdjustment(elem, dimension, \"border\", false, styles) - 0.5);\n // Convert to pixels if value adjustment is needed\n if (subtract && (matches = rcssNum.exec(value)) && (matches[3] || \"px\") !== \"px\") {\n elem.style[dimension] = value;\n value = jQuery.css(elem, dimension);\n }\n return setPositiveNumber(elem, value, subtract);\n }\n };\n });\n jQuery.cssHooks.marginLeft = addGetHookIf(support.reliableMarginLeft, function(elem, computed) {\n if (computed) return (parseFloat(curCSS(elem, \"marginLeft\")) || elem.getBoundingClientRect().left - swap(elem, {\n marginLeft: 0\n }, function() {\n return elem.getBoundingClientRect().left;\n })) + \"px\";\n });\n // These hooks are used by animate to expand properties\n jQuery.each({\n margin: \"\",\n padding: \"\",\n border: \"Width\"\n }, function(prefix, suffix) {\n jQuery.cssHooks[prefix + suffix] = {\n expand: function(value) {\n var i = 0, expanded = {}, // Assumes a single number if not a string\n parts = typeof value === \"string\" ? value.split(\" \") : [\n value\n ];\n for(; i < 4; i++)expanded[prefix + cssExpand[i] + suffix] = parts[i] || parts[i - 2] || parts[0];\n return expanded;\n }\n };\n if (prefix !== \"margin\") jQuery.cssHooks[prefix + suffix].set = setPositiveNumber;\n });\n jQuery.fn.extend({\n css: function(name, value) {\n return access(this, function(elem, name, value) {\n var styles, len, map = {}, i = 0;\n if (Array.isArray(name)) {\n styles = getStyles(elem);\n len = name.length;\n for(; i < len; i++)map[name[i]] = jQuery.css(elem, name[i], false, styles);\n return map;\n }\n return value !== undefined ? jQuery.style(elem, name, value) : jQuery.css(elem, name);\n }, name, value, arguments.length > 1);\n }\n });\n function Tween(elem, options, prop, end, easing) {\n return new Tween.prototype.init(elem, options, prop, end, easing);\n }\n jQuery.Tween = Tween;\n Tween.prototype = {\n constructor: Tween,\n init: function(elem, options, prop, end, easing, unit) {\n this.elem = elem;\n this.prop = prop;\n this.easing = easing || jQuery.easing._default;\n this.options = options;\n this.start = this.now = this.cur();\n this.end = end;\n this.unit = unit || (jQuery.cssNumber[prop] ? \"\" : \"px\");\n },\n cur: function() {\n var hooks = Tween.propHooks[this.prop];\n return hooks && hooks.get ? hooks.get(this) : Tween.propHooks._default.get(this);\n },\n run: function(percent) {\n var eased, hooks = Tween.propHooks[this.prop];\n if (this.options.duration) this.pos = eased = jQuery.easing[this.easing](percent, this.options.duration * percent, 0, 1, this.options.duration);\n else this.pos = eased = percent;\n this.now = (this.end - this.start) * eased + this.start;\n if (this.options.step) this.options.step.call(this.elem, this.now, this);\n if (hooks && hooks.set) hooks.set(this);\n else Tween.propHooks._default.set(this);\n return this;\n }\n };\n Tween.prototype.init.prototype = Tween.prototype;\n Tween.propHooks = {\n _default: {\n get: function(tween) {\n var result;\n // Use a property on the element directly when it is not a DOM element,\n // or when there is no matching style property that exists.\n if (tween.elem.nodeType !== 1 || tween.elem[tween.prop] != null && tween.elem.style[tween.prop] == null) return tween.elem[tween.prop];\n // Passing an empty string as a 3rd parameter to .css will automatically\n // attempt a parseFloat and fallback to a string if the parse fails.\n // Simple values such as \"10px\" are parsed to Float;\n // complex values such as \"rotate(1rad)\" are returned as-is.\n result = jQuery.css(tween.elem, tween.prop, \"\");\n // Empty strings, null, undefined and \"auto\" are converted to 0.\n return !result || result === \"auto\" ? 0 : result;\n },\n set: function(tween) {\n // Use step hook for back compat.\n // Use cssHook if its there.\n // Use .style if available and use plain properties where available.\n if (jQuery.fx.step[tween.prop]) jQuery.fx.step[tween.prop](tween);\n else if (tween.elem.nodeType === 1 && (jQuery.cssHooks[tween.prop] || tween.elem.style[finalPropName(tween.prop)] != null)) jQuery.style(tween.elem, tween.prop, tween.now + tween.unit);\n else tween.elem[tween.prop] = tween.now;\n }\n }\n };\n // Support: IE <=9 only\n // Panic based approach to setting things on disconnected nodes\n Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n set: function(tween) {\n if (tween.elem.nodeType && tween.elem.parentNode) tween.elem[tween.prop] = tween.now;\n }\n };\n jQuery.easing = {\n linear: function(p) {\n return p;\n },\n swing: function(p) {\n return 0.5 - Math.cos(p * Math.PI) / 2;\n },\n _default: \"swing\"\n };\n jQuery.fx = Tween.prototype.init;\n // Back compat <1.8 extension point\n jQuery.fx.step = {};\n var fxNow, inProgress, rfxtypes = /^(?:toggle|show|hide)$/, rrun = /queueHooks$/;\n function schedule() {\n if (inProgress) {\n if (document.hidden === false && window1.requestAnimationFrame) window1.requestAnimationFrame(schedule);\n else window1.setTimeout(schedule, jQuery.fx.interval);\n jQuery.fx.tick();\n }\n }\n // Animations created synchronously will run synchronously\n function createFxNow() {\n window1.setTimeout(function() {\n fxNow = undefined;\n });\n return fxNow = Date.now();\n }\n // Generate parameters to create a standard animation\n function genFx(type, includeWidth) {\n var which, i = 0, attrs = {\n height: type\n };\n // If we include width, step value is 1 to do all cssExpand values,\n // otherwise step value is 2 to skip over Left and Right\n includeWidth = includeWidth ? 1 : 0;\n for(; i < 4; i += 2 - includeWidth){\n which = cssExpand[i];\n attrs[\"margin\" + which] = attrs[\"padding\" + which] = type;\n }\n if (includeWidth) attrs.opacity = attrs.width = type;\n return attrs;\n }\n function createTween(value, prop, animation) {\n var tween, collection = (Animation.tweeners[prop] || []).concat(Animation.tweeners[\"*\"]), index = 0, length = collection.length;\n for(; index < length; index++){\n if (tween = collection[index].call(animation, prop, value)) // We're done with this property\n return tween;\n }\n }\n function defaultPrefilter(elem, props, opts) {\n var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, isBox = \"width\" in props || \"height\" in props, anim = this, orig = {}, style = elem.style, hidden = elem.nodeType && isHiddenWithinTree(elem), dataShow = dataPriv.get(elem, \"fxshow\");\n // Queue-skipping animations hijack the fx hooks\n if (!opts.queue) {\n hooks = jQuery._queueHooks(elem, \"fx\");\n if (hooks.unqueued == null) {\n hooks.unqueued = 0;\n oldfire = hooks.empty.fire;\n hooks.empty.fire = function() {\n if (!hooks.unqueued) oldfire();\n };\n }\n hooks.unqueued++;\n anim.always(function() {\n // Ensure the complete handler is called before this completes\n anim.always(function() {\n hooks.unqueued--;\n if (!jQuery.queue(elem, \"fx\").length) hooks.empty.fire();\n });\n });\n }\n // Detect show/hide animations\n for(prop in props){\n value = props[prop];\n if (rfxtypes.test(value)) {\n delete props[prop];\n toggle = toggle || value === \"toggle\";\n if (value === (hidden ? \"hide\" : \"show\")) {\n // Pretend to be hidden if this is a \"show\" and\n // there is still data from a stopped show/hide\n if (value === \"show\" && dataShow && dataShow[prop] !== undefined) hidden = true;\n else continue;\n }\n orig[prop] = dataShow && dataShow[prop] || jQuery.style(elem, prop);\n }\n }\n // Bail out if this is a no-op like .hide().hide()\n propTween = !jQuery.isEmptyObject(props);\n if (!propTween && jQuery.isEmptyObject(orig)) return;\n // Restrict \"overflow\" and \"display\" styles during box animations\n if (isBox && elem.nodeType === 1) {\n // Support: IE <=9 - 11, Edge 12 - 15\n // Record all 3 overflow attributes because IE does not infer the shorthand\n // from identically-valued overflowX and overflowY and Edge just mirrors\n // the overflowX value there.\n opts.overflow = [\n style.overflow,\n style.overflowX,\n style.overflowY\n ];\n // Identify a display type, preferring old show/hide data over the CSS cascade\n restoreDisplay = dataShow && dataShow.display;\n if (restoreDisplay == null) restoreDisplay = dataPriv.get(elem, \"display\");\n display = jQuery.css(elem, \"display\");\n if (display === \"none\") {\n if (restoreDisplay) display = restoreDisplay;\n else {\n // Get nonempty value(s) by temporarily forcing visibility\n showHide([\n elem\n ], true);\n restoreDisplay = elem.style.display || restoreDisplay;\n display = jQuery.css(elem, \"display\");\n showHide([\n elem\n ]);\n }\n }\n // Animate inline elements as inline-block\n if (display === \"inline\" || display === \"inline-block\" && restoreDisplay != null) {\n if (jQuery.css(elem, \"float\") === \"none\") {\n // Restore the original display value at the end of pure show/hide animations\n if (!propTween) {\n anim.done(function() {\n style.display = restoreDisplay;\n });\n if (restoreDisplay == null) {\n display = style.display;\n restoreDisplay = display === \"none\" ? \"\" : display;\n }\n }\n style.display = \"inline-block\";\n }\n }\n }\n if (opts.overflow) {\n style.overflow = \"hidden\";\n anim.always(function() {\n style.overflow = opts.overflow[0];\n style.overflowX = opts.overflow[1];\n style.overflowY = opts.overflow[2];\n });\n }\n // Implement show/hide animations\n propTween = false;\n for(prop in orig){\n // General show/hide setup for this element animation\n if (!propTween) {\n if (dataShow) {\n if (\"hidden\" in dataShow) hidden = dataShow.hidden;\n } else dataShow = dataPriv.access(elem, \"fxshow\", {\n display: restoreDisplay\n });\n // Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n if (toggle) dataShow.hidden = !hidden;\n // Show elements before animating them\n if (hidden) showHide([\n elem\n ], true);\n /* eslint-disable no-loop-func */ anim.done(function() {\n /* eslint-enable no-loop-func */ // The final step of a \"hide\" animation is actually hiding the element\n if (!hidden) showHide([\n elem\n ]);\n dataPriv.remove(elem, \"fxshow\");\n for(prop in orig)jQuery.style(elem, prop, orig[prop]);\n });\n }\n // Per-property setup\n propTween = createTween(hidden ? dataShow[prop] : 0, prop, anim);\n if (!(prop in dataShow)) {\n dataShow[prop] = propTween.start;\n if (hidden) {\n propTween.end = propTween.start;\n propTween.start = 0;\n }\n }\n }\n }\n function propFilter(props, specialEasing) {\n var index, name, easing, value, hooks;\n // camelCase, specialEasing and expand cssHook pass\n for(index in props){\n name = camelCase(index);\n easing = specialEasing[name];\n value = props[index];\n if (Array.isArray(value)) {\n easing = value[1];\n value = props[index] = value[0];\n }\n if (index !== name) {\n props[name] = value;\n delete props[index];\n }\n hooks = jQuery.cssHooks[name];\n if (hooks && \"expand\" in hooks) {\n value = hooks.expand(value);\n delete props[name];\n // Not quite $.extend, this won't overwrite existing keys.\n // Reusing 'index' because we have the correct \"name\"\n for(index in value)if (!(index in props)) {\n props[index] = value[index];\n specialEasing[index] = easing;\n }\n } else specialEasing[name] = easing;\n }\n }\n function Animation(elem, properties, options) {\n var result, stopped, index = 0, length = Animation.prefilters.length, deferred = jQuery.Deferred().always(function() {\n // Don't match elem in the :animated selector\n delete tick.elem;\n }), tick = function() {\n if (stopped) return false;\n var currentTime = fxNow || createFxNow(), remaining = Math.max(0, animation.startTime + animation.duration - currentTime), // Support: Android 2.3 only\n // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)\n temp = remaining / animation.duration || 0, percent = 1 - temp, index = 0, length = animation.tweens.length;\n for(; index < length; index++)animation.tweens[index].run(percent);\n deferred.notifyWith(elem, [\n animation,\n percent,\n remaining\n ]);\n // If there's more to do, yield\n if (percent < 1 && length) return remaining;\n // If this was an empty animation, synthesize a final progress notification\n if (!length) deferred.notifyWith(elem, [\n animation,\n 1,\n 0\n ]);\n // Resolve the animation and report its conclusion\n deferred.resolveWith(elem, [\n animation\n ]);\n return false;\n }, animation = deferred.promise({\n elem: elem,\n props: jQuery.extend({}, properties),\n opts: jQuery.extend(true, {\n specialEasing: {},\n easing: jQuery.easing._default\n }, options),\n originalProperties: properties,\n originalOptions: options,\n startTime: fxNow || createFxNow(),\n duration: options.duration,\n tweens: [],\n createTween: function(prop, end) {\n var tween = jQuery.Tween(elem, animation.opts, prop, end, animation.opts.specialEasing[prop] || animation.opts.easing);\n animation.tweens.push(tween);\n return tween;\n },\n stop: function(gotoEnd) {\n var index = 0, // If we are going to the end, we want to run all the tweens\n // otherwise we skip this part\n length = gotoEnd ? animation.tweens.length : 0;\n if (stopped) return this;\n stopped = true;\n for(; index < length; index++)animation.tweens[index].run(1);\n // Resolve when we played the last frame; otherwise, reject\n if (gotoEnd) {\n deferred.notifyWith(elem, [\n animation,\n 1,\n 0\n ]);\n deferred.resolveWith(elem, [\n animation,\n gotoEnd\n ]);\n } else deferred.rejectWith(elem, [\n animation,\n gotoEnd\n ]);\n return this;\n }\n }), props = animation.props;\n propFilter(props, animation.opts.specialEasing);\n for(; index < length; index++){\n result = Animation.prefilters[index].call(animation, elem, props, animation.opts);\n if (result) {\n if (isFunction(result.stop)) jQuery._queueHooks(animation.elem, animation.opts.queue).stop = result.stop.bind(result);\n return result;\n }\n }\n jQuery.map(props, createTween, animation);\n if (isFunction(animation.opts.start)) animation.opts.start.call(elem, animation);\n // Attach callbacks from options\n animation.progress(animation.opts.progress).done(animation.opts.done, animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);\n jQuery.fx.timer(jQuery.extend(tick, {\n elem: elem,\n anim: animation,\n queue: animation.opts.queue\n }));\n return animation;\n }\n jQuery.Animation = jQuery.extend(Animation, {\n tweeners: {\n \"*\": [\n function(prop, value) {\n var tween = this.createTween(prop, value);\n adjustCSS(tween.elem, prop, rcssNum.exec(value), tween);\n return tween;\n }\n ]\n },\n tweener: function(props, callback) {\n if (isFunction(props)) {\n callback = props;\n props = [\n \"*\"\n ];\n } else props = props.match(rnothtmlwhite);\n var prop, index = 0, length = props.length;\n for(; index < length; index++){\n prop = props[index];\n Animation.tweeners[prop] = Animation.tweeners[prop] || [];\n Animation.tweeners[prop].unshift(callback);\n }\n },\n prefilters: [\n defaultPrefilter\n ],\n prefilter: function(callback, prepend) {\n if (prepend) Animation.prefilters.unshift(callback);\n else Animation.prefilters.push(callback);\n }\n });\n jQuery.speed = function(speed, easing, fn) {\n var opt = speed && typeof speed === \"object\" ? jQuery.extend({}, speed) : {\n complete: fn || !fn && easing || isFunction(speed) && speed,\n duration: speed,\n easing: fn && easing || easing && !isFunction(easing) && easing\n };\n // Go to the end state if fx are off\n if (jQuery.fx.off) opt.duration = 0;\n else if (typeof opt.duration !== \"number\") {\n if (opt.duration in jQuery.fx.speeds) opt.duration = jQuery.fx.speeds[opt.duration];\n else opt.duration = jQuery.fx.speeds._default;\n }\n // Normalize opt.queue - true/undefined/null -> \"fx\"\n if (opt.queue == null || opt.queue === true) opt.queue = \"fx\";\n // Queueing\n opt.old = opt.complete;\n opt.complete = function() {\n if (isFunction(opt.old)) opt.old.call(this);\n if (opt.queue) jQuery.dequeue(this, opt.queue);\n };\n return opt;\n };\n jQuery.fn.extend({\n fadeTo: function(speed, to, easing, callback) {\n // Show any hidden elements after setting opacity to 0\n return this.filter(isHiddenWithinTree).css(\"opacity\", 0).show()// Animate to the value specified\n .end().animate({\n opacity: to\n }, speed, easing, callback);\n },\n animate: function(prop, speed, easing, callback) {\n var empty = jQuery.isEmptyObject(prop), optall = jQuery.speed(speed, easing, callback), doAnimation = function() {\n // Operate on a copy of prop so per-property easing won't be lost\n var anim = Animation(this, jQuery.extend({}, prop), optall);\n // Empty animations, or finishing resolves immediately\n if (empty || dataPriv.get(this, \"finish\")) anim.stop(true);\n };\n doAnimation.finish = doAnimation;\n return empty || optall.queue === false ? this.each(doAnimation) : this.queue(optall.queue, doAnimation);\n },\n stop: function(type, clearQueue, gotoEnd) {\n var stopQueue = function(hooks) {\n var stop = hooks.stop;\n delete hooks.stop;\n stop(gotoEnd);\n };\n if (typeof type !== \"string\") {\n gotoEnd = clearQueue;\n clearQueue = type;\n type = undefined;\n }\n if (clearQueue) this.queue(type || \"fx\", []);\n return this.each(function() {\n var dequeue = true, index = type != null && type + \"queueHooks\", timers = jQuery.timers, data = dataPriv.get(this);\n if (index) {\n if (data[index] && data[index].stop) stopQueue(data[index]);\n } else {\n for(index in data)if (data[index] && data[index].stop && rrun.test(index)) stopQueue(data[index]);\n }\n for(index = timers.length; index--;)if (timers[index].elem === this && (type == null || timers[index].queue === type)) {\n timers[index].anim.stop(gotoEnd);\n dequeue = false;\n timers.splice(index, 1);\n }\n // Start the next in the queue if the last step wasn't forced.\n // Timers currently will call their complete callbacks, which\n // will dequeue but only if they were gotoEnd.\n if (dequeue || !gotoEnd) jQuery.dequeue(this, type);\n });\n },\n finish: function(type) {\n if (type !== false) type = type || \"fx\";\n return this.each(function() {\n var index, data = dataPriv.get(this), queue = data[type + \"queue\"], hooks = data[type + \"queueHooks\"], timers = jQuery.timers, length = queue ? queue.length : 0;\n // Enable finishing flag on private data\n data.finish = true;\n // Empty the queue first\n jQuery.queue(this, type, []);\n if (hooks && hooks.stop) hooks.stop.call(this, true);\n // Look for any active animations, and finish them\n for(index = timers.length; index--;)if (timers[index].elem === this && timers[index].queue === type) {\n timers[index].anim.stop(true);\n timers.splice(index, 1);\n }\n // Look for any animations in the old queue and finish them\n for(index = 0; index < length; index++)if (queue[index] && queue[index].finish) queue[index].finish.call(this);\n // Turn off finishing flag\n delete data.finish;\n });\n }\n });\n jQuery.each([\n \"toggle\",\n \"show\",\n \"hide\"\n ], function(_i, name) {\n var cssFn = jQuery.fn[name];\n jQuery.fn[name] = function(speed, easing, callback) {\n return speed == null || typeof speed === \"boolean\" ? cssFn.apply(this, arguments) : this.animate(genFx(name, true), speed, easing, callback);\n };\n });\n // Generate shortcuts for custom animations\n jQuery.each({\n slideDown: genFx(\"show\"),\n slideUp: genFx(\"hide\"),\n slideToggle: genFx(\"toggle\"),\n fadeIn: {\n opacity: \"show\"\n },\n fadeOut: {\n opacity: \"hide\"\n },\n fadeToggle: {\n opacity: \"toggle\"\n }\n }, function(name, props) {\n jQuery.fn[name] = function(speed, easing, callback) {\n return this.animate(props, speed, easing, callback);\n };\n });\n jQuery.timers = [];\n jQuery.fx.tick = function() {\n var timer, i = 0, timers = jQuery.timers;\n fxNow = Date.now();\n for(; i < timers.length; i++){\n timer = timers[i];\n // Run the timer and safely remove it when done (allowing for external removal)\n if (!timer() && timers[i] === timer) timers.splice(i--, 1);\n }\n if (!timers.length) jQuery.fx.stop();\n fxNow = undefined;\n };\n jQuery.fx.timer = function(timer) {\n jQuery.timers.push(timer);\n jQuery.fx.start();\n };\n jQuery.fx.interval = 13;\n jQuery.fx.start = function() {\n if (inProgress) return;\n inProgress = true;\n schedule();\n };\n jQuery.fx.stop = function() {\n inProgress = null;\n };\n jQuery.fx.speeds = {\n slow: 600,\n fast: 200,\n // Default speed\n _default: 400\n };\n // Based off of the plugin by Clint Helfers, with permission.\n jQuery.fn.delay = function(time, type) {\n time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;\n type = type || \"fx\";\n return this.queue(type, function(next, hooks) {\n var timeout = window1.setTimeout(next, time);\n hooks.stop = function() {\n window1.clearTimeout(timeout);\n };\n });\n };\n (function() {\n var input = document.createElement(\"input\"), select = document.createElement(\"select\"), opt = select.appendChild(document.createElement(\"option\"));\n input.type = \"checkbox\";\n // Support: Android <=4.3 only\n // Default value for a checkbox should be \"on\"\n support.checkOn = input.value !== \"\";\n // Support: IE <=11 only\n // Must access selectedIndex to make default options select\n support.optSelected = opt.selected;\n // Support: IE <=11 only\n // An input loses its value after becoming a radio\n input = document.createElement(\"input\");\n input.value = \"t\";\n input.type = \"radio\";\n support.radioValue = input.value === \"t\";\n })();\n var boolHook, attrHandle = jQuery.expr.attrHandle;\n jQuery.fn.extend({\n attr: function(name, value) {\n return access(this, jQuery.attr, name, value, arguments.length > 1);\n },\n removeAttr: function(name) {\n return this.each(function() {\n jQuery.removeAttr(this, name);\n });\n }\n });\n jQuery.extend({\n attr: function(elem, name, value) {\n var ret, hooks, nType = elem.nodeType;\n // Don't get/set attributes on text, comment and attribute nodes\n if (nType === 3 || nType === 8 || nType === 2) return;\n // Fallback to prop when attributes are not supported\n if (typeof elem.getAttribute === \"undefined\") return jQuery.prop(elem, name, value);\n // Attribute hooks are determined by the lowercase version\n // Grab necessary hook if one is defined\n if (nType !== 1 || !jQuery.isXMLDoc(elem)) hooks = jQuery.attrHooks[name.toLowerCase()] || (jQuery.expr.match.bool.test(name) ? boolHook : undefined);\n if (value !== undefined) {\n if (value === null) {\n jQuery.removeAttr(elem, name);\n return;\n }\n if (hooks && \"set\" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) return ret;\n elem.setAttribute(name, value + \"\");\n return value;\n }\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, name)) !== null) return ret;\n ret = jQuery.find.attr(elem, name);\n // Non-existent attributes return null, we normalize to undefined\n return ret == null ? undefined : ret;\n },\n attrHooks: {\n type: {\n set: function(elem, value) {\n if (!support.radioValue && value === \"radio\" && nodeName(elem, \"input\")) {\n var val = elem.value;\n elem.setAttribute(\"type\", value);\n if (val) elem.value = val;\n return value;\n }\n }\n }\n },\n removeAttr: function(elem, value) {\n var name, i = 0, // Attribute names can contain non-HTML whitespace characters\n // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n attrNames = value && value.match(rnothtmlwhite);\n if (attrNames && elem.nodeType === 1) while(name = attrNames[i++])elem.removeAttribute(name);\n }\n });\n // Hooks for boolean attributes\n boolHook = {\n set: function(elem, value, name) {\n if (value === false) // Remove boolean attributes when set to false\n jQuery.removeAttr(elem, name);\n else elem.setAttribute(name, name);\n return name;\n }\n };\n jQuery.each(jQuery.expr.match.bool.source.match(/\\w+/g), function(_i, name) {\n var getter = attrHandle[name] || jQuery.find.attr;\n attrHandle[name] = function(elem, name, isXML) {\n var ret, handle, lowercaseName = name.toLowerCase();\n if (!isXML) {\n // Avoid an infinite loop by temporarily removing this function from the getter\n handle = attrHandle[lowercaseName];\n attrHandle[lowercaseName] = ret;\n ret = getter(elem, name, isXML) != null ? lowercaseName : null;\n attrHandle[lowercaseName] = handle;\n }\n return ret;\n };\n });\n var rfocusable = /^(?:input|select|textarea|button)$/i, rclickable = /^(?:a|area)$/i;\n jQuery.fn.extend({\n prop: function(name, value) {\n return access(this, jQuery.prop, name, value, arguments.length > 1);\n },\n removeProp: function(name) {\n return this.each(function() {\n delete this[jQuery.propFix[name] || name];\n });\n }\n });\n jQuery.extend({\n prop: function(elem, name, value) {\n var ret, hooks, nType = elem.nodeType;\n // Don't get/set properties on text, comment and attribute nodes\n if (nType === 3 || nType === 8 || nType === 2) return;\n if (nType !== 1 || !jQuery.isXMLDoc(elem)) {\n // Fix name and attach hooks\n name = jQuery.propFix[name] || name;\n hooks = jQuery.propHooks[name];\n }\n if (value !== undefined) {\n if (hooks && \"set\" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) return ret;\n return elem[name] = value;\n }\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, name)) !== null) return ret;\n return elem[name];\n },\n propHooks: {\n tabIndex: {\n get: function(elem) {\n // Support: IE <=9 - 11 only\n // elem.tabIndex doesn't always return the\n // correct value when it hasn't been explicitly set\n // Use proper attribute retrieval (trac-12072)\n var tabindex = jQuery.find.attr(elem, \"tabindex\");\n if (tabindex) return parseInt(tabindex, 10);\n if (rfocusable.test(elem.nodeName) || rclickable.test(elem.nodeName) && elem.href) return 0;\n return -1;\n }\n }\n },\n propFix: {\n \"for\": \"htmlFor\",\n \"class\": \"className\"\n }\n });\n // Support: IE <=11 only\n // Accessing the selectedIndex property\n // forces the browser to respect setting selected\n // on the option\n // The getter ensures a default option is selected\n // when in an optgroup\n // eslint rule \"no-unused-expressions\" is disabled for this code\n // since it considers such accessions noop\n if (!support.optSelected) jQuery.propHooks.selected = {\n get: function(elem) {\n /* eslint no-unused-expressions: \"off\" */ var parent = elem.parentNode;\n if (parent && parent.parentNode) parent.parentNode.selectedIndex;\n return null;\n },\n set: function(elem) {\n /* eslint no-unused-expressions: \"off\" */ var parent = elem.parentNode;\n if (parent) {\n parent.selectedIndex;\n if (parent.parentNode) parent.parentNode.selectedIndex;\n }\n }\n };\n jQuery.each([\n \"tabIndex\",\n \"readOnly\",\n \"maxLength\",\n \"cellSpacing\",\n \"cellPadding\",\n \"rowSpan\",\n \"colSpan\",\n \"useMap\",\n \"frameBorder\",\n \"contentEditable\"\n ], function() {\n jQuery.propFix[this.toLowerCase()] = this;\n });\n // Strip and collapse whitespace according to HTML spec\n // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n function stripAndCollapse(value) {\n var tokens = value.match(rnothtmlwhite) || [];\n return tokens.join(\" \");\n }\n function getClass(elem) {\n return elem.getAttribute && elem.getAttribute(\"class\") || \"\";\n }\n function classesToArray(value) {\n if (Array.isArray(value)) return value;\n if (typeof value === \"string\") return value.match(rnothtmlwhite) || [];\n return [];\n }\n jQuery.fn.extend({\n addClass: function(value) {\n var classNames, cur, curValue, className, i, finalValue;\n if (isFunction(value)) return this.each(function(j) {\n jQuery(this).addClass(value.call(this, j, getClass(this)));\n });\n classNames = classesToArray(value);\n if (classNames.length) return this.each(function() {\n curValue = getClass(this);\n cur = this.nodeType === 1 && \" \" + stripAndCollapse(curValue) + \" \";\n if (cur) {\n for(i = 0; i < classNames.length; i++){\n className = classNames[i];\n if (cur.indexOf(\" \" + className + \" \") < 0) cur += className + \" \";\n }\n // Only assign if different to avoid unneeded rendering.\n finalValue = stripAndCollapse(cur);\n if (curValue !== finalValue) this.setAttribute(\"class\", finalValue);\n }\n });\n return this;\n },\n removeClass: function(value) {\n var classNames, cur, curValue, className, i, finalValue;\n if (isFunction(value)) return this.each(function(j) {\n jQuery(this).removeClass(value.call(this, j, getClass(this)));\n });\n if (!arguments.length) return this.attr(\"class\", \"\");\n classNames = classesToArray(value);\n if (classNames.length) return this.each(function() {\n curValue = getClass(this);\n // This expression is here for better compressibility (see addClass)\n cur = this.nodeType === 1 && \" \" + stripAndCollapse(curValue) + \" \";\n if (cur) {\n for(i = 0; i < classNames.length; i++){\n className = classNames[i];\n // Remove *all* instances\n while(cur.indexOf(\" \" + className + \" \") > -1)cur = cur.replace(\" \" + className + \" \", \" \");\n }\n // Only assign if different to avoid unneeded rendering.\n finalValue = stripAndCollapse(cur);\n if (curValue !== finalValue) this.setAttribute(\"class\", finalValue);\n }\n });\n return this;\n },\n toggleClass: function(value, stateVal) {\n var classNames, className, i, self, type = typeof value, isValidValue = type === \"string\" || Array.isArray(value);\n if (isFunction(value)) return this.each(function(i) {\n jQuery(this).toggleClass(value.call(this, i, getClass(this), stateVal), stateVal);\n });\n if (typeof stateVal === \"boolean\" && isValidValue) return stateVal ? this.addClass(value) : this.removeClass(value);\n classNames = classesToArray(value);\n return this.each(function() {\n if (isValidValue) {\n // Toggle individual class names\n self = jQuery(this);\n for(i = 0; i < classNames.length; i++){\n className = classNames[i];\n // Check each className given, space separated list\n if (self.hasClass(className)) self.removeClass(className);\n else self.addClass(className);\n }\n // Toggle whole class name\n } else if (value === undefined || type === \"boolean\") {\n className = getClass(this);\n if (className) // Store className if set\n dataPriv.set(this, \"__className__\", className);\n // If the element has a class name or if we're passed `false`,\n // then remove the whole classname (if there was one, the above saved it).\n // Otherwise bring back whatever was previously saved (if anything),\n // falling back to the empty string if nothing was stored.\n if (this.setAttribute) this.setAttribute(\"class\", className || value === false ? \"\" : dataPriv.get(this, \"__className__\") || \"\");\n }\n });\n },\n hasClass: function(selector) {\n var className, elem, i = 0;\n className = \" \" + selector + \" \";\n while(elem = this[i++]){\n if (elem.nodeType === 1 && (\" \" + stripAndCollapse(getClass(elem)) + \" \").indexOf(className) > -1) return true;\n }\n return false;\n }\n });\n var rreturn = /\\r/g;\n jQuery.fn.extend({\n val: function(value) {\n var hooks, ret, valueIsFunction, elem = this[0];\n if (!arguments.length) {\n if (elem) {\n hooks = jQuery.valHooks[elem.type] || jQuery.valHooks[elem.nodeName.toLowerCase()];\n if (hooks && \"get\" in hooks && (ret = hooks.get(elem, \"value\")) !== undefined) return ret;\n ret = elem.value;\n // Handle most common string cases\n if (typeof ret === \"string\") return ret.replace(rreturn, \"\");\n // Handle cases where value is null/undef or number\n return ret == null ? \"\" : ret;\n }\n return;\n }\n valueIsFunction = isFunction(value);\n return this.each(function(i) {\n var val;\n if (this.nodeType !== 1) return;\n if (valueIsFunction) val = value.call(this, i, jQuery(this).val());\n else val = value;\n // Treat null/undefined as \"\"; convert numbers to string\n if (val == null) val = \"\";\n else if (typeof val === \"number\") val += \"\";\n else if (Array.isArray(val)) val = jQuery.map(val, function(value) {\n return value == null ? \"\" : value + \"\";\n });\n hooks = jQuery.valHooks[this.type] || jQuery.valHooks[this.nodeName.toLowerCase()];\n // If set returns undefined, fall back to normal setting\n if (!hooks || !(\"set\" in hooks) || hooks.set(this, val, \"value\") === undefined) this.value = val;\n });\n }\n });\n jQuery.extend({\n valHooks: {\n option: {\n get: function(elem) {\n var val = jQuery.find.attr(elem, \"value\");\n return val != null ? val : // Support: IE <=10 - 11 only\n // option.text throws exceptions (trac-14686, trac-14858)\n // Strip and collapse whitespace\n // https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n stripAndCollapse(jQuery.text(elem));\n }\n },\n select: {\n get: function(elem) {\n var value, option, i, options = elem.options, index = elem.selectedIndex, one = elem.type === \"select-one\", values = one ? null : [], max = one ? index + 1 : options.length;\n if (index < 0) i = max;\n else i = one ? index : 0;\n // Loop through all the selected options\n for(; i < max; i++){\n option = options[i];\n // Support: IE <=9 only\n // IE8-9 doesn't update selected after form reset (trac-2551)\n if ((option.selected || i === index) && // Don't return options that are disabled or in a disabled optgroup\n !option.disabled && (!option.parentNode.disabled || !nodeName(option.parentNode, \"optgroup\"))) {\n // Get the specific value for the option\n value = jQuery(option).val();\n // We don't need an array for one selects\n if (one) return value;\n // Multi-Selects return an array\n values.push(value);\n }\n }\n return values;\n },\n set: function(elem, value) {\n var optionSet, option, options = elem.options, values = jQuery.makeArray(value), i = options.length;\n while(i--){\n option = options[i];\n /* eslint-disable no-cond-assign */ if (option.selected = jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1) optionSet = true;\n /* eslint-enable no-cond-assign */ }\n // Force browsers to behave consistently when non-matching value is set\n if (!optionSet) elem.selectedIndex = -1;\n return values;\n }\n }\n }\n });\n // Radios and checkboxes getter/setter\n jQuery.each([\n \"radio\",\n \"checkbox\"\n ], function() {\n jQuery.valHooks[this] = {\n set: function(elem, value) {\n if (Array.isArray(value)) return elem.checked = jQuery.inArray(jQuery(elem).val(), value) > -1;\n }\n };\n if (!support.checkOn) jQuery.valHooks[this].get = function(elem) {\n return elem.getAttribute(\"value\") === null ? \"on\" : elem.value;\n };\n });\n // Return jQuery for attributes-only inclusion\n var location = window1.location;\n var nonce = {\n guid: Date.now()\n };\n var rquery = /\\?/;\n // Cross-browser xml parsing\n jQuery.parseXML = function(data) {\n var xml, parserErrorElem;\n if (!data || typeof data !== \"string\") return null;\n // Support: IE 9 - 11 only\n // IE throws on parseFromString with invalid input.\n try {\n xml = new window1.DOMParser().parseFromString(data, \"text/xml\");\n } catch (e) {}\n parserErrorElem = xml && xml.getElementsByTagName(\"parsererror\")[0];\n if (!xml || parserErrorElem) jQuery.error(\"Invalid XML: \" + (parserErrorElem ? jQuery.map(parserErrorElem.childNodes, function(el) {\n return el.textContent;\n }).join(\"\\n\") : data));\n return xml;\n };\n var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, stopPropagationCallback = function(e) {\n e.stopPropagation();\n };\n jQuery.extend(jQuery.event, {\n trigger: function(event, data, elem, onlyHandlers) {\n var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, eventPath = [\n elem || document\n ], type = hasOwn.call(event, \"type\") ? event.type : event, namespaces = hasOwn.call(event, \"namespace\") ? event.namespace.split(\".\") : [];\n cur = lastElement = tmp = elem = elem || document;\n // Don't do events on text and comment nodes\n if (elem.nodeType === 3 || elem.nodeType === 8) return;\n // focus/blur morphs to focusin/out; ensure we're not firing them right now\n if (rfocusMorph.test(type + jQuery.event.triggered)) return;\n if (type.indexOf(\".\") > -1) {\n // Namespaced trigger; create a regexp to match event type in handle()\n namespaces = type.split(\".\");\n type = namespaces.shift();\n namespaces.sort();\n }\n ontype = type.indexOf(\":\") < 0 && \"on\" + type;\n // Caller can pass in a jQuery.Event object, Object, or just an event type string\n event = event[jQuery.expando] ? event : new jQuery.Event(type, typeof event === \"object\" && event);\n // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n event.isTrigger = onlyHandlers ? 2 : 3;\n event.namespace = namespaces.join(\".\");\n event.rnamespace = event.namespace ? new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null;\n // Clean up the event in case it is being reused\n event.result = undefined;\n if (!event.target) event.target = elem;\n // Clone any incoming data and prepend the event, creating the handler arg list\n data = data == null ? [\n event\n ] : jQuery.makeArray(data, [\n event\n ]);\n // Allow special events to draw outside the lines\n special = jQuery.event.special[type] || {};\n if (!onlyHandlers && special.trigger && special.trigger.apply(elem, data) === false) return;\n // Determine event propagation path in advance, per W3C events spec (trac-9951)\n // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)\n if (!onlyHandlers && !special.noBubble && !isWindow(elem)) {\n bubbleType = special.delegateType || type;\n if (!rfocusMorph.test(bubbleType + type)) cur = cur.parentNode;\n for(; cur; cur = cur.parentNode){\n eventPath.push(cur);\n tmp = cur;\n }\n // Only add window if we got to document (e.g., not plain obj or detached DOM)\n if (tmp === (elem.ownerDocument || document)) eventPath.push(tmp.defaultView || tmp.parentWindow || window1);\n }\n // Fire handlers on the event path\n i = 0;\n while((cur = eventPath[i++]) && !event.isPropagationStopped()){\n lastElement = cur;\n event.type = i > 1 ? bubbleType : special.bindType || type;\n // jQuery handler\n handle = (dataPriv.get(cur, \"events\") || Object.create(null))[event.type] && dataPriv.get(cur, \"handle\");\n if (handle) handle.apply(cur, data);\n // Native handler\n handle = ontype && cur[ontype];\n if (handle && handle.apply && acceptData(cur)) {\n event.result = handle.apply(cur, data);\n if (event.result === false) event.preventDefault();\n }\n }\n event.type = type;\n // If nobody prevented the default action, do it now\n if (!onlyHandlers && !event.isDefaultPrevented()) {\n if ((!special._default || special._default.apply(eventPath.pop(), data) === false) && acceptData(elem)) // Call a native DOM method on the target with the same name as the event.\n // Don't do default actions on window, that's where global variables be (trac-6170)\n {\n if (ontype && isFunction(elem[type]) && !isWindow(elem)) {\n // Don't re-trigger an onFOO event when we call its FOO() method\n tmp = elem[ontype];\n if (tmp) elem[ontype] = null;\n // Prevent re-triggering of the same event, since we already bubbled it above\n jQuery.event.triggered = type;\n if (event.isPropagationStopped()) lastElement.addEventListener(type, stopPropagationCallback);\n elem[type]();\n if (event.isPropagationStopped()) lastElement.removeEventListener(type, stopPropagationCallback);\n jQuery.event.triggered = undefined;\n if (tmp) elem[ontype] = tmp;\n }\n }\n }\n return event.result;\n },\n // Piggyback on a donor event to simulate a different one\n // Used only for `focus(in | out)` events\n simulate: function(type, elem, event) {\n var e = jQuery.extend(new jQuery.Event(), event, {\n type: type,\n isSimulated: true\n });\n jQuery.event.trigger(e, null, elem);\n }\n });\n jQuery.fn.extend({\n trigger: function(type, data) {\n return this.each(function() {\n jQuery.event.trigger(type, data, this);\n });\n },\n triggerHandler: function(type, data) {\n var elem = this[0];\n if (elem) return jQuery.event.trigger(type, data, elem, true);\n }\n });\n var rbracket = /\\[\\]$/, rCRLF = /\\r?\\n/g, rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, rsubmittable = /^(?:input|select|textarea|keygen)/i;\n function buildParams(prefix, obj, traditional, add) {\n var name;\n if (Array.isArray(obj)) // Serialize array item.\n jQuery.each(obj, function(i, v) {\n if (traditional || rbracket.test(prefix)) // Treat each array item as a scalar.\n add(prefix, v);\n else // Item is non-scalar (array or object), encode its numeric index.\n buildParams(prefix + \"[\" + (typeof v === \"object\" && v != null ? i : \"\") + \"]\", v, traditional, add);\n });\n else if (!traditional && toType(obj) === \"object\") // Serialize object item.\n for(name in obj)buildParams(prefix + \"[\" + name + \"]\", obj[name], traditional, add);\n else // Serialize scalar item.\n add(prefix, obj);\n }\n // Serialize an array of form elements or a set of\n // key/values into a query string\n jQuery.param = function(a, traditional) {\n var prefix, s = [], add = function(key, valueOrFunction) {\n // If value is a function, invoke it and use its return value\n var value = isFunction(valueOrFunction) ? valueOrFunction() : valueOrFunction;\n s[s.length] = encodeURIComponent(key) + \"=\" + encodeURIComponent(value == null ? \"\" : value);\n };\n if (a == null) return \"\";\n // If an array was passed in, assume that it is an array of form elements.\n if (Array.isArray(a) || a.jquery && !jQuery.isPlainObject(a)) // Serialize the form elements\n jQuery.each(a, function() {\n add(this.name, this.value);\n });\n else // If traditional, encode the \"old\" way (the way 1.3.2 or older\n // did it), otherwise encode params recursively.\n for(prefix in a)buildParams(prefix, a[prefix], traditional, add);\n // Return the resulting serialization\n return s.join(\"&\");\n };\n jQuery.fn.extend({\n serialize: function() {\n return jQuery.param(this.serializeArray());\n },\n serializeArray: function() {\n return this.map(function() {\n // Can add propHook for \"elements\" to filter or add form elements\n var elements = jQuery.prop(this, \"elements\");\n return elements ? jQuery.makeArray(elements) : this;\n }).filter(function() {\n var type = this.type;\n // Use .is( \":disabled\" ) so that fieldset[disabled] works\n return this.name && !jQuery(this).is(\":disabled\") && rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) && (this.checked || !rcheckableType.test(type));\n }).map(function(_i, elem) {\n var val = jQuery(this).val();\n if (val == null) return null;\n if (Array.isArray(val)) return jQuery.map(val, function(val) {\n return {\n name: elem.name,\n value: val.replace(rCRLF, \"\\r\\n\")\n };\n });\n return {\n name: elem.name,\n value: val.replace(rCRLF, \"\\r\\n\")\n };\n }).get();\n }\n });\n var r20 = /%20/g, rhash = /#.*$/, rantiCache = /([?&])_=[^&]*/, rheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg, // trac-7653, trac-8125, trac-8152: local protocol detection\n rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, rnoContent = /^(?:GET|HEAD)$/, rprotocol = /^\\/\\//, /* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */ prefilters = {}, /* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */ transports = {}, // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression\n allTypes = \"*/\".concat(\"*\"), // Anchor tag for parsing the document origin\n originAnchor = document.createElement(\"a\");\n originAnchor.href = location.href;\n // Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\n function addToPrefiltersOrTransports(structure) {\n // dataTypeExpression is optional and defaults to \"*\"\n return function(dataTypeExpression, func) {\n if (typeof dataTypeExpression !== \"string\") {\n func = dataTypeExpression;\n dataTypeExpression = \"*\";\n }\n var dataType, i = 0, dataTypes = dataTypeExpression.toLowerCase().match(rnothtmlwhite) || [];\n if (isFunction(func)) {\n // For each dataType in the dataTypeExpression\n while(dataType = dataTypes[i++])// Prepend if requested\n if (dataType[0] === \"+\") {\n dataType = dataType.slice(1) || \"*\";\n (structure[dataType] = structure[dataType] || []).unshift(func);\n // Otherwise append\n } else (structure[dataType] = structure[dataType] || []).push(func);\n }\n };\n }\n // Base inspection function for prefilters and transports\n function inspectPrefiltersOrTransports(structure, options, originalOptions, jqXHR) {\n var inspected = {}, seekingTransport = structure === transports;\n function inspect(dataType) {\n var selected;\n inspected[dataType] = true;\n jQuery.each(structure[dataType] || [], function(_, prefilterOrFactory) {\n var dataTypeOrTransport = prefilterOrFactory(options, originalOptions, jqXHR);\n if (typeof dataTypeOrTransport === \"string\" && !seekingTransport && !inspected[dataTypeOrTransport]) {\n options.dataTypes.unshift(dataTypeOrTransport);\n inspect(dataTypeOrTransport);\n return false;\n } else if (seekingTransport) return !(selected = dataTypeOrTransport);\n });\n return selected;\n }\n return inspect(options.dataTypes[0]) || !inspected[\"*\"] && inspect(\"*\");\n }\n // A special extend for ajax options\n // that takes \"flat\" options (not to be deep extended)\n // Fixes trac-9887\n function ajaxExtend(target, src) {\n var key, deep, flatOptions = jQuery.ajaxSettings.flatOptions || {};\n for(key in src)if (src[key] !== undefined) (flatOptions[key] ? target : deep || (deep = {}))[key] = src[key];\n if (deep) jQuery.extend(true, target, deep);\n return target;\n }\n /* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */ function ajaxHandleResponses(s, jqXHR, responses) {\n var ct, type, finalDataType, firstDataType, contents = s.contents, dataTypes = s.dataTypes;\n // Remove auto dataType and get content-type in the process\n while(dataTypes[0] === \"*\"){\n dataTypes.shift();\n if (ct === undefined) ct = s.mimeType || jqXHR.getResponseHeader(\"Content-Type\");\n }\n // Check if we're dealing with a known content-type\n if (ct) {\n for(type in contents)if (contents[type] && contents[type].test(ct)) {\n dataTypes.unshift(type);\n break;\n }\n }\n // Check to see if we have a response for the expected dataType\n if (dataTypes[0] in responses) finalDataType = dataTypes[0];\n else {\n // Try convertible dataTypes\n for(type in responses){\n if (!dataTypes[0] || s.converters[type + \" \" + dataTypes[0]]) {\n finalDataType = type;\n break;\n }\n if (!firstDataType) firstDataType = type;\n }\n // Or just use first one\n finalDataType = finalDataType || firstDataType;\n }\n // If we found a dataType\n // We add the dataType to the list if needed\n // and return the corresponding response\n if (finalDataType) {\n if (finalDataType !== dataTypes[0]) dataTypes.unshift(finalDataType);\n return responses[finalDataType];\n }\n }\n /* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */ function ajaxConvert(s, response, jqXHR, isSuccess) {\n var conv2, current, conv, tmp, prev, converters = {}, // Work with a copy of dataTypes in case we need to modify it for conversion\n dataTypes = s.dataTypes.slice();\n // Create converters map with lowercased keys\n if (dataTypes[1]) for(conv in s.converters)converters[conv.toLowerCase()] = s.converters[conv];\n current = dataTypes.shift();\n // Convert to each sequential dataType\n while(current){\n if (s.responseFields[current]) jqXHR[s.responseFields[current]] = response;\n // Apply the dataFilter if provided\n if (!prev && isSuccess && s.dataFilter) response = s.dataFilter(response, s.dataType);\n prev = current;\n current = dataTypes.shift();\n if (current) {\n // There's only work to do if current dataType is non-auto\n if (current === \"*\") current = prev;\n else if (prev !== \"*\" && prev !== current) {\n // Seek a direct converter\n conv = converters[prev + \" \" + current] || converters[\"* \" + current];\n // If none found, seek a pair\n if (!conv) for(conv2 in converters){\n // If conv2 outputs current\n tmp = conv2.split(\" \");\n if (tmp[1] === current) {\n // If prev can be converted to accepted input\n conv = converters[prev + \" \" + tmp[0]] || converters[\"* \" + tmp[0]];\n if (conv) {\n // Condense equivalence converters\n if (conv === true) conv = converters[conv2];\n else if (converters[conv2] !== true) {\n current = tmp[0];\n dataTypes.unshift(tmp[1]);\n }\n break;\n }\n }\n }\n // Apply converter (if not an equivalence)\n if (conv !== true) {\n // Unless errors are allowed to bubble, catch and return them\n if (conv && s.throws) response = conv(response);\n else try {\n response = conv(response);\n } catch (e) {\n return {\n state: \"parsererror\",\n error: conv ? e : \"No conversion from \" + prev + \" to \" + current\n };\n }\n }\n }\n }\n }\n return {\n state: \"success\",\n data: response\n };\n }\n jQuery.extend({\n // Counter for holding the number of active queries\n active: 0,\n // Last-Modified header cache for next request\n lastModified: {},\n etag: {},\n ajaxSettings: {\n url: location.href,\n type: \"GET\",\n isLocal: rlocalProtocol.test(location.protocol),\n global: true,\n processData: true,\n async: true,\n contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n /*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/ accepts: {\n \"*\": allTypes,\n text: \"text/plain\",\n html: \"text/html\",\n xml: \"application/xml, text/xml\",\n json: \"application/json, text/javascript\"\n },\n contents: {\n xml: /\\bxml\\b/,\n html: /\\bhtml/,\n json: /\\bjson\\b/\n },\n responseFields: {\n xml: \"responseXML\",\n text: \"responseText\",\n json: \"responseJSON\"\n },\n // Data converters\n // Keys separate source (or catchall \"*\") and destination types with a single space\n converters: {\n // Convert anything to text\n \"* text\": String,\n // Text to html (true = no transformation)\n \"text html\": true,\n // Evaluate text as a json expression\n \"text json\": JSON.parse,\n // Parse text as xml\n \"text xml\": jQuery.parseXML\n },\n // For options that shouldn't be deep extended:\n // you can add your own custom options here if\n // and when you create one that shouldn't be\n // deep extended (see ajaxExtend)\n flatOptions: {\n url: true,\n context: true\n }\n },\n // Creates a full fledged settings object into target\n // with both ajaxSettings and settings fields.\n // If target is omitted, writes into ajaxSettings.\n ajaxSetup: function(target, settings) {\n return settings ? // Building a settings object\n ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) : // Extending ajaxSettings\n ajaxExtend(jQuery.ajaxSettings, target);\n },\n ajaxPrefilter: addToPrefiltersOrTransports(prefilters),\n ajaxTransport: addToPrefiltersOrTransports(transports),\n // Main method\n ajax: function(url, options) {\n // If url is an object, simulate pre-1.5 signature\n if (typeof url === \"object\") {\n options = url;\n url = undefined;\n }\n // Force options to be an object\n options = options || {};\n var transport, // URL without anti-cache param\n cacheURL, // Response headers\n responseHeadersString, responseHeaders, // timeout handle\n timeoutTimer, // Url cleanup var\n urlAnchor, // Request state (becomes false upon send and true upon completion)\n completed, // To know if global events are to be dispatched\n fireGlobals, // Loop variable\n i, // uncached part of the url\n uncached, // Create the final options object\n s = jQuery.ajaxSetup({}, options), // Callbacks context\n callbackContext = s.context || s, // Context for global events is callbackContext if it is a DOM node or jQuery collection\n globalEventContext = s.context && (callbackContext.nodeType || callbackContext.jquery) ? jQuery(callbackContext) : jQuery.event, // Deferreds\n deferred = jQuery.Deferred(), completeDeferred = jQuery.Callbacks(\"once memory\"), // Status-dependent callbacks\n statusCode = s.statusCode || {}, // Headers (they are sent all at once)\n requestHeaders = {}, requestHeadersNames = {}, // Default abort message\n strAbort = \"canceled\", // Fake xhr\n jqXHR = {\n readyState: 0,\n // Builds headers hashtable if needed\n getResponseHeader: function(key) {\n var match;\n if (completed) {\n if (!responseHeaders) {\n responseHeaders = {};\n while(match = rheaders.exec(responseHeadersString))responseHeaders[match[1].toLowerCase() + \" \"] = (responseHeaders[match[1].toLowerCase() + \" \"] || []).concat(match[2]);\n }\n match = responseHeaders[key.toLowerCase() + \" \"];\n }\n return match == null ? null : match.join(\", \");\n },\n // Raw string\n getAllResponseHeaders: function() {\n return completed ? responseHeadersString : null;\n },\n // Caches the header\n setRequestHeader: function(name, value) {\n if (completed == null) {\n name = requestHeadersNames[name.toLowerCase()] = requestHeadersNames[name.toLowerCase()] || name;\n requestHeaders[name] = value;\n }\n return this;\n },\n // Overrides response content-type header\n overrideMimeType: function(type) {\n if (completed == null) s.mimeType = type;\n return this;\n },\n // Status-dependent callbacks\n statusCode: function(map) {\n var code;\n if (map) {\n if (completed) // Execute the appropriate callbacks\n jqXHR.always(map[jqXHR.status]);\n else // Lazy-add the new callbacks in a way that preserves old ones\n for(code in map)statusCode[code] = [\n statusCode[code],\n map[code]\n ];\n }\n return this;\n },\n // Cancel the request\n abort: function(statusText) {\n var finalText = statusText || strAbort;\n if (transport) transport.abort(finalText);\n done(0, finalText);\n return this;\n }\n };\n // Attach deferreds\n deferred.promise(jqXHR);\n // Add protocol if not provided (prefilters might expect it)\n // Handle falsy url in the settings object (trac-10093: consistency with old signature)\n // We also use the url parameter if available\n s.url = ((url || s.url || location.href) + \"\").replace(rprotocol, location.protocol + \"//\");\n // Alias method option to type as per ticket trac-12004\n s.type = options.method || options.type || s.method || s.type;\n // Extract dataTypes list\n s.dataTypes = (s.dataType || \"*\").toLowerCase().match(rnothtmlwhite) || [\n \"\"\n ];\n // A cross-domain request is in order when the origin doesn't match the current origin.\n if (s.crossDomain == null) {\n urlAnchor = document.createElement(\"a\");\n // Support: IE <=8 - 11, Edge 12 - 15\n // IE throws exception on accessing the href property if url is malformed,\n // e.g. http://example.com:80x/\n try {\n urlAnchor.href = s.url;\n // Support: IE <=8 - 11 only\n // Anchor's host property isn't correctly set when s.url is relative\n urlAnchor.href = urlAnchor.href;\n s.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host;\n } catch (e) {\n // If there is an error parsing the URL, assume it is crossDomain,\n // it can be rejected by the transport if it is invalid\n s.crossDomain = true;\n }\n }\n // Convert data if not already a string\n if (s.data && s.processData && typeof s.data !== \"string\") s.data = jQuery.param(s.data, s.traditional);\n // Apply prefilters\n inspectPrefiltersOrTransports(prefilters, s, options, jqXHR);\n // If request was aborted inside a prefilter, stop there\n if (completed) return jqXHR;\n // We can fire global events as of now if asked to\n // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)\n fireGlobals = jQuery.event && s.global;\n // Watch for a new set of requests\n if (fireGlobals && jQuery.active++ === 0) jQuery.event.trigger(\"ajaxStart\");\n // Uppercase the type\n s.type = s.type.toUpperCase();\n // Determine if request has content\n s.hasContent = !rnoContent.test(s.type);\n // Save the URL in case we're toying with the If-Modified-Since\n // and/or If-None-Match header later on\n // Remove hash to simplify url manipulation\n cacheURL = s.url.replace(rhash, \"\");\n // More options handling for requests with no content\n if (!s.hasContent) {\n // Remember the hash so we can put it back\n uncached = s.url.slice(cacheURL.length);\n // If data is available and should be processed, append data to url\n if (s.data && (s.processData || typeof s.data === \"string\")) {\n cacheURL += (rquery.test(cacheURL) ? \"&\" : \"?\") + s.data;\n // trac-9682: remove data so that it's not used in an eventual retry\n delete s.data;\n }\n // Add or update anti-cache param if needed\n if (s.cache === false) {\n cacheURL = cacheURL.replace(rantiCache, \"$1\");\n uncached = (rquery.test(cacheURL) ? \"&\" : \"?\") + \"_=\" + nonce.guid++ + uncached;\n }\n // Put hash and anti-cache on the URL that will be requested (gh-1732)\n s.url = cacheURL + uncached;\n // Change '%20' to '+' if this is encoded form body content (gh-2658)\n } else if (s.data && s.processData && (s.contentType || \"\").indexOf(\"application/x-www-form-urlencoded\") === 0) s.data = s.data.replace(r20, \"+\");\n // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n if (s.ifModified) {\n if (jQuery.lastModified[cacheURL]) jqXHR.setRequestHeader(\"If-Modified-Since\", jQuery.lastModified[cacheURL]);\n if (jQuery.etag[cacheURL]) jqXHR.setRequestHeader(\"If-None-Match\", jQuery.etag[cacheURL]);\n }\n // Set the correct header, if data is being sent\n if (s.data && s.hasContent && s.contentType !== false || options.contentType) jqXHR.setRequestHeader(\"Content-Type\", s.contentType);\n // Set the Accepts header for the server, depending on the dataType\n jqXHR.setRequestHeader(\"Accept\", s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\") : s.accepts[\"*\"]);\n // Check for headers option\n for(i in s.headers)jqXHR.setRequestHeader(i, s.headers[i]);\n // Allow custom headers/mimetypes and early abort\n if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || completed)) // Abort if not done already and return\n return jqXHR.abort();\n // Aborting is no longer a cancellation\n strAbort = \"abort\";\n // Install callbacks on deferreds\n completeDeferred.add(s.complete);\n jqXHR.done(s.success);\n jqXHR.fail(s.error);\n // Get transport\n transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR);\n // If no transport, we auto-abort\n if (!transport) done(-1, \"No Transport\");\n else {\n jqXHR.readyState = 1;\n // Send global event\n if (fireGlobals) globalEventContext.trigger(\"ajaxSend\", [\n jqXHR,\n s\n ]);\n // If request was aborted inside ajaxSend, stop there\n if (completed) return jqXHR;\n // Timeout\n if (s.async && s.timeout > 0) timeoutTimer = window1.setTimeout(function() {\n jqXHR.abort(\"timeout\");\n }, s.timeout);\n try {\n completed = false;\n transport.send(requestHeaders, done);\n } catch (e) {\n // Rethrow post-completion exceptions\n if (completed) throw e;\n // Propagate others as results\n done(-1, e);\n }\n }\n // Callback for when everything is done\n function done(status, nativeStatusText, responses, headers) {\n var isSuccess, success, error, response, modified, statusText = nativeStatusText;\n // Ignore repeat invocations\n if (completed) return;\n completed = true;\n // Clear timeout if it exists\n if (timeoutTimer) window1.clearTimeout(timeoutTimer);\n // Dereference transport for early garbage collection\n // (no matter how long the jqXHR object will be used)\n transport = undefined;\n // Cache response headers\n responseHeadersString = headers || \"\";\n // Set readyState\n jqXHR.readyState = status > 0 ? 4 : 0;\n // Determine if successful\n isSuccess = status >= 200 && status < 300 || status === 304;\n // Get response data\n if (responses) response = ajaxHandleResponses(s, jqXHR, responses);\n // Use a noop converter for missing script but not if jsonp\n if (!isSuccess && jQuery.inArray(\"script\", s.dataTypes) > -1 && jQuery.inArray(\"json\", s.dataTypes) < 0) s.converters[\"text script\"] = function() {};\n // Convert no matter what (that way responseXXX fields are always set)\n response = ajaxConvert(s, response, jqXHR, isSuccess);\n // If successful, handle type chaining\n if (isSuccess) {\n // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n if (s.ifModified) {\n modified = jqXHR.getResponseHeader(\"Last-Modified\");\n if (modified) jQuery.lastModified[cacheURL] = modified;\n modified = jqXHR.getResponseHeader(\"etag\");\n if (modified) jQuery.etag[cacheURL] = modified;\n }\n // if no content\n if (status === 204 || s.type === \"HEAD\") statusText = \"nocontent\";\n else if (status === 304) statusText = \"notmodified\";\n else {\n statusText = response.state;\n success = response.data;\n error = response.error;\n isSuccess = !error;\n }\n } else {\n // Extract error from statusText and normalize for non-aborts\n error = statusText;\n if (status || !statusText) {\n statusText = \"error\";\n if (status < 0) status = 0;\n }\n }\n // Set data for the fake xhr object\n jqXHR.status = status;\n jqXHR.statusText = (nativeStatusText || statusText) + \"\";\n // Success/Error\n if (isSuccess) deferred.resolveWith(callbackContext, [\n success,\n statusText,\n jqXHR\n ]);\n else deferred.rejectWith(callbackContext, [\n jqXHR,\n statusText,\n error\n ]);\n // Status-dependent callbacks\n jqXHR.statusCode(statusCode);\n statusCode = undefined;\n if (fireGlobals) globalEventContext.trigger(isSuccess ? \"ajaxSuccess\" : \"ajaxError\", [\n jqXHR,\n s,\n isSuccess ? success : error\n ]);\n // Complete\n completeDeferred.fireWith(callbackContext, [\n jqXHR,\n statusText\n ]);\n if (fireGlobals) {\n globalEventContext.trigger(\"ajaxComplete\", [\n jqXHR,\n s\n ]);\n // Handle the global AJAX counter\n if (!--jQuery.active) jQuery.event.trigger(\"ajaxStop\");\n }\n }\n return jqXHR;\n },\n getJSON: function(url, data, callback) {\n return jQuery.get(url, data, callback, \"json\");\n },\n getScript: function(url, callback) {\n return jQuery.get(url, undefined, callback, \"script\");\n }\n });\n jQuery.each([\n \"get\",\n \"post\"\n ], function(_i, method) {\n jQuery[method] = function(url, data, callback, type) {\n // Shift arguments if data argument was omitted\n if (isFunction(data)) {\n type = type || callback;\n callback = data;\n data = undefined;\n }\n // The url can be an options object (which then must have .url)\n return jQuery.ajax(jQuery.extend({\n url: url,\n type: method,\n dataType: type,\n data: data,\n success: callback\n }, jQuery.isPlainObject(url) && url));\n };\n });\n jQuery.ajaxPrefilter(function(s) {\n var i;\n for(i in s.headers)if (i.toLowerCase() === \"content-type\") s.contentType = s.headers[i] || \"\";\n });\n jQuery._evalUrl = function(url, options, doc) {\n return jQuery.ajax({\n url: url,\n // Make this explicit, since user can override this through ajaxSetup (trac-11264)\n type: \"GET\",\n dataType: \"script\",\n cache: true,\n async: false,\n global: false,\n // Only evaluate the response if it is successful (gh-4126)\n // dataFilter is not invoked for failure responses, so using it instead\n // of the default converter is kludgy but it works.\n converters: {\n \"text script\": function() {}\n },\n dataFilter: function(response) {\n jQuery.globalEval(response, options, doc);\n }\n });\n };\n jQuery.fn.extend({\n wrapAll: function(html) {\n var wrap;\n if (this[0]) {\n if (isFunction(html)) html = html.call(this[0]);\n // The elements to wrap the target around\n wrap = jQuery(html, this[0].ownerDocument).eq(0).clone(true);\n if (this[0].parentNode) wrap.insertBefore(this[0]);\n wrap.map(function() {\n var elem = this;\n while(elem.firstElementChild)elem = elem.firstElementChild;\n return elem;\n }).append(this);\n }\n return this;\n },\n wrapInner: function(html) {\n if (isFunction(html)) return this.each(function(i) {\n jQuery(this).wrapInner(html.call(this, i));\n });\n return this.each(function() {\n var self = jQuery(this), contents = self.contents();\n if (contents.length) contents.wrapAll(html);\n else self.append(html);\n });\n },\n wrap: function(html) {\n var htmlIsFunction = isFunction(html);\n return this.each(function(i) {\n jQuery(this).wrapAll(htmlIsFunction ? html.call(this, i) : html);\n });\n },\n unwrap: function(selector) {\n this.parent(selector).not(\"body\").each(function() {\n jQuery(this).replaceWith(this.childNodes);\n });\n return this;\n }\n });\n jQuery.expr.pseudos.hidden = function(elem) {\n return !jQuery.expr.pseudos.visible(elem);\n };\n jQuery.expr.pseudos.visible = function(elem) {\n return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\n };\n jQuery.ajaxSettings.xhr = function() {\n try {\n return new window1.XMLHttpRequest();\n } catch (e) {}\n };\n var xhrSuccessStatus = {\n // File protocol always yields status code 0, assume 200\n 0: 200,\n // Support: IE <=9 only\n // trac-1450: sometimes IE returns 1223 when it should be 204\n 1223: 204\n }, xhrSupported = jQuery.ajaxSettings.xhr();\n support.cors = !!xhrSupported && \"withCredentials\" in xhrSupported;\n support.ajax = xhrSupported = !!xhrSupported;\n jQuery.ajaxTransport(function(options) {\n var callback, errorCallback;\n // Cross domain only allowed if supported through XMLHttpRequest\n if (support.cors || xhrSupported && !options.crossDomain) return {\n send: function(headers, complete) {\n var i, xhr = options.xhr();\n xhr.open(options.type, options.url, options.async, options.username, options.password);\n // Apply custom fields if provided\n if (options.xhrFields) for(i in options.xhrFields)xhr[i] = options.xhrFields[i];\n // Override mime type if needed\n if (options.mimeType && xhr.overrideMimeType) xhr.overrideMimeType(options.mimeType);\n // X-Requested-With header\n // For cross-domain requests, seeing as conditions for a preflight are\n // akin to a jigsaw puzzle, we simply never set it to be sure.\n // (it can always be set on a per-request basis or even using ajaxSetup)\n // For same-domain requests, won't change header if already provided.\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) headers[\"X-Requested-With\"] = \"XMLHttpRequest\";\n // Set headers\n for(i in headers)xhr.setRequestHeader(i, headers[i]);\n // Callback\n callback = function(type) {\n return function() {\n if (callback) {\n callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.ontimeout = xhr.onreadystatechange = null;\n if (type === \"abort\") xhr.abort();\n else if (type === \"error\") {\n // Support: IE <=9 only\n // On a manual native abort, IE9 throws\n // errors on any property access that is not readyState\n if (typeof xhr.status !== \"number\") complete(0, \"error\");\n else complete(// File: protocol always yields status 0; see trac-8605, trac-14207\n xhr.status, xhr.statusText);\n } else complete(xhrSuccessStatus[xhr.status] || xhr.status, xhr.statusText, // Support: IE <=9 only\n // IE9 has no XHR2 but throws on binary (trac-11426)\n // For XHR2 non-text, let the caller handle it (gh-2498)\n (xhr.responseType || \"text\") !== \"text\" || typeof xhr.responseText !== \"string\" ? {\n binary: xhr.response\n } : {\n text: xhr.responseText\n }, xhr.getAllResponseHeaders());\n }\n };\n };\n // Listen to events\n xhr.onload = callback();\n errorCallback = xhr.onerror = xhr.ontimeout = callback(\"error\");\n // Support: IE 9 only\n // Use onreadystatechange to replace onabort\n // to handle uncaught aborts\n if (xhr.onabort !== undefined) xhr.onabort = errorCallback;\n else xhr.onreadystatechange = function() {\n // Check readyState before timeout as it changes\n if (xhr.readyState === 4) // Allow onerror to be called first,\n // but that will not handle a native abort\n // Also, save errorCallback to a variable\n // as xhr.onerror cannot be accessed\n window1.setTimeout(function() {\n if (callback) errorCallback();\n });\n };\n // Create the abort callback\n callback = callback(\"abort\");\n try {\n // Do send the request (this may raise an exception)\n xhr.send(options.hasContent && options.data || null);\n } catch (e) {\n // trac-14683: Only rethrow if this hasn't been notified as an error yet\n if (callback) throw e;\n }\n },\n abort: function() {\n if (callback) callback();\n }\n };\n });\n // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\n jQuery.ajaxPrefilter(function(s) {\n if (s.crossDomain) s.contents.script = false;\n });\n // Install script dataType\n jQuery.ajaxSetup({\n accepts: {\n script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n },\n contents: {\n script: /\\b(?:java|ecma)script\\b/\n },\n converters: {\n \"text script\": function(text) {\n jQuery.globalEval(text);\n return text;\n }\n }\n });\n // Handle cache's special case and crossDomain\n jQuery.ajaxPrefilter(\"script\", function(s) {\n if (s.cache === undefined) s.cache = false;\n if (s.crossDomain) s.type = \"GET\";\n });\n // Bind script tag hack transport\n jQuery.ajaxTransport(\"script\", function(s) {\n // This transport only deals with cross domain or forced-by-attrs requests\n if (s.crossDomain || s.scriptAttrs) {\n var script, callback;\n return {\n send: function(_, complete) {\n script = jQuery(\"