diff --git a/middlewares/session.js b/middlewares/session.js index 3060637..cc5be98 100644 --- a/middlewares/session.js +++ b/middlewares/session.js @@ -16,7 +16,8 @@ module.exports = (req, res, next) => { else db.User.findOne({where: {_id: session.user_id}}) .then(user => { if (!user) { - res.clearCookie('sdsession'); + var domain = (process.env.NODE_ENV == "production") ? new URL(config.get('endpoint')).hostname : req.headers.hostname; + res.clearCookie('sdsession', { domain: domain }); if (req.accepts("text/html")) { res.send("Please clear your cookies and try again."); diff --git a/public/javascripts/spacedeck.js b/public/javascripts/spacedeck.js deleted file mode 100644 index d388adb..0000000 --- a/public/javascripts/spacedeck.js +++ /dev/null @@ -1,15931 +0,0 @@ -!function(e, t) { - "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) { - if (!e.document) throw new Error("jQuery requires a window with a document"); - return t(e); - } : t(e); -}("undefined" != typeof window ? window : this, function(e, t) { - function n(e) { - var t = "length" in e && e.length, n = Z.type(e); - return "function" !== n && !Z.isWindow(e) && (!(1 !== e.nodeType || !t) || ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)); - } - function r(e, t, n) { - if (Z.isFunction(t)) return Z.grep(e, function(e, r) { - return !!t.call(e, r, e) !== n; - }); - if (t.nodeType) return Z.grep(e, function(e) { - return e === t !== n; - }); - if ("string" == typeof t) { - if (ae.test(t)) return Z.filter(t, e, n); - t = Z.filter(t, e); - } - return Z.grep(e, function(e) { - return U.call(t, e) >= 0 !== n; - }); - } - function i(e, t) { - for (;(e = e[t]) && 1 !== e.nodeType; ) ; - return e; - } - function o(e) { - var t = he[e] = {}; - return Z.each(e.match(de) || [], function(e, n) { - t[n] = !0; - }), t; - } - function s() { - J.removeEventListener("DOMContentLoaded", s, !1), e.removeEventListener("load", s, !1), - Z.ready(); - } - function a() { - Object.defineProperty(this.cache = {}, 0, { - get: function() { - return {}; - } - }), this.expando = Z.expando + a.uid++; - } - function u(e, t, n) { - var r; - if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(be, "-$1").toLowerCase(), - n = e.getAttribute(r), "string" == typeof n) { - try { - n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : xe.test(n) ? Z.parseJSON(n) : n); - } catch (i) {} - ye.set(e, t, n); - } else n = void 0; - return n; - } - function l() { - return !0; - } - function c() { - return !1; - } - function f() { - try { - return J.activeElement; - } catch (e) {} - } - function p(e, t) { - return Z.nodeName(e, "table") && Z.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e; - } - function d(e) { - return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e; - } - function h(e) { - var t = Pe.exec(e.type); - return t ? e.type = t[1] : e.removeAttribute("type"), e; - } - function g(e, t) { - for (var n = 0, r = e.length; r > n; n++) ve.set(e[n], "globalEval", !t || ve.get(t[n], "globalEval")); - } - function m(e, t) { - var n, r, i, o, s, a, u, l; - if (1 === t.nodeType) { - if (ve.hasData(e) && (o = ve.access(e), s = ve.set(t, o), l = o.events)) { - delete s.handle, s.events = {}; - for (i in l) for (n = 0, r = l[i].length; r > n; n++) Z.event.add(t, i, l[i][n]); - } - ye.hasData(e) && (a = ye.access(e), u = Z.extend({}, a), ye.set(t, u)); - } - } - function v(e, t) { - var n = e.getElementsByTagName ? e.getElementsByTagName(t || "*") : e.querySelectorAll ? e.querySelectorAll(t || "*") : []; - return void 0 === t || t && Z.nodeName(e, t) ? Z.merge([ e ], n) : n; - } - function y(e, t) { - var n = t.nodeName.toLowerCase(); - "input" === n && Ne.test(e.type) ? t.checked = e.checked : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue); - } - function x(t, n) { - var r, i = Z(n.createElement(t)).appendTo(n.body), o = e.getDefaultComputedStyle && (r = e.getDefaultComputedStyle(i[0])) ? r.display : Z.css(i[0], "display"); - return i.detach(), o; - } - function b(e) { - var t = J, n = $e[e]; - return n || (n = x(e, t), "none" !== n && n || (We = (We || Z("")).appendTo(t.documentElement), - t = We[0].contentDocument, t.write(), t.close(), n = x(e, t), We.detach()), $e[e] = n), - n; - } - function w(e, t, n) { - var r, i, o, s, a = e.style; - return n = n || _e(e), n && (s = n.getPropertyValue(t) || n[t]), n && ("" !== s || Z.contains(e.ownerDocument, e) || (s = Z.style(e, t)), - Be.test(s) && Ie.test(t) && (r = a.width, i = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, - s = n.width, a.width = r, a.minWidth = i, a.maxWidth = o)), void 0 !== s ? s + "" : s; - } - function T(e, t) { - return { - get: function() { - return e() ? void delete this.get : (this.get = t).apply(this, arguments); - } - }; - } - function C(e, t) { - if (t in e) return t; - for (var n = t[0].toUpperCase() + t.slice(1), r = t, i = Ge.length; i--; ) if (t = Ge[i] + n, - t in e) return t; - return r; - } - function N(e, t, n) { - var r = Xe.exec(t); - return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t; - } - function k(e, t, n, r, i) { - for (var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; 4 > o; o += 2) "margin" === n && (s += Z.css(e, n + Te[o], !0, i)), - r ? ("content" === n && (s -= Z.css(e, "padding" + Te[o], !0, i)), "margin" !== n && (s -= Z.css(e, "border" + Te[o] + "Width", !0, i))) : (s += Z.css(e, "padding" + Te[o], !0, i), - "padding" !== n && (s += Z.css(e, "border" + Te[o] + "Width", !0, i))); - return s; - } - function E(e, t, n) { - var r = !0, i = "width" === t ? e.offsetWidth : e.offsetHeight, o = _e(e), s = "border-box" === Z.css(e, "boxSizing", !1, o); - if (0 >= i || null == i) { - if (i = w(e, t, o), (0 > i || null == i) && (i = e.style[t]), Be.test(i)) return i; - r = s && (Q.boxSizingReliable() || i === e.style[t]), i = parseFloat(i) || 0; - } - return i + k(e, t, n || (s ? "border" : "content"), r, o) + "px"; - } - function S(e, t) { - for (var n, r, i, o = [], s = 0, a = e.length; a > s; s++) r = e[s], r.style && (o[s] = ve.get(r, "olddisplay"), - n = r.style.display, t ? (o[s] || "none" !== n || (r.style.display = ""), "" === r.style.display && Ce(r) && (o[s] = ve.access(r, "olddisplay", b(r.nodeName)))) : (i = Ce(r), - "none" === n && i || ve.set(r, "olddisplay", i ? n : Z.css(r, "display")))); - for (s = 0; a > s; s++) r = e[s], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[s] || "" : "none")); - return e; - } - function D(e, t, n, r, i) { - return new D.prototype.init(e, t, n, r, i); - } - function j() { - return setTimeout(function() { - Qe = void 0; - }), Qe = Z.now(); - } - function A(e, t) { - var n, r = 0, i = { - height: e - }; - for (t = t ? 1 : 0; 4 > r; r += 2 - t) n = Te[r], i["margin" + n] = i["padding" + n] = e; - return t && (i.opacity = i.width = e), i; - } - function L(e, t, n) { - for (var r, i = (nt[t] || []).concat(nt["*"]), o = 0, s = i.length; s > o; o++) if (r = i[o].call(n, t, e)) return r; - } - function q(e, t, n) { - var r, i, o, s, a, u, l, c, f = this, p = {}, d = e.style, h = e.nodeType && Ce(e), g = ve.get(e, "fxshow"); - n.queue || (a = Z._queueHooks(e, "fx"), null == a.unqueued && (a.unqueued = 0, u = a.empty.fire, - a.empty.fire = function() { - a.unqueued || u(); - }), a.unqueued++, f.always(function() { - f.always(function() { - a.unqueued--, Z.queue(e, "fx").length || a.empty.fire(); - }); - })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [ d.overflow, d.overflowX, d.overflowY ], - l = Z.css(e, "display"), c = "none" === l ? ve.get(e, "olddisplay") || b(e.nodeName) : l, - "inline" === c && "none" === Z.css(e, "float") && (d.display = "inline-block")), - n.overflow && (d.overflow = "hidden", f.always(function() { - d.overflow = n.overflow[0], d.overflowX = n.overflow[1], d.overflowY = n.overflow[2]; - })); - for (r in t) if (i = t[r], Ke.exec(i)) { - if (delete t[r], o = o || "toggle" === i, i === (h ? "hide" : "show")) { - if ("show" !== i || !g || void 0 === g[r]) continue; - h = !0; - } - p[r] = g && g[r] || Z.style(e, r); - } else l = void 0; - if (Z.isEmptyObject(p)) "inline" === ("none" === l ? b(e.nodeName) : l) && (d.display = l); else { - g ? "hidden" in g && (h = g.hidden) : g = ve.access(e, "fxshow", {}), o && (g.hidden = !h), - h ? Z(e).show() : f.done(function() { - Z(e).hide(); - }), f.done(function() { - var t; - ve.remove(e, "fxshow"); - for (t in p) Z.style(e, t, p[t]); - }); - for (r in p) s = L(h ? g[r] : 0, r, f), r in g || (g[r] = s.start, h && (s.end = s.start, - s.start = "width" === r || "height" === r ? 1 : 0)); - } - } - function H(e, t) { - var n, r, i, o, s; - for (n in e) if (r = Z.camelCase(n), i = t[r], o = e[n], Z.isArray(o) && (i = o[1], - o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), s = Z.cssHooks[r], s && "expand" in s) { - o = s.expand(o), delete e[r]; - for (n in o) n in e || (e[n] = o[n], t[n] = i); - } else t[r] = i; - } - function O(e, t, n) { - var r, i, o = 0, s = tt.length, a = Z.Deferred().always(function() { - delete u.elem; - }), u = function() { - if (i) return !1; - for (var t = Qe || j(), n = Math.max(0, l.startTime + l.duration - t), r = n / l.duration || 0, o = 1 - r, s = 0, u = l.tweens.length; u > s; s++) l.tweens[s].run(o); - return a.notifyWith(e, [ l, o, n ]), 1 > o && u ? n : (a.resolveWith(e, [ l ]), - !1); - }, l = a.promise({ - elem: e, - props: Z.extend({}, t), - opts: Z.extend(!0, { - specialEasing: {} - }, n), - originalProperties: t, - originalOptions: n, - startTime: Qe || j(), - duration: n.duration, - tweens: [], - createTween: function(t, n) { - var r = Z.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing); - return l.tweens.push(r), r; - }, - stop: function(t) { - var n = 0, r = t ? l.tweens.length : 0; - if (i) return this; - for (i = !0; r > n; n++) l.tweens[n].run(1); - return t ? a.resolveWith(e, [ l, t ]) : a.rejectWith(e, [ l, t ]), this; - } - }), c = l.props; - for (H(c, l.opts.specialEasing); s > o; o++) if (r = tt[o].call(l, e, c, l.opts)) return r; - return Z.map(c, L, l), Z.isFunction(l.opts.start) && l.opts.start.call(e, l), Z.fx.timer(Z.extend(u, { - elem: e, - anim: l, - queue: l.opts.queue - })), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always); - } - function F(e) { - return function(t, n) { - "string" != typeof t && (n = t, t = "*"); - var r, i = 0, o = t.toLowerCase().match(de) || []; - if (Z.isFunction(n)) for (;r = o[i++]; ) "+" === r[0] ? (r = r.slice(1) || "*", - (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n); - }; - } - function P(e, t, n, r) { - function i(a) { - var u; - return o[a] = !0, Z.each(e[a] || [], function(e, a) { - var l = a(t, n, r); - return "string" != typeof l || s || o[l] ? s ? !(u = l) : void 0 : (t.dataTypes.unshift(l), - i(l), !1); - }), u; - } - var o = {}, s = e === xt; - return i(t.dataTypes[0]) || !o["*"] && i("*"); - } - function R(e, t) { - var n, r, i = Z.ajaxSettings.flatOptions || {}; - for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); - return r && Z.extend(!0, e, r), e; - } - function M(e, t, n) { - for (var r, i, o, s, a = e.contents, u = e.dataTypes; "*" === u[0]; ) u.shift(), - void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); - if (r) for (i in a) if (a[i] && a[i].test(r)) { - u.unshift(i); - break; - } - if (u[0] in n) o = u[0]; else { - for (i in n) { - if (!u[0] || e.converters[i + " " + u[0]]) { - o = i; - break; - } - s || (s = i); - } - o = o || s; - } - return o ? (o !== u[0] && u.unshift(o), n[o]) : void 0; - } - function W(e, t, n, r) { - var i, o, s, a, u, l = {}, c = e.dataTypes.slice(); - if (c[1]) for (s in e.converters) l[s.toLowerCase()] = e.converters[s]; - for (o = c.shift(); o; ) if (e.responseFields[o] && (n[e.responseFields[o]] = t), - !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) if ("*" === o) o = u; else if ("*" !== u && u !== o) { - if (s = l[u + " " + o] || l["* " + o], !s) for (i in l) if (a = i.split(" "), a[1] === o && (s = l[u + " " + a[0]] || l["* " + a[0]])) { - s === !0 ? s = l[i] : l[i] !== !0 && (o = a[0], c.unshift(a[1])); - break; - } - if (s !== !0) if (s && e["throws"]) t = s(t); else try { - t = s(t); - } catch (f) { - return { - state: "parsererror", - error: s ? f : "No conversion from " + u + " to " + o - }; - } - } - return { - state: "success", - data: t - }; - } - function $(e, t, n, r) { - var i; - if (Z.isArray(t)) Z.each(t, function(t, i) { - n || Nt.test(e) ? r(e, i) : $(e + "[" + ("object" == typeof i ? t : "") + "]", i, n, r); - }); else if (n || "object" !== Z.type(t)) r(e, t); else for (i in t) $(e + "[" + i + "]", t[i], n, r); - } - function I(e) { - return Z.isWindow(e) ? e : 9 === e.nodeType && e.defaultView; - } - var B = [], _ = B.slice, z = B.concat, X = B.push, U = B.indexOf, V = {}, Y = V.toString, G = V.hasOwnProperty, Q = {}, J = e.document, K = "2.1.4", Z = function(e, t) { - return new Z.fn.init(e, t); - }, ee = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, te = /^-ms-/, ne = /-([\da-z])/gi, re = function(e, t) { - return t.toUpperCase(); - }; - Z.fn = Z.prototype = { - jquery: K, - constructor: Z, - selector: "", - length: 0, - toArray: function() { - return _.call(this); - }, - get: function(e) { - return null != e ? 0 > e ? this[e + this.length] : this[e] : _.call(this); - }, - pushStack: function(e) { - var t = Z.merge(this.constructor(), e); - return t.prevObject = this, t.context = this.context, t; - }, - each: function(e, t) { - return Z.each(this, e, t); - }, - map: function(e) { - return this.pushStack(Z.map(this, function(t, n) { - return e.call(t, n, t); - })); - }, - slice: function() { - return this.pushStack(_.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] ] : []); - }, - end: function() { - return this.prevObject || this.constructor(null); - }, - push: X, - sort: B.sort, - splice: B.splice - }, Z.extend = Z.fn.extend = function() { - var e, t, n, r, i, o, s = arguments[0] || {}, a = 1, u = arguments.length, l = !1; - for ("boolean" == typeof s && (l = s, s = arguments[a] || {}, a++), "object" == typeof s || Z.isFunction(s) || (s = {}), - a === u && (s = this, a--); u > a; a++) if (null != (e = arguments[a])) for (t in e) n = s[t], - r = e[t], s !== r && (l && r && (Z.isPlainObject(r) || (i = Z.isArray(r))) ? (i ? (i = !1, - o = n && Z.isArray(n) ? n : []) : o = n && Z.isPlainObject(n) ? n : {}, s[t] = Z.extend(l, o, r)) : void 0 !== r && (s[t] = r)); - return s; - }, Z.extend({ - expando: "jQuery" + (K + Math.random()).replace(/\D/g, ""), - isReady: !0, - error: function(e) { - throw new Error(e); - }, - noop: function() {}, - isFunction: function(e) { - return "function" === Z.type(e); - }, - isArray: Array.isArray, - isWindow: function(e) { - return null != e && e === e.window; - }, - isNumeric: function(e) { - return !Z.isArray(e) && e - parseFloat(e) + 1 >= 0; - }, - isPlainObject: function(e) { - return "object" === Z.type(e) && !e.nodeType && !Z.isWindow(e) && !(e.constructor && !G.call(e.constructor.prototype, "isPrototypeOf")); - }, - isEmptyObject: function(e) { - var t; - for (t in e) return !1; - return !0; - }, - type: function(e) { - return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? V[Y.call(e)] || "object" : typeof e; - }, - globalEval: function(e) { - var t, n = eval; - e = Z.trim(e), e && (1 === e.indexOf("use strict") ? (t = J.createElement("script"), - t.text = e, J.head.appendChild(t).parentNode.removeChild(t)) : n(e)); - }, - camelCase: function(e) { - return e.replace(te, "ms-").replace(ne, re); - }, - nodeName: function(e, t) { - return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); - }, - each: function(e, t, r) { - var i, o = 0, s = e.length, a = n(e); - if (r) { - if (a) for (;s > o && (i = t.apply(e[o], r), i !== !1); o++) ; else for (o in e) if (i = t.apply(e[o], r), - i === !1) break; - } else if (a) for (;s > o && (i = t.call(e[o], o, e[o]), i !== !1); o++) ; else for (o in e) if (i = t.call(e[o], o, e[o]), - i === !1) break; - return e; - }, - trim: function(e) { - return null == e ? "" : (e + "").replace(ee, ""); - }, - makeArray: function(e, t) { - var r = t || []; - return null != e && (n(Object(e)) ? Z.merge(r, "string" == typeof e ? [ e ] : e) : X.call(r, e)), - r; - }, - inArray: function(e, t, n) { - return null == t ? -1 : U.call(t, e, n); - }, - merge: function(e, t) { - for (var n = +t.length, r = 0, i = e.length; n > r; r++) e[i++] = t[r]; - return e.length = i, e; - }, - grep: function(e, t, n) { - for (var r, i = [], o = 0, s = e.length, a = !n; s > o; o++) r = !t(e[o], o), r !== a && i.push(e[o]); - return i; - }, - map: function(e, t, r) { - var i, o = 0, s = e.length, a = n(e), u = []; - if (a) for (;s > o; o++) i = t(e[o], o, r), null != i && u.push(i); else for (o in e) i = t(e[o], o, r), - null != i && u.push(i); - return z.apply([], u); - }, - guid: 1, - proxy: function(e, t) { - var n, r, i; - return "string" == typeof t && (n = e[t], t = e, e = n), Z.isFunction(e) ? (r = _.call(arguments, 2), - i = function() { - return e.apply(t || this, r.concat(_.call(arguments))); - }, i.guid = e.guid = e.guid || Z.guid++, i) : void 0; - }, - now: Date.now, - support: Q - }), Z.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(e, t) { - V["[object " + t + "]"] = t.toLowerCase(); - }); - var ie = function(e) { - function t(e, t, n, r) { - var i, o, s, a, u, l, f, d, h, g; - if ((t ? t.ownerDocument || t : $) !== q && L(t), t = t || q, n = n || [], a = t.nodeType, - "string" != typeof e || !e || 1 !== a && 9 !== a && 11 !== a) return n; - if (!r && O) { - if (11 !== a && (i = ye.exec(e))) if (s = i[1]) { - if (9 === a) { - if (o = t.getElementById(s), !o || !o.parentNode) return n; - if (o.id === s) return n.push(o), n; - } else if (t.ownerDocument && (o = t.ownerDocument.getElementById(s)) && M(t, o) && o.id === s) return n.push(o), - n; - } else { - if (i[2]) return K.apply(n, t.getElementsByTagName(e)), n; - if ((s = i[3]) && w.getElementsByClassName) return K.apply(n, t.getElementsByClassName(s)), - n; - } - if (w.qsa && (!F || !F.test(e))) { - if (d = f = W, h = t, g = 1 !== a && e, 1 === a && "object" !== t.nodeName.toLowerCase()) { - for (l = k(e), (f = t.getAttribute("id")) ? d = f.replace(be, "\\$&") : t.setAttribute("id", d), - d = "[id='" + d + "'] ", u = l.length; u--; ) l[u] = d + p(l[u]); - h = xe.test(e) && c(t.parentNode) || t, g = l.join(","); - } - if (g) try { - return K.apply(n, h.querySelectorAll(g)), n; - } catch (m) {} finally { - f || t.removeAttribute("id"); - } - } - } - return S(e.replace(ue, "$1"), t, n, r); - } - function n() { - function e(n, r) { - return t.push(n + " ") > T.cacheLength && delete e[t.shift()], e[n + " "] = r; - } - var t = []; - return e; - } - function r(e) { - return e[W] = !0, e; - } - function i(e) { - var t = q.createElement("div"); - try { - return !!e(t); - } catch (n) { - return !1; - } finally { - t.parentNode && t.parentNode.removeChild(t), t = null; - } - } - function o(e, t) { - for (var n = e.split("|"), r = e.length; r--; ) T.attrHandle[n[r]] = t; - } - function s(e, t) { - var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || V) - (~e.sourceIndex || V); - if (r) return r; - if (n) for (;n = n.nextSibling; ) if (n === t) return -1; - return e ? 1 : -1; - } - function a(e) { - return function(t) { - var n = t.nodeName.toLowerCase(); - return "input" === n && t.type === e; - }; - } - function u(e) { - return function(t) { - var n = t.nodeName.toLowerCase(); - return ("input" === n || "button" === n) && t.type === e; - }; - } - function l(e) { - return r(function(t) { - return t = +t, r(function(n, r) { - for (var i, o = e([], n.length, t), s = o.length; s--; ) n[i = o[s]] && (n[i] = !(r[i] = n[i])); - }); - }); - } - function c(e) { - return e && "undefined" != typeof e.getElementsByTagName && e; - } - function f() {} - function p(e) { - for (var t = 0, n = e.length, r = ""; n > t; t++) r += e[t].value; - return r; - } - function d(e, t, n) { - var r = t.dir, i = n && "parentNode" === r, o = B++; - return t.first ? function(t, n, o) { - for (;t = t[r]; ) if (1 === t.nodeType || i) return e(t, n, o); - } : function(t, n, s) { - var a, u, l = [ I, o ]; - if (s) { - for (;t = t[r]; ) if ((1 === t.nodeType || i) && e(t, n, s)) return !0; - } else for (;t = t[r]; ) if (1 === t.nodeType || i) { - if (u = t[W] || (t[W] = {}), (a = u[r]) && a[0] === I && a[1] === o) return l[2] = a[2]; - if (u[r] = l, l[2] = e(t, n, s)) return !0; - } - }; - } - function h(e) { - return e.length > 1 ? function(t, n, r) { - for (var i = e.length; i--; ) if (!e[i](t, n, r)) return !1; - return !0; - } : e[0]; - } - function g(e, n, r) { - for (var i = 0, o = n.length; o > i; i++) t(e, n[i], r); - return r; - } - function m(e, t, n, r, i) { - for (var o, s = [], a = 0, u = e.length, l = null != t; u > a; a++) (o = e[a]) && (!n || n(o, r, i)) && (s.push(o), - l && t.push(a)); - return s; - } - function v(e, t, n, i, o, s) { - return i && !i[W] && (i = v(i)), o && !o[W] && (o = v(o, s)), r(function(r, s, a, u) { - var l, c, f, p = [], d = [], h = s.length, v = r || g(t || "*", a.nodeType ? [ a ] : a, []), y = !e || !r && t ? v : m(v, p, e, a, u), x = n ? o || (r ? e : h || i) ? [] : s : y; - if (n && n(y, x, a, u), i) for (l = m(x, d), i(l, [], a, u), c = l.length; c--; ) (f = l[c]) && (x[d[c]] = !(y[d[c]] = f)); - if (r) { - if (o || e) { - if (o) { - for (l = [], c = x.length; c--; ) (f = x[c]) && l.push(y[c] = f); - o(null, x = [], l, u); - } - for (c = x.length; c--; ) (f = x[c]) && (l = o ? ee(r, f) : p[c]) > -1 && (r[l] = !(s[l] = f)); - } - } else x = m(x === s ? x.splice(h, x.length) : x), o ? o(null, s, x, u) : K.apply(s, x); - }); - } - function y(e) { - for (var t, n, r, i = e.length, o = T.relative[e[0].type], s = o || T.relative[" "], a = o ? 1 : 0, u = d(function(e) { - return e === t; - }, s, !0), l = d(function(e) { - return ee(t, e) > -1; - }, s, !0), c = [ function(e, n, r) { - var i = !o && (r || n !== D) || ((t = n).nodeType ? u(e, n, r) : l(e, n, r)); - return t = null, i; - } ]; i > a; a++) if (n = T.relative[e[a].type]) c = [ d(h(c), n) ]; else { - if (n = T.filter[e[a].type].apply(null, e[a].matches), n[W]) { - for (r = ++a; i > r && !T.relative[e[r].type]; r++) ; - return v(a > 1 && h(c), a > 1 && p(e.slice(0, a - 1).concat({ - value: " " === e[a - 2].type ? "*" : "" - })).replace(ue, "$1"), n, r > a && y(e.slice(a, r)), i > r && y(e = e.slice(r)), i > r && p(e)); - } - c.push(n); - } - return h(c); - } - function x(e, n) { - var i = n.length > 0, o = e.length > 0, s = function(r, s, a, u, l) { - var c, f, p, d = 0, h = "0", g = r && [], v = [], y = D, x = r || o && T.find.TAG("*", l), b = I += null == y ? 1 : Math.random() || .1, w = x.length; - for (l && (D = s !== q && s); h !== w && null != (c = x[h]); h++) { - if (o && c) { - for (f = 0; p = e[f++]; ) if (p(c, s, a)) { - u.push(c); - break; - } - l && (I = b); - } - i && ((c = !p && c) && d--, r && g.push(c)); - } - if (d += h, i && h !== d) { - for (f = 0; p = n[f++]; ) p(g, v, s, a); - if (r) { - if (d > 0) for (;h--; ) g[h] || v[h] || (v[h] = Q.call(u)); - v = m(v); - } - K.apply(u, v), l && !r && v.length > 0 && d + n.length > 1 && t.uniqueSort(u); - } - return l && (I = b, D = y), g; - }; - return i ? r(s) : s; - } - var b, w, T, C, N, k, E, S, D, j, A, L, q, H, O, F, P, R, M, W = "sizzle" + 1 * new Date(), $ = e.document, I = 0, B = 0, _ = n(), z = n(), X = n(), U = function(e, t) { - return e === t && (A = !0), 0; - }, V = 1 << 31, Y = {}.hasOwnProperty, G = [], Q = G.pop, J = G.push, K = G.push, Z = G.slice, ee = function(e, t) { - for (var n = 0, r = e.length; r > n; n++) if (e[n] === t) return n; - return -1; - }, te = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", ne = "[\\x20\\t\\r\\n\\f]", re = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", ie = re.replace("w", "w#"), oe = "\\[" + ne + "*(" + re + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + ie + "))|)" + ne + "*\\]", se = ":(" + re + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + oe + ")*)|.*)\\)|)", ae = new RegExp(ne + "+", "g"), ue = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne + "+$", "g"), le = new RegExp("^" + ne + "*," + ne + "*"), ce = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"), fe = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]", "g"), pe = new RegExp(se), de = new RegExp("^" + ie + "$"), he = { - ID: new RegExp("^#(" + re + ")"), - CLASS: new RegExp("^\\.(" + re + ")"), - TAG: new RegExp("^(" + re.replace("w", "w*") + ")"), - ATTR: new RegExp("^" + oe), - PSEUDO: new RegExp("^" + se), - CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne + "*\\)|)", "i"), - bool: new RegExp("^(?:" + te + ")$", "i"), - needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne + "*\\)|)(?=[^-]|$)", "i") - }, ge = /^(?:input|select|textarea|button)$/i, me = /^h\d$/i, ve = /^[^{]+\{\s*\[native \w/, ye = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, xe = /[+~]/, be = /'|\\/g, we = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne + ")|.)", "ig"), Te = function(e, t, n) { - var r = "0x" + t - 65536; - return r !== r || n ? t : 0 > r ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320); - }, Ce = function() { - L(); - }; - try { - K.apply(G = Z.call($.childNodes), $.childNodes), G[$.childNodes.length].nodeType; - } catch (Ne) { - K = { - apply: G.length ? function(e, t) { - J.apply(e, Z.call(t)); - } : function(e, t) { - for (var n = e.length, r = 0; e[n++] = t[r++]; ) ; - e.length = n - 1; - } - }; - } - w = t.support = {}, N = t.isXML = function(e) { - var t = e && (e.ownerDocument || e).documentElement; - return !!t && "HTML" !== t.nodeName; - }, L = t.setDocument = function(e) { - var t, n, r = e ? e.ownerDocument || e : $; - return r !== q && 9 === r.nodeType && r.documentElement ? (q = r, H = r.documentElement, - n = r.defaultView, n && n !== n.top && (n.addEventListener ? n.addEventListener("unload", Ce, !1) : n.attachEvent && n.attachEvent("onunload", Ce)), - O = !N(r), w.attributes = i(function(e) { - return e.className = "i", !e.getAttribute("className"); - }), w.getElementsByTagName = i(function(e) { - return e.appendChild(r.createComment("")), !e.getElementsByTagName("*").length; - }), w.getElementsByClassName = ve.test(r.getElementsByClassName), w.getById = i(function(e) { - return H.appendChild(e).id = W, !r.getElementsByName || !r.getElementsByName(W).length; - }), w.getById ? (T.find.ID = function(e, t) { - if ("undefined" != typeof t.getElementById && O) { - var n = t.getElementById(e); - return n && n.parentNode ? [ n ] : []; - } - }, T.filter.ID = function(e) { - var t = e.replace(we, Te); - return function(e) { - return e.getAttribute("id") === t; - }; - }) : (delete T.find.ID, T.filter.ID = function(e) { - var t = e.replace(we, Te); - return function(e) { - var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); - return n && n.value === t; - }; - }), T.find.TAG = w.getElementsByTagName ? function(e, t) { - return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : w.qsa ? t.querySelectorAll(e) : void 0; - } : function(e, t) { - var n, r = [], i = 0, o = t.getElementsByTagName(e); - if ("*" === e) { - for (;n = o[i++]; ) 1 === n.nodeType && r.push(n); - return r; - } - return o; - }, T.find.CLASS = w.getElementsByClassName && function(e, t) { - return O ? t.getElementsByClassName(e) : void 0; - }, P = [], F = [], (w.qsa = ve.test(r.querySelectorAll)) && (i(function(e) { - H.appendChild(e).innerHTML = "", - e.querySelectorAll("[msallowcapture^='']").length && F.push("[*^$]=" + ne + "*(?:''|\"\")"), - e.querySelectorAll("[selected]").length || F.push("\\[" + ne + "*(?:value|" + te + ")"), - e.querySelectorAll("[id~=" + W + "-]").length || F.push("~="), e.querySelectorAll(":checked").length || F.push(":checked"), - e.querySelectorAll("a#" + W + "+*").length || F.push(".#.+[+~]"); - }), i(function(e) { - var t = r.createElement("input"); - t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && F.push("name" + ne + "*[*^$|!~]?="), - e.querySelectorAll(":enabled").length || F.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), - F.push(",.*:"); - })), (w.matchesSelector = ve.test(R = H.matches || H.webkitMatchesSelector || H.mozMatchesSelector || H.oMatchesSelector || H.msMatchesSelector)) && i(function(e) { - w.disconnectedMatch = R.call(e, "div"), R.call(e, "[s!='']:x"), P.push("!=", se); - }), F = F.length && new RegExp(F.join("|")), P = P.length && new RegExp(P.join("|")), - t = ve.test(H.compareDocumentPosition), M = t || ve.test(H.contains) ? function(e, t) { - var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; - return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))); - } : function(e, t) { - if (t) for (;t = t.parentNode; ) if (t === e) return !0; - return !1; - }, U = t ? function(e, t) { - if (e === t) return A = !0, 0; - var n = !e.compareDocumentPosition - !t.compareDocumentPosition; - return n ? n : (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, - 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === r || e.ownerDocument === $ && M($, e) ? -1 : t === r || t.ownerDocument === $ && M($, t) ? 1 : j ? ee(j, e) - ee(j, t) : 0 : 4 & n ? -1 : 1); - } : function(e, t) { - if (e === t) return A = !0, 0; - var n, i = 0, o = e.parentNode, a = t.parentNode, u = [ e ], l = [ t ]; - if (!o || !a) return e === r ? -1 : t === r ? 1 : o ? -1 : a ? 1 : j ? ee(j, e) - ee(j, t) : 0; - if (o === a) return s(e, t); - for (n = e; n = n.parentNode; ) u.unshift(n); - for (n = t; n = n.parentNode; ) l.unshift(n); - for (;u[i] === l[i]; ) i++; - return i ? s(u[i], l[i]) : u[i] === $ ? -1 : l[i] === $ ? 1 : 0; - }, r) : q; - }, t.matches = function(e, n) { - return t(e, null, null, n); - }, t.matchesSelector = function(e, n) { - if ((e.ownerDocument || e) !== q && L(e), n = n.replace(fe, "='$1']"), !(!w.matchesSelector || !O || P && P.test(n) || F && F.test(n))) try { - var r = R.call(e, n); - if (r || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r; - } catch (i) {} - return t(n, q, null, [ e ]).length > 0; - }, t.contains = function(e, t) { - return (e.ownerDocument || e) !== q && L(e), M(e, t); - }, t.attr = function(e, t) { - (e.ownerDocument || e) !== q && L(e); - var n = T.attrHandle[t.toLowerCase()], r = n && Y.call(T.attrHandle, t.toLowerCase()) ? n(e, t, !O) : void 0; - return void 0 !== r ? r : w.attributes || !O ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; - }, t.error = function(e) { - throw new Error("Syntax error, unrecognized expression: " + e); - }, t.uniqueSort = function(e) { - var t, n = [], r = 0, i = 0; - if (A = !w.detectDuplicates, j = !w.sortStable && e.slice(0), e.sort(U), A) { - for (;t = e[i++]; ) t === e[i] && (r = n.push(i)); - for (;r--; ) e.splice(n[r], 1); - } - return j = null, e; - }, C = t.getText = function(e) { - var t, n = "", r = 0, i = e.nodeType; - if (i) { - if (1 === i || 9 === i || 11 === i) { - if ("string" == typeof e.textContent) return e.textContent; - for (e = e.firstChild; e; e = e.nextSibling) n += C(e); - } else if (3 === i || 4 === i) return e.nodeValue; - } else for (;t = e[r++]; ) n += C(t); - return n; - }, T = t.selectors = { - cacheLength: 50, - createPseudo: r, - match: he, - attrHandle: {}, - find: {}, - relative: { - ">": { - dir: "parentNode", - first: !0 - }, - " ": { - dir: "parentNode" - }, - "+": { - dir: "previousSibling", - first: !0 - }, - "~": { - dir: "previousSibling" - } - }, - preFilter: { - ATTR: function(e) { - return e[1] = e[1].replace(we, Te), e[3] = (e[3] || e[4] || e[5] || "").replace(we, Te), - "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4); - }, - CHILD: function(e) { - return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), - e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), - e; - }, - PSEUDO: function(e) { - var t, n = !e[6] && e[2]; - return he.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && pe.test(n) && (t = k(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), - e[2] = n.slice(0, t)), e.slice(0, 3)); - } - }, - filter: { - TAG: function(e) { - var t = e.replace(we, Te).toLowerCase(); - return "*" === e ? function() { - return !0; - } : function(e) { - return e.nodeName && e.nodeName.toLowerCase() === t; - }; - }, - CLASS: function(e) { - var t = _[e + " "]; - return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne + "|$)")) && _(e, function(e) { - return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || ""); - }); - }, - ATTR: function(e, n, r) { - return function(i) { - var o = t.attr(i, e); - return null == o ? "!=" === n : !n || (o += "", "=" === n ? o === r : "!=" === n ? o !== r : "^=" === n ? r && 0 === o.indexOf(r) : "*=" === n ? r && o.indexOf(r) > -1 : "$=" === n ? r && o.slice(-r.length) === r : "~=" === n ? (" " + o.replace(ae, " ") + " ").indexOf(r) > -1 : "|=" === n && (o === r || o.slice(0, r.length + 1) === r + "-")); - }; - }, - CHILD: function(e, t, n, r, i) { - var o = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), a = "of-type" === t; - return 1 === r && 0 === i ? function(e) { - return !!e.parentNode; - } : function(t, n, u) { - var l, c, f, p, d, h, g = o !== s ? "nextSibling" : "previousSibling", m = t.parentNode, v = a && t.nodeName.toLowerCase(), y = !u && !a; - if (m) { - if (o) { - for (;g; ) { - for (f = t; f = f[g]; ) if (a ? f.nodeName.toLowerCase() === v : 1 === f.nodeType) return !1; - h = g = "only" === e && !h && "nextSibling"; - } - return !0; - } - if (h = [ s ? m.firstChild : m.lastChild ], s && y) { - for (c = m[W] || (m[W] = {}), l = c[e] || [], d = l[0] === I && l[1], p = l[0] === I && l[2], - f = d && m.childNodes[d]; f = ++d && f && f[g] || (p = d = 0) || h.pop(); ) if (1 === f.nodeType && ++p && f === t) { - c[e] = [ I, d, p ]; - break; - } - } else if (y && (l = (t[W] || (t[W] = {}))[e]) && l[0] === I) p = l[1]; else for (;(f = ++d && f && f[g] || (p = d = 0) || h.pop()) && ((a ? f.nodeName.toLowerCase() !== v : 1 !== f.nodeType) || !++p || (y && ((f[W] || (f[W] = {}))[e] = [ I, p ]), - f !== t)); ) ; - return p -= i, p === r || p % r === 0 && p / r >= 0; - } - }; - }, - PSEUDO: function(e, n) { - var i, o = T.pseudos[e] || T.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e); - return o[W] ? o(n) : o.length > 1 ? (i = [ e, e, "", n ], T.setFilters.hasOwnProperty(e.toLowerCase()) ? r(function(e, t) { - for (var r, i = o(e, n), s = i.length; s--; ) r = ee(e, i[s]), e[r] = !(t[r] = i[s]); - }) : function(e) { - return o(e, 0, i); - }) : o; - } - }, - pseudos: { - not: r(function(e) { - var t = [], n = [], i = E(e.replace(ue, "$1")); - return i[W] ? r(function(e, t, n, r) { - for (var o, s = i(e, null, r, []), a = e.length; a--; ) (o = s[a]) && (e[a] = !(t[a] = o)); - }) : function(e, r, o) { - return t[0] = e, i(t, null, o, n), t[0] = null, !n.pop(); - }; - }), - has: r(function(e) { - return function(n) { - return t(e, n).length > 0; - }; - }), - contains: r(function(e) { - return e = e.replace(we, Te), function(t) { - return (t.textContent || t.innerText || C(t)).indexOf(e) > -1; - }; - }), - lang: r(function(e) { - return de.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(we, Te).toLowerCase(), - function(t) { - var n; - do if (n = O ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), - n === e || 0 === n.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType); - return !1; - }; - }), - target: function(t) { - var n = e.location && e.location.hash; - return n && n.slice(1) === t.id; - }, - root: function(e) { - return e === H; - }, - focus: function(e) { - return e === q.activeElement && (!q.hasFocus || q.hasFocus()) && !!(e.type || e.href || ~e.tabIndex); - }, - enabled: function(e) { - return e.disabled === !1; - }, - disabled: function(e) { - return e.disabled === !0; - }, - checked: function(e) { - var t = e.nodeName.toLowerCase(); - return "input" === t && !!e.checked || "option" === t && !!e.selected; - }, - selected: function(e) { - return e.parentNode && e.parentNode.selectedIndex, e.selected === !0; - }, - empty: function(e) { - for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; - return !0; - }, - parent: function(e) { - return !T.pseudos.empty(e); - }, - header: function(e) { - return me.test(e.nodeName); - }, - input: function(e) { - return ge.test(e.nodeName); - }, - button: function(e) { - var t = e.nodeName.toLowerCase(); - return "input" === t && "button" === e.type || "button" === t; - }, - text: function(e) { - var t; - return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()); - }, - first: l(function() { - return [ 0 ]; - }), - last: l(function(e, t) { - return [ t - 1 ]; - }), - eq: l(function(e, t, n) { - return [ 0 > n ? n + t : n ]; - }), - even: l(function(e, t) { - for (var n = 0; t > n; n += 2) e.push(n); - return e; - }), - odd: l(function(e, t) { - for (var n = 1; t > n; n += 2) e.push(n); - return e; - }), - lt: l(function(e, t, n) { - for (var r = 0 > n ? n + t : n; --r >= 0; ) e.push(r); - return e; - }), - gt: l(function(e, t, n) { - for (var r = 0 > n ? n + t : n; ++r < t; ) e.push(r); - return e; - }) - } - }, T.pseudos.nth = T.pseudos.eq; - for (b in { - radio: !0, - checkbox: !0, - file: !0, - password: !0, - image: !0 - }) T.pseudos[b] = a(b); - for (b in { - submit: !0, - reset: !0 - }) T.pseudos[b] = u(b); - return f.prototype = T.filters = T.pseudos, T.setFilters = new f(), k = t.tokenize = function(e, n) { - var r, i, o, s, a, u, l, c = z[e + " "]; - if (c) return n ? 0 : c.slice(0); - for (a = e, u = [], l = T.preFilter; a; ) { - (!r || (i = le.exec(a))) && (i && (a = a.slice(i[0].length) || a), u.push(o = [])), - r = !1, (i = ce.exec(a)) && (r = i.shift(), o.push({ - value: r, - type: i[0].replace(ue, " ") - }), a = a.slice(r.length)); - for (s in T.filter) !(i = he[s].exec(a)) || l[s] && !(i = l[s](i)) || (r = i.shift(), - o.push({ - value: r, - type: s, - matches: i - }), a = a.slice(r.length)); - if (!r) break; - } - return n ? a.length : a ? t.error(e) : z(e, u).slice(0); - }, E = t.compile = function(e, t) { - var n, r = [], i = [], o = X[e + " "]; - if (!o) { - for (t || (t = k(e)), n = t.length; n--; ) o = y(t[n]), o[W] ? r.push(o) : i.push(o); - o = X(e, x(i, r)), o.selector = e; - } - return o; - }, S = t.select = function(e, t, n, r) { - var i, o, s, a, u, l = "function" == typeof e && e, f = !r && k(e = l.selector || e); - if (n = n || [], 1 === f.length) { - if (o = f[0] = f[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && w.getById && 9 === t.nodeType && O && T.relative[o[1].type]) { - if (t = (T.find.ID(s.matches[0].replace(we, Te), t) || [])[0], !t) return n; - l && (t = t.parentNode), e = e.slice(o.shift().value.length); - } - for (i = he.needsContext.test(e) ? 0 : o.length; i-- && (s = o[i], !T.relative[a = s.type]); ) if ((u = T.find[a]) && (r = u(s.matches[0].replace(we, Te), xe.test(o[0].type) && c(t.parentNode) || t))) { - if (o.splice(i, 1), e = r.length && p(o), !e) return K.apply(n, r), n; - break; - } - } - return (l || E(e, f))(r, t, !O, n, xe.test(e) && c(t.parentNode) || t), n; - }, w.sortStable = W.split("").sort(U).join("") === W, w.detectDuplicates = !!A, - L(), w.sortDetached = i(function(e) { - return 1 & e.compareDocumentPosition(q.createElement("div")); - }), i(function(e) { - return e.innerHTML = "", "#" === e.firstChild.getAttribute("href"); - }) || o("type|href|height|width", function(e, t, n) { - return n ? void 0 : e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2); - }), w.attributes && i(function(e) { - return e.innerHTML = "", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value"); - }) || o("value", function(e, t, n) { - return n || "input" !== e.nodeName.toLowerCase() ? void 0 : e.defaultValue; - }), i(function(e) { - return null == e.getAttribute("disabled"); - }) || o(te, function(e, t, n) { - var r; - return n ? void 0 : e[t] === !0 ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; - }), t; - }(e); - Z.find = ie, Z.expr = ie.selectors, Z.expr[":"] = Z.expr.pseudos, Z.unique = ie.uniqueSort, - Z.text = ie.getText, Z.isXMLDoc = ie.isXML, Z.contains = ie.contains; - var oe = Z.expr.match.needsContext, se = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, ae = /^.[^:#\[\.,]*$/; - Z.filter = function(e, t, n) { - var r = t[0]; - return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? Z.find.matchesSelector(r, e) ? [ r ] : [] : Z.find.matches(e, Z.grep(t, function(e) { - return 1 === e.nodeType; - })); - }, Z.fn.extend({ - find: function(e) { - var t, n = this.length, r = [], i = this; - if ("string" != typeof e) return this.pushStack(Z(e).filter(function() { - for (t = 0; n > t; t++) if (Z.contains(i[t], this)) return !0; - })); - for (t = 0; n > t; t++) Z.find(e, i[t], r); - return r = this.pushStack(n > 1 ? Z.unique(r) : r), r.selector = this.selector ? this.selector + " " + e : e, - r; - }, - filter: function(e) { - return this.pushStack(r(this, e || [], !1)); - }, - not: function(e) { - return this.pushStack(r(this, e || [], !0)); - }, - is: function(e) { - return !!r(this, "string" == typeof e && oe.test(e) ? Z(e) : e || [], !1).length; - } - }); - var ue, le = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, ce = Z.fn.init = function(e, t) { - var n, r; - if (!e) return this; - if ("string" == typeof e) { - if (n = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [ null, e, null ] : le.exec(e), - !n || !n[1] && t) return !t || t.jquery ? (t || ue).find(e) : this.constructor(t).find(e); - if (n[1]) { - if (t = t instanceof Z ? t[0] : t, Z.merge(this, Z.parseHTML(n[1], t && t.nodeType ? t.ownerDocument || t : J, !0)), - se.test(n[1]) && Z.isPlainObject(t)) for (n in t) Z.isFunction(this[n]) ? this[n](t[n]) : this.attr(n, t[n]); - return this; - } - return r = J.getElementById(n[2]), r && r.parentNode && (this.length = 1, this[0] = r), - this.context = J, this.selector = e, this; - } - return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : Z.isFunction(e) ? "undefined" != typeof ue.ready ? ue.ready(e) : e(Z) : (void 0 !== e.selector && (this.selector = e.selector, - this.context = e.context), Z.makeArray(e, this)); - }; - ce.prototype = Z.fn, ue = Z(J); - var fe = /^(?:parents|prev(?:Until|All))/, pe = { - children: !0, - contents: !0, - next: !0, - prev: !0 - }; - Z.extend({ - dir: function(e, t, n) { - for (var r = [], i = void 0 !== n; (e = e[t]) && 9 !== e.nodeType; ) if (1 === e.nodeType) { - if (i && Z(e).is(n)) break; - r.push(e); - } - return r; - }, - sibling: function(e, t) { - for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); - return n; - } - }), Z.fn.extend({ - has: function(e) { - var t = Z(e, this), n = t.length; - return this.filter(function() { - for (var e = 0; n > e; e++) if (Z.contains(this, t[e])) return !0; - }); - }, - closest: function(e, t) { - for (var n, r = 0, i = this.length, o = [], s = oe.test(e) || "string" != typeof e ? Z(e, t || this.context) : 0; i > r; r++) for (n = this[r]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && Z.find.matchesSelector(n, e))) { - o.push(n); - break; - } - return this.pushStack(o.length > 1 ? Z.unique(o) : o); - }, - index: function(e) { - return e ? "string" == typeof e ? U.call(Z(e), this[0]) : U.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1; - }, - add: function(e, t) { - return this.pushStack(Z.unique(Z.merge(this.get(), Z(e, t)))); - }, - addBack: function(e) { - return this.add(null == e ? this.prevObject : this.prevObject.filter(e)); - } - }), Z.each({ - parent: function(e) { - var t = e.parentNode; - return t && 11 !== t.nodeType ? t : null; - }, - parents: function(e) { - return Z.dir(e, "parentNode"); - }, - parentsUntil: function(e, t, n) { - return Z.dir(e, "parentNode", n); - }, - next: function(e) { - return i(e, "nextSibling"); - }, - prev: function(e) { - return i(e, "previousSibling"); - }, - nextAll: function(e) { - return Z.dir(e, "nextSibling"); - }, - prevAll: function(e) { - return Z.dir(e, "previousSibling"); - }, - nextUntil: function(e, t, n) { - return Z.dir(e, "nextSibling", n); - }, - prevUntil: function(e, t, n) { - return Z.dir(e, "previousSibling", n); - }, - siblings: function(e) { - return Z.sibling((e.parentNode || {}).firstChild, e); - }, - children: function(e) { - return Z.sibling(e.firstChild); - }, - contents: function(e) { - return e.contentDocument || Z.merge([], e.childNodes); - } - }, function(e, t) { - Z.fn[e] = function(n, r) { - var i = Z.map(this, t, n); - return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = Z.filter(r, i)), - this.length > 1 && (pe[e] || Z.unique(i), fe.test(e) && i.reverse()), this.pushStack(i); - }; - }); - var de = /\S+/g, he = {}; - Z.Callbacks = function(e) { - e = "string" == typeof e ? he[e] || o(e) : Z.extend({}, e); - var t, n, r, i, s, a, u = [], l = !e.once && [], c = function(o) { - for (t = e.memory && o, n = !0, a = i || 0, i = 0, s = u.length, r = !0; u && s > a; a++) if (u[a].apply(o[0], o[1]) === !1 && e.stopOnFalse) { - t = !1; - break; - } - r = !1, u && (l ? l.length && c(l.shift()) : t ? u = [] : f.disable()); - }, f = { - add: function() { - if (u) { - var n = u.length; - !function o(t) { - Z.each(t, function(t, n) { - var r = Z.type(n); - "function" === r ? e.unique && f.has(n) || u.push(n) : n && n.length && "string" !== r && o(n); - }); - }(arguments), r ? s = u.length : t && (i = n, c(t)); - } - return this; - }, - remove: function() { - return u && Z.each(arguments, function(e, t) { - for (var n; (n = Z.inArray(t, u, n)) > -1; ) u.splice(n, 1), r && (s >= n && s--, - a >= n && a--); - }), this; - }, - has: function(e) { - return e ? Z.inArray(e, u) > -1 : !(!u || !u.length); - }, - empty: function() { - return u = [], s = 0, this; - }, - disable: function() { - return u = l = t = void 0, this; - }, - disabled: function() { - return !u; - }, - lock: function() { - return l = void 0, t || f.disable(), this; - }, - locked: function() { - return !l; - }, - fireWith: function(e, t) { - return !u || n && !l || (t = t || [], t = [ e, t.slice ? t.slice() : t ], r ? l.push(t) : c(t)), - this; - }, - fire: function() { - return f.fireWith(this, arguments), this; - }, - fired: function() { - return !!n; - } - }; - return f; - }, Z.extend({ - Deferred: function(e) { - var t = [ [ "resolve", "done", Z.Callbacks("once memory"), "resolved" ], [ "reject", "fail", Z.Callbacks("once memory"), "rejected" ], [ "notify", "progress", Z.Callbacks("memory") ] ], n = "pending", r = { - state: function() { - return n; - }, - always: function() { - return i.done(arguments).fail(arguments), this; - }, - then: function() { - var e = arguments; - return Z.Deferred(function(n) { - Z.each(t, function(t, o) { - var s = Z.isFunction(e[t]) && e[t]; - i[o[1]](function() { - var e = s && s.apply(this, arguments); - e && Z.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[o[0] + "With"](this === r ? n.promise() : this, s ? [ e ] : arguments); - }); - }), e = null; - }).promise(); - }, - promise: function(e) { - return null != e ? Z.extend(e, r) : r; - } - }, i = {}; - return r.pipe = r.then, Z.each(t, function(e, o) { - var s = o[2], a = o[3]; - r[o[1]] = s.add, a && s.add(function() { - n = a; - }, 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"] = s.fireWith; - }), r.promise(i), e && e.call(i, i), i; - }, - when: function(e) { - var t, n, r, i = 0, o = _.call(arguments), s = o.length, a = 1 !== s || e && Z.isFunction(e.promise) ? s : 0, u = 1 === a ? e : Z.Deferred(), l = function(e, n, r) { - return function(i) { - n[e] = this, r[e] = arguments.length > 1 ? _.call(arguments) : i, r === t ? u.notifyWith(n, r) : --a || u.resolveWith(n, r); - }; - }; - if (s > 1) for (t = new Array(s), n = new Array(s), r = new Array(s); s > i; i++) o[i] && Z.isFunction(o[i].promise) ? o[i].promise().done(l(i, r, o)).fail(u.reject).progress(l(i, n, t)) : --a; - return a || u.resolveWith(r, o), u.promise(); - } - }); - var ge; - Z.fn.ready = function(e) { - return Z.ready.promise().done(e), this; - }, Z.extend({ - isReady: !1, - readyWait: 1, - holdReady: function(e) { - e ? Z.readyWait++ : Z.ready(!0); - }, - ready: function(e) { - (e === !0 ? --Z.readyWait : Z.isReady) || (Z.isReady = !0, e !== !0 && --Z.readyWait > 0 || (ge.resolveWith(J, [ Z ]), - Z.fn.triggerHandler && (Z(J).triggerHandler("ready"), Z(J).off("ready")))); - } - }), Z.ready.promise = function(t) { - return ge || (ge = Z.Deferred(), "complete" === J.readyState ? setTimeout(Z.ready) : (J.addEventListener("DOMContentLoaded", s, !1), - e.addEventListener("load", s, !1))), ge.promise(t); - }, Z.ready.promise(); - var me = Z.access = function(e, t, n, r, i, o, s) { - var a = 0, u = e.length, l = null == n; - if ("object" === Z.type(n)) { - i = !0; - for (a in n) Z.access(e, t, a, n[a], !0, o, s); - } else if (void 0 !== r && (i = !0, Z.isFunction(r) || (s = !0), l && (s ? (t.call(e, r), - t = null) : (l = t, t = function(e, t, n) { - return l.call(Z(e), n); - })), t)) for (;u > a; a++) t(e[a], n, s ? r : r.call(e[a], a, t(e[a], n))); - return i ? e : l ? t.call(e) : u ? t(e[0], n) : o; - }; - Z.acceptData = function(e) { - return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; - }, a.uid = 1, a.accepts = Z.acceptData, a.prototype = { - key: function(e) { - if (!a.accepts(e)) return 0; - var t = {}, n = e[this.expando]; - if (!n) { - n = a.uid++; - try { - t[this.expando] = { - value: n - }, Object.defineProperties(e, t); - } catch (r) { - t[this.expando] = n, Z.extend(e, t); - } - } - return this.cache[n] || (this.cache[n] = {}), n; - }, - set: function(e, t, n) { - var r, i = this.key(e), o = this.cache[i]; - if ("string" == typeof t) o[t] = n; else if (Z.isEmptyObject(o)) Z.extend(this.cache[i], t); else for (r in t) o[r] = t[r]; - return o; - }, - get: function(e, t) { - var n = this.cache[this.key(e)]; - return void 0 === t ? n : n[t]; - }, - access: function(e, t, n) { - var r; - return void 0 === t || t && "string" == typeof t && void 0 === n ? (r = this.get(e, t), - void 0 !== r ? r : this.get(e, Z.camelCase(t))) : (this.set(e, t, n), void 0 !== n ? n : t); - }, - remove: function(e, t) { - var n, r, i, o = this.key(e), s = this.cache[o]; - if (void 0 === t) this.cache[o] = {}; else { - Z.isArray(t) ? r = t.concat(t.map(Z.camelCase)) : (i = Z.camelCase(t), t in s ? r = [ t, i ] : (r = i, - r = r in s ? [ r ] : r.match(de) || [])), n = r.length; - for (;n--; ) delete s[r[n]]; - } - }, - hasData: function(e) { - return !Z.isEmptyObject(this.cache[e[this.expando]] || {}); - }, - discard: function(e) { - e[this.expando] && delete this.cache[e[this.expando]]; - } - }; - var ve = new a(), ye = new a(), xe = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, be = /([A-Z])/g; - Z.extend({ - hasData: function(e) { - return ye.hasData(e) || ve.hasData(e); - }, - data: function(e, t, n) { - return ye.access(e, t, n); - }, - removeData: function(e, t) { - ye.remove(e, t); - }, - _data: function(e, t, n) { - return ve.access(e, t, n); - }, - _removeData: function(e, t) { - ve.remove(e, t); - } - }), Z.fn.extend({ - data: function(e, t) { - var n, r, i, o = this[0], s = o && o.attributes; - if (void 0 === e) { - if (this.length && (i = ye.get(o), 1 === o.nodeType && !ve.get(o, "hasDataAttrs"))) { - for (n = s.length; n--; ) s[n] && (r = s[n].name, 0 === r.indexOf("data-") && (r = Z.camelCase(r.slice(5)), - u(o, r, i[r]))); - ve.set(o, "hasDataAttrs", !0); - } - return i; - } - return "object" == typeof e ? this.each(function() { - ye.set(this, e); - }) : me(this, function(t) { - var n, r = Z.camelCase(e); - if (o && void 0 === t) { - if (n = ye.get(o, e), void 0 !== n) return n; - if (n = ye.get(o, r), void 0 !== n) return n; - if (n = u(o, r, void 0), void 0 !== n) return n; - } else this.each(function() { - var n = ye.get(this, r); - ye.set(this, r, t), -1 !== e.indexOf("-") && void 0 !== n && ye.set(this, e, t); - }); - }, null, t, arguments.length > 1, null, !0); - }, - removeData: function(e) { - return this.each(function() { - ye.remove(this, e); - }); - } - }), Z.extend({ - queue: function(e, t, n) { - var r; - return e ? (t = (t || "fx") + "queue", r = ve.get(e, t), n && (!r || Z.isArray(n) ? r = ve.access(e, t, Z.makeArray(n)) : r.push(n)), - r || []) : void 0; - }, - dequeue: function(e, t) { - t = t || "fx"; - var n = Z.queue(e, t), r = n.length, i = n.shift(), o = Z._queueHooks(e, t), s = function() { - Z.dequeue(e, t); - }; - "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), - delete o.stop, i.call(e, s, o)), !r && o && o.empty.fire(); - }, - _queueHooks: function(e, t) { - var n = t + "queueHooks"; - return ve.get(e, n) || ve.access(e, n, { - empty: Z.Callbacks("once memory").add(function() { - ve.remove(e, [ t + "queue", n ]); - }) - }); - } - }), Z.fn.extend({ - queue: function(e, t) { - var n = 2; - return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? Z.queue(this[0], e) : void 0 === t ? this : this.each(function() { - var n = Z.queue(this, e, t); - Z._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && Z.dequeue(this, e); - }); - }, - dequeue: function(e) { - return this.each(function() { - Z.dequeue(this, e); - }); - }, - clearQueue: function(e) { - return this.queue(e || "fx", []); - }, - promise: function(e, t) { - var n, r = 1, i = Z.Deferred(), o = this, s = this.length, a = function() { - --r || i.resolveWith(o, [ o ]); - }; - for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; s--; ) n = ve.get(o[s], e + "queueHooks"), - n && n.empty && (r++, n.empty.add(a)); - return a(), i.promise(t); - } - }); - var we = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, Te = [ "Top", "Right", "Bottom", "Left" ], Ce = function(e, t) { - return e = t || e, "none" === Z.css(e, "display") || !Z.contains(e.ownerDocument, e); - }, Ne = /^(?:checkbox|radio)$/i; - !function() { - var e = J.createDocumentFragment(), t = e.appendChild(J.createElement("div")), n = J.createElement("input"); - n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), - t.appendChild(n), Q.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, - t.innerHTML = "", Q.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue; - }(); - var ke = "undefined"; - Q.focusinBubbles = "onfocusin" in e; - var Ee = /^key/, Se = /^(?:mouse|pointer|contextmenu)|click/, De = /^(?:focusinfocus|focusoutblur)$/, je = /^([^.]*)(?:\.(.+)|)$/; - Z.event = { - global: {}, - add: function(e, t, n, r, i) { - var o, s, a, u, l, c, f, p, d, h, g, m = ve.get(e); - if (m) for (n.handler && (o = n, n = o.handler, i = o.selector), n.guid || (n.guid = Z.guid++), - (u = m.events) || (u = m.events = {}), (s = m.handle) || (s = m.handle = function(t) { - return typeof Z !== ke && Z.event.triggered !== t.type ? Z.event.dispatch.apply(e, arguments) : void 0; - }), t = (t || "").match(de) || [ "" ], l = t.length; l--; ) a = je.exec(t[l]) || [], - d = g = a[1], h = (a[2] || "").split(".").sort(), d && (f = Z.event.special[d] || {}, - d = (i ? f.delegateType : f.bindType) || d, f = Z.event.special[d] || {}, c = Z.extend({ - type: d, - origType: g, - data: r, - handler: n, - guid: n.guid, - selector: i, - needsContext: i && Z.expr.match.needsContext.test(i), - namespace: h.join(".") - }, o), (p = u[d]) || (p = u[d] = [], p.delegateCount = 0, f.setup && f.setup.call(e, r, h, s) !== !1 || e.addEventListener && e.addEventListener(d, s, !1)), - f.add && (f.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), - Z.event.global[d] = !0); - }, - remove: function(e, t, n, r, i) { - var o, s, a, u, l, c, f, p, d, h, g, m = ve.hasData(e) && ve.get(e); - if (m && (u = m.events)) { - for (t = (t || "").match(de) || [ "" ], l = t.length; l--; ) if (a = je.exec(t[l]) || [], - d = g = a[1], h = (a[2] || "").split(".").sort(), d) { - for (f = Z.event.special[d] || {}, d = (r ? f.delegateType : f.bindType) || d, p = u[d] || [], - a = a[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = o = p.length; o--; ) c = p[o], - !i && g !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), - c.selector && p.delegateCount--, f.remove && f.remove.call(e, c)); - s && !p.length && (f.teardown && f.teardown.call(e, h, m.handle) !== !1 || Z.removeEvent(e, d, m.handle), - delete u[d]); - } else for (d in u) Z.event.remove(e, d + t[l], n, r, !0); - Z.isEmptyObject(u) && (delete m.handle, ve.remove(e, "events")); - } - }, - trigger: function(t, n, r, i) { - var o, s, a, u, l, c, f, p = [ r || J ], d = G.call(t, "type") ? t.type : t, h = G.call(t, "namespace") ? t.namespace.split(".") : []; - if (s = a = r = r || J, 3 !== r.nodeType && 8 !== r.nodeType && !De.test(d + Z.event.triggered) && (d.indexOf(".") >= 0 && (h = d.split("."), - d = h.shift(), h.sort()), l = d.indexOf(":") < 0 && "on" + d, t = t[Z.expando] ? t : new Z.Event(d, "object" == typeof t && t), - t.isTrigger = i ? 2 : 3, t.namespace = h.join("."), t.namespace_re = t.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, - t.result = void 0, t.target || (t.target = r), n = null == n ? [ t ] : Z.makeArray(n, [ t ]), - f = Z.event.special[d] || {}, i || !f.trigger || f.trigger.apply(r, n) !== !1)) { - if (!i && !f.noBubble && !Z.isWindow(r)) { - for (u = f.delegateType || d, De.test(u + d) || (s = s.parentNode); s; s = s.parentNode) p.push(s), - a = s; - a === (r.ownerDocument || J) && p.push(a.defaultView || a.parentWindow || e); - } - for (o = 0; (s = p[o++]) && !t.isPropagationStopped(); ) t.type = o > 1 ? u : f.bindType || d, - c = (ve.get(s, "events") || {})[t.type] && ve.get(s, "handle"), c && c.apply(s, n), - c = l && s[l], c && c.apply && Z.acceptData(s) && (t.result = c.apply(s, n), t.result === !1 && t.preventDefault()); - return t.type = d, i || t.isDefaultPrevented() || f._default && f._default.apply(p.pop(), n) !== !1 || !Z.acceptData(r) || l && Z.isFunction(r[d]) && !Z.isWindow(r) && (a = r[l], - a && (r[l] = null), Z.event.triggered = d, r[d](), Z.event.triggered = void 0, a && (r[l] = a)), - t.result; - } - }, - dispatch: function(e) { - e = Z.event.fix(e); - var t, n, r, i, o, s = [], a = _.call(arguments), u = (ve.get(this, "events") || {})[e.type] || [], l = Z.event.special[e.type] || {}; - if (a[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) { - for (s = Z.event.handlers.call(this, e, u), t = 0; (i = s[t++]) && !e.isPropagationStopped(); ) for (e.currentTarget = i.elem, - n = 0; (o = i.handlers[n++]) && !e.isImmediatePropagationStopped(); ) (!e.namespace_re || e.namespace_re.test(o.namespace)) && (e.handleObj = o, - e.data = o.data, r = ((Z.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, a), - void 0 !== r && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation())); - return l.postDispatch && l.postDispatch.call(this, e), e.result; - } - }, - handlers: function(e, t) { - var n, r, i, o, s = [], a = t.delegateCount, u = e.target; - if (a && u.nodeType && (!e.button || "click" !== e.type)) for (;u !== this; u = u.parentNode || this) if (u.disabled !== !0 || "click" !== e.type) { - for (r = [], n = 0; a > n; n++) o = t[n], i = o.selector + " ", void 0 === r[i] && (r[i] = o.needsContext ? Z(i, this).index(u) >= 0 : Z.find(i, this, null, [ u ]).length), - r[i] && r.push(o); - r.length && s.push({ - elem: u, - handlers: r - }); - } - return a < t.length && s.push({ - elem: this, - handlers: t.slice(a) - }), s; - }, - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - fixHooks: {}, - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function(e, t) { - return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), - e; - } - }, - mouseHooks: { - props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function(e, t) { - var n, r, i, o = t.button; - return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || J, - r = n.documentElement, i = n.body, e.pageX = t.clientX + (r && r.scrollLeft || i && i.scrollLeft || 0) - (r && r.clientLeft || i && i.clientLeft || 0), - e.pageY = t.clientY + (r && r.scrollTop || i && i.scrollTop || 0) - (r && r.clientTop || i && i.clientTop || 0)), - e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e; - } - }, - fix: function(e) { - if (e[Z.expando]) return e; - var t, n, r, i = e.type, o = e, s = this.fixHooks[i]; - for (s || (this.fixHooks[i] = s = Se.test(i) ? this.mouseHooks : Ee.test(i) ? this.keyHooks : {}), - r = s.props ? this.props.concat(s.props) : this.props, e = new Z.Event(o), t = r.length; t--; ) n = r[t], - e[n] = o[n]; - return e.target || (e.target = J), 3 === e.target.nodeType && (e.target = e.target.parentNode), - s.filter ? s.filter(e, o) : e; - }, - special: { - load: { - noBubble: !0 - }, - focus: { - trigger: function() { - return this !== f() && this.focus ? (this.focus(), !1) : void 0; - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - return this === f() && this.blur ? (this.blur(), !1) : void 0; - }, - delegateType: "focusout" - }, - click: { - trigger: function() { - return "checkbox" === this.type && this.click && Z.nodeName(this, "input") ? (this.click(), - !1) : void 0; - }, - _default: function(e) { - return Z.nodeName(e.target, "a"); - } - }, - beforeunload: { - postDispatch: function(e) { - void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result); - } - } - }, - simulate: function(e, t, n, r) { - var i = Z.extend(new Z.Event(), n, { - type: e, - isSimulated: !0, - originalEvent: {} - }); - r ? Z.event.trigger(i, null, t) : Z.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault(); - } - }, Z.removeEvent = function(e, t, n) { - e.removeEventListener && e.removeEventListener(t, n, !1); - }, Z.Event = function(e, t) { - return this instanceof Z.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, - this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? l : c) : this.type = e, - t && Z.extend(this, t), this.timeStamp = e && e.timeStamp || Z.now(), void (this[Z.expando] = !0)) : new Z.Event(e, t); - }, Z.Event.prototype = { - isDefaultPrevented: c, - isPropagationStopped: c, - isImmediatePropagationStopped: c, - preventDefault: function() { - var e = this.originalEvent; - this.isDefaultPrevented = l, e && e.preventDefault && e.preventDefault(); - }, - stopPropagation: function() { - var e = this.originalEvent; - this.isPropagationStopped = l, e && e.stopPropagation && e.stopPropagation(); - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - this.isImmediatePropagationStopped = l, e && e.stopImmediatePropagation && e.stopImmediatePropagation(), - this.stopPropagation(); - } - }, Z.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" - }, function(e, t) { - Z.event.special[e] = { - delegateType: t, - bindType: t, - handle: function(e) { - var n, r = this, i = e.relatedTarget, o = e.handleObj; - return (!i || i !== r && !Z.contains(r, i)) && (e.type = o.origType, n = o.handler.apply(this, arguments), - e.type = t), n; - } - }; - }), Q.focusinBubbles || Z.each({ - focus: "focusin", - blur: "focusout" - }, function(e, t) { - var n = function(e) { - Z.event.simulate(t, e.target, Z.event.fix(e), !0); - }; - Z.event.special[t] = { - setup: function() { - var r = this.ownerDocument || this, i = ve.access(r, t); - i || r.addEventListener(e, n, !0), ve.access(r, t, (i || 0) + 1); - }, - teardown: function() { - var r = this.ownerDocument || this, i = ve.access(r, t) - 1; - i ? ve.access(r, t, i) : (r.removeEventListener(e, n, !0), ve.remove(r, t)); - } - }; - }), Z.fn.extend({ - on: function(e, t, n, r, i) { - var o, s; - if ("object" == typeof e) { - "string" != typeof t && (n = n || t, t = void 0); - for (s in e) this.on(s, t, n, e[s], i); - return this; - } - if (null == n && null == r ? (r = t, n = t = void 0) : null == r && ("string" == typeof t ? (r = n, - n = void 0) : (r = n, n = t, t = void 0)), r === !1) r = c; else if (!r) return this; - return 1 === i && (o = r, r = function(e) { - return Z().off(e), o.apply(this, arguments); - }, r.guid = o.guid || (o.guid = Z.guid++)), this.each(function() { - Z.event.add(this, e, r, n, t); - }); - }, - one: function(e, t, n, r) { - return this.on(e, t, n, r, 1); - }, - off: function(e, t, n) { - var r, i; - if (e && e.preventDefault && e.handleObj) return r = e.handleObj, Z(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), - this; - if ("object" == typeof e) { - for (i in e) this.off(i, t, e[i]); - return this; - } - return (t === !1 || "function" == typeof t) && (n = t, t = void 0), n === !1 && (n = c), - this.each(function() { - Z.event.remove(this, e, n, t); - }); - }, - trigger: function(e, t) { - return this.each(function() { - Z.event.trigger(e, t, this); - }); - }, - triggerHandler: function(e, t) { - var n = this[0]; - return n ? Z.event.trigger(e, t, n, !0) : void 0; - } - }); - var Ae = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, Le = /<([\w:]+)/, qe = /<|?\w+;/, He = /<(?:script|style|link)/i, Oe = /checked\s*(?:[^=]|=\s*.checked.)/i, Fe = /^$|\/(?:java|ecma)script/i, Pe = /^true\/(.*)/, Re = /^\s*\s*$/g, Me = { - option: [ 1, "" ], - thead: [ 1, "