UNPKG

coveo-search-ui-tests

Version:

Testing framework for the Coveo JavaScript Search Framework

1,615 lines 178 kB
/** * Created by olamothe on 2016-05-16. */ /*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license //@ sourceMappingURL=jquery.min.map */ (function( e, t ) { var n, r, i = typeof t, o = e.document, a = e.location, s = e.jQuery, u = e.$, l = {}, c = [], p = "1.9.1", f = c.concat, d = c.push, h = c.slice, g = c.indexOf, m = l.toString, y = l.hasOwnProperty, v = p.trim, b = function(e, t) { return new b.fn.init(e, t, r); }, x = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, w = /\S+/g, T = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, N = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, C = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, k = /^[\],:{}\s]*$/, E = /(?:^|:|,)(?:\s*\[)+/g, S = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, A = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, j = /^-ms-/, D = /-([\da-z])/gi, L = function(e, t) { return t.toUpperCase(); }, H = function(e) { (o.addEventListener || "load" === e.type || "complete" === o.readyState) && (q(), b.ready()); }, q = function() { o.addEventListener ? (o.removeEventListener("DOMContentLoaded", H, !1), e.removeEventListener("load", H, !1)) : (o.off("onreadystatechange", H), e.detachEvent("onload", H)); }; (b.fn = b.prototype = { jquery: p, constructor: b, init: function(e, n, r) { var i, a; if (!e) return this; if ("string" == typeof e) { if ( ((i = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : N.exec(e)), !i || (!i[1] && n)) ) return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e); if (i[1]) { if ( ((n = n instanceof b ? n[0] : n), b.merge( this, b.parseHTML(i[1], n && n.nodeType ? n.ownerDocument || n : o, !0) ), C.test(i[1]) && b.isPlainObject(n)) ) for (i in n) b.isFunction(this[i]) ? this[i](n[i]) : this.attr(i, n[i]); return this; } if (((a = o.getElementById(i[2])), a && a.parentNode)) { if (a.id !== i[2]) return r.find(e); (this.length = 1), (this[0] = a); } return (this.context = o), (this.selector = e), this; } return e.nodeType ? ((this.context = this[0] = e), (this.length = 1), this) : b.isFunction(e) ? r.ready(e) : (e.selector !== t && ((this.selector = e.selector), (this.context = e.context)), b.makeArray(e, this)); }, selector: "", length: 0, size: function() { return this.length; }, toArray: function() { return h.call(this); }, get: function(e) { return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e]; }, pushStack: function(e) { var t = b.merge(this.constructor(), e); return (t.prevObject = this), (t.context = this.context), t; }, each: function(e, t) { return b.each(this, e, t); }, ready: function(e) { return b.ready.promise().done(e), this; }, slice: function() { return this.pushStack(h.apply(this, arguments)); }, first: function() { return this.eq(0); }, last: function() { return this.eq(-1); }, eq: function(e) { var t = this.length, n = +e + (0 > e ? t : 0); return this.pushStack(n >= 0 && t > n ? [this[n]] : []); }, map: function(e) { return this.pushStack( b.map(this, function(t, n) { return e.call(t, n, t); }) ); }, end: function() { return this.prevObject || this.constructor(null); }, push: d, sort: [].sort, splice: [].splice }), (b.fn.init.prototype = b.fn), (b.extend = b.fn.extend = function() { var e, n, r, i, o, a, s = arguments[0] || {}, u = 1, l = arguments.length, c = !1; for ( "boolean" == typeof s && ((c = s), (s = arguments[1] || {}), (u = 2)), "object" == typeof s || b.isFunction(s) || (s = {}), l === u && ((s = this), --u); l > u; u++ ) if (null != (o = arguments[u])) for (i in o) (e = s[i]), (r = o[i]), s !== r && (c && r && (b.isPlainObject(r) || (n = b.isArray(r))) ? (n ? ((n = !1), (a = e && b.isArray(e) ? e : [])) : (a = e && b.isPlainObject(e) ? e : {}), (s[i] = b.extend(c, a, r))) : r !== t && (s[i] = r)); return s; }), b.extend({ noConflict: function(t) { return e.$ === b && (e.$ = u), t && e.jQuery === b && (e.jQuery = s), b; }, isReady: !1, readyWait: 1, holdReady: function(e) { e ? b.readyWait++ : b.ready(!0); }, ready: function(e) { if (e === !0 ? !--b.readyWait : !b.isReady) { if (!o.body) return setTimeout(b.ready); (b.isReady = !0), (e !== !0 && --b.readyWait > 0) || (n.resolveWith(o, [b]), b.fn.trigger && b(o) .trigger("ready") .off("ready")); } }, isFunction: function(e) { return "function" === b.type(e); }, isArray: Array.isArray || function(e) { return "array" === b.type(e); }, isWindow: function(e) { return null != e && e == e.window; }, isNumeric: function(e) { return !isNaN(parseFloat(e)) && isFinite(e); }, type: function(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? l[m.call(e)] || "object" : typeof e; }, isPlainObject: function(e) { if (!e || "object" !== b.type(e) || e.nodeType || b.isWindow(e)) return !1; try { if ( e.constructor && !y.call(e, "constructor") && !y.call(e.constructor.prototype, "isPrototypeOf") ) return !1; } catch (n) { return !1; } var r; for (r in e); return r === t || y.call(e, r); }, isEmptyObject: function(e) { var t; for (t in e) return !1; return !0; }, error: function(e) { throw Error(e); }, parseHTML: function(e, t, n) { if (!e || "string" != typeof e) return null; "boolean" == typeof t && ((n = t), (t = !1)), (t = t || o); var r = C.exec(e), i = !n && []; return r ? [t.createElement(r[1])] : ((r = b.buildFragment([e], t, i)), i && b(i).remove(), b.merge([], r.childNodes)); }, parseJSON: function(n) { return e.JSON && e.JSON.parse ? e.JSON.parse(n) : null === n ? n : "string" == typeof n && ((n = b.trim(n)), n && k.test( n .replace(S, "@") .replace(A, "]") .replace(E, "") )) ? Function("return " + n)() : (b.error("Invalid JSON: " + n), t); }, parseXML: function(n) { var r, i; if (!n || "string" != typeof n) return null; try { e.DOMParser ? ((i = new DOMParser()), (r = i.parseFromString(n, "text/xml"))) : ((r = new ActiveXObject("Microsoft.XMLDOM")), (r.async = "false"), r.loadXML(n)); } catch (o) { r = t; } return ( (r && r.documentElement && !r.getElementsByTagName("parsererror").length) || b.error("Invalid XML: " + n), r ); }, noop: function() {}, globalEval: function(t) { t && b.trim(t) && (e.execScript || function(t) { e.eval.call(e, t); })(t); }, camelCase: function(e) { return e.replace(j, "ms-").replace(D, L); }, nodeName: function(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); }, each: function(e, t, n) { var r, i = 0, o = e.length, a = M(e); if (n) { if (a) { for (; o > i; i++) if (((r = t.apply(e[i], n)), r === !1)) break; } else for (i in e) if (((r = t.apply(e[i], n)), r === !1)) break; } else if (a) { for (; o > i; i++) if (((r = t.call(e[i], i, e[i])), r === !1)) break; } else for (i in e) if (((r = t.call(e[i], i, e[i])), r === !1)) break; return e; }, trim: v && !v.call("\ufeff\u00a0") ? function(e) { return null == e ? "" : v.call(e); } : function(e) { return null == e ? "" : (e + "").replace(T, ""); }, makeArray: function(e, t) { var n = t || []; return ( null != e && (M(Object(e)) ? b.merge(n, "string" == typeof e ? [e] : e) : d.call(n, e)), n ); }, inArray: function(e, t, n) { var r; if (t) { if (g) return g.call(t, e, n); for ( r = t.length, n = n ? (0 > n ? Math.max(0, r + n) : n) : 0; r > n; n++ ) if (n in t && t[n] === e) return n; } return -1; }, merge: function(e, n) { var r = n.length, i = e.length, o = 0; if ("number" == typeof r) for (; r > o; o++) e[i++] = n[o]; else while (n[o] !== t) e[i++] = n[o++]; return (e.length = i), e; }, grep: function(e, t, n) { var r, i = [], o = 0, a = e.length; for (n = !!n; a > o; o++) (r = !!t(e[o], o)), n !== r && i.push(e[o]); return i; }, map: function(e, t, n) { var r, i = 0, o = e.length, a = M(e), s = []; if (a) for (; o > i; i++) (r = t(e[i], i, n)), null != r && (s[s.length] = r); else for (i in e) (r = t(e[i], i, n)), null != r && (s[s.length] = r); return f.apply([], s); }, guid: 1, proxy: function(e, n) { var r, i, o; return ( "string" == typeof n && ((o = e[n]), (n = e), (e = o)), b.isFunction(e) ? ((r = h.call(arguments, 2)), (i = function() { return e.apply(n || this, r.concat(h.call(arguments))); }), (i.guid = e.guid = e.guid || b.guid++), i) : t ); }, access: function(e, n, r, i, o, a, s) { var u = 0, l = e.length, c = null == r; if ("object" === b.type(r)) { o = !0; for (u in r) b.access(e, n, u, r[u], !0, a, s); } else if ( i !== t && ((o = !0), b.isFunction(i) || (s = !0), c && (s ? (n.call(e, i), (n = null)) : ((c = n), (n = function(e, t, n) { return c.call(b(e), n); }))), n) ) for (; l > u; u++) n(e[u], r, s ? i : i.call(e[u], u, n(e[u], r))); return o ? e : c ? n.call(e) : l ? n(e[0], r) : a; }, now: function() { return new Date().getTime(); } }), (b.ready.promise = function(t) { if (!n) if (((n = b.Deferred()), "complete" === o.readyState)) setTimeout(b.ready); else if (o.addEventListener) o.addEventListener("DOMContentLoaded", H, !1), e.addEventListener("load", H, !1); else { o.on("onreadystatechange", H), e.attachEvent("onload", H); var r = !1; try { r = null == e.frameElement && o.documentElement; } catch (i) {} r && r.doScroll && (function a() { if (!b.isReady) { try { r.doScroll("left"); } catch (e) { return setTimeout(a, 50); } q(), b.ready(); } })(); } return n.promise(t); }), b.each( "Boolean Number String Function Array Date RegExp Object Error".split( " " ), function(e, t) { l["[object " + t + "]"] = t.toLowerCase(); } ); function M(e) { var t = e.length, n = b.type(e); return b.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || ("function" !== n && (0 === t || ("number" == typeof t && t > 0 && t - 1 in e))); } r = b(o); var _ = {}; function F(e) { var t = (_[e] = {}); return ( b.each(e.match(w) || [], function(e, n) { t[n] = !0; }), t ); } (b.Callbacks = function(e) { e = "string" == typeof e ? _[e] || F(e) : b.extend({}, e); var n, r, i, o, a, s, u = [], l = !e.once && [], c = function(t) { for ( r = e.memory && t, i = !0, a = s || 0, s = 0, o = u.length, n = !0; u && o > a; a++ ) if (u[a].apply(t[0], t[1]) === !1 && e.stopOnFalse) { r = !1; break; } (n = !1), u && (l ? l.length && c(l.shift()) : r ? (u = []) : p.disable()); }, p = { add: function() { if (u) { var t = u.length; (function i(t) { b.each(t, function(t, n) { var r = b.type(n); "function" === r ? (e.unique && p.has(n)) || u.push(n) : n && n.length && "string" !== r && i(n); }); })(arguments), n ? (o = u.length) : r && ((s = t), c(r)); } return this; }, remove: function() { return ( u && b.each(arguments, function(e, t) { var r; while ((r = b.inArray(t, u, r)) > -1) u.splice(r, 1), n && (o >= r && o--, a >= r && a--); }), this ); }, has: function(e) { return e ? b.inArray(e, u) > -1 : !(!u || !u.length); }, empty: function() { return (u = []), this; }, disable: function() { return (u = l = r = t), this; }, disabled: function() { return !u; }, lock: function() { return (l = t), r || p.disable(), this; }, locked: function() { return !l; }, fireWith: function(e, t) { return ( (t = t || []), (t = [e, t.slice ? t.slice() : t]), !u || (i && !l) || (n ? l.push(t) : c(t)), this ); }, fire: function() { return p.fireWith(this, arguments), this; }, fired: function() { return !!i; } }; return p; }), b.extend({ Deferred: function(e) { var t = [ ["resolve", "done", b.Callbacks("once memory"), "resolved"], ["reject", "fail", b.Callbacks("once memory"), "rejected"], ["notify", "progress", b.Callbacks("memory")] ], n = "pending", r = { state: function() { return n; }, always: function() { return i.done(arguments).fail(arguments), this; }, then: function() { var e = arguments; return b .Deferred(function(n) { b.each(t, function(t, o) { var a = o[0], s = b.isFunction(e[t]) && e[t]; i[o[1]](function() { var e = s && s.apply(this, arguments); e && b.isFunction(e.promise) ? e .promise() .done(n.resolve) .fail(n.reject) .progress(n.notify) : n[a + "With"]( this === r ? n.promise() : this, s ? [e] : arguments ); }); }), (e = null); }) .promise(); }, promise: function(e) { return null != e ? b.extend(e, r) : r; } }, i = {}; return ( (r.pipe = r.then), b.each(t, function(e, o) { var a = o[2], s = o[3]; (r[o[1]] = a.add), s && a.add( function() { n = s; }, t[1 ^ e][2].disable, t[2][2].lock ), (i[o[0]] = function() { return i[o[0] + "With"](this === i ? r : this, arguments), this; }), (i[o[0] + "With"] = a.fireWith); }), r.promise(i), e && e.call(i, i), i ); }, when: function(e) { var t = 0, n = h.call(arguments), r = n.length, i = 1 !== r || (e && b.isFunction(e.promise)) ? r : 0, o = 1 === i ? e : b.Deferred(), a = function(e, t, n) { return function(r) { (t[e] = this), (n[e] = arguments.length > 1 ? h.call(arguments) : r), n === s ? o.notifyWith(t, n) : --i || o.resolveWith(t, n); }; }, s, u, l; if (r > 1) for (s = Array(r), u = Array(r), l = Array(r); r > t; t++) n[t] && b.isFunction(n[t].promise) ? n[t] .promise() .done(a(t, l, n)) .fail(o.reject) .progress(a(t, u, s)) : --i; return i || o.resolveWith(l, n), o.promise(); } }), (b.support = (function() { var t, n, r, a, s, u, l, c, p, f, d = o.createElement("div"); if ( (d.setAttribute("className", "t"), (d.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"), (n = d.getElementsByTagName("*")), (r = d.getElementsByTagName("a")[0]), !n || !r || !n.length) ) return {}; (s = o.createElement("select")), (l = s.appendChild(o.createElement("option"))), (a = d.getElementsByTagName("input")[0]), (r.style.cssText = "top:1px;float:left;opacity:.5"), (t = { getSetAttribute: "t" !== d.className, leadingWhitespace: 3 === d.firstChild.nodeType, tbody: !d.getElementsByTagName("tbody").length, htmlSerialize: !!d.getElementsByTagName("link").length, style: /top/.test(r.getAttribute("style")), hrefNormalized: "/a" === r.getAttribute("href"), opacity: /^0.5/.test(r.style.opacity), cssFloat: !!r.style.cssFloat, checkOn: !!a.value, optSelected: l.selected, enctype: !!o.createElement("form").enctype, html5Clone: "<:nav></:nav>" !== o.createElement("nav").cloneNode(!0).outerHTML, boxModel: "CSS1Compat" === o.compatMode, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0, boxSizingReliable: !0, pixelPosition: !1 }), (a.checked = !0), (t.noCloneChecked = a.cloneNode(!0).checked), (s.disabled = !0), (t.optDisabled = !l.disabled); try { delete d.test; } catch (h) { t.deleteExpando = !1; } (a = o.createElement("input")), a.setAttribute("value", ""), (t.input = "" === a.getAttribute("value")), (a.value = "t"), a.setAttribute("type", "radio"), (t.radioValue = "t" === a.value), a.setAttribute("checked", "t"), a.setAttribute("name", "t"), (u = o.createDocumentFragment()), u.appendChild(a), (t.appendChecked = a.checked), (t.checkClone = u.cloneNode(!0).cloneNode(!0).lastChild.checked), d.on && (d.on("onclick", function() { t.noCloneEvent = !1; }), d.cloneNode(!0).click()); for (f in { submit: !0, change: !0, focusin: !0 }) d.setAttribute((c = "on" + f), "t"), (t[f + "Bubbles"] = c in e || d.attributes[c].expando === !1); return ( (d.style.backgroundClip = "content-box"), (d.cloneNode(!0).style.backgroundClip = ""), (t.clearCloneStyle = "content-box" === d.style.backgroundClip), b(function() { var n, r, a, s = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", u = o.getElementsByTagName("body")[0]; u && ((n = o.createElement("div")), (n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"), u.appendChild(n).appendChild(d), (d.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"), (a = d.getElementsByTagName("td")), (a[0].style.cssText = "padding:0;margin:0;border:0;display:none"), (p = 0 === a[0].offsetHeight), (a[0].style.display = ""), (a[1].style.display = "none"), (t.reliableHiddenOffsets = p && 0 === a[0].offsetHeight), (d.innerHTML = ""), (d.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"), (t.boxSizing = 4 === d.offsetWidth), (t.doesNotIncludeMarginInBodyOffset = 1 !== u.offsetTop), e.getComputedStyle && ((t.pixelPosition = "1%" !== (e.getComputedStyle(d, null) || {}).top), (t.boxSizingReliable = "4px" === (e.getComputedStyle(d, null) || { width: "4px" }).width), (r = d.appendChild(o.createElement("div"))), (r.style.cssText = d.style.cssText = s), (r.style.marginRight = r.style.width = "0"), (d.style.width = "1px"), (t.reliableMarginRight = !parseFloat( (e.getComputedStyle(r, null) || {}).marginRight ))), typeof d.style.zoom !== i && ((d.innerHTML = ""), (d.style.cssText = s + "width:1px;padding:1px;display:inline;zoom:1"), (t.inlineBlockNeedsLayout = 3 === d.offsetWidth), (d.style.display = "block"), (d.innerHTML = "<div></div>"), (d.firstChild.style.width = "5px"), (t.shrinkWrapBlocks = 3 !== d.offsetWidth), t.inlineBlockNeedsLayout && (u.style.zoom = 1)), u.removeChild(n), (n = d = a = r = null)); }), (n = s = u = l = r = a = null), t ); })()); var O = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, B = /([A-Z])/g; function P(e, n, r, i) { if (b.acceptData(e)) { var o, a, s = b.expando, u = "string" == typeof n, l = e.nodeType, p = l ? b.cache : e, f = l ? e[s] : e[s] && s; if ((f && p[f] && (i || p[f].data)) || !u || r !== t) return ( f || (l ? (e[s] = f = c.pop() || b.guid++) : (f = s)), p[f] || ((p[f] = {}), l || (p[f].toJSON = b.noop)), ("object" == typeof n || "function" == typeof n) && (i ? (p[f] = b.extend(p[f], n)) : (p[f].data = b.extend(p[f].data, n))), (o = p[f]), i || (o.data || (o.data = {}), (o = o.data)), r !== t && (o[b.camelCase(n)] = r), u ? ((a = o[n]), null == a && (a = o[b.camelCase(n)])) : (a = o), a ); } } function R(e, t, n) { if (b.acceptData(e)) { var r, i, o, a = e.nodeType, s = a ? b.cache : e, u = a ? e[b.expando] : b.expando; if (s[u]) { if (t && (o = n ? s[u] : s[u].data)) { b.isArray(t) ? (t = t.concat(b.map(t, b.camelCase))) : t in o ? (t = [t]) : ((t = b.camelCase(t)), (t = t in o ? [t] : t.split(" "))); for (r = 0, i = t.length; i > r; r++) delete o[t[r]]; if (!(n ? $ : b.isEmptyObject)(o)) return; } (n || (delete s[u].data, $(s[u]))) && (a ? b.cleanData([e], !0) : b.support.deleteExpando || s != s.window ? delete s[u] : (s[u] = null)); } } } b.extend({ cache: {}, expando: "jQuery" + (p + Math.random()).replace(/\D/g, ""), noData: { embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0 }, hasData: function(e) { return ( (e = e.nodeType ? b.cache[e[b.expando]] : e[b.expando]), !!e && !$(e) ); }, data: function(e, t, n) { return P(e, t, n); }, removeData: function(e, t) { return R(e, t); }, _data: function(e, t, n) { return P(e, t, n, !0); }, _removeData: function(e, t) { return R(e, t, !0); }, acceptData: function(e) { if (e.nodeType && 1 !== e.nodeType && 9 !== e.nodeType) return !1; var t = e.nodeName && b.noData[e.nodeName.toLowerCase()]; return !t || (t !== !0 && e.getAttribute("classid") === t); } }), b.fn.extend({ data: function(e, n) { var r, i, o = this[0], a = 0, s = null; if (e === t) { if ( this.length && ((s = b.data(o)), 1 === o.nodeType && !b._data(o, "parsedAttrs")) ) { for (r = o.attributes; r.length > a; a++) (i = r[a].name), i.indexOf("data-") || ((i = b.camelCase(i.slice(5))), W(o, i, s[i])); b._data(o, "parsedAttrs", !0); } return s; } return "object" == typeof e ? this.each(function() { b.data(this, e); }) : b.access( this, function(n) { return n === t ? o ? W(o, e, b.data(o, e)) : null : (this.each(function() { b.data(this, e, n); }), t); }, null, n, arguments.length > 1, null, !0 ); }, removeData: function(e) { return this.each(function() { b.removeData(this, e); }); } }); function W(e, n, r) { if (r === t && 1 === e.nodeType) { var i = "data-" + n.replace(B, "-$1").toLowerCase(); if (((r = e.getAttribute(i)), "string" == typeof r)) { try { r = "true" === r ? !0 : "false" === r ? !1 : "null" === r ? null : +r + "" === r ? +r : O.test(r) ? b.parseJSON(r) : r; } catch (o) {} b.data(e, n, r); } else r = t; } return r; } function $(e) { var t; for (t in e) if (("data" !== t || !b.isEmptyObject(e[t])) && "toJSON" !== t) return !1; return !0; } b.extend({ queue: function(e, n, r) { var i; return e ? ((n = (n || "fx") + "queue"), (i = b._data(e, n)), r && (!i || b.isArray(r) ? (i = b._data(e, n, b.makeArray(r))) : i.push(r)), i || []) : t; }, dequeue: function(e, t) { t = t || "fx"; var n = b.queue(e, t), r = n.length, i = n.shift(), o = b._queueHooks(e, t), a = function() { b.dequeue(e, t); }; "inprogress" === i && ((i = n.shift()), r--), (o.cur = i), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire(); }, _queueHooks: function(e, t) { var n = t + "queueHooks"; return ( b._data(e, n) || b._data(e, n, { empty: b.Callbacks("once memory").add(function() { b._removeData(e, t + "queue"), b._removeData(e, n); }) }) ); } }), b.fn.extend({ queue: function(e, n) { var r = 2; return ( "string" != typeof e && ((n = e), (e = "fx"), r--), r > arguments.length ? b.queue(this[0], e) : n === t ? this : this.each(function() { var t = b.queue(this, e, n); b._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && b.dequeue(this, e); }) ); }, dequeue: function(e) { return this.each(function() { b.dequeue(this, e); }); }, delay: function(e, t) { return ( (e = b.fx ? b.fx.speeds[e] || e : e), (t = t || "fx"), this.queue(t, function(t, n) { var r = setTimeout(t, e); n.stop = function() { clearTimeout(r); }; }) ); }, clearQueue: function(e) { return this.queue(e || "fx", []); }, promise: function(e, n) { var r, i = 1, o = b.Deferred(), a = this, s = this.length, u = function() { --i || o.resolveWith(a, [a]); }; "string" != typeof e && ((n = e), (e = t)), (e = e || "fx"); while (s--) (r = b._data(a[s], e + "queueHooks")), r && r.empty && (i++, r.empty.add(u)); return u(), o.promise(n); } }); var I, z, X = /[\t\r\n]/g, U = /\r/g, V = /^(?:input|select|textarea|button|object)$/i, Y = /^(?:a|area)$/i, J = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, G = /^(?:checked|selected)$/i, Q = b.support.getSetAttribute, K = b.support.input; b.fn.extend({ attr: function(e, t) { return b.access(this, b.attr, e, t, arguments.length > 1); }, removeAttr: function(e) { return this.each(function() { b.removeAttr(this, e); }); }, prop: function(e, t) { return b.access(this, b.prop, e, t, arguments.length > 1); }, removeProp: function(e) { return ( (e = b.propFix[e] || e), this.each(function() { try { (this[e] = t), delete this[e]; } catch (n) {} }) ); }, addClass: function(e) { var t, n, r, i, o, a = 0, s = this.length, u = "string" == typeof e && e; if (b.isFunction(e)) return this.each(function(t) { b(this).addClass(e.call(this, t, this.className)); }); if (u) for (t = (e || "").match(w) || []; s > a; a++) if ( ((n = this[a]), (r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(X, " ") : " "))) ) { o = 0; while ((i = t[o++])) 0 > r.indexOf(" " + i + " ") && (r += i + " "); n.className = b.trim(r); } return this; }, removeClass: function(e) { var t, n, r, i, o, a = 0, s = this.length, u = 0 === arguments.length || ("string" == typeof e && e); if (b.isFunction(e)) return this.each(function(t) { b(this).removeClass(e.call(this, t, this.className)); }); if (u) for (t = (e || "").match(w) || []; s > a; a++) if ( ((n = this[a]), (r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(X, " ") : ""))) ) { o = 0; while ((i = t[o++])) while (r.indexOf(" " + i + " ") >= 0) r = r.replace(" " + i + " ", " "); n.className = e ? b.trim(r) : ""; } return this; }, toggleClass: function(e, t) { var n = typeof e, r = "boolean" == typeof t; return b.isFunction(e) ? this.each(function(n) { b(this).toggleClass(e.call(this, n, this.className, t), t); }) : this.each(function() { if ("string" === n) { var o, a = 0, s = b(this), u = t, l = e.match(w) || []; while ((o = l[a++])) (u = r ? u : !s.hasClass(o)), s[u ? "addClass" : "removeClass"](o); } else (n === i || "boolean" === n) && (this.className && b._data(this, "__className__", this.className), (this.className = this.className || e === !1 ? "" : b._data(this, "__className__") || "")); }); }, hasClass: function(e) { var t = " " + e + " ", n = 0, r = this.length; for (; r > n; n++) if ( 1 === this[n].nodeType && (" " + this[n].className + " ").replace(X, " ").indexOf(t) >= 0 ) return !0; return !1; }, val: function(e) { var n, r, i, o = this[0]; { if (arguments.length) return ( (i = b.isFunction(e)), this.each(function(n) { var o, a = b(this); 1 === this.nodeType && ((o = i ? e.call(this, n, a.val()) : e), null == o ? (o = "") : "number" == typeof o ? (o += "") : b.isArray(o) && (o = b.map(o, function(e) { return null == e ? "" : e + ""; })), (r = b.valHooks[this.type] || b.valHooks[this.nodeName.toLowerCase()]), (r && "set" in r && r.set(this, o, "value") !== t) || (this.value = o)); }) ); if (o) return ( (r = b.valHooks[o.type] || b.valHooks[o.nodeName.toLowerCase()]), r && "get" in r && (n = r.get(o, "value")) !== t ? n : ((n = o.value), "string" == typeof n ? n.replace(U, "") : null == n ? "" : n) ); } } }), b.extend({ valHooks: { option: { get: function(e) { var t = e.attributes.value; return !t || t.specified ? e.value : e.text; } }, select: { get: function(e) { var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || 0 > i, a = o ? null : [], s = o ? i + 1 : r.length, u = 0 > i ? s : o ? i : 0; for (; s > u; u++) if ( ((n = r[u]), !( (!n.selected && u !== i) || (b.support.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || (n.parentNode.disabled && b.nodeName(n.parentNode, "optgroup")) )) ) { if (((t = b(n).val()), o)) return t; a.push(t); } return a; }, set: function(e, t) { var n = b.makeArray(t); return ( b(e) .find("option") .each(function() { this.selected = b.inArray(b(this).val(), n) >= 0; }), n.length || (e.selectedIndex = -1), n ); } } }, attr: function(e, n, r) { var o, a, s, u = e.nodeType; if (e && 3 !== u && 8 !== u && 2 !== u) return typeof e.getAttribute === i ? b.prop(e, n, r) : ((a = 1 !== u || !b.isXMLDoc(e)), a && ((n = n.toLowerCase()), (o = b.attrHooks[n] || (J.test(n) ? z : I))), r === t ? o && a && "get" in o && null !== (s = o.get(e, n)) ? s : (typeof e.getAttribute !== i && (s = e.getAttribute(n)), null == s ? t : s) : null !== r ? o && a && "set" in o && (s = o.set(e, r, n)) !== t ? s : (e.setAttribute(n, r + ""), r) : (b.removeAttr(e, n), t)); }, removeAttr: function(e, t) { var n, r, i = 0, o = t && t.match(w); if (o && 1 === e.nodeType) while ((n = o[i++])) (r = b.propFix[n] || n), J.test(n) ? !Q && G.test(n) ? (e[b.camelCase("default-" + n)] = e[r] = !1) : (e[r] = !1) : b.attr(e, n, ""), e.removeAttribute(Q ? n : r); }, attrHooks: { type: { set: function(e, t) { if ( !b.support.radioValue && "radio" === t && b.nodeName(e, "input") ) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t; } } } }, propFix: { tabindex: "tabIndex", readonly: "readOnly", for: "htmlFor", class: "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder", contenteditable: "contentEditable" }, prop: function(e, n, r) { var i, o, a, s = e.nodeType; if (e && 3 !== s && 8 !== s && 2 !== s) return ( (a = 1 !== s || !b.isXMLDoc(e)), a && ((n = b.propFix[n] || n), (o = b.propHooks[n])), r !== t ? o && "set" in o && (i = o.set(e, r, n)) !== t ? i : (e[n] = r) : o && "get" in o && null !== (i = o.get(e, n)) ? i : e[n] ); }, propHooks: { tabIndex: { get: function(e) { var n = e.getAttributeNode("tabindex"); return n && n.specified ? parseInt(n.value, 10) : V.test(e.nodeName) || (Y.test(e.nodeName) && e.href) ? 0 : t; } } } }), (z = { get: function(e, n) { var r = b.prop(e, n), i = "boolean" == typeof r && e.getAttribute(n), o = "boolean" == typeof r ? K && Q ? null != i : G.test(n) ? e[b.camelCase("default-" + n)] : !!i : e.getAttributeNode(n); return o && o.value !== !1 ? n.toLowerCase() : t; }, set: function(e, t, n) { return ( t === !1 ? b.removeAttr(e, n) : (K && Q) || !G.test(n) ? e.setAttribute((!Q && b.propFix[n]) || n, n) : (e[b.camelCase("default-" + n)] = e[n] = !0), n ); } }), (K && Q) || (b.attrHooks.value = { get: function(e, n) { var r = e.getAttributeNode(n); return b.nodeName(e, "input") ? e.defaultValue : r && r.specified ? r.value : t; }, set: function(e, n, r) { return b.nodeName(e, "input") ? ((e.defaultValue = n), t) : I && I.set(e, n, r); } }), Q || ((I = b.valHooks.button = { get: function(e, n) { var r = e.getAttributeNode(n); return r && ("id" === n || "name" === n || "coords" === n ? "" !== r.value : r.specified) ? r.value : t; }, set: function(e, n, r) { var i = e.getAttributeNode(r); return ( i || e.setAttributeNode((i = e.ownerDocument.createAttribute(r))), (i.value = n += ""), "value" === r || n === e.getAttribute(r) ? n : t ); } }), (b.attrHooks.contenteditable = { get: I.get, set: function(e, t, n) { I.set(e, "" === t ? !1 : t, n); } }), b.each(["width", "height"], function(e, n) { b.attrHooks[n] = b.extend(b.attrHooks[n], { set: function(e, r) { return "" === r ? (e.setAttribute(n, "auto"), r) : t; } }); })), b.support.hrefNormalized || (b.each(["href", "src", "width", "height"], function(e, n) { b.attrHooks[n] = b.extend(b.attrHooks[n], { get: function(e) { var r = e.getAttribute(n, 2); return null == r ? t : r; } }); }), b.each(["href", "src"], function(e, t) { b.propHooks[t] = { get: function(e) { return e.getAttribute(t, 4); } }; })), b.support.style || (b.attrHooks.style = { get: function(e) { return e.style.cssText || t; }, set: function(e, t) { return (e.style.cssText = t + ""); } }), b.support.optSelected || (b.propHooks.selected = b.extend(b.propHooks.selected, { get: function(e) { var t = e.parentNode; return ( t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null ); } })), b.support.enctype || (b.propFix.enctype = "encoding"), b.support.checkOn || b.each(["radio", "checkbox"], function() { b.valHooks[this] = { get: function(e) { return null === e.getAttribute("value") ? "on" : e.value; } }; }), b.each(["radio", "checkbox"], function() { b.valHooks[this] = b.extend(b.valHooks[this], { set: function(e, n) { return b.isArray(n) ? (e.checked = b.inArray(b(e).val(), n) >= 0) : t; } }); }); var Z = /^(?:input|select|textarea)$/i, et = /^key/, tt = /^(?:mouse|contextmenu)|click/, nt = /^(?:focusinfocus|focusoutblur)$/, rt = /^([^.]*)(?:\.(.+)|)$/; function it() { return !0; } function ot() { return !1; } (b.event = { global: {}, add: function(e, n, r, o, a) { var s, u, l, c, p, f, d, h, g, m, y, v = b._data(e); if (v) { r.handler && ((c = r), (r = c.handler), (a = c.selector)), r.guid || (r.guid = b.guid++), (u = v.events) || (u = v.events = {}), (f = v.handle) || ((f = v.handle = function(e) { return typeof b === i || (e && b.event.triggered === e.type) ? t : b.event.dispatch.apply(f.elem, arguments); }), (f.elem = e)), (n = (n || "").match(w) || [""]), (l = n.length); while (l--) (s = rt.exec(n[l]) || []), (g = y = s[1]), (m = (s[2] || "").split(".").sort()), (p = b.event.special[g] || {}), (g = (a ? p.delegateType : p.bindType) || g), (p = b.event.special[g] || {}), (d = b.extend( { type: g, origType: y, data: o, handler: r, guid: r.guid, selector: a, needsContext: a && b.expr.match.needsContext.test(a), namespace: m.join(".") }, c )), (h = u[g]) || ((h = u[g] = []), (h.delegateCount = 0), (p.setup && p.setup.call(e, o, m, f) !== !1) || (e.addEventListener ? e.addEventListener(g, f, !1) : e.on && e.on("on" + g, f))), p.add && (p.add.call(e, d), d.handler.guid || (d.handler.guid = r.guid)), a ? h.splice(h.delegateCount++, 0, d) : h.push(d), (b.event.global[g] = !0); e = null; } }, remove: function(e, t, n, r, i) { var o, a, s, u, l, c, p, f, d, h, g, m = b.hasData(e) && b._data(e); if (m && (c = m.events)) { (t = (t || "").match(w) || [""]), (l = t.length); while (l--) if ( ((s = rt.exec(t[l]) || []), (d = g = s[1]), (h = (s[2] || "").split(".").sort()), d) ) { (p = b.event.special[d] || {}), (d = (r ? p.delegateType : p.bindType) || d), (f = c[d] || []), (s = s[2] && RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)")), (u = o = f.length); while (o--) (a = f[o]), (!i && g !== a.origType) || (n && n.guid !== a.guid) || (s && !s.test(a.namespace)) || (r && r !== a.selector && ("**" !== r || !a.selector)) || (f.splice(o, 1), a.selector && f.delegateCount--, p.remove && p.remove.call(e, a)); u && !f.length && ((p.teardown && p.teardown.call(e, h, m.handle) !== !1) || b.removeEvent(e, d, m.handle), delete c[d]); } else for (d in c) b.event.remove(e, d + t[l], n, r, !0); b.isEmptyObject(c) && (delete m.handle, b._removeData(e, "events")); } }, trigger: function(n, r, i, a) { var s, u, l, c, p, f, d, h = [i || o], g = y.call(n, "type") ? n.type : n, m = y.call(n, "namespace") ? n.namespace.split(".") : []; if ( ((l = f = i = i || o), 3 !== i.nodeType && 8 !== i.nodeType && !nt.test(g + b.event.triggered) && (g.indexOf(".") >= 0 && ((m = g.split(".")), (g = m.shift()), m.sort()), (u = 0 > g.indexOf(":") && "on"