(function(r, n) {
	function va(a) {
		var b = a.length,
			d = c.type(a);
		return c.isWindow(a) ? !1 : 1 === a.nodeType && b ? !0 : "array" === d || "function" !== d && (0 === b || "number" === typeof b && 0 < b && b - 1 in a)
	}

	function Qb(a) {
		var b = Sa[a] = {};
		c.each(a.match(O) || [], function(a, c) {
			b[c] = !0
		});
		return b
	}

	function Ta(a, b, d, e) {
		if(c.acceptData(a)) {
			var f = c.expando,
				g = "string" === typeof b,
				h = a.nodeType,
				k = h ? c.cache : a,
				l = h ? a[f] : a[f] && f;
			if(l && k[l] && (e || k[l].data) || !g || d !== n) {
				l || (h ? a[f] = l = G.pop() || c.guid++ : l = f);
				k[l] || (k[l] = {}, h || (k[l].toJSON = c.noop));
				if("object" ===
					typeof b || "function" === typeof b) e ? k[l] = c.extend(k[l], b) : k[l].data = c.extend(k[l].data, b);
				a = k[l];
				e || (a.data || (a.data = {}), a = a.data);
				d !== n && (a[c.camelCase(b)] = d);
				g ? (d = a[b], null == d && (d = a[c.camelCase(b)])) : d = a;
				return d
			}
		}
	}

	function Ua(a, b, d) {
		if(c.acceptData(a)) {
			var e, f, g, h = a.nodeType,
				k = h ? c.cache : a,
				l = h ? a[c.expando] : c.expando;
			if(k[l]) {
				if(b && (g = d ? k[l] : k[l].data)) {
					c.isArray(b) ? b = b.concat(c.map(b, c.camelCase)) : b in g ? b = [b] : (b = c.camelCase(b), b = b in g ? [b] : b.split(" "));
					e = 0;
					for(f = b.length; e < f; e++) delete g[b[e]];
					if(!(d ? xa : c.isEmptyObject)(g)) return
				}
				if(!d && (delete k[l].data, !xa(k[l]))) return;
				h ? c.cleanData([a], !0) : c.support.deleteExpando || k != k.window ? delete k[l] : k[l] = null
			}
		}
	}

	function Va(a, b, d) {
		if(d === n && 1 === a.nodeType)
			if(d = "data-" + b.replace(Rb, "-$1").toLowerCase(), d = a.getAttribute(d), "string" === typeof d) {
				try {
					d = "true" === d ? !0 : "false" === d ? !1 : "null" === d ? null : +d + "" === d ? +d : Sb.test(d) ? c.parseJSON(d) : d
				} catch(e) {}
				c.data(a, b, d)
			} else d = n;
		return d
	}

	function xa(a) {
		for(var b in a)
			if(("data" !== b || !c.isEmptyObject(a[b])) && "toJSON" !==
				b) return !1;
		return !0
	}

	function Y() {
		return !0
	}

	function J() {
		return !1
	}

	function Wa(a, b) {
		do a = a[b]; while (a && 1 !== a.nodeType);
		return a
	}

	function Xa(a, b, d) {
		b = b || 0;
		if(c.isFunction(b)) return c.grep(a, function(a, c) {
			return !!b.call(a, c, a) === d
		});
		if(b.nodeType) return c.grep(a, function(a) {
			return a === b === d
		});
		if("string" === typeof b) {
			var e = c.grep(a, function(a) {
				return 1 === a.nodeType
			});
			if(Tb.test(b)) return c.filter(b, e, !d);
			b = c.filter(b, e)
		}
		return c.grep(a, function(a) {
			return 0 <= c.inArray(a, b) === d
		})
	}

	function Ya(a) {
		var b = Za.split("|");
		a = a.createDocumentFragment();
		if(a.createElement)
			for(; b.length;) a.createElement(b.pop());
		return a
	}

	function $a(a) {
		var b = a.getAttributeNode("type");
		a.type = (b && b.specified) + "/" + a.type;
		return a
	}

	function ab(a) {
		var b = Ub.exec(a.type);
		b ? a.type = b[1] : a.removeAttribute("type");
		return a
	}

	function ya(a, b) {
		for(var d, e = 0; null != (d = a[e]); e++) c._data(d, "globalEval", !b || c._data(b[e], "globalEval"))
	}

	function bb(a, b) {
		if(1 === b.nodeType && c.hasData(a)) {
			var d, e, f;
			e = c._data(a);
			var g = c._data(b, e),
				h = e.events;
			if(h)
				for(d in delete g.handle,
					g.events = {}, h)
					for(e = 0, f = h[d].length; e < f; e++) c.event.add(b, d, h[d][e]);
			g.data && (g.data = c.extend({}, g.data))
		}
	}

	function A(a, b) {
		var d, e, f = 0,
			g = typeof a.getElementsByTagName !== y ? a.getElementsByTagName(b || "*") : typeof a.querySelectorAll !== y ? a.querySelectorAll(b || "*") : n;
		if(!g)
			for(g = [], d = a.childNodes || a; null != (e = d[f]); f++) !b || c.nodeName(e, b) ? g.push(e) : c.merge(g, A(e, b));
		return b === n || b && c.nodeName(a, b) ? c.merge([a], g) : g
	}

	function Vb(a) {
		za.test(a.type) && (a.defaultChecked = a.checked)
	}

	function cb(a, b) {
		if(b in a) return b;
		for(var c = b.charAt(0).toUpperCase() + b.slice(1), e = b, f = db.length; f--;)
			if(b = db[f] + c, b in a) return b;
		return e
	}

	function P(a, b) {
		a = b || a;
		return "none" === c.css(a, "display") || !c.contains(a.ownerDocument, a)
	}

	function eb(a, b) {
		for(var d, e, f, g = [], h = 0, k = a.length; h < k; h++) e = a[h], e.style && (g[h] = c._data(e, "olddisplay"), d = e.style.display, b ? (g[h] || "none" !== d || (e.style.display = ""), "" === e.style.display && P(e) && (g[h] = c._data(e, "olddisplay", fb(e.nodeName)))) : g[h] || (f = P(e), (d && "none" !== d || !f) && c._data(e, "olddisplay", f ? d : c.css(e,
			"display"))));
		for(h = 0; h < k; h++) e = a[h], !e.style || b && "none" !== e.style.display && "" !== e.style.display || (e.style.display = b ? g[h] || "" : "none");
		return a
	}

	function gb(a, b, c) {
		return(a = Wb.exec(b)) ? Math.max(0, a[1] - (c || 0)) + (a[2] || "px") : b
	}

	function hb(a, b, d, e, f) {
		b = d === (e ? "border" : "content") ? 4 : "width" === b ? 1 : 0;
		for(var g = 0; 4 > b; b += 2) "margin" === d && (g += c.css(a, d + Q[b], !0, f)), e ? ("content" === d && (g -= c.css(a, "padding" + Q[b], !0, f)), "margin" !== d && (g -= c.css(a, "border" + Q[b] + "Width", !0, f))) : (g += c.css(a, "padding" + Q[b], !0, f), "padding" !==
			d && (g += c.css(a, "border" + Q[b] + "Width", !0, f)));
		return g
	}

	function ib(a, b, d) {
		var e = !0,
			f = "width" === b ? a.offsetWidth : a.offsetHeight,
			g = R(a),
			h = c.support.boxSizing && "border-box" === c.css(a, "boxSizing", !1, g);
		if(0 >= f || null == f) {
			f = S(a, b, g);
			if(0 > f || null == f) f = a.style[b];
			if(ba.test(f)) return f;
			e = h && (c.support.boxSizingReliable || f === a.style[b]);
			f = parseFloat(f) || 0
		}
		return f + hb(a, b, d || (h ? "border" : "content"), e, g) + "px"
	}

	function fb(a) {
		var b = p,
			d = jb[a];
		d || (d = kb(a, b), "none" !== d && d || (ea = (ea || c("<iframe frameborder='0' width='0' height='0'/>").css("cssText",
			"display:block !important")).appendTo(b.documentElement), b = (ea[0].contentWindow || ea[0].contentDocument).document, b.write("<!doctype html><html><body>"), b.close(), d = kb(a, b), ea.detach()), jb[a] = d);
		return d
	}

	function kb(a, b) {
		var d = c(b.createElement(a)).appendTo(b.body),
			e = c.css(d[0], "display");
		d.remove();
		return e
	}

	function Aa(a, b, d, e) {
		var f;
		if(c.isArray(b)) c.each(b, function(b, c) {
			d || Xb.test(a) ? e(a, c) : Aa(a + "[" + ("object" === typeof c ? b : "") + "]", c, d, e)
		});
		else if(d || "object" !== c.type(b)) e(a, b);
		else
			for(f in b) Aa(a +
				"[" + f + "]", b[f], d, e)
	}

	function lb(a) {
		return function(b, d) {
			"string" !== typeof b && (d = b, b = "*");
			var e, f = 0,
				g = b.toLowerCase().match(O) || [];
			if(c.isFunction(d))
				for(; e = g[f++];) "+" === e[0] ? (e = e.slice(1) || "*", (a[e] = a[e] || []).unshift(d)) : (a[e] = a[e] || []).push(d)
		}
	}

	function mb(a, b, d, e) {
		function f(k) {
			var l;
			g[k] = !0;
			c.each(a[k] || [], function(a, c) {
				var k = c(b, d, e);
				if("string" === typeof k && !h && !g[k]) return b.dataTypes.unshift(k), f(k), !1;
				if(h) return !(l = k)
			});
			return l
		}
		var g = {},
			h = a === Ba;
		return f(b.dataTypes[0]) || !g["*"] && f("*")
	}

	function Ca(a, b) {
		var d, e, f = c.ajaxSettings.flatOptions || {};
		for(e in b) b[e] !== n && ((f[e] ? a : d || (d = {}))[e] = b[e]);
		d && c.extend(!0, a, d);
		return a
	}

	function nb() {
		try {
			return new r.XMLHttpRequest
		} catch(a) {}
	}

	function ob() {
		setTimeout(function() {
			T = n
		});
		return T = c.now()
	}

	function Yb(a, b) {
		c.each(b, function(b, c) {
			for(var f = (fa[b] || []).concat(fa["*"]), g = 0, h = f.length; g < h && !f[g].call(a, b, c); g++);
		})
	}

	function pb(a, b, d) {
		var e, f = 0,
			g = ja.length,
			h = c.Deferred().always(function() {
				delete k.elem
			}),
			k = function() {
				if(e) return !1;
				for(var b =
						T || ob(), b = Math.max(0, l.startTime + l.duration - b), c = 1 - (b / l.duration || 0), d = 0, f = l.tweens.length; d < f; d++) l.tweens[d].run(c);
				h.notifyWith(a, [l, c, b]);
				if(1 > c && f) return b;
				h.resolveWith(a, [l]);
				return !1
			},
			l = h.promise({
				elem: a,
				props: c.extend({}, b),
				opts: c.extend(!0, {
					specialEasing: {}
				}, d),
				originalProperties: b,
				originalOptions: d,
				startTime: T || ob(),
				duration: d.duration,
				tweens: [],
				createTween: function(b, d) {
					var e = c.Tween(a, l.opts, b, d, l.opts.specialEasing[b] || l.opts.easing);
					l.tweens.push(e);
					return e
				},
				stop: function(b) {
					var c =
						0,
						d = b ? l.tweens.length : 0;
					if(e) return this;
					for(e = !0; c < d; c++) l.tweens[c].run(1);
					b ? h.resolveWith(a, [l, b]) : h.rejectWith(a, [l, b]);
					return this
				}
			});
		d = l.props;
		for(Zb(d, l.opts.specialEasing); f < g; f++)
			if(b = ja[f].call(l, a, d, l.opts)) return b;
		Yb(l, d);
		c.isFunction(l.opts.start) && l.opts.start.call(a, l);
		c.fx.timer(c.extend(k, {
			elem: a,
			anim: l,
			queue: l.opts.queue
		}));
		return l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
	}

	function Zb(a, b) {
		var d, e, f, g, h;
		for(f in a)
			if(e =
				c.camelCase(f), g = b[e], d = a[f], c.isArray(d) && (g = d[1], d = a[f] = d[0]), f !== e && (a[e] = d, delete a[f]), (h = c.cssHooks[e]) && "expand" in h)
				for(f in d = h.expand(d), delete a[e], d) f in a || (a[f] = d[f], b[f] = g);
			else b[e] = g
	}

	function z(a, b, c, e, f) {
		return new z.prototype.init(a, b, c, e, f)
	}

	function ka(a, b) {
		var c, e = {
				height: a
			},
			f = 0;
		for(b = b ? 1 : 0; 4 > f; f += 2 - b) c = Q[f], e["margin" + c] = e["padding" + c] = a;
		b && (e.opacity = e.width = a);
		return e
	}

	function qb(a) {
		return c.isWindow(a) ? a : 9 === a.nodeType ? a.defaultView || a.parentWindow : !1
	}
	var la, rb, y = typeof n,
		p = r.document,
		$b = r.location,
		ac = r.jQuery,
		bc = r.$,
		ma = {},
		G = [],
		sb = G.concat,
		Da = G.push,
		U = G.slice,
		tb = G.indexOf,
		cc = ma.toString,
		ga = ma.hasOwnProperty,
		Ea = "3.4.1".trim,
		c = function(a, b) {
			return new c.fn.init(a, b, rb)
		},
		na = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
		O = /\S+/g,
		dc = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
		ec = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,
		ub = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
		fc = /^[\],:{}\s]*$/,
		gc = /(?:^|:|,)(?:\s*\[)+/g,
		hc = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
		ic = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
		jc = /^-ms-/,
		kc = /-([\da-z])/gi,
		lc = function(a, b) {
			return b.toUpperCase()
		},
		L = function(a) {
			if(p.addEventListener || "load" === a.type || "complete" === p.readyState) vb(), c.ready()
		},
		vb = function() {
			p.addEventListener ? (p.removeEventListener("DOMContentLoaded", L, !1), r.removeEventListener("load", L, !1)) : (p.detachEvent("onreadystatechange", L), r.detachEvent("onload", L))
		};
	c.fn = c.prototype = {
		jquery: "3.4.1",
		constructor: c,
		init: function(a, b, d) {
			var e;
			if(!a) return this;
			if("string" === typeof a) {
				e = "<" === a.charAt(0) && ">" === a.charAt(a.length -
					1) && 3 <= a.length ? [null, a, null] : ec.exec(a);
				if(!e || !e[1] && b) return !b || b.jquery ? (b || d).find(a) : this.constructor(b).find(a);
				if(e[1]) {
					if(b = b instanceof c ? b[0] : b, c.merge(this, c.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : p, !0)), ub.test(e[1]) && c.isPlainObject(b))
						for(e in b)
							if(c.isFunction(this[e])) this[e](b[e]);
							else this.attr(e, b[e])
				} else {
					if((b = p.getElementById(e[2])) && b.parentNode) {
						if(b.id !== e[2]) return d.find(a);
						this.length = 1;
						this[0] = b
					}
					this.context = p;
					this.selector = a
				}
				return this
			}
			if(a.nodeType) return this.context =
				this[0] = a, this.length = 1, this;
			if(c.isFunction(a)) return d.ready(a);
			a.selector !== n && (this.selector = a.selector, this.context = a.context);
			return c.makeArray(a, this)
		},
		selector: "",
		length: 0,
		size: function() {
			return this.length
		},
		toArray: function() {
			return U.call(this)
		},
		get: function(a) {
			return null == a ? this.toArray() : 0 > a ? this[this.length + a] : this[a]
		},
		pushStack: function(a) {
			a = c.merge(this.constructor(), a);
			a.prevObject = this;
			a.context = this.context;
			return a
		},
		each: function(a, b) {
			return c.each(this, a, b)
		},
		ready: function(a) {
			c.ready.promise().done(a);
			return this
		},
		slice: function() {
			return this.pushStack(U.apply(this, arguments))
		},
		first: function() {
			return this.eq(0)
		},
		last: function() {
			return this.eq(-1)
		},
		eq: function(a) {
			var b = this.length;
			a = +a + (0 > a ? b : 0);
			return this.pushStack(0 <= a && a < b ? [this[a]] : [])
		},
		map: function(a) {
			return this.pushStack(c.map(this, function(b, c) {
				return a.call(b, c, b)
			}))
		},
		end: function() {
			return this.prevObject || this.constructor(null)
		},
		push: Da,
		sort: [].sort,
		splice: [].splice
	};
	c.fn.init.prototype = c.fn;
	c.extend = c.fn.extend = function() {
		var a, b, d,
			e, f, g = arguments[0] || {},
			h = 1,
			k = arguments.length,
			l = !1;
		"boolean" === typeof g && (l = g, g = arguments[h] || {}, h++);
		"object" === typeof g || c.isFunction(g) || (g = {});
		h === k && (g = this, h--);
		for(; h < k; h++)
			if(null != (a = arguments[h]))
				for(b in a) e = a[b], "__proto__" !== b && g !== e && (l && e && (c.isPlainObject(e) || (f = c.isArray(e))) ? (d = g[b], d = f && !c.isArray(d) ? [] : f || c.isPlainObject(d) ? d : {}, f = !1, g[b] = c.extend(l, d, e)) : e !== n && (g[b] = e));
		return g
	};
	c.extend({
		noConflict: function(a) {
			r.$ === c && (r.$ = bc);
			a && r.jQuery === c && (r.jQuery = ac);
			return c
		},
		isReady: !1,
		readyWait: 1,
		holdReady: function(a) {
			a ? c.readyWait++ : c.ready(!0)
		},
		ready: function(a) {
			if(!0 === a ? !--c.readyWait : !c.isReady) {
				if(!p.body) return setTimeout(c.ready);
				c.isReady = !0;
				!0 !== a && 0 < --c.readyWait || (la.resolveWith(p, [c]), c.fn.trigger && c(p).trigger("ready").off("ready"))
			}
		},
		isFunction: function(a) {
			return "function" === c.type(a)
		},
		isArray: Array.isArray || function(a) {
			return "array" === c.type(a)
		},
		isWindow: function(a) {
			return null != a && a == a.window
		},
		isNumeric: function(a) {
			return !isNaN(parseFloat(a)) && isFinite(a)
		},
		type: function(a) {
			return null ==
				a ? String(a) : "object" === typeof a || "function" === typeof a ? ma[cc.call(a)] || "object" : typeof a
		},
		isPlainObject: function(a) {
			if(!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a)) return !1;
			try {
				if(a.constructor && !ga.call(a, "constructor") && !ga.call(a.constructor.prototype, "isPrototypeOf")) return !1
			} catch(b) {
				return !1
			}
			for(var d in a);
			return d === n || ga.call(a, d)
		},
		isEmptyObject: function(a) {
			for(var b in a) return !1;
			return !0
		},
		error: function(a) {
			throw Error(a);
		},
		parseHTML: function(a, b, d) {
			if(!a || "string" !== typeof a) return null;
			"boolean" === typeof b && (d = b, b = !1);
			b = b || p;
			var e = ub.exec(a);
			d = !d && [];
			if(e) return [b.createElement(e[1])];
			e = c.buildFragment([a], b, d);
			d && c(d).remove();
			return c.merge([], e.childNodes)
		},
		parseJSON: function(a) {
			if(r.JSON && r.JSON.parse) return r.JSON.parse(a);
			if(null === a) return a;
			if("string" === typeof a && (a = c.trim(a)) && fc.test(a.replace(hc, "@").replace(ic, "]").replace(gc, ""))) return(new Function("return " + a))();
			c.error("Invalid JSON: " + a)
		},
		parseXML: function(a) {
			var b, d;
			if(!a || "string" !== typeof a) return null;
			try {
				r.DOMParser ?
					(d = new DOMParser, b = d.parseFromString(a, "text/xml")) : (b = new ActiveXObject("Microsoft.XMLDOM"), b.async = "false", b.loadXML(a))
			} catch(e) {
				b = n
			}
			b && b.documentElement && !b.getElementsByTagName("parsererror").length || c.error("Invalid XML: " + a);
			return b
		},
		noop: function() {},
		globalEval: function(a) {
			a && c.trim(a) && (r.execScript || function(a) {
				r.eval.call(r, a)
			})(a)
		},
		camelCase: function(a) {
			return a.replace(jc, "ms-").replace(kc, lc)
		},
		nodeName: function(a, b) {
			return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
		},
		each: function(a,
			b, c) {
			var e, f = 0,
				g = a.length;
			e = va(a);
			if(c)
				if(e)
					for(; f < g && (e = b.apply(a[f], c), !1 !== e); f++);
				else
					for(f in a) {
						if(e = b.apply(a[f], c), !1 === e) break
					} else if(e)
						for(; f < g && (e = b.call(a[f], f, a[f]), !1 !== e); f++);
					else
						for(f in a)
							if(e = b.call(a[f], f, a[f]), !1 === e) break;
			return a
		},
		trim: Ea && !Ea.call("\ufeff\u00a0") ? function(a) {
			return null == a ? "" : Ea.call(a)
		} : function(a) {
			return null == a ? "" : (a + "").replace(dc, "")
		},
		makeArray: function(a, b) {
			var d = b || [];
			null != a && (va(Object(a)) ? c.merge(d, "string" === typeof a ? [a] : a) : Da.call(d, a));
			return d
		},
		inArray: function(a, b, c) {
			var e;
			if(b) {
				if(tb) return tb.call(b, a, c);
				e = b.length;
				for(c = c ? 0 > c ? Math.max(0, e + c) : c : 0; c < e; c++)
					if(c in b && b[c] === a) return c
			}
			return -1
		},
		merge: function(a, b) {
			var c = b.length,
				e = a.length,
				f = 0;
			if("number" === typeof c)
				for(; f < c; f++) a[e++] = b[f];
			else
				for(; b[f] !== n;) a[e++] = b[f++];
			a.length = e;
			return a
		},
		grep: function(a, b, c) {
			var e, f = [],
				g = 0,
				h = a.length;
			for(c = !!c; g < h; g++) e = !!b(a[g], g), c !== e && f.push(a[g]);
			return f
		},
		map: function(a, b, c) {
			var e, f = 0,
				g = a.length,
				h = [];
			if(va(a))
				for(; f < g; f++) e = b(a[f], f, c), null !=
					e && (h[h.length] = e);
			else
				for(f in a) e = b(a[f], f, c), null != e && (h[h.length] = e);
			return sb.apply([], h)
		},
		guid: 1,
		proxy: function(a, b) {
			var d, e;
			"string" === typeof b && (e = a[b], b = a, a = e);
			if(!c.isFunction(a)) return n;
			d = U.call(arguments, 2);
			e = function() {
				return a.apply(b || this, d.concat(U.call(arguments)))
			};
			e.guid = a.guid = a.guid || c.guid++;
			return e
		},
		access: function(a, b, d, e, f, g, h) {
			var k = 0,
				l = a.length,
				q = null == d;
			if("object" === c.type(d))
				for(k in f = !0, d) c.access(a, b, k, d[k], !0, g, h);
			else if(e !== n && (f = !0, c.isFunction(e) || (h = !0),
					q && (h ? (b.call(a, e), b = null) : (q = b, b = function(a, b, d) {
						return q.call(c(a), d)
					})), b))
				for(; k < l; k++) b(a[k], d, h ? e : e.call(a[k], k, b(a[k], d)));
			return f ? a : q ? b.call(a) : l ? b(a[0], d) : g
		},
		now: function() {
			return(new Date).getTime()
		}
	});
	c.ready.promise = function(a) {
		if(!la)
			if(la = c.Deferred(), "complete" === p.readyState) setTimeout(c.ready);
			else if(p.addEventListener) p.addEventListener("DOMContentLoaded", L, !1), r.addEventListener("load", L, !1);
		else {
			p.attachEvent("onreadystatechange", L);
			r.attachEvent("onload", L);
			var b = !1;
			try {
				b = null ==
					r.frameElement && p.documentElement
			} catch(d) {}
			b && b.doScroll && function f() {
				if(!c.isReady) {
					try {
						b.doScroll("left")
					} catch(a) {
						return setTimeout(f, 50)
					}
					vb();
					c.ready()
				}
			}()
		}
		return la.promise(a)
	};
	c.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(a, b) {
		ma["[object " + b + "]"] = b.toLowerCase()
	});
	rb = c(p);
	var Sa = {};
	c.Callbacks = function(a) {
		a = "string" === typeof a ? Sa[a] || Qb(a) : c.extend({}, a);
		var b, d, e, f, g, h, k = [],
			l = !a.once && [],
			q = function(c) {
				d = a.memory && c;
				e = !0;
				g = h || 0;
				h = 0;
				f = k.length;
				for(b = !0; k && g < f; g++)
					if(!1 === k[g].apply(c[0], c[1]) && a.stopOnFalse) {
						d = !1;
						break
					}
				b = !1;
				k && (l ? l.length && q(l.shift()) : d ? k = [] : s.disable())
			},
			s = {
				add: function() {
					if(k) {
						var e = k.length;
						(function E(b) {
							c.each(b, function(b, d) {
								var e = c.type(d);
								"function" === e ? a.unique && s.has(d) || k.push(d) : d && d.length && "string" !== e && E(d)
							})
						})(arguments);
						b ? f = k.length : d && (h = e, q(d))
					}
					return this
				},
				remove: function() {
					k && c.each(arguments, function(a, d) {
						for(var e; - 1 < (e = c.inArray(d, k, e));) k.splice(e, 1), b && (e <= f && f--, e <= g && g--)
					});
					return this
				},
				has: function(a) {
					return a ?
						-1 < c.inArray(a, k) : !(!k || !k.length)
				},
				empty: function() {
					k = [];
					return this
				},
				disable: function() {
					k = l = d = n;
					return this
				},
				disabled: function() {
					return !k
				},
				lock: function() {
					l = n;
					d || s.disable();
					return this
				},
				locked: function() {
					return !l
				},
				fireWith: function(a, c) {
					c = c || [];
					c = [a, c.slice ? c.slice() : c];
					!k || e && !l || (b ? l.push(c) : q(c));
					return this
				},
				fire: function() {
					s.fireWith(this, arguments);
					return this
				},
				fired: function() {
					return !!e
				}
			};
		return s
	};
	c.extend({
		Deferred: function(a) {
			var b = [
					["resolve", "done", c.Callbacks("once memory"), "resolved"],
					["reject", "fail", c.Callbacks("once memory"), "rejected"],
					["notify", "progress", c.Callbacks("memory")]
				],
				d = "pending",
				e = {
					state: function() {
						return d
					},
					always: function() {
						f.done(arguments).fail(arguments);
						return this
					},
					then: function() {
						var a = arguments;
						return c.Deferred(function(d) {
							c.each(b, function(b, l) {
								var q = l[0],
									s = c.isFunction(a[b]) && a[b];
								f[l[1]](function() {
									var a = s && s.apply(this, arguments);
									if(a && c.isFunction(a.promise)) a.promise().done(d.resolve).fail(d.reject).progress(d.notify);
									else d[q + "With"](this === e ?
										d.promise() : this, s ? [a] : arguments)
								})
							});
							a = null
						}).promise()
					},
					promise: function(a) {
						return null != a ? c.extend(a, e) : e
					}
				},
				f = {};
			e.pipe = e.then;
			c.each(b, function(a, c) {
				var k = c[2],
					l = c[3];
				e[c[1]] = k.add;
				l && k.add(function() {
					d = l
				}, b[a ^ 1][2].disable, b[2][2].lock);
				f[c[0]] = function() {
					f[c[0] + "With"](this === f ? e : this, arguments);
					return this
				};
				f[c[0] + "With"] = k.fireWith
			});
			e.promise(f);
			a && a.call(f, f);
			return f
		},
		when: function(a) {
			var b = 0,
				d = U.call(arguments),
				e = d.length,
				f = 1 !== e || a && c.isFunction(a.promise) ? e : 0,
				g = 1 === f ? a : c.Deferred(),
				h = function(a, b, c) {
					return function(d) {
						b[a] = this;
						c[a] = 1 < arguments.length ? U.call(arguments) : d;
						c === k ? g.notifyWith(b, c) : --f || g.resolveWith(b, c)
					}
				},
				k, l, q;
			if(1 < e)
				for(k = Array(e), l = Array(e), q = Array(e); b < e; b++) d[b] && c.isFunction(d[b].promise) ? d[b].promise().done(h(b, q, d)).fail(g.reject).progress(h(b, l, k)) : --f;
			f || g.resolveWith(q, d);
			return g.promise()
		}
	});
	c.support = function() {
		var a, b, d, e, f, g, h, k = p.createElement("div");
		k.setAttribute("className", "t");
		k.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
		b = k.getElementsByTagName("*");
		d = k.getElementsByTagName("a")[0];
		if(!b || !d || !b.length) return {};
		e = p.createElement("select");
		f = e.appendChild(p.createElement("option"));
		b = k.getElementsByTagName("input")[0];
		d.style.cssText = "top:1px;float:left;opacity:.5";
		a = {
			getSetAttribute: "t" !== k.className,
			leadingWhitespace: 3 === k.firstChild.nodeType,
			tbody: !k.getElementsByTagName("tbody").length,
			htmlSerialize: !!k.getElementsByTagName("link").length,
			style: /top/.test(d.getAttribute("style")),
			hrefNormalized: "/a" === d.getAttribute("href"),
			opacity: /^0.5/.test(d.style.opacity),
			cssFloat: !!d.style.cssFloat,
			checkOn: !!b.value,
			optSelected: f.selected,
			enctype: !!p.createElement("form").enctype,
			html5Clone: "<:nav></:nav>" !== p.createElement("nav").cloneNode(!0).outerHTML,
			boxModel: "CSS1Compat" === p.compatMode,
			deleteExpando: !0,
			noCloneEvent: !0,
			inlineBlockNeedsLayout: !1,
			shrinkWrapBlocks: !1,
			reliableMarginRight: !0,
			boxSizingReliable: !0,
			pixelPosition: !1
		};
		b.checked = !0;
		a.noCloneChecked = b.cloneNode(!0).checked;
		e.disabled = !0;
		a.optDisabled = !f.disabled;
		try {
			delete k.test
		} catch(l) {
			a.deleteExpando = !1
		}
		b = p.createElement("input");
		b.setAttribute("value", "");
		a.input = "" === b.getAttribute("value");
		b.value = "t";
		b.setAttribute("type", "radio");
		a.radioValue = "t" === b.value;
		b.setAttribute("checked", "t");
		b.setAttribute("name", "t");
		d = p.createDocumentFragment();
		d.appendChild(b);
		a.appendChecked = b.checked;
		a.checkClone = d.cloneNode(!0).cloneNode(!0).lastChild.checked;
		k.attachEvent && (k.attachEvent("onclick", function() {
			a.noCloneEvent = !1
		}), k.cloneNode(!0).click());
		for(h in {
				submit: !0,
				change: !0,
				focusin: !0
			}) k.setAttribute(d =
			"on" + h, "t"), a[h + "Bubbles"] = d in r || !1 === k.attributes[d].expando;
		k.style.backgroundClip = "content-box";
		k.cloneNode(!0).style.backgroundClip = "";
		a.clearCloneStyle = "content-box" === k.style.backgroundClip;
		c(function() {
			var b, c, d = p.getElementsByTagName("body")[0];
			d && (b = p.createElement("div"), b.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", d.appendChild(b).appendChild(k), k.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", c = k.getElementsByTagName("td"),
				c[0].style.cssText = "padding:0;margin:0;border:0;display:none", g = 0 === c[0].offsetHeight, c[0].style.display = "", c[1].style.display = "none", a.reliableHiddenOffsets = g && 0 === c[0].offsetHeight, k.innerHTML = "", k.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%;", a.boxSizing = 4 === k.offsetWidth, a.doesNotIncludeMarginInBodyOffset = 1 !== d.offsetTop, r.getComputedStyle && (a.pixelPosition = "1%" !==
					(r.getComputedStyle(k, null) || {}).top, a.boxSizingReliable = "4px" === (r.getComputedStyle(k, null) || {
						width: "4px"
					}).width, c = k.appendChild(p.createElement("div")), c.style.cssText = k.style.cssText = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", c.style.marginRight = c.style.width = "0", k.style.width = "1px", a.reliableMarginRight = !parseFloat((r.getComputedStyle(c, null) || {}).marginRight)), typeof k.style.zoom !== y && (k.innerHTML = "", k.style.cssText =
					"padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;width:1px;padding:1px;display:inline;zoom:1", a.inlineBlockNeedsLayout = 3 === k.offsetWidth, k.style.display = "block", k.innerHTML = "<div></div>", k.firstChild.style.width = "5px", a.shrinkWrapBlocks = 3 !== k.offsetWidth, a.inlineBlockNeedsLayout && (d.style.zoom = 1)), d.removeChild(b), k = null)
		});
		b = e = d = f = d = b = null;
		return a
	}();
	var Sb = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
		Rb = /([A-Z])/g;
	c.extend({
		cache: {},
		expando: "jQuery" + ("3.4.1" + Math.random()).replace(/\D/g, ""),
		noData: {
			embed: !0,
			object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
			applet: !0
		},
		hasData: function(a) {
			a = a.nodeType ? c.cache[a[c.expando]] : a[c.expando];
			return !!a && !xa(a)
		},
		data: function(a, b, c) {
			return Ta(a, b, c)
		},
		removeData: function(a, b) {
			return Ua(a, b)
		},
		_data: function(a, b, c) {
			return Ta(a, b, c, !0)
		},
		_removeData: function(a, b) {
			return Ua(a, b, !0)
		},
		acceptData: function(a) {
			if(a.nodeType && 1 !== a.nodeType && 9 !== a.nodeType) return !1;
			var b = a.nodeName && c.noData[a.nodeName.toLowerCase()];
			return !b || !0 !== b && a.getAttribute("classid") === b
		}
	});
	c.fn.extend({
		data: function(a, b) {
			var d, e, f = this[0],
				g = 0,
				h = null;
			if(a === n) {
				if(this.length && (h = c.data(f), 1 === f.nodeType && !c._data(f, "parsedAttrs"))) {
					for(d = f.attributes; g < d.length; g++) e = d[g].name, e.indexOf("data-") || (e = c.camelCase(e.slice(5)), Va(f, e, h[e]));
					c._data(f, "parsedAttrs", !0)
				}
				return h
			}
			return "object" === typeof a ? this.each(function() {
				c.data(this, a)
			}) : c.access(this, function(b) {
				if(b === n) return f ? Va(f, a, c.data(f, a)) : null;
				this.each(function() {
					c.data(this,
						a, b)
				})
			}, null, b, 1 < arguments.length, null, !0)
		},
		removeData: function(a) {
			return this.each(function() {
				c.removeData(this, a)
			})
		}
	});
	c.extend({
		queue: function(a, b, d) {
			var e;
			if(a) return b = (b || "fx") + "queue", e = c._data(a, b), d && (!e || c.isArray(d) ? e = c._data(a, b, c.makeArray(d)) : e.push(d)), e || []
		},
		dequeue: function(a, b) {
			b = b || "fx";
			var d = c.queue(a, b),
				e = d.length,
				f = d.shift(),
				g = c._queueHooks(a, b),
				h = function() {
					c.dequeue(a, b)
				};
			"inprogress" === f && (f = d.shift(), e--);
			if(g.cur = f) "fx" === b && d.unshift("inprogress"), delete g.stop, f.call(a,
				h, g);
			!e && g && g.empty.fire()
		},
		_queueHooks: function(a, b) {
			var d = b + "queueHooks";
			return c._data(a, d) || c._data(a, d, {
				empty: c.Callbacks("once memory").add(function() {
					c._removeData(a, b + "queue");
					c._removeData(a, d)
				})
			})
		}
	});
	c.fn.extend({
		queue: function(a, b) {
			var d = 2;
			"string" !== typeof a && (b = a, a = "fx", d--);
			return arguments.length < d ? c.queue(this[0], a) : b === n ? this : this.each(function() {
				var d = c.queue(this, a, b);
				c._queueHooks(this, a);
				"fx" === a && "inprogress" !== d[0] && c.dequeue(this, a)
			})
		},
		dequeue: function(a) {
			return this.each(function() {
				c.dequeue(this,
					a)
			})
		},
		delay: function(a, b) {
			a = c.fx ? c.fx.speeds[a] || a : a;
			return this.queue(b || "fx", function(b, c) {
				var f = setTimeout(b, a);
				c.stop = function() {
					clearTimeout(f)
				}
			})
		},
		clearQueue: function(a) {
			return this.queue(a || "fx", [])
		},
		promise: function(a, b) {
			var d, e = 1,
				f = c.Deferred(),
				g = this,
				h = this.length,
				k = function() {
					--e || f.resolveWith(g, [g])
				};
			"string" !== typeof a && (b = a, a = n);
			for(a = a || "fx"; h--;)(d = c._data(g[h], a + "queueHooks")) && d.empty && (e++, d.empty.add(k));
			k();
			return f.promise(b)
		}
	});
	var Z, wb, Fa = /[\t\r\n]/g,
		mc = /\r/g,
		nc = /^(?:input|select|textarea|button|object)$/i,
		oc = /^(?:a|area)$/i,
		xb = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,
		Ga = /^(?:checked|selected)$/i,
		B = c.support.getSetAttribute,
		Ha = c.support.input;
	c.fn.extend({
		attr: function(a, b) {
			return c.access(this, c.attr, a, b, 1 < arguments.length)
		},
		removeAttr: function(a) {
			return this.each(function() {
				c.removeAttr(this, a)
			})
		},
		prop: function(a, b) {
			return c.access(this, c.prop, a, b, 1 < arguments.length)
		},
		removeProp: function(a) {
			a = c.propFix[a] || a;
			return this.each(function() {
				try {
					this[a] =
						n, delete this[a]
				} catch(b) {}
			})
		},
		addClass: function(a) {
			var b, d, e, f, g, h = 0,
				k = this.length;
			b = "string" === typeof a && a;
			if(c.isFunction(a)) return this.each(function(b) {
				c(this).addClass(a.call(this, b, this.className))
			});
			if(b)
				for(b = (a || "").match(O) || []; h < k; h++)
					if(d = this[h], e = 1 === d.nodeType && (d.className ? (" " + d.className + " ").replace(Fa, " ") : " ")) {
						for(g = 0; f = b[g++];) 0 > e.indexOf(" " + f + " ") && (e += f + " ");
						d.className = c.trim(e)
					}
			return this
		},
		removeClass: function(a) {
			var b, d, e, f, g, h = 0,
				k = this.length;
			b = 0 === arguments.length ||
				"string" === typeof a && a;
			if(c.isFunction(a)) return this.each(function(b) {
				c(this).removeClass(a.call(this, b, this.className))
			});
			if(b)
				for(b = (a || "").match(O) || []; h < k; h++)
					if(d = this[h], e = 1 === d.nodeType && (d.className ? (" " + d.className + " ").replace(Fa, " ") : "")) {
						for(g = 0; f = b[g++];)
							for(; 0 <= e.indexOf(" " + f + " ");) e = e.replace(" " + f + " ", " ");
						d.className = a ? c.trim(e) : ""
					}
			return this
		},
		toggleClass: function(a, b) {
			var d = typeof a,
				e = "boolean" === typeof b;
			return c.isFunction(a) ? this.each(function(d) {
				c(this).toggleClass(a.call(this,
					d, this.className, b), b)
			}) : this.each(function() {
				if("string" === d)
					for(var f, g = 0, h = c(this), k = b, l = a.match(O) || []; f = l[g++];) k = e ? k : !h.hasClass(f), h[k ? "addClass" : "removeClass"](f);
				else if(d === y || "boolean" === d) this.className && c._data(this, "__className__", this.className), this.className = this.className || !1 === a ? "" : c._data(this, "__className__") || ""
			})
		},
		hasClass: function(a) {
			a = " " + a + " ";
			for(var b = 0, c = this.length; b < c; b++)
				if(1 === this[b].nodeType && 0 <= (" " + this[b].className + " ").replace(Fa, " ").indexOf(a)) return !0;
			return !1
		},
		val: function(a) {
			var b, d, e, f = this[0];
			if(arguments.length) return e = c.isFunction(a), this.each(function(b) {
				var f = c(this);
				1 === this.nodeType && (b = e ? a.call(this, b, f.val()) : a, null == b ? b = "" : "number" === typeof b ? b += "" : c.isArray(b) && (b = c.map(b, function(a) {
					return null == a ? "" : a + ""
				})), d = c.valHooks[this.type] || c.valHooks[this.nodeName.toLowerCase()], d && "set" in d && d.set(this, b, "value") !== n || (this.value = b))
			});
			if(f) {
				if((d = c.valHooks[f.type] || c.valHooks[f.nodeName.toLowerCase()]) && "get" in d && (b = d.get(f, "value")) !== n) return b;
				b = f.value;
				return "string" === typeof b ? b.replace(mc, "") : null == b ? "" : b
			}
		}
	});
	c.extend({
		valHooks: {
			option: {
				get: function(a) {
					var b = a.attributes.value;
					return !b || b.specified ? a.value : a.text
				}
			},
			select: {
				get: function(a) {
					for(var b, d = a.options, e = a.selectedIndex, f = (a = "select-one" === a.type || 0 > e) ? null : [], g = a ? e + 1 : d.length, h = 0 > e ? g : a ? e : 0; h < g; h++)
						if(b = d[h], !(!b.selected && h !== e || (c.support.optDisabled ? b.disabled : null !== b.getAttribute("disabled")) || b.parentNode.disabled && c.nodeName(b.parentNode, "optgroup"))) {
							b = c(b).val();
							if(a) return b;
							f.push(b)
						}
					return f
				},
				set: function(a, b) {
					var d = c.makeArray(b);
					c(a).find("option").each(function() {
						this.selected = 0 <= c.inArray(c(this).val(), d)
					});
					d.length || (a.selectedIndex = -1);
					return d
				}
			}
		},
		attr: function(a, b, d) {
			var e, f, g;
			f = a.nodeType;
			if(a && 3 !== f && 8 !== f && 2 !== f) {
				if(typeof a.getAttribute === y) return c.prop(a, b, d);
				if(f = 1 !== f || !c.isXMLDoc(a)) b = b.toLowerCase(), e = c.attrHooks[b] || (xb.test(b) ? wb : Z);
				if(d !== n)
					if(null === d) c.removeAttr(a, b);
					else {
						if(e && f && "set" in e && (g = e.set(a, d, b)) !== n) return g;
						a.setAttribute(b, d + "");
						return d
					}
				else {
					if(e && f && "get" in e && null !== (g = e.get(a, b))) return g;
					typeof a.getAttribute !== y && (g = a.getAttribute(b));
					return null == g ? n : g
				}
			}
		},
		removeAttr: function(a, b) {
			var d, e, f = 0,
				g = b && b.match(O);
			if(g && 1 === a.nodeType)
				for(; d = g[f++];) e = c.propFix[d] || d, xb.test(d) ? !B && Ga.test(d) ? a[c.camelCase("default-" + d)] = a[e] = !1 : a[e] = !1 : c.attr(a, d, ""), a.removeAttribute(B ? d : e)
		},
		attrHooks: {
			type: {
				set: function(a, b) {
					if(!c.support.radioValue && "radio" === b && c.nodeName(a, "input")) {
						var d = a.value;
						a.setAttribute("type", b);
						d && (a.value =
							d);
						return b
					}
				}
			}
		},
		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(a, b, d) {
			var e, f, g;
			g = a.nodeType;
			if(a && 3 !== g && 8 !== g && 2 !== g) {
				if(g = 1 !== g || !c.isXMLDoc(a)) b = c.propFix[b] || b, f = c.propHooks[b];
				return d !== n ? f && "set" in f && (e = f.set(a, d, b)) !== n ? e : a[b] = d : f && "get" in f && null !== (e =
					f.get(a, b)) ? e : a[b]
			}
		},
		propHooks: {
			tabIndex: {
				get: function(a) {
					var b = a.getAttributeNode("tabindex");
					return b && b.specified ? parseInt(b.value, 10) : nc.test(a.nodeName) || oc.test(a.nodeName) && a.href ? 0 : n
				}
			}
		}
	});
	wb = {
		get: function(a, b) {
			var d = c.prop(a, b),
				e = "boolean" === typeof d && a.getAttribute(b);
			return(d = "boolean" === typeof d ? Ha && B ? null != e : Ga.test(b) ? a[c.camelCase("default-" + b)] : !!e : a.getAttributeNode(b)) && !1 !== d.value ? b.toLowerCase() : n
		},
		set: function(a, b, d) {
			!1 === b ? c.removeAttr(a, d) : Ha && B || !Ga.test(d) ? a.setAttribute(!B &&
				c.propFix[d] || d, d) : a[c.camelCase("default-" + d)] = a[d] = !0;
			return d
		}
	};
	Ha && B || (c.attrHooks.value = {
		get: function(a, b) {
			var d = a.getAttributeNode(b);
			return c.nodeName(a, "input") ? a.defaultValue : d && d.specified ? d.value : n
		},
		set: function(a, b, d) {
			if(c.nodeName(a, "input")) a.defaultValue = b;
			else return Z && Z.set(a, b, d)
		}
	});
	B || (Z = c.valHooks.button = {
		get: function(a, b) {
			var c = a.getAttributeNode(b);
			return c && ("id" === b || "name" === b || "coords" === b ? "" !== c.value : c.specified) ? c.value : n
		},
		set: function(a, b, c) {
			var e = a.getAttributeNode(c);
			e || a.setAttributeNode(e = a.ownerDocument.createAttribute(c));
			e.value = b += "";
			return "value" === c || b === a.getAttribute(c) ? b : n
		}
	}, c.attrHooks.contenteditable = {
		get: Z.get,
		set: function(a, b, c) {
			Z.set(a, "" === b ? !1 : b, c)
		}
	}, c.each(["width", "height"], function(a, b) {
		c.attrHooks[b] = c.extend(c.attrHooks[b], {
			set: function(a, c) {
				if("" === c) return a.setAttribute(b, "auto"), c
			}
		})
	}));
	c.support.hrefNormalized || (c.each(["href", "src", "width", "height"], function(a, b) {
		c.attrHooks[b] = c.extend(c.attrHooks[b], {
			get: function(a) {
				a = a.getAttribute(b,
					2);
				return null == a ? n : a
			}
		})
	}), c.each(["href", "src"], function(a, b) {
		c.propHooks[b] = {
			get: function(a) {
				return a.getAttribute(b, 4)
			}
		}
	}));
	c.support.style || (c.attrHooks.style = {
		get: function(a) {
			return a.style.cssText || n
		},
		set: function(a, b) {
			return a.style.cssText = b + ""
		}
	});
	c.support.optSelected || (c.propHooks.selected = c.extend(c.propHooks.selected, {
		get: function(a) {
			if(a = a.parentNode) a.selectedIndex, a.parentNode && a.parentNode.selectedIndex;
			return null
		}
	}));
	c.support.enctype || (c.propFix.enctype = "encoding");
	c.support.checkOn ||
		c.each(["radio", "checkbox"], function() {
			c.valHooks[this] = {
				get: function(a) {
					return null === a.getAttribute("value") ? "on" : a.value
				}
			}
		});
	c.each(["radio", "checkbox"], function() {
		c.valHooks[this] = c.extend(c.valHooks[this], {
			set: function(a, b) {
				if(c.isArray(b)) return a.checked = 0 <= c.inArray(c(a).val(), b)
			}
		})
	});
	var Ia = /^(?:input|select|textarea)$/i,
		pc = /^key/,
		qc = /^(?:mouse|contextmenu)|click/,
		yb = /^(?:focusinfocus|focusoutblur)$/,
		zb = /^([^.]*)(?:\.(.+)|)$/;
	c.event = {
		global: {},
		add: function(a, b, d, e, f) {
			var g, h, k, l, q, s, m, u,
				p;
			if(k = c._data(a)) {
				d.handler && (l = d, d = l.handler, f = l.selector);
				d.guid || (d.guid = c.guid++);
				(h = k.events) || (h = k.events = {});
				(q = k.handle) || (q = k.handle = function(a) {
					return typeof c === y || a && c.event.triggered === a.type ? n : c.event.dispatch.apply(q.elem, arguments)
				}, q.elem = a);
				b = (b || "").match(O) || [""];
				for(k = b.length; k--;) g = zb.exec(b[k]) || [], u = s = g[1], p = (g[2] || "").split(".").sort(), g = c.event.special[u] || {}, u = (f ? g.delegateType : g.bindType) || u, g = c.event.special[u] || {}, s = c.extend({
					type: u,
					origType: s,
					data: e,
					handler: d,
					guid: d.guid,
					selector: f,
					needsContext: f && c.expr.match.needsContext.test(f),
					namespace: p.join(".")
				}, l), (m = h[u]) || (m = h[u] = [], m.delegateCount = 0, g.setup && !1 !== g.setup.call(a, e, p, q) || (a.addEventListener ? a.addEventListener(u, q, !1) : a.attachEvent && a.attachEvent("on" + u, q))), g.add && (g.add.call(a, s), s.handler.guid || (s.handler.guid = d.guid)), f ? m.splice(m.delegateCount++, 0, s) : m.push(s), c.event.global[u] = !0;
				a = null
			}
		},
		remove: function(a, b, d, e, f) {
			var g, h, k, l, q, n, m, p, E, r, A, z = c.hasData(a) && c._data(a);
			if(z && (n = z.events)) {
				b = (b || "").match(O) || [""];
				for(q = b.length; q--;)
					if(k = zb.exec(b[q]) || [], E = A = k[1], r = (k[2] || "").split(".").sort(), E) {
						m = c.event.special[E] || {};
						E = (e ? m.delegateType : m.bindType) || E;
						p = n[E] || [];
						k = k[2] && RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)");
						for(l = g = p.length; g--;) h = p[g], !f && A !== h.origType || d && d.guid !== h.guid || k && !k.test(h.namespace) || e && !(e === h.selector || "**" === e && h.selector) || (p.splice(g, 1), h.selector && p.delegateCount--, m.remove && m.remove.call(a, h));
						l && !p.length && (m.teardown && !1 !== m.teardown.call(a, r, z.handle) || c.removeEvent(a,
							E, z.handle), delete n[E])
					} else
						for(E in n) c.event.remove(a, E + b[q], d, e, !0);
				c.isEmptyObject(n) && (delete z.handle, c._removeData(a, "events"))
			}
		},
		trigger: function(a, b, d, e) {
			var f, g, h, k, l, q, s = [d || p],
				m = ga.call(a, "type") ? a.type : a;
			l = ga.call(a, "namespace") ? a.namespace.split(".") : [];
			h = f = d = d || p;
			if(3 !== d.nodeType && 8 !== d.nodeType && !yb.test(m + c.event.triggered) && (0 <= m.indexOf(".") && (l = m.split("."), m = l.shift(), l.sort()), g = 0 > m.indexOf(":") && "on" + m, a = a[c.expando] ? a : new c.Event(m, "object" === typeof a && a), a.isTrigger = !0,
					a.namespace = l.join("."), a.namespace_re = a.namespace ? RegExp("(^|\\.)" + l.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, a.result = n, a.target || (a.target = d), b = null == b ? [a] : c.makeArray(b, [a]), l = c.event.special[m] || {}, e || !l.trigger || !1 !== l.trigger.apply(d, b))) {
				if(!e && !l.noBubble && !c.isWindow(d)) {
					k = l.delegateType || m;
					yb.test(k + m) || (h = h.parentNode);
					for(; h; h = h.parentNode) s.push(h), f = h;
					f === (d.ownerDocument || p) && s.push(f.defaultView || f.parentWindow || r)
				}
				for(q = 0;
					(h = s[q++]) && !a.isPropagationStopped();) a.type = 1 < q ? k : l.bindType ||
					m, (f = (c._data(h, "events") || {})[a.type] && c._data(h, "handle")) && f.apply(h, b), (f = g && h[g]) && c.acceptData(h) && f.apply && !1 === f.apply(h, b) && a.preventDefault();
				a.type = m;
				if(!(e || a.isDefaultPrevented() || l._default && !1 !== l._default.apply(d.ownerDocument, b) || "click" === m && c.nodeName(d, "a")) && c.acceptData(d) && g && d[m] && !c.isWindow(d)) {
					(f = d[g]) && (d[g] = null);
					c.event.triggered = m;
					try {
						d[m]()
					} catch(u) {}
					c.event.triggered = n;
					f && (d[g] = f)
				}
				return a.result
			}
		},
		dispatch: function(a) {
			a = c.event.fix(a);
			var b, d, e, f, g = [],
				h = U.call(arguments);
			b = (c._data(this, "events") || {})[a.type] || [];
			var k = c.event.special[a.type] || {};
			h[0] = a;
			a.delegateTarget = this;
			if(!k.preDispatch || !1 !== k.preDispatch.call(this, a)) {
				g = c.event.handlers.call(this, a, b);
				for(b = 0;
					(e = g[b++]) && !a.isPropagationStopped();)
					for(a.currentTarget = e.elem, f = 0;
						(d = e.handlers[f++]) && !a.isImmediatePropagationStopped();)
						if(!a.namespace_re || a.namespace_re.test(d.namespace)) a.handleObj = d, a.data = d.data, d = ((c.event.special[d.origType] || {}).handle || d.handler).apply(e.elem, h), d !== n && !1 === (a.result =
							d) && (a.preventDefault(), a.stopPropagation());
				k.postDispatch && k.postDispatch.call(this, a);
				return a.result
			}
		},
		handlers: function(a, b) {
			var d, e, f, g, h = [],
				k = b.delegateCount,
				l = a.target;
			if(k && l.nodeType && (!a.button || "click" !== a.type))
				for(; l != this; l = l.parentNode || this)
					if(1 === l.nodeType && (!0 !== l.disabled || "click" !== a.type)) {
						f = [];
						for(g = 0; g < k; g++) e = b[g], d = e.selector + " ", f[d] === n && (f[d] = e.needsContext ? 0 <= c(d, this).index(l) : c.find(d, this, null, [l]).length), f[d] && f.push(e);
						f.length && h.push({
							elem: l,
							handlers: f
						})
					}
			k < b.length &&
				h.push({
					elem: this,
					handlers: b.slice(k)
				});
			return h
		},
		fix: function(a) {
			if(a[c.expando]) return a;
			var b, d, e;
			b = a.type;
			var f = a,
				g = this.fixHooks[b];
			g || (this.fixHooks[b] = g = qc.test(b) ? this.mouseHooks : pc.test(b) ? this.keyHooks : {});
			e = g.props ? this.props.concat(g.props) : this.props;
			a = new c.Event(f);
			for(b = e.length; b--;) d = e[b], a[d] = f[d];
			a.target || (a.target = f.srcElement || p);
			3 === a.target.nodeType && (a.target = a.target.parentNode);
			a.metaKey = !!a.metaKey;
			return g.filter ? g.filter(a, f) : a
		},
		props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
		fixHooks: {},
		keyHooks: {
			props: ["char", "charCode", "key", "keyCode"],
			filter: function(a, b) {
				null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode);
				return a
			}
		},
		mouseHooks: {
			props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
			filter: function(a, b) {
				var c, e, f = b.button,
					g = b.fromElement;
				null == a.pageX && null != b.clientX && (c = a.target.ownerDocument || p, e = c.documentElement, c = c.body, a.pageX = b.clientX + (e && e.scrollLeft || c && c.scrollLeft || 0) - (e && e.clientLeft ||
					c && c.clientLeft || 0), a.pageY = b.clientY + (e && e.scrollTop || c && c.scrollTop || 0) - (e && e.clientTop || c && c.clientTop || 0));
				!a.relatedTarget && g && (a.relatedTarget = g === a.target ? b.toElement : g);
				a.which || f === n || (a.which = f & 1 ? 1 : f & 2 ? 3 : f & 4 ? 2 : 0);
				return a
			}
		},
		special: {
			load: {
				noBubble: !0
			},
			click: {
				trigger: function() {
					if(c.nodeName(this, "input") && "checkbox" === this.type && this.click) return this.click(), !1
				}
			},
			focus: {
				trigger: function() {
					if(this !== p.activeElement && this.focus) try {
						return this.focus(), !1
					} catch(a) {}
				},
				delegateType: "focusin"
			},
			blur: {
				trigger: function() {
					if(this === p.activeElement && this.blur) return this.blur(), !1
				},
				delegateType: "focusout"
			},
			beforeunload: {
				postDispatch: function(a) {
					a.result !== n && (a.originalEvent.returnValue = a.result)
				}
			}
		},
		simulate: function(a, b, d, e) {
			a = c.extend(new c.Event, d, {
				type: a,
				isSimulated: !0,
				originalEvent: {}
			});
			e ? c.event.trigger(a, null, b) : c.event.dispatch.call(b, a);
			a.isDefaultPrevented() && d.preventDefault()
		}
	};
	c.removeEvent = p.removeEventListener ? function(a, b, c) {
			a.removeEventListener && a.removeEventListener(b, c, !1)
		} :
		function(a, b, c) {
			b = "on" + b;
			a.detachEvent && (typeof a[b] === y && (a[b] = null), a.detachEvent(b, c))
		};
	c.Event = function(a, b) {
		if(!(this instanceof c.Event)) return new c.Event(a, b);
		a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || !1 === a.returnValue || a.getPreventDefault && a.getPreventDefault() ? Y : J) : this.type = a;
		b && c.extend(this, b);
		this.timeStamp = a && a.timeStamp || c.now();
		this[c.expando] = !0
	};
	c.Event.prototype = {
		isDefaultPrevented: J,
		isPropagationStopped: J,
		isImmediatePropagationStopped: J,
		preventDefault: function() {
			var a = this.originalEvent;
			this.isDefaultPrevented = Y;
			a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
		},
		stopPropagation: function() {
			var a = this.originalEvent;
			this.isPropagationStopped = Y;
			a && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0)
		},
		stopImmediatePropagation: function() {
			this.isImmediatePropagationStopped = Y;
			this.stopPropagation()
		}
	};
	c.each({
		mouseenter: "mouseover",
		mouseleave: "mouseout"
	}, function(a, b) {
		c.event.special[a] = {
			delegateType: b,
			bindType: b,
			handle: function(a) {
				var e,
					f = a.relatedTarget,
					g = a.handleObj;
				if(!f || f !== this && !c.contains(this, f)) a.type = g.origType, e = g.handler.apply(this, arguments), a.type = b;
				return e
			}
		}
	});
	c.support.submitBubbles || (c.event.special.submit = {
		setup: function() {
			if(c.nodeName(this, "form")) return !1;
			c.event.add(this, "click._submit keypress._submit", function(a) {
				a = a.target;
				(a = c.nodeName(a, "input") || c.nodeName(a, "button") ? a.form : n) && !c._data(a, "submitBubbles") && (c.event.add(a, "submit._submit", function(a) {
					a._submit_bubble = !0
				}), c._data(a, "submitBubbles", !0))
			})
		},
		postDispatch: function(a) {
			a._submit_bubble && (delete a._submit_bubble, this.parentNode && !a.isTrigger && c.event.simulate("submit", this.parentNode, a, !0))
		},
		teardown: function() {
			if(c.nodeName(this, "form")) return !1;
			c.event.remove(this, "._submit")
		}
	});
	c.support.changeBubbles || (c.event.special.change = {
		setup: function() {
			if(Ia.test(this.nodeName)) {
				if("checkbox" === this.type || "radio" === this.type) c.event.add(this, "propertychange._change", function(a) {
						"checked" === a.originalEvent.propertyName && (this._just_changed = !0)
					}),
					c.event.add(this, "click._change", function(a) {
						this._just_changed && !a.isTrigger && (this._just_changed = !1);
						c.event.simulate("change", this, a, !0)
					});
				return !1
			}
			c.event.add(this, "beforeactivate._change", function(a) {
				a = a.target;
				Ia.test(a.nodeName) && !c._data(a, "changeBubbles") && (c.event.add(a, "change._change", function(a) {
					!this.parentNode || a.isSimulated || a.isTrigger || c.event.simulate("change", this.parentNode, a, !0)
				}), c._data(a, "changeBubbles", !0))
			})
		},
		handle: function(a) {
			var b = a.target;
			if(this !== b || a.isSimulated ||
				a.isTrigger || "radio" !== b.type && "checkbox" !== b.type) return a.handleObj.handler.apply(this, arguments)
		},
		teardown: function() {
			c.event.remove(this, "._change");
			return !Ia.test(this.nodeName)
		}
	});
	c.support.focusinBubbles || c.each({
		focus: "focusin",
		blur: "focusout"
	}, function(a, b) {
		var d = 0,
			e = function(a) {
				c.event.simulate(b, a.target, c.event.fix(a), !0)
			};
		c.event.special[b] = {
			setup: function() {
				0 === d++ && p.addEventListener(a, e, !0)
			},
			teardown: function() {
				0 === --d && p.removeEventListener(a, e, !0)
			}
		}
	});
	c.fn.extend({
		on: function(a,
			b, d, e, f) {
			var g, h;
			if("object" === typeof a) {
				"string" !== typeof b && (d = d || b, b = n);
				for(g in a) this.on(g, b, d, a[g], f);
				return this
			}
			null == d && null == e ? (e = b, d = b = n) : null == e && ("string" === typeof b ? (e = d, d = n) : (e = d, d = b, b = n));
			if(!1 === e) e = J;
			else if(!e) return this;
			1 === f && (h = e, e = function(a) {
				c().off(a);
				return h.apply(this, arguments)
			}, e.guid = h.guid || (h.guid = c.guid++));
			return this.each(function() {
				c.event.add(this, a, e, d, b)
			})
		},
		one: function(a, b, c, e) {
			return this.on(a, b, c, e, 1)
		},
		off: function(a, b, d) {
			var e;
			if(a && a.preventDefault && a.handleObj) return e =
				a.handleObj, c(a.delegateTarget).off(e.namespace ? e.origType + "." + e.namespace : e.origType, e.selector, e.handler), this;
			if("object" === typeof a) {
				for(e in a) this.off(e, b, a[e]);
				return this
			}
			if(!1 === b || "function" === typeof b) d = b, b = n;
			!1 === d && (d = J);
			return this.each(function() {
				c.event.remove(this, a, d, b)
			})
		},
		bind: function(a, b, c) {
			return this.on(a, null, b, c)
		},
		unbind: function(a, b) {
			return this.off(a, null, b)
		},
		delegate: function(a, b, c, e) {
			return this.on(b, a, c, e)
		},
		undelegate: function(a, b, c) {
			return 1 === arguments.length ? this.off(a,
				"**") : this.off(b, a || "**", c)
		},
		trigger: function(a, b) {
			return this.each(function() {
				c.event.trigger(a, b, this)
			})
		},
		triggerHandler: function(a, b) {
			var d = this[0];
			if(d) return c.event.trigger(a, b, d, !0)
		}
	});
	(function(a, b) {
		function d(a) {
			return ja.test(a + "")
		}

		function e() {
			var a, b = [];
			return a = function(c, d) {
				b.push(c += " ") > t.cacheLength && delete a[b.shift()];
				return a[c] = d
			}
		}

		function f(a) {
			a[w] = !0;
			return a
		}

		function g(a) {
			var b = K.createElement("div");
			try {
				return a(b)
			} catch(c) {
				return !1
			} finally {}
		}

		function h(a, b, c, d) {
			var e, f, g,
				h, k;
			(b ? b.ownerDocument || b : ha) !== K && oa(b);
			b = b || K;
			c = c || [];
			if(!a || "string" !== typeof a) return c;
			if(1 !== (h = b.nodeType) && 9 !== h) return [];
			if(!x && !d) {
				if(e = ka.exec(a))
					if(g = e[1])
						if(9 === h)
							if((f = b.getElementById(g)) && f.parentNode) {
								if(f.id === g) return c.push(f), c
							} else return c;
				else {
					if(b.ownerDocument && (f = b.ownerDocument.getElementById(g)) && I(b, f) && f.id === g) return c.push(f), c
				} else {
					if(e[2]) return G.apply(c, J.call(b.getElementsByTagName(a), 0)), c;
					if((g = e[3]) && C.getByClassName && b.getElementsByClassName) return G.apply(c,
						J.call(b.getElementsByClassName(g), 0)), c
				}
				if(C.qsa && !V.test(a)) {
					e = !0;
					f = w;
					g = b;
					k = 9 === h && a;
					if(1 === h && "object" !== b.nodeName.toLowerCase()) {
						h = m(a);
						(e = b.getAttribute("id")) ? f = e.replace(na, "\\$&"): b.setAttribute("id", f);
						f = "[id='" + f + "'] ";
						for(g = h.length; g--;) h[g] = f + p(h[g]);
						g = ba.test(a) && b.parentNode || b;
						k = h.join(",")
					}
					if(k) try {
						return G.apply(c, J.call(g.querySelectorAll(k), 0)), c
					} catch(l) {} finally {
						e || b.removeAttribute("id")
					}
				}
			}
			var q;
			a: {
				a = a.replace(P, "$1");f = m(a);
				if(!d && 1 === f.length) {
					e = f[0] = f[0].slice(0);
					if(2 < e.length &&
						"ID" === (q = e[0]).type && 9 === b.nodeType && !x && t.relative[e[1].type]) {
						b = t.find.ID(q.matches[0].replace(ca, da), b)[0];
						if(!b) {
							q = c;
							break a
						}
						a = a.slice(e.shift().value.length)
					}
					for(h = Y.needsContext.test(a) ? 0 : e.length; h--;) {
						q = e[h];
						if(t.relative[g = q.type]) break;
						if(g = t.find[g])
							if(d = g(q.matches[0].replace(ca, da), ba.test(e[0].type) && b.parentNode || b)) {
								e.splice(h, 1);
								a = d.length && p(e);
								if(!a) {
									G.apply(c, J.call(d, 0));
									q = c;
									break a
								}
								break
							}
					}
				}
				Ka(a, f)(d, b, x, c, ba.test(a));q = c
			}
			return q
		}

		function k(a, b) {
			var c = b && a,
				d = c && (~b.sourceIndex ||
					U) - (~a.sourceIndex || U);
			if(d) return d;
			if(c)
				for(; c = c.nextSibling;)
					if(c === b) return -1;
			return a ? 1 : -1
		}

		function l(a) {
			return function(b) {
				return "input" === b.nodeName.toLowerCase() && b.type === a
			}
		}

		function q(a) {
			return function(b) {
				var c = b.nodeName.toLowerCase();
				return("input" === c || "button" === c) && b.type === a
			}
		}

		function n(a) {
			return f(function(b) {
				b = +b;
				return f(function(c, d) {
					for(var e, f = a([], c.length, b), g = f.length; g--;) c[e = f[g]] && (c[e] = !(d[e] = c[e]))
				})
			})
		}

		function m(a, b) {
			var c, d, e, f, g, k, l;
			if(g = R[a + " "]) return b ? 0 : g.slice(0);
			g = a;
			k = [];
			for(l = t.preFilter; g;) {
				if(!c || (d = ea.exec(g))) d && (g = g.slice(d[0].length) || g), k.push(e = []);
				c = !1;
				if(d = fa.exec(g)) c = d.shift(), e.push({
					value: c,
					type: d[0].replace(P, " ")
				}), g = g.slice(c.length);
				for(f in t.filter) !(d = Y[f].exec(g)) || l[f] && !(d = l[f](d)) || (c = d.shift(), e.push({
					value: c,
					type: f,
					matches: d
				}), g = g.slice(c.length));
				if(!c) break
			}
			return b ? g.length : g ? h.error(a) : R(a, k).slice(0)
		}

		function p(a) {
			for(var b = 0, c = a.length, d = ""; b < c; b++) d += a[b].value;
			return d
		}

		function r(a, b, c) {
			var d = b.dir,
				e = c && "parentNode" ===
				d,
				f = W++;
			return b.first ? function(b, c, f) {
				for(; b = b[d];)
					if(1 === b.nodeType || e) return a(b, c, f)
			} : function(b, c, g) {
				var h, k, Ja, l = D + " " + f;
				if(g)
					for(; b = b[d];) {
						if((1 === b.nodeType || e) && a(b, c, g)) return !0
					} else
						for(; b = b[d];)
							if(1 === b.nodeType || e)
								if(Ja = b[w] || (b[w] = {}), (k = Ja[d]) && k[0] === l) {
									if(!0 === (h = k[1]) || h === v) return !0 === h
								} else if(k = Ja[d] = [l], k[1] = a(b, c, g) || v, !0 === k[1]) return !0
			}
		}

		function z(a) {
			return 1 < a.length ? function(b, c, d) {
				for(var e = a.length; e--;)
					if(!a[e](b, c, d)) return !1;
				return !0
			} : a[0]
		}

		function A(a, b, c, d, e) {
			for(var f,
					g = [], h = 0, k = a.length, l = null != b; h < k; h++)
				if(f = a[h])
					if(!c || c(f, d, e)) g.push(f), l && b.push(h);
			return g
		}

		function F(a, b, c, d, e, g) {
			d && !d[w] && (d = F(d));
			e && !e[w] && (e = F(e, g));
			return f(function(f, g, k, l) {
				var m, q, n = [],
					p = [],
					s = g.length,
					r;
				if(!(r = f)) {
					r = b || "*";
					for(var u = k.nodeType ? [k] : k, ua = [], v = 0, E = u.length; v < E; v++) h(r, u[v], ua);
					r = ua
				}
				r = !a || !f && b ? r : A(r, n, a, k, l);
				u = c ? e || (f ? a : s || d) ? [] : g : r;
				c && c(r, u, k, l);
				if(d)
					for(m = A(u, p), d(m, [], k, l), k = m.length; k--;)
						if(q = m[k]) u[p[k]] = !(r[p[k]] = q);
				if(f) {
					if(e || a) {
						if(e) {
							m = [];
							for(k = u.length; k--;)(q =
								u[k]) && m.push(r[k] = q);
							e(null, u = [], m, l)
						}
						for(k = u.length; k--;)(q = u[k]) && -1 < (m = e ? T.call(f, q) : n[k]) && (f[m] = !(g[m] = q))
					}
				} else u = A(u === g ? u.splice(s, u.length) : u), e ? e(null, g, u, l) : G.apply(g, u)
			})
		}

		function y(a) {
			var b, c, d, e = a.length,
				f = t.relative[a[0].type];
			c = f || t.relative[" "];
			for(var g = f ? 1 : 0, h = r(function(a) {
					return a === b
				}, c, !0), k = r(function(a) {
					return -1 < T.call(b, a)
				}, c, !0), l = [function(a, c, d) {
					return !f && (d || c !== wa) || ((b = c).nodeType ? h(a, c, d) : k(a, c, d))
				}]; g < e; g++)
				if(c = t.relative[a[g].type]) l = [r(z(l), c)];
				else {
					c = t.filter[a[g].type].apply(null,
						a[g].matches);
					if(c[w]) {
						for(d = ++g; d < e && !t.relative[a[d].type]; d++);
						return F(1 < g && z(l), 1 < g && p(a.slice(0, g - 1)).replace(P, "$1"), c, g < d && y(a.slice(g, d)), d < e && y(a = a.slice(d)), d < e && p(a))
					}
					l.push(c)
				}
			return z(l)
		}

		function O(a, b) {
			var c = 0,
				d = 0 < b.length,
				e = 0 < a.length,
				g = function(f, g, k, l, m) {
					var q, n, p = [],
						s = 0,
						u = "0",
						r = f && [],
						E = null != m,
						ua = wa,
						qa = f || e && t.find.TAG("*", m && g.parentNode || g),
						w = D += null == ua ? 1 : Math.random() || 0.1;
					E && (wa = g !== K && g, v = c);
					for(; null != (m = qa[u]); u++) {
						if(e && m) {
							for(q = 0; n = a[q++];)
								if(n(m, g, k)) {
									l.push(m);
									break
								}
							E &&
								(D = w, v = ++c)
						}
						d && ((m = !n && m) && s--, f && r.push(m))
					}
					s += u;
					if(d && u !== s) {
						for(q = 0; n = b[q++];) n(r, p, g, k);
						if(f) {
							if(0 < s)
								for(; u--;) r[u] || p[u] || (p[u] = aa.call(l));
							p = A(p)
						}
						G.apply(l, p);
						E && !f && 0 < p.length && 1 < s + b.length && h.uniqueSort(l)
					}
					E && (D = w, wa = ua);
					return r
				};
			return d ? f(g) : g
		}

		function M() {}
		var pa, v, t, qa, Ab, Ka, ra, wa, oa, K, N, x, V, sa, H, I, L, w = "sizzle" + -new Date,
			ha = a.document,
			C = {},
			D = 0,
			W = 0,
			Q = e(),
			R = e(),
			S = e(),
			$ = typeof b,
			U = -2147483648,
			B = [],
			aa = B.pop,
			G = B.push,
			J = B.slice,
			T = B.indexOf || function(a) {
				for(var b = 0, c = this.length; b < c; b++)
					if(this[b] ===
						a) return b;
				return -1
			},
			B = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w#"),
			Z = "\\[[\\x20\\t\\r\\n\\f]*((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)[\\x20\\t\\r\\n\\f]*(?:([*^$|!~]?=)[\\x20\\t\\r\\n\\f]*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + B + ")|)|)[\\x20\\t\\r\\n\\f]*\\]",
			X = ":((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + Z.replace(3, 8) + ")*)|.*)\\)|)",
			P = RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$", "g"),
			ea = /^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/,
			fa = /^[\x20\t\r\n\f]*([\x20\t\r\n\f>+~])[\x20\t\r\n\f]*/,
			ga = RegExp(X),
			ia = RegExp("^" + B + "$"),
			Y = {
				ID: /^#((?:\\.|[\w-]|[^\x00-\xa0])+)/,
				CLASS: /^\.((?:\\.|[\w-]|[^\x00-\xa0])+)/,
				NAME: /^\[name=['"]?((?:\\.|[\w-]|[^\x00-\xa0])+)['"]?\]/,
				TAG: RegExp("^(" + "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w*") + ")"),
				ATTR: RegExp("^" + Z),
				PSEUDO: RegExp("^" + X),
				CHILD: RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)",
					"i"),
				needsContext: RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)", "i")
			},
			ba = /[\x20\t\r\n\f]*[+~]/,
			ja = /^[^{]+\{\s*\[native code/,
			ka = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
			la = /^(?:input|select|textarea|button)$/i,
			ma = /^h\d$/i,
			na = /'|\\/g,
			ta = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
			ca = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
			da = function(a, b) {
				var c = "0x" + b - 65536;
				return c !== c ? b : 0 > c ? String.fromCharCode(c + 65536) :
					String.fromCharCode(c >> 10 | 55296, c & 1023 | 56320)
			};
		try {
			J.call(ha.documentElement.childNodes, 0)[0].nodeType
		} catch(va) {
			J = function(a) {
				for(var b, c = []; b = this[a++];) c.push(b);
				return c
			}
		}
		Ab = h.isXML = function(a) {
			return(a = a && (a.ownerDocument || a).documentElement) ? "HTML" !== a.nodeName : !1
		};
		oa = h.setDocument = function(a) {
			var c = a ? a.ownerDocument || a : ha;
			if(c === K || 9 !== c.nodeType || !c.documentElement) return K;
			K = c;
			N = c.documentElement;
			x = Ab(c);
			C.tagNameNoComments = g(function(a) {
				a.appendChild(c.createComment(""));
				return !a.getElementsByTagName("*").length
			});
			C.attributes = g(function(a) {
				a.innerHTML = "<select></select>";
				a = typeof a.lastChild.getAttribute("multiple");
				return "boolean" !== a && "string" !== a
			});
			C.getByClassName = g(function(a) {
				a.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>";
				if(!a.getElementsByClassName || !a.getElementsByClassName("e").length) return !1;
				a.lastChild.className = "e";
				return 2 === a.getElementsByClassName("e").length
			});
			C.getByName = g(function(a) {
				a.id = w + 0;
				a.innerHTML = "<a name='" + w + "'></a><div name='" + w + "'></div>";
				N.insertBefore(a,
					N.firstChild);
				var b = c.getElementsByName && c.getElementsByName(w).length === 2 + c.getElementsByName(w + 0).length;
				C.getIdNotName = !c.getElementById(w);
				N.removeChild(a);
				return b
			});
			t.attrHandle = g(function(a) {
				a.innerHTML = "<a href='#'></a>";
				return a.firstChild && typeof a.firstChild.getAttribute !== $ && "#" === a.firstChild.getAttribute("href")
			}) ? {} : {
				href: function(a) {
					return a.getAttribute("href", 2)
				},
				type: function(a) {
					return a.getAttribute("type")
				}
			};
			C.getIdNotName ? (t.find.ID = function(a, b) {
				if(typeof b.getElementById !==
					$ && !x) {
					var c = b.getElementById(a);
					return c && c.parentNode ? [c] : []
				}
			}, t.filter.ID = function(a) {
				var b = a.replace(ca, da);
				return function(a) {
					return a.getAttribute("id") === b
				}
			}) : (t.find.ID = function(a, c) {
				if(typeof c.getElementById !== $ && !x) {
					var d = c.getElementById(a);
					return d ? d.id === a || typeof d.getAttributeNode !== $ && d.getAttributeNode("id").value === a ? [d] : b : []
				}
			}, t.filter.ID = function(a) {
				var b = a.replace(ca, da);
				return function(a) {
					return(a = typeof a.getAttributeNode !== $ && a.getAttributeNode("id")) && a.value === b
				}
			});
			t.find.TAG =
				C.tagNameNoComments ? function(a, b) {
					if(typeof b.getElementsByTagName !== $) return b.getElementsByTagName(a)
				} : function(a, b) {
					var c, d = [],
						e = 0,
						f = b.getElementsByTagName(a);
					if("*" === a) {
						for(; c = f[e++];) 1 === c.nodeType && d.push(c);
						return d
					}
					return f
				};
			t.find.NAME = C.getByName && function(a, b) {
				if(typeof b.getElementsByName !== $) return b.getElementsByName(name)
			};
			t.find.CLASS = C.getByClassName && function(a, b) {
				if(typeof b.getElementsByClassName !== $ && !x) return b.getElementsByClassName(a)
			};
			sa = [];
			V = [":focus"];
			if(C.qsa = d(c.querySelectorAll)) g(function(a) {
				a.innerHTML =
					"<select><option selected=''></option></select>";
				a.querySelectorAll("[selected]").length || V.push("\\[[\\x20\\t\\r\\n\\f]*(?:checked|disabled|ismap|multiple|readonly|selected|value)");
				a.querySelectorAll(":checked").length || V.push(":checked")
			}), g(function(a) {
				a.innerHTML = "<input type='hidden' i=''/>";
				a.querySelectorAll("[i^='']").length && V.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:\"\"|'')");
				a.querySelectorAll(":enabled").length || V.push(":enabled", ":disabled");
				a.querySelectorAll("*,:x");
				V.push(",.*:")
			});
			(C.matchesSelector =
				d(H = N.matchesSelector || N.mozMatchesSelector || N.webkitMatchesSelector || N.oMatchesSelector || N.msMatchesSelector)) && g(function(a) {
				C.disconnectedMatch = H.call(a, "div");
				H.call(a, "[s!='']:x");
				sa.push("!=", X)
			});
			V = RegExp(V.join("|"));
			sa = RegExp(sa.join("|"));
			I = d(N.contains) || N.compareDocumentPosition ? function(a, b) {
				var c = 9 === a.nodeType ? a.documentElement : a,
					d = b && b.parentNode;
				return a === d || !!(d && 1 === d.nodeType && (c.contains ? c.contains(d) : a.compareDocumentPosition && a.compareDocumentPosition(d) & 16))
			} : function(a, b) {
				if(b)
					for(; b =
						b.parentNode;)
						if(b === a) return !0;
				return !1
			};
			L = N.compareDocumentPosition ? function(a, b) {
				var d;
				return a === b ? (ra = !0, 0) : (d = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition(b)) ? d & 1 || a.parentNode && 11 === a.parentNode.nodeType ? a === c || I(ha, a) ? -1 : b === c || I(ha, b) ? 1 : 0 : d & 4 ? -1 : 1 : a.compareDocumentPosition ? -1 : 1
			} : function(a, b) {
				var d, e = 0;
				d = a.parentNode;
				var f = b.parentNode,
					g = [a],
					h = [b];
				if(a === b) return ra = !0, 0;
				if(!d || !f) return a === c ? -1 : b === c ? 1 : d ? -1 : f ? 1 : 0;
				if(d === f) return k(a, b);
				for(d = a; d = d.parentNode;) g.unshift(d);
				for(d = b; d = d.parentNode;) h.unshift(d);
				for(; g[e] === h[e];) e++;
				return e ? k(g[e], h[e]) : g[e] === ha ? -1 : h[e] === ha ? 1 : 0
			};
			ra = !1;
			[0, 0].sort(L);
			C.detectDuplicates = ra;
			return K
		};
		h.matches = function(a, b) {
			return h(a, null, null, b)
		};
		h.matchesSelector = function(a, b) {
			(a.ownerDocument || a) !== K && oa(a);
			b = b.replace(ta, "='$1']");
			if(C.matchesSelector && !(x || sa && sa.test(b) || V.test(b))) try {
				var c = H.call(a, b);
				if(c || C.disconnectedMatch || a.document && 11 !== a.document.nodeType) return c
			} catch(d) {}
			return 0 < h(b, K, null, [a]).length
		};
		h.contains =
			function(a, b) {
				(a.ownerDocument || a) !== K && oa(a);
				return I(a, b)
			};
		h.attr = function(a, b) {
			var c;
			(a.ownerDocument || a) !== K && oa(a);
			x || (b = b.toLowerCase());
			return(c = t.attrHandle[b]) ? c(a) : x || C.attributes ? a.getAttribute(b) : ((c = a.getAttributeNode(b)) || a.getAttribute(b)) && !0 === a[b] ? b : c && c.specified ? c.value : null
		};
		h.error = function(a) {
			throw Error("Syntax error, unrecognized expression: " + a);
		};
		h.uniqueSort = function(a) {
			var b, c = [],
				d = 1,
				e = 0;
			ra = !C.detectDuplicates;
			a.sort(L);
			if(ra) {
				for(; b = a[d]; d++) b === a[d - 1] && (e = c.push(d));
				for(; e--;) a.splice(c[e], 1)
			}
			return a
		};
		qa = h.getText = function(a) {
			var b, c = "",
				d = 0;
			b = a.nodeType;
			if(!b)
				for(; b = a[d]; d++) c += qa(b);
			else if(1 === b || 9 === b || 11 === b) {
				if("string" === typeof a.textContent) return a.textContent;
				for(a = a.firstChild; a; a = a.nextSibling) c += qa(a)
			} else if(3 === b || 4 === b) return a.nodeValue;
			return c
		};
		t = h.selectors = {
			cacheLength: 50,
			createPseudo: f,
			match: Y,
			find: {},
			relative: {
				">": {
					dir: "parentNode",
					first: !0
				},
				" ": {
					dir: "parentNode"
				},
				"+": {
					dir: "previousSibling",
					first: !0
				},
				"~": {
					dir: "previousSibling"
				}
			},
			preFilter: {
				ATTR: function(a) {
					a[1] =
						a[1].replace(ca, da);
					a[3] = (a[4] || a[5] || "").replace(ca, da);
					"~=" === a[2] && (a[3] = " " + a[3] + " ");
					return a.slice(0, 4)
				},
				CHILD: function(a) {
					a[1] = a[1].toLowerCase();
					"nth" === a[1].slice(0, 3) ? (a[3] || h.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && h.error(a[0]);
					return a
				},
				PSEUDO: function(a) {
					var b, c = !a[5] && a[2];
					if(Y.CHILD.test(a[0])) return null;
					a[4] ? a[2] = a[4] : c && ga.test(c) && (b = m(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] =
						c.slice(0, b));
					return a.slice(0, 3)
				}
			},
			filter: {
				TAG: function(a) {
					if("*" === a) return function() {
						return !0
					};
					a = a.replace(ca, da).toLowerCase();
					return function(b) {
						return b.nodeName && b.nodeName.toLowerCase() === a
					}
				},
				CLASS: function(a) {
					var b = Q[a + " "];
					return b || (b = RegExp("(^|[\\x20\\t\\r\\n\\f])" + a + "([\\x20\\t\\r\\n\\f]|$)")) && Q(a, function(a) {
						return b.test(a.className || typeof a.getAttribute !== $ && a.getAttribute("class") || "")
					})
				},
				ATTR: function(a, b, c) {
					return function(d) {
						d = h.attr(d, a);
						if(null == d) return "!=" === b;
						if(!b) return !0;
						d += "";
						return "=" === b ? d === c : "!=" === b ? d !== c : "^=" === b ? c && 0 === d.indexOf(c) : "*=" === b ? c && -1 < d.indexOf(c) : "$=" === b ? c && d.slice(-c.length) === c : "~=" === b ? -1 < (" " + d + " ").indexOf(c) : "|=" === b ? d === c || d.slice(0, c.length + 1) === c + "-" : !1
					}
				},
				CHILD: function(a, b, c, d, e) {
					var f = "nth" !== a.slice(0, 3),
						g = "last" !== a.slice(-4),
						h = "of-type" === b;
					return 1 === d && 0 === e ? function(a) {
						return !!a.parentNode
					} : function(b, c, k) {
						var l, m, q, n, p;
						c = f !== g ? "nextSibling" : "previousSibling";
						var s = b.parentNode,
							u = h && b.nodeName.toLowerCase();
						k = !k && !h;
						if(s) {
							if(f) {
								for(; c;) {
									for(m =
										b; m = m[c];)
										if(h ? m.nodeName.toLowerCase() === u : 1 === m.nodeType) return !1;
									p = c = "only" === a && !p && "nextSibling"
								}
								return !0
							}
							p = [g ? s.firstChild : s.lastChild];
							if(g && k)
								for(k = s[w] || (s[w] = {}), l = k[a] || [], n = l[0] === D && l[1], q = l[0] === D && l[2], m = n && s.childNodes[n]; m = ++n && m && m[c] || (q = n = 0) || p.pop();) {
									if(1 === m.nodeType && ++q && m === b) {
										k[a] = [D, n, q];
										break
									}
								} else if(k && (l = (b[w] || (b[w] = {}))[a]) && l[0] === D) q = l[1];
								else
									for(;
										(m = ++n && m && m[c] || (q = n = 0) || p.pop()) && ((h ? m.nodeName.toLowerCase() !== u : 1 !== m.nodeType) || !++q || (k && ((m[w] || (m[w] = {}))[a] = [D, q]), m !== b)););
							q -= e;
							return q === d || 0 === q % d && 0 <= q / d
						}
					}
				},
				PSEUDO: function(a, b) {
					var c, d = t.pseudos[a] || t.setFilters[a.toLowerCase()] || h.error("unsupported pseudo: " + a);
					return d[w] ? d(b) : 1 < d.length ? (c = [a, a, "", b], t.setFilters.hasOwnProperty(a.toLowerCase()) ? f(function(a, c) {
						for(var e, f = d(a, b), g = f.length; g--;) e = T.call(a, f[g]), a[e] = !(c[e] = f[g])
					}) : function(a) {
						return d(a, 0, c)
					}) : d
				}
			},
			pseudos: {
				not: f(function(a) {
					var b = [],
						c = [],
						d = Ka(a.replace(P, "$1"));
					return d[w] ? f(function(a, b, c, e) {
						e = d(a, null, e, []);
						for(var f = a.length; f--;)
							if(c =
								e[f]) a[f] = !(b[f] = c)
					}) : function(a, e, f) {
						b[0] = a;
						d(b, null, f, c);
						return !c.pop()
					}
				}),
				has: f(function(a) {
					return function(b) {
						return 0 < h(a, b).length
					}
				}),
				contains: f(function(a) {
					return function(b) {
						return -1 < (b.textContent || b.innerText || qa(b)).indexOf(a)
					}
				}),
				lang: f(function(a) {
					ia.test(a || "") || h.error("unsupported lang: " + a);
					a = a.replace(ca, da).toLowerCase();
					return function(b) {
						var c;
						do
							if(c = x ? b.getAttribute("xml:lang") || b.getAttribute("lang") : b.lang) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-"); while ((b = b.parentNode) &&
							1 === b.nodeType);
						return !1
					}
				}),
				target: function(b) {
					var c = a.location && a.location.hash;
					return c && c.slice(1) === b.id
				},
				root: function(a) {
					return a === N
				},
				focus: function(a) {
					return a === K.activeElement && (!K.hasFocus || K.hasFocus()) && !!(a.type || a.href || ~a.tabIndex)
				},
				enabled: function(a) {
					return !1 === a.disabled
				},
				disabled: function(a) {
					return !0 === a.disabled
				},
				checked: function(a) {
					var b = a.nodeName.toLowerCase();
					return "input" === b && !!a.checked || "option" === b && !!a.selected
				},
				selected: function(a) {
					a.parentNode && a.parentNode.selectedIndex;
					return !0 === a.selected
				},
				empty: function(a) {
					for(a = a.firstChild; a; a = a.nextSibling)
						if("@" < a.nodeName || 3 === a.nodeType || 4 === a.nodeType) return !1;
					return !0
				},
				parent: function(a) {
					return !t.pseudos.empty(a)
				},
				header: function(a) {
					return ma.test(a.nodeName)
				},
				input: function(a) {
					return la.test(a.nodeName)
				},
				button: function(a) {
					var b = a.nodeName.toLowerCase();
					return "input" === b && "button" === a.type || "button" === b
				},
				text: function(a) {
					var b;
					return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) ||
						b.toLowerCase() === a.type)
				},
				first: n(function() {
					return [0]
				}),
				last: n(function(a, b) {
					return [b - 1]
				}),
				eq: n(function(a, b, c) {
					return [0 > c ? c + b : c]
				}),
				even: n(function(a, b) {
					for(var c = 0; c < b; c += 2) a.push(c);
					return a
				}),
				odd: n(function(a, b) {
					for(var c = 1; c < b; c += 2) a.push(c);
					return a
				}),
				lt: n(function(a, b, c) {
					for(b = 0 > c ? c + b : c; 0 <= --b;) a.push(b);
					return a
				}),
				gt: n(function(a, b, c) {
					for(c = 0 > c ? c + b : c; ++c < b;) a.push(c);
					return a
				})
			}
		};
		for(pa in {
				radio: !0,
				checkbox: !0,
				file: !0,
				password: !0,
				image: !0
			}) t.pseudos[pa] = l(pa);
		for(pa in {
				submit: !0,
				reset: !0
			}) t.pseudos[pa] =
			q(pa);
		Ka = h.compile = function(a, b) {
			var c, d = [],
				e = [],
				f = S[a + " "];
			if(!f) {
				b || (b = m(a));
				for(c = b.length; c--;) f = y(b[c]), f[w] ? d.push(f) : e.push(f);
				f = S(a, O(e, d))
			}
			return f
		};
		t.pseudos.nth = t.pseudos.eq;
		t.filters = M.prototype = t.pseudos;
		t.setFilters = new M;
		oa();
		h.attr = c.attr;
		c.find = h;
		c.expr = h.selectors;
		c.expr[":"] = c.expr.pseudos;
		c.unique = h.uniqueSort;
		c.text = h.getText;
		c.isXMLDoc = h.isXML;
		c.contains = h.contains
	})(r);
	var rc = /Until$/,
		sc = /^(?:parents|prev(?:Until|All))/,
		Tb = /^.[^:#\[\.,]*$/,
		Bb = c.expr.match.needsContext,
		tc = {
			children: !0,
			contents: !0,
			next: !0,
			prev: !0
		};
	c.fn.extend({
		find: function(a) {
			var b, d, e, f = this.length;
			if("string" !== typeof a) return e = this, this.pushStack(c(a).filter(function() {
				for(b = 0; b < f; b++)
					if(c.contains(e[b], this)) return !0
			}));
			d = [];
			for(b = 0; b < f; b++) c.find(a, this[b], d);
			d = this.pushStack(1 < f ? c.unique(d) : d);
			d.selector = (this.selector ? this.selector + " " : "") + a;
			return d
		},
		has: function(a) {
			var b, d = c(a, this),
				e = d.length;
			return this.filter(function() {
				for(b = 0; b < e; b++)
					if(c.contains(this, d[b])) return !0
			})
		},
		not: function(a) {
			return this.pushStack(Xa(this,
				a, !1))
		},
		filter: function(a) {
			return this.pushStack(Xa(this, a, !0))
		},
		is: function(a) {
			return !!a && ("string" === typeof a ? Bb.test(a) ? 0 <= c(a, this.context).index(this[0]) : 0 < c.filter(a, this).length : 0 < this.filter(a).length)
		},
		closest: function(a, b) {
			for(var d, e = 0, f = this.length, g = [], h = Bb.test(a) || "string" !== typeof a ? c(a, b || this.context) : 0; e < f; e++)
				for(d = this[e]; d && d.ownerDocument && d !== b && 11 !== d.nodeType;) {
					if(h ? -1 < h.index(d) : c.find.matchesSelector(d, a)) {
						g.push(d);
						break
					}
					d = d.parentNode
				}
			return this.pushStack(1 < g.length ?
				c.unique(g) : g)
		},
		index: function(a) {
			return a ? "string" === typeof a ? c.inArray(this[0], c(a)) : c.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
		},
		add: function(a, b) {
			var d = "string" === typeof a ? c(a, b) : c.makeArray(a && a.nodeType ? [a] : a),
				d = c.merge(this.get(), d);
			return this.pushStack(c.unique(d))
		},
		addBack: function(a) {
			return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
		}
	});
	c.fn.andSelf = c.fn.addBack;
	c.each({
		parent: function(a) {
			return(a = a.parentNode) && 11 !== a.nodeType ?
				a : null
		},
		parents: function(a) {
			return c.dir(a, "parentNode")
		},
		parentsUntil: function(a, b, d) {
			return c.dir(a, "parentNode", d)
		},
		next: function(a) {
			return Wa(a, "nextSibling")
		},
		prev: function(a) {
			return Wa(a, "previousSibling")
		},
		nextAll: function(a) {
			return c.dir(a, "nextSibling")
		},
		prevAll: function(a) {
			return c.dir(a, "previousSibling")
		},
		nextUntil: function(a, b, d) {
			return c.dir(a, "nextSibling", d)
		},
		prevUntil: function(a, b, d) {
			return c.dir(a, "previousSibling", d)
		},
		siblings: function(a) {
			return c.sibling((a.parentNode || {}).firstChild,
				a)
		},
		children: function(a) {
			return c.sibling(a.firstChild)
		},
		contents: function(a) {
			return c.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : c.merge([], a.childNodes)
		}
	}, function(a, b) {
		c.fn[a] = function(d, e) {
			var f = c.map(this, b, d);
			rc.test(a) || (e = d);
			e && "string" === typeof e && (f = c.filter(e, f));
			f = 1 < this.length && !tc[a] ? c.unique(f) : f;
			1 < this.length && sc.test(a) && (f = f.reverse());
			return this.pushStack(f)
		}
	});
	c.extend({
		filter: function(a, b, d) {
			d && (a = ":not(" + a + ")");
			return 1 === b.length ? c.find.matchesSelector(b[0],
				a) ? [b[0]] : [] : c.find.matches(a, b)
		},
		dir: function(a, b, d) {
			var e = [];
			for(a = a[b]; a && 9 !== a.nodeType && (d === n || 1 !== a.nodeType || !c(a).is(d));) 1 === a.nodeType && e.push(a), a = a[b];
			return e
		},
		sibling: function(a, b) {
			for(var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);
			return c
		}
	});
	var Za = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
		uc = / jQuery\d+="(?:null|\d+)"/g,
		Cb = RegExp("<(?:" + Za + ")[\\s/>]", "i"),
		La = /^\s+/,
		Db = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
		Eb = /<([\w:]+)/,
		Fb = /<tbody/i,
		vc = /<|&#?\w+;/,
		wc = /<(?:script|style|link)/i,
		za = /^(?:checkbox|radio)$/i,
		xc = /checked\s*(?:[^=]|=\s*.checked.)/i,
		Gb = /^$|\/(?:java|ecma)script/i,
		Ub = /^true\/(.*)/,
		yc = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
		F = {
			option: [1, "<select multiple='multiple'>", "</select>"],
			legend: [1, "<fieldset>", "</fieldset>"],
			area: [1, "<map>", "</map>"],
			param: [1, "<object>", "</object>"],
			thead: [1, "<table>", "</table>"],
			tr: [2, "<table><tbody>", "</tbody></table>"],
			col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
			td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
			_default: c.support.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
		},
		Ma = Ya(p).appendChild(p.createElement("div"));
	F.optgroup = F.option;
	F.tbody = F.tfoot = F.colgroup = F.caption = F.thead;
	F.th = F.td;
	c.fn.extend({
		text: function(a) {
			return c.access(this, function(a) {
					return a === n ? c.text(this) : this.empty().append((this[0] && this[0].ownerDocument || p).createTextNode(a))
				},
				null, a, arguments.length)
		},
		wrapAll: function(a) {
			if(c.isFunction(a)) return this.each(function(b) {
				c(this).wrapAll(a.call(this, b))
			});
			if(this[0]) {
				var b = c(a, this[0].ownerDocument).eq(0).clone(!0);
				this[0].parentNode && b.insertBefore(this[0]);
				b.map(function() {
					for(var a = this; a.firstChild && 1 === a.firstChild.nodeType;) a = a.firstChild;
					return a
				}).append(this)
			}
			return this
		},
		wrapInner: function(a) {
			return c.isFunction(a) ? this.each(function(b) {
				c(this).wrapInner(a.call(this, b))
			}) : this.each(function() {
				var b = c(this),
					d = b.contents();
				d.length ? d.wrapAll(a) : b.append(a)
			})
		},
		wrap: function(a) {
			var b = c.isFunction(a);
			return this.each(function(d) {
				c(this).wrapAll(b ? a.call(this, d) : a)
			})
		},
		unwrap: function() {
			return this.parent().each(function() {
				c.nodeName(this, "body") || c(this).replaceWith(this.childNodes)
			}).end()
		},
		append: function() {
			return this.domManip(arguments, !0, function(a) {
				1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || this.appendChild(a)
			})
		},
		prepend: function() {
			return this.domManip(arguments, !0, function(a) {
				1 !== this.nodeType && 11 !==
					this.nodeType && 9 !== this.nodeType || this.insertBefore(a, this.firstChild)
			})
		},
		before: function() {
			return this.domManip(arguments, !1, function(a) {
				this.parentNode && this.parentNode.insertBefore(a, this)
			})
		},
		after: function() {
			return this.domManip(arguments, !1, function(a) {
				this.parentNode && this.parentNode.insertBefore(a, this.nextSibling)
			})
		},
		remove: function(a, b) {
			for(var d, e = 0; null != (d = this[e]); e++)
				if(!a || 0 < c.filter(a, [d]).length) b || 1 !== d.nodeType || c.cleanData(A(d)), d.parentNode && (b && c.contains(d.ownerDocument, d) &&
					ya(A(d, "script")), d.parentNode.removeChild(d));
			return this
		},
		empty: function() {
			for(var a, b = 0; null != (a = this[b]); b++) {
				for(1 === a.nodeType && c.cleanData(A(a, !1)); a.firstChild;) a.removeChild(a.firstChild);
				a.options && c.nodeName(a, "select") && (a.options.length = 0)
			}
			return this
		},
		clone: function(a, b) {
			a = null == a ? !1 : a;
			b = null == b ? a : b;
			return this.map(function() {
				return c.clone(this, a, b)
			})
		},
		html: function(a) {
			return c.access(this, function(a) {
				var d = this[0] || {},
					e = 0,
					f = this.length;
				if(a === n) return 1 === d.nodeType ? d.innerHTML.replace(uc,
					"") : n;
				if("string" === typeof a && !(wc.test(a) || !c.support.htmlSerialize && Cb.test(a) || !c.support.leadingWhitespace && La.test(a) || F[(Eb.exec(a) || ["", ""])[1].toLowerCase()])) {
					a = a.replace(Db, "<$1></$2>");
					try {
						for(; e < f; e++) d = this[e] || {}, 1 === d.nodeType && (c.cleanData(A(d, !1)), d.innerHTML = a);
						d = 0
					} catch(g) {}
				}
				d && this.empty().append(a)
			}, null, a, arguments.length)
		},
		replaceWith: function(a) {
			c.isFunction(a) || "string" === typeof a || (a = c(a).not(this).detach());
			return this.domManip([a], !0, function(a) {
				var d = this.nextSibling,
					e = this.parentNode;
				e && (c(this).remove(), e.insertBefore(a, d))
			})
		},
		detach: function(a) {
			return this.remove(a, !0)
		},
		domManip: function(a, b, d) {
			a = sb.apply([], a);
			var e, f, g, h, k = 0,
				l = this.length,
				q = this,
				p = l - 1,
				m = a[0],
				u = c.isFunction(m);
			if(u || !(1 >= l || "string" !== typeof m || c.support.checkClone) && xc.test(m)) return this.each(function(c) {
				var e = q.eq(c);
				u && (a[0] = m.call(this, c, b ? e.html() : n));
				e.domManip(a, b, d)
			});
			if(l && (h = c.buildFragment(a, this[0].ownerDocument, !1, this), e = h.firstChild, 1 === h.childNodes.length && (h = e), e)) {
				b = b &&
					c.nodeName(e, "tr");
				g = c.map(A(h, "script"), $a);
				for(f = g.length; k < l; k++) e = h, k !== p && (e = c.clone(e, !0, !0), f && c.merge(g, A(e, "script"))), d.call(b && c.nodeName(this[k], "table") ? this[k].getElementsByTagName("tbody")[0] || this[k].appendChild(this[k].ownerDocument.createElement("tbody")) : this[k], e, k);
				if(f)
					for(h = g[g.length - 1].ownerDocument, c.map(g, ab), k = 0; k < f; k++) e = g[k], Gb.test(e.type || "") && !c._data(e, "globalEval") && c.contains(h, e) && (e.src ? c.ajax({
							url: e.src,
							type: "GET",
							dataType: "script",
							async: !1,
							global: !1,
							"throws": !0
						}) :
						c.globalEval((e.text || e.textContent || e.innerHTML || "").replace(yc, "")));
				h = e = null
			}
			return this
		}
	});
	c.each({
		appendTo: "append",
		prependTo: "prepend",
		insertBefore: "before",
		insertAfter: "after",
		replaceAll: "replaceWith"
	}, function(a, b) {
		c.fn[a] = function(a) {
			for(var e = 0, f = [], g = c(a), h = g.length - 1; e <= h; e++) a = e === h ? this : this.clone(!0), c(g[e])[b](a), Da.apply(f, a.get());
			return this.pushStack(f)
		}
	});
	c.extend({
		clone: function(a, b, d) {
			var e, f, g, h, k, l = c.contains(a.ownerDocument, a);
			c.support.html5Clone || c.isXMLDoc(a) || !Cb.test("<" +
				a.nodeName + ">") ? g = a.cloneNode(!0) : (Ma.innerHTML = a.outerHTML, Ma.removeChild(g = Ma.firstChild));
			if(!(c.support.noCloneEvent && c.support.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || c.isXMLDoc(a)))
				for(e = A(g), k = A(a), h = 0; null != (f = k[h]); ++h)
					if(e[h]) {
						var q = e[h],
							n = void 0,
							m = void 0,
							p = void 0;
						if(1 === q.nodeType) {
							n = q.nodeName.toLowerCase();
							if(!c.support.noCloneEvent && q[c.expando]) {
								p = c._data(q);
								for(m in p.events) c.removeEvent(q, m, p.handle);
								q.removeAttribute(c.expando)
							}
							if("script" === n && q.text !== f.text) $a(q).text =
								f.text, ab(q);
							else if("object" === n) q.parentNode && (q.outerHTML = f.outerHTML), c.support.html5Clone && f.innerHTML && !c.trim(q.innerHTML) && (q.innerHTML = f.innerHTML);
							else if("input" === n && za.test(f.type)) q.defaultChecked = q.checked = f.checked, q.value !== f.value && (q.value = f.value);
							else if("option" === n) q.defaultSelected = q.selected = f.defaultSelected;
							else if("input" === n || "textarea" === n) q.defaultValue = f.defaultValue
						}
					}
			if(b)
				if(d)
					for(k = k || A(a), e = e || A(g), h = 0; null != (f = k[h]); h++) bb(f, e[h]);
				else bb(a, g);
			e = A(g, "script");
			0 <
				e.length && ya(e, !l && A(a, "script"));
			return g
		},
		buildFragment: function(a, b, d, e) {
			for(var f, g, h, k, l, q, n = a.length, m = Ya(b), p = [], r = 0; r < n; r++)
				if((g = a[r]) || 0 === g)
					if("object" === c.type(g)) c.merge(p, g.nodeType ? [g] : g);
					else if(vc.test(g)) {
				h = h || m.appendChild(b.createElement("div"));
				k = (Eb.exec(g) || ["", ""])[1].toLowerCase();
				q = F[k] || F._default;
				h.innerHTML = q[1] + g.replace(Db, "<$1></$2>") + q[2];
				for(f = q[0]; f--;) h = h.lastChild;
				!c.support.leadingWhitespace && La.test(g) && p.push(b.createTextNode(La.exec(g)[0]));
				if(!c.support.tbody)
					for(f =
						(g = "table" !== k || Fb.test(g) ? "<table>" !== q[1] || Fb.test(g) ? 0 : h : h.firstChild) && g.childNodes.length; f--;) c.nodeName(l = g.childNodes[f], "tbody") && !l.childNodes.length && g.removeChild(l);
				c.merge(p, h.childNodes);
				for(h.textContent = ""; h.firstChild;) h.removeChild(h.firstChild);
				h = m.lastChild
			} else p.push(b.createTextNode(g));
			h && m.removeChild(h);
			c.support.appendChecked || c.grep(A(p, "input"), Vb);
			for(r = 0; g = p[r++];)
				if(!e || -1 === c.inArray(g, e))
					if(a = c.contains(g.ownerDocument, g), h = A(m.appendChild(g), "script"), a && ya(h),
						d)
						for(f = 0; g = h[f++];) Gb.test(g.type || "") && d.push(g);
			return m
		},
		cleanData: function(a, b) {
			for(var d, e, f, g, h = 0, k = c.expando, l = c.cache, q = c.support.deleteExpando, n = c.event.special; null != (d = a[h]); h++)
				if(b || c.acceptData(d))
					if(g = (f = d[k]) && l[f]) {
						if(g.events)
							for(e in g.events) n[e] ? c.event.remove(d, e) : c.removeEvent(d, e, g.handle);
						l[f] && (delete l[f], q ? delete d[k] : typeof d.removeAttribute !== y ? d.removeAttribute(k) : d[k] = null, G.push(f))
					}
		}
	});
	var ea, R, S, Na = /alpha\([^)]*\)/i,
		zc = /opacity\s*=\s*([^)]*)/,
		Ac = /^(top|right|bottom|left)$/,
		Bc = /^(none|table(?!-c[ea]).+)/,
		Hb = /^margin/,
		Wb = RegExp("^(" + na + ")(.*)$", "i"),
		ba = RegExp("^(" + na + ")(?!px)[a-z%]+$", "i"),
		Cc = RegExp("^([+-])=(" + na + ")", "i"),
		jb = {
			BODY: "block"
		},
		Dc = {
			position: "absolute",
			visibility: "hidden",
			display: "block"
		},
		Ib = {
			letterSpacing: 0,
			fontWeight: 400
		},
		Q = ["Top", "Right", "Bottom", "Left"],
		db = ["Webkit", "O", "Moz", "ms"];
	c.fn.extend({
		css: function(a, b) {
			return c.access(this, function(a, b, f) {
				var g, h = {},
					k = 0;
				if(c.isArray(b)) {
					g = R(a);
					for(f = b.length; k < f; k++) h[b[k]] = c.css(a, b[k], !1, g);
					return h
				}
				return f !==
					n ? c.style(a, b, f) : c.css(a, b)
			}, a, b, 1 < arguments.length)
		},
		show: function() {
			return eb(this, !0)
		},
		hide: function() {
			return eb(this)
		},
		toggle: function(a) {
			var b = "boolean" === typeof a;
			return this.each(function() {
				(b ? a : P(this)) ? c(this).show(): c(this).hide()
			})
		}
	});
	c.extend({
		cssHooks: {
			opacity: {
				get: function(a, b) {
					if(b) {
						var c = S(a, "opacity");
						return "" === c ? "1" : c
					}
				}
			}
		},
		cssNumber: {
			columnCount: !0,
			fillOpacity: !0,
			fontWeight: !0,
			lineHeight: !0,
			opacity: !0,
			orphans: !0,
			widows: !0,
			zIndex: !0,
			zoom: !0
		},
		cssProps: {
			"float": c.support.cssFloat ? "cssFloat" : "styleFloat"
		},
		style: function(a, b, d, e) {
			if(a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) {
				var f, g, h, k = c.camelCase(b),
					l = a.style;
				b = c.cssProps[k] || (c.cssProps[k] = cb(l, k));
				h = c.cssHooks[b] || c.cssHooks[k];
				if(d !== n) {
					if(g = typeof d, "string" === g && (f = Cc.exec(d)) && (d = (f[1] + 1) * f[2] + parseFloat(c.css(a, b)), g = "number"), !(null == d || "number" === g && isNaN(d) || ("number" !== g || c.cssNumber[k] || (d += "px"), c.support.clearCloneStyle || "" !== d || 0 !== b.indexOf("background") || (l[b] = "inherit"), h && "set" in h && (d = h.set(a, d, e)) === n))) try {
						l[b] =
							d
					} catch(q) {}
				} else return h && "get" in h && (f = h.get(a, !1, e)) !== n ? f : l[b]
			}
		},
		css: function(a, b, d, e) {
			var f, g;
			g = c.camelCase(b);
			b = c.cssProps[g] || (c.cssProps[g] = cb(a.style, g));
			(g = c.cssHooks[b] || c.cssHooks[g]) && "get" in g && (f = g.get(a, !0, d));
			f === n && (f = S(a, b, e));
			"normal" === f && b in Ib && (f = Ib[b]);
			return "" === d || d ? (a = parseFloat(f), !0 === d || c.isNumeric(a) ? a || 0 : f) : f
		},
		swap: function(a, b, c, e) {
			var f, g = {};
			for(f in b) g[f] = a.style[f], a.style[f] = b[f];
			c = c.apply(a, e || []);
			for(f in b) a.style[f] = g[f];
			return c
		}
	});
	r.getComputedStyle ?
		(R = function(a) {
			return r.getComputedStyle(a, null)
		}, S = function(a, b, d) {
			var e, f = (d = d || R(a)) ? d.getPropertyValue(b) || d[b] : n,
				g = a.style;
			d && ("" !== f || c.contains(a.ownerDocument, a) || (f = c.style(a, b)), ba.test(f) && Hb.test(b) && (a = g.width, b = g.minWidth, e = g.maxWidth, g.minWidth = g.maxWidth = g.width = f, f = d.width, g.width = a, g.minWidth = b, g.maxWidth = e));
			return f
		}) : p.documentElement.currentStyle && (R = function(a) {
			return a.currentStyle
		}, S = function(a, b, c) {
			var e, f, g = (c = c || R(a)) ? c[b] : n,
				h = a.style;
			null == g && h && h[b] && (g = h[b]);
			if(ba.test(g) &&
				!Ac.test(b)) {
				c = h.left;
				if(f = (e = a.runtimeStyle) && e.left) e.left = a.currentStyle.left;
				h.left = "fontSize" === b ? "1em" : g;
				g = h.pixelLeft + "px";
				h.left = c;
				f && (e.left = f)
			}
			return "" === g ? "auto" : g
		});
	c.each(["height", "width"], function(a, b) {
		c.cssHooks[b] = {
			get: function(a, e, f) {
				if(e) return 0 === a.offsetWidth && Bc.test(c.css(a, "display")) ? c.swap(a, Dc, function() {
					return ib(a, b, f)
				}) : ib(a, b, f)
			},
			set: function(a, e, f) {
				var g = f && R(a);
				return gb(a, e, f ? hb(a, b, f, c.support.boxSizing && "border-box" === c.css(a, "boxSizing", !1, g), g) : 0)
			}
		}
	});
	c.support.opacity ||
		(c.cssHooks.opacity = {
			get: function(a, b) {
				return zc.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? 0.01 * parseFloat(RegExp.$1) + "" : b ? "1" : ""
			},
			set: function(a, b) {
				var d = a.style,
					e = a.currentStyle,
					f = c.isNumeric(b) ? "alpha(opacity=" + 100 * b + ")" : "",
					g = e && e.filter || d.filter || "";
				d.zoom = 1;
				if((1 <= b || "" === b) && "" === c.trim(g.replace(Na, "")) && d.removeAttribute && (d.removeAttribute("filter"), "" === b || e && !e.filter)) return;
				d.filter = Na.test(g) ? g.replace(Na, f) : g + " " + f
			}
		});
	c(function() {
		c.support.reliableMarginRight ||
			(c.cssHooks.marginRight = {
				get: function(a, b) {
					if(b) return c.swap(a, {
						display: "inline-block"
					}, S, [a, "marginRight"])
				}
			});
		!c.support.pixelPosition && c.fn.position && c.each(["top", "left"], function(a, b) {
			c.cssHooks[b] = {
				get: function(a, e) {
					if(e) return e = S(a, b), ba.test(e) ? c(a).position()[b] + "px" : e
				}
			}
		})
	});
	c.expr && c.expr.filters && (c.expr.filters.hidden = function(a) {
			return 0 >= a.offsetWidth && 0 >= a.offsetHeight || !c.support.reliableHiddenOffsets && "none" === (a.style && a.style.display || c.css(a, "display"))
		}, c.expr.filters.visible =
		function(a) {
			return !c.expr.filters.hidden(a)
		});
	c.each({
		margin: "",
		padding: "",
		border: "Width"
	}, function(a, b) {
		c.cssHooks[a + b] = {
			expand: function(c) {
				var e = 0,
					f = {};
				for(c = "string" === typeof c ? c.split(" ") : [c]; 4 > e; e++) f[a + Q[e] + b] = c[e] || c[e - 2] || c[0];
				return f
			}
		};
		Hb.test(a) || (c.cssHooks[a + b].set = gb)
	});
	var Ec = /%20/g,
		Xb = /\[\]$/,
		Jb = /\r?\n/g,
		Fc = /^(?:submit|button|image|reset|file)$/i,
		Gc = /^(?:input|select|textarea|keygen)/i;
	c.fn.extend({
		serialize: function() {
			return c.param(this.serializeArray())
		},
		serializeArray: function() {
			return this.map(function() {
				var a =
					c.prop(this, "elements");
				return a ? c.makeArray(a) : this
			}).filter(function() {
				var a = this.type;
				return this.name && !c(this).is(":disabled") && Gc.test(this.nodeName) && !Fc.test(a) && (this.checked || !za.test(a))
			}).map(function(a, b) {
				var d = c(this).val();
				return null == d ? null : c.isArray(d) ? c.map(d, function(a) {
					return {
						name: b.name,
						value: a.replace(Jb, "\r\n")
					}
				}) : {
					name: b.name,
					value: d.replace(Jb, "\r\n")
				}
			}).get()
		}
	});
	c.param = function(a, b) {
		var d, e = [],
			f = function(a, b) {
				b = c.isFunction(b) ? b() : null == b ? "" : b;
				e[e.length] = encodeURIComponent(a) +
					"=" + encodeURIComponent(b)
			};
		b === n && (b = c.ajaxSettings && c.ajaxSettings.traditional);
		if(c.isArray(a) || a.jquery && !c.isPlainObject(a)) c.each(a, function() {
			f(this.name, this.value)
		});
		else
			for(d in a) Aa(d, a[d], b, f);
		return e.join("&").replace(Ec, "+")
	};
	c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) {
		c.fn[b] = function(a, c) {
			return 0 <
				arguments.length ? this.on(b, null, a, c) : this.trigger(b)
		}
	});
	c.fn.hover = function(a, b) {
		return this.mouseenter(a).mouseleave(b || a)
	};
	var aa, W, Oa = c.now(),
		Pa = /\?/,
		Hc = /#.*$/,
		Kb = /([?&])_=[^&]*/,
		Ic = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
		Jc = /^(?:GET|HEAD)$/,
		Kc = /^\/\//,
		Lb = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,
		Mb = c.fn.load,
		Nb = {},
		Ba = {},
		Ob = "*/".concat("*");
	try {
		W = $b.href
	} catch(Pc) {
		W = p.createElement("a"), W.href = "", W = W.href
	}
	aa = Lb.exec(W.toLowerCase()) || [];
	c.fn.load = function(a, b, d) {
		if("string" !== typeof a && Mb) return Mb.apply(this,
			arguments);
		var e, f, g, h = this,
			k = a.indexOf(" ");
		0 <= k && (e = a.slice(k, a.length), a = a.slice(0, k));
		c.isFunction(b) ? (d = b, b = n) : b && "object" === typeof b && (g = "POST");
		0 < h.length && c.ajax({
			url: a,
			type: g,
			dataType: "html",
			data: b
		}).done(function(a) {
			f = arguments;
			h.html(e ? c("<div>").append(c.parseHTML(a)).find(e) : a)
		}).complete(d && function(a, b) {
			h.each(d, f || [a.responseText, b, a])
		});
		return this
	};
	c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) {
		c.fn[b] = function(a) {
			return this.on(b,
				a)
		}
	});
	c.each(["get", "post"], function(a, b) {
		c[b] = function(a, e, f, g) {
			c.isFunction(e) && (g = g || f, f = e, e = n);
			return c.ajax({
				url: a,
				type: b,
				dataType: g,
				data: e,
				success: f
			})
		}
	});
	c.extend({
		active: 0,
		lastModified: {},
		etag: {},
		ajaxSettings: {
			url: W,
			type: "GET",
			isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(aa[1]),
			global: !0,
			processData: !0,
			async: !0,
			contentType: "application/x-www-form-urlencoded; charset=UTF-8",
			accepts: {
				"*": Ob,
				text: "text/plain",
				html: "text/html",
				xml: "application/xml, text/xml",
				json: "application/json, text/javascript"
			},
			contents: {
				xml: /xml/,
				html: /html/,
				json: /json/
			},
			responseFields: {
				xml: "responseXML",
				text: "responseText"
			},
			converters: {
				"* text": r.String,
				"text html": !0,
				"text json": c.parseJSON,
				"text xml": c.parseXML
			},
			flatOptions: {
				url: !0,
				context: !0
			}
		},
		ajaxSetup: function(a, b) {
			return b ? Ca(Ca(a, c.ajaxSettings), b) : Ca(c.ajaxSettings, a)
		},
		ajaxPrefilter: lb(Nb),
		ajaxTransport: lb(Ba),
		ajax: function(a, b) {
			function d(a, b, d, e) {
				var f, p, s, t, x = b;
				if(2 !== M) {
					M = 2;
					k && clearTimeout(k);
					q = n;
					h = e || "";
					v.readyState = 0 < a ? 4 : 0;
					if(d) {
						t = m;
						e = v;
						var B, y, H, I, G = t.contents,
							w = t.dataTypes,
							J = t.responseFields;
						for(I in J) I in d && (e[J[I]] = d[I]);
						for(;
							"*" === w[0];) w.shift(), y === n && (y = t.mimeType || e.getResponseHeader("Content-Type"));
						if(y)
							for(I in G)
								if(G[I] && G[I].test(y)) {
									w.unshift(I);
									break
								}
						if(w[0] in d) H = w[0];
						else {
							for(I in d) {
								if(!w[0] || t.converters[I + " " + w[0]]) {
									H = I;
									break
								}
								B || (B = I)
							}
							H = H || B
						}
						H ? (H !== w[0] && w.unshift(H), t = d[H]) : t = void 0
					}
					if(200 <= a && 300 > a || 304 === a)
						if(m.ifModified && ((d = v.getResponseHeader("Last-Modified")) && (c.lastModified[g] = d), (d = v.getResponseHeader("etag")) && (c.etag[g] =
								d)), 204 === a) f = !0, x = "nocontent";
						else if(304 === a) f = !0, x = "notmodified";
					else {
						a: {
							p = m;s = t;
							var C, D, x = {};B = 0;y = p.dataTypes.slice();H = y[0];p.dataFilter && (s = p.dataFilter(s, p.dataType));
							if(y[1])
								for(D in p.converters) x[D.toLowerCase()] = p.converters[D];
							for(; d = y[++B];)
								if("*" !== d) {
									if("*" !== H && H !== d) {
										D = x[H + " " + d] || x["* " + d];
										if(!D)
											for(C in x)
												if(f = C.split(" "), f[1] === d && (D = x[H + " " + f[0]] || x["* " + f[0]])) {
													!0 === D ? D = x[C] : !0 !== x[C] && (d = f[0], y.splice(B--, 0, d));
													break
												}
										if(!0 !== D)
											if(D && p["throws"]) s = D(s);
											else try {
												s = D(s)
											} catch(L) {
												f = {
													state: "parsererror",
													error: D ? L : "No conversion from " + H + " to " + d
												};
												break a
											}
									}
									H = d
								}
							f = {
								state: "success",
								data: s
							}
						}
						x = f.state;p = f.data;s = f.error;f = !s
					}
					else if(s = x, a || !x) x = "error", 0 > a && (a = 0);
					v.status = a;
					v.statusText = (b || x) + "";
					f ? z.resolveWith(r, [p, x, v]) : z.rejectWith(r, [v, x, s]);
					v.statusCode(F);
					F = n;
					l && E.trigger(f ? "ajaxSuccess" : "ajaxError", [v, m, f ? p : s]);
					A.fireWith(r, [v, x]);
					l && (E.trigger("ajaxComplete", [v, m]), --c.active || c.event.trigger("ajaxStop"))
				}
			}
			"object" === typeof a && (b = a, a = n);
			b = b || {};
			var e, f, g, h, k, l, q, p, m = c.ajaxSetup({},
					b),
				r = m.context || m,
				E = m.context && (r.nodeType || r.jquery) ? c(r) : c.event,
				z = c.Deferred(),
				A = c.Callbacks("once memory"),
				F = m.statusCode || {},
				B = {},
				y = {},
				M = 0,
				G = "canceled",
				v = {
					readyState: 0,
					getResponseHeader: function(a) {
						var b;
						if(2 === M) {
							if(!p)
								for(p = {}; b = Ic.exec(h);) p[b[1].toLowerCase()] = b[2];
							b = p[a.toLowerCase()]
						}
						return null == b ? null : b
					},
					getAllResponseHeaders: function() {
						return 2 === M ? h : null
					},
					setRequestHeader: function(a, b) {
						var c = a.toLowerCase();
						M || (a = y[c] = y[c] || a, B[a] = b);
						return this
					},
					overrideMimeType: function(a) {
						M || (m.mimeType =
							a);
						return this
					},
					statusCode: function(a) {
						var b;
						if(a)
							if(2 > M)
								for(b in a) F[b] = [F[b], a[b]];
							else v.always(a[v.status]);
						return this
					},
					abort: function(a) {
						a = a || G;
						q && q.abort(a);
						d(0, a);
						return this
					}
				};
			z.promise(v).complete = A.add;
			v.success = v.done;
			v.error = v.fail;
			m.url = ((a || m.url || W) + "").replace(Hc, "").replace(Kc, aa[1] + "//");
			m.type = b.method || b.type || m.method || m.type;
			m.dataTypes = c.trim(m.dataType || "*").toLowerCase().match(O) || [""];
			null == m.crossDomain && (e = Lb.exec(m.url.toLowerCase()), m.crossDomain = !(!e || e[1] === aa[1] &&
				e[2] === aa[2] && (e[3] || ("http:" === e[1] ? 80 : 443)) == (aa[3] || ("http:" === aa[1] ? 80 : 443))));
			m.data && m.processData && "string" !== typeof m.data && (m.data = c.param(m.data, m.traditional));
			mb(Nb, m, b, v);
			if(2 === M) return v;
			(l = m.global) && 0 === c.active++ && c.event.trigger("ajaxStart");
			m.type = m.type.toUpperCase();
			m.hasContent = !Jc.test(m.type);
			g = m.url;
			m.hasContent || (m.data && (g = m.url += (Pa.test(g) ? "&" : "?") + m.data, delete m.data), !1 === m.cache && (m.url = Kb.test(g) ? g.replace(Kb, "$1_=" + Oa++) : g + (Pa.test(g) ? "&" : "?") + "_=" + Oa++));
			m.ifModified &&
				(c.lastModified[g] && v.setRequestHeader("If-Modified-Since", c.lastModified[g]), c.etag[g] && v.setRequestHeader("If-None-Match", c.etag[g]));
			(m.data && m.hasContent && !1 !== m.contentType || b.contentType) && v.setRequestHeader("Content-Type", m.contentType);
			v.setRequestHeader("Accept", m.dataTypes[0] && m.accepts[m.dataTypes[0]] ? m.accepts[m.dataTypes[0]] + ("*" !== m.dataTypes[0] ? ", " + Ob + "; q=0.01" : "") : m.accepts["*"]);
			for(f in m.headers) v.setRequestHeader(f, m.headers[f]);
			if(m.beforeSend && (!1 === m.beforeSend.call(r, v, m) ||
					2 === M)) return v.abort();
			G = "abort";
			for(f in {
					success: 1,
					error: 1,
					complete: 1
				}) v[f](m[f]);
			if(q = mb(Ba, m, b, v)) {
				v.readyState = 1;
				l && E.trigger("ajaxSend", [v, m]);
				m.async && 0 < m.timeout && (k = setTimeout(function() {
					v.abort("timeout")
				}, m.timeout));
				try {
					M = 1, q.send(B, d)
				} catch(t) {
					if(2 > M) d(-1, t);
					else throw t;
				}
			} else d(-1, "No Transport");
			return v
		},
		getScript: function(a, b) {
			return c.get(a, n, b, "script")
		},
		getJSON: function(a, b, d) {
			return c.get(a, b, d, "json")
		}
	});
	c.ajaxSetup({
		accepts: {
			script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
		},
		contents: {
			script: /(?:java|ecma)script/
		},
		converters: {
			"text script": function(a) {
				c.globalEval(a);
				return a
			}
		}
	});
	c.ajaxPrefilter("script", function(a) {
		a.cache === n && (a.cache = !1);
		a.crossDomain && (a.type = "GET", a.global = !1)
	});
	c.ajaxTransport("script", function(a) {
		if(a.crossDomain) {
			var b, d = p.head || c("head")[0] || p.documentElement;
			return {
				send: function(c, f) {
					b = p.createElement("script");
					b.async = !0;
					a.scriptCharset && (b.charset = a.scriptCharset);
					b.src = a.url;
					b.onload = b.onreadystatechange = function(a, c) {
						if(c || !b.readyState ||
							/loaded|complete/.test(b.readyState)) b.onload = b.onreadystatechange = null, b.parentNode && b.parentNode.removeChild(b), b = null, c || f(200, "success")
					};
					d.insertBefore(b, d.firstChild)
				},
				abort: function() {
					if(b) b.onload(n, !0)
				}
			}
		}
	});
	var Pb = [],
		Qa = /(=)\?(?=&|$)|\?\?/;
	c.ajaxSetup({
		jsonp: "callback",
		jsonpCallback: function() {
			var a = Pb.pop() || c.expando + "_" + Oa++;
			this[a] = !0;
			return a
		}
	});
	c.ajaxPrefilter("json jsonp", function(a, b, d) {
		var e, f, g, h = !1 !== a.jsonp && (Qa.test(a.url) ? "url" : "string" === typeof a.data && !(a.contentType || "").indexOf("application/x-www-form-urlencoded") &&
			Qa.test(a.data) && "data");
		if(h || "jsonp" === a.dataTypes[0]) return e = a.jsonpCallback = c.isFunction(a.jsonpCallback) ? a.jsonpCallback() : a.jsonpCallback, h ? a[h] = a[h].replace(Qa, "$1" + e) : !1 !== a.jsonp && (a.url += (Pa.test(a.url) ? "&" : "?") + a.jsonp + "=" + e), a.converters["script json"] = function() {
			g || c.error(e + " was not called");
			return g[0]
		}, a.dataTypes[0] = "json", f = r[e], r[e] = function() {
			g = arguments
		}, d.always(function() {
			r[e] = f;
			a[e] && (a.jsonpCallback = b.jsonpCallback, Pb.push(e));
			g && c.isFunction(f) && f(g[0]);
			g = f = n
		}), "script"
	});
	var X, ia, Lc = 0,
		Ra = r.ActiveXObject && function() {
			for(var a in X) X[a](n, !0)
		};
	c.ajaxSettings.xhr = r.ActiveXObject ? function() {
		var a;
		if(!(a = !this.isLocal && nb())) a: {
			try {
				a = new r.ActiveXObject("Microsoft.XMLHTTP");
				break a
			} catch(b) {}
			a = void 0
		}
		return a
	} : nb;
	ia = c.ajaxSettings.xhr();
	c.support.cors = !!ia && "withCredentials" in ia;
	(ia = c.support.ajax = !!ia) && c.ajaxTransport(function(a) {
		if(!a.crossDomain || c.support.cors) {
			var b;
			return {
				send: function(d, e) {
					var f, g, h = a.xhr();
					a.username ? h.open(a.type, a.url, a.async, a.username, a.password) :
						h.open(a.type, a.url, a.async);
					if(a.xhrFields)
						for(g in a.xhrFields) h[g] = a.xhrFields[g];
					a.mimeType && h.overrideMimeType && h.overrideMimeType(a.mimeType);
					a.crossDomain || d["X-Requested-With"] || (d["X-Requested-With"] = "XMLHttpRequest");
					try {
						for(g in d) h.setRequestHeader(g, d[g])
					} catch(k) {}
					h.send(a.hasContent && a.data || null);
					b = function(d, g) {
						var k, m, p, r;
						try {
							if(b && (g || 4 === h.readyState))
								if(b = n, f && (h.onreadystatechange = c.noop, Ra && delete X[f]), g) 4 !== h.readyState && h.abort();
								else {
									r = {};
									k = h.status;
									m = h.getAllResponseHeaders();
									"string" === typeof h.responseText && (r.text = h.responseText);
									try {
										p = h.statusText
									} catch(z) {
										p = ""
									}
									k || !a.isLocal || a.crossDomain ? 1223 === k && (k = 204) : k = r.text ? 200 : 404
								}
						} catch(y) {
							g || e(-1, y)
						}
						r && e(k, p, r, m)
					};
					a.async ? 4 === h.readyState ? setTimeout(b) : (f = ++Lc, Ra && (X || (X = {}, c(r).unload(Ra)), X[f] = b), h.onreadystatechange = b) : b()
				},
				abort: function() {
					b && b(n, !0)
				}
			}
		}
	});
	var T, ta, Mc = /^(?:toggle|show|hide)$/,
		Nc = RegExp("^(?:([+-])=|)(" + na + ")([a-z%]*)$", "i"),
		Oc = /queueHooks$/,
		ja = [function(a, b, d) {
			var e, f, g, h, k, l, q = this,
				n = a.style,
				m = {},
				p = [],
				r = a.nodeType && P(a);
			d.queue || (k = c._queueHooks(a, "fx"), null == k.unqueued && (k.unqueued = 0, l = k.empty.fire, k.empty.fire = function() {
				k.unqueued || l()
			}), k.unqueued++, q.always(function() {
				q.always(function() {
					k.unqueued--;
					c.queue(a, "fx").length || k.empty.fire()
				})
			}));
			1 === a.nodeType && ("height" in b || "width" in b) && (d.overflow = [n.overflow, n.overflowX, n.overflowY], "inline" === c.css(a, "display") && "none" === c.css(a, "float") && (c.support.inlineBlockNeedsLayout && "inline" !== fb(a.nodeName) ? n.zoom = 1 : n.display = "inline-block"));
			d.overflow && (n.overflow = "hidden", c.support.shrinkWrapBlocks || q.always(function() {
				n.overflow = d.overflow[0];
				n.overflowX = d.overflow[1];
				n.overflowY = d.overflow[2]
			}));
			for(f in b) g = b[f], Mc.exec(g) && (delete b[f], e = e || "toggle" === g, g !== (r ? "hide" : "show") && p.push(f));
			if(b = p.length)
				for(g = c._data(a, "fxshow") || c._data(a, "fxshow", {}), ("hidden" in g) && (r = g.hidden), e && (g.hidden = !r), r ? c(a).show() : q.done(function() {
						c(a).hide()
					}), q.done(function() {
						var b;
						c._removeData(a, "fxshow");
						for(b in m) c.style(a, b, m[b])
					}), f = 0; f < b; f++) e =
					p[f], h = q.createTween(e, r ? g[e] : 0), m[e] = g[e] || c.style(a, e), e in g || (g[e] = h.start, r && (h.end = h.start, h.start = "width" === e || "height" === e ? 1 : 0))
		}],
		fa = {
			"*": [function(a, b) {
				var d, e, f = this.createTween(a, b),
					g = Nc.exec(b),
					h = f.cur(),
					k = +h || 0,
					l = 1,
					n = 20;
				if(g) {
					d = +g[2];
					e = g[3] || (c.cssNumber[a] ? "" : "px");
					if("px" !== e && k) {
						k = c.css(f.elem, a, !0) || d || 1;
						do l = l || ".5", k /= l, c.style(f.elem, a, k + e); while (l !== (l = f.cur() / h) && 1 !== l && --n)
					}
					f.unit = e;
					f.start = k;
					f.end = g[1] ? k + (g[1] + 1) * d : d
				}
				return f
			}]
		};
	c.Animation = c.extend(pb, {
		tweener: function(a,
			b) {
			c.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" ");
			for(var d, e = 0, f = a.length; e < f; e++) d = a[e], fa[d] = fa[d] || [], fa[d].unshift(b)
		},
		prefilter: function(a, b) {
			b ? ja.unshift(a) : ja.push(a)
		}
	});
	c.Tween = z;
	z.prototype = {
		constructor: z,
		init: function(a, b, d, e, f, g) {
			this.elem = a;
			this.prop = d;
			this.easing = f || "swing";
			this.options = b;
			this.start = this.now = this.cur();
			this.end = e;
			this.unit = g || (c.cssNumber[d] ? "" : "px")
		},
		cur: function() {
			var a = z.propHooks[this.prop];
			return a && a.get ? a.get(this) : z.propHooks._default.get(this)
		},
		run: function(a) {
			var b,
				d = z.propHooks[this.prop];
			this.pos = this.options.duration ? b = c.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : b = a;
			this.now = (this.end - this.start) * b + this.start;
			this.options.step && this.options.step.call(this.elem, this.now, this);
			d && d.set ? d.set(this) : z.propHooks._default.set(this);
			return this
		}
	};
	z.prototype.init.prototype = z.prototype;
	z.propHooks = {
		_default: {
			get: function(a) {
				return null == a.elem[a.prop] || a.elem.style && null != a.elem.style[a.prop] ? (a = c.css(a.elem, a.prop, "")) && "auto" !== a ?
					a : 0 : a.elem[a.prop]
			},
			set: function(a) {
				if(c.fx.step[a.prop]) c.fx.step[a.prop](a);
				else a.elem.style && (null != a.elem.style[c.cssProps[a.prop]] || c.cssHooks[a.prop]) ? c.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
			}
		}
	};
	z.propHooks.scrollTop = z.propHooks.scrollLeft = {
		set: function(a) {
			a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
		}
	};
	c.each(["toggle", "show", "hide"], function(a, b) {
		var d = c.fn[b];
		c.fn[b] = function(a, c, g) {
			return null == a || "boolean" === typeof a ? d.apply(this, arguments) : this.animate(ka(b, !0), a, c, g)
		}
	});
	c.fn.extend({
		fadeTo: function(a, b, c, e) {
			return this.filter(P).css("opacity", 0).show().end().animate({
				opacity: b
			}, a, c, e)
		},
		animate: function(a, b, d, e) {
			var f = c.isEmptyObject(a),
				g = c.speed(b, d, e),
				h = function() {
					var b = pb(this, c.extend({}, a), g);
					h.finish = function() {
						b.stop(!0)
					};
					(f || c._data(this, "finish")) && b.stop(!0)
				};
			h.finish = h;
			return f || !1 === g.queue ? this.each(h) : this.queue(g.queue, h)
		},
		stop: function(a, b, d) {
			var e = function(a) {
				var b = a.stop;
				delete a.stop;
				b(d)
			};
			"string" !== typeof a && (d = b, b = a, a = n);
			b && !1 !==
				a && this.queue(a || "fx", []);
			return this.each(function() {
				var b = !0,
					g = null != a && a + "queueHooks",
					h = c.timers,
					k = c._data(this);
				if(g) k[g] && k[g].stop && e(k[g]);
				else
					for(g in k) k[g] && k[g].stop && Oc.test(g) && e(k[g]);
				for(g = h.length; g--;) h[g].elem !== this || null != a && h[g].queue !== a || (h[g].anim.stop(d), b = !1, h.splice(g, 1));
				!b && d || c.dequeue(this, a)
			})
		},
		finish: function(a) {
			!1 !== a && (a = a || "fx");
			return this.each(function() {
				var b, d = c._data(this),
					e = d[a + "queue"];
				b = d[a + "queueHooks"];
				var f = c.timers,
					g = e ? e.length : 0;
				d.finish = !0;
				c.queue(this,
					a, []);
				b && b.cur && b.cur.finish && b.cur.finish.call(this);
				for(b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1));
				for(b = 0; b < g; b++) e[b] && e[b].finish && e[b].finish.call(this);
				delete d.finish
			})
		}
	});
	c.each({
		slideDown: ka("show"),
		slideUp: ka("hide"),
		slideToggle: ka("toggle"),
		fadeIn: {
			opacity: "show"
		},
		fadeOut: {
			opacity: "hide"
		},
		fadeToggle: {
			opacity: "toggle"
		}
	}, function(a, b) {
		c.fn[a] = function(a, c, f) {
			return this.animate(b, a, c, f)
		}
	});
	c.speed = function(a, b, d) {
		var e = a && "object" === typeof a ? c.extend({},
			a) : {
			complete: d || !d && b || c.isFunction(a) && a,
			duration: a,
			easing: d && b || b && !c.isFunction(b) && b
		};
		e.duration = c.fx.off ? 0 : "number" === typeof e.duration ? e.duration : e.duration in c.fx.speeds ? c.fx.speeds[e.duration] : c.fx.speeds._default;
		if(null == e.queue || !0 === e.queue) e.queue = "fx";
		e.old = e.complete;
		e.complete = function() {
			c.isFunction(e.old) && e.old.call(this);
			e.queue && c.dequeue(this, e.queue)
		};
		return e
	};
	c.easing = {
		linear: function(a) {
			return a
		},
		swing: function(a) {
			return 0.5 - Math.cos(a * Math.PI) / 2
		}
	};
	c.timers = [];
	c.fx = z.prototype.init;
	c.fx.tick = function() {
		var a, b = c.timers,
			d = 0;
		for(T = c.now(); d < b.length; d++) a = b[d], a() || b[d] !== a || b.splice(d--, 1);
		b.length || c.fx.stop();
		T = n
	};
	c.fx.timer = function(a) {
		a() && c.timers.push(a) && c.fx.start()
	};
	c.fx.interval = 13;
	c.fx.start = function() {
		ta || (ta = setInterval(c.fx.tick, c.fx.interval))
	};
	c.fx.stop = function() {
		clearInterval(ta);
		ta = null
	};
	c.fx.speeds = {
		slow: 600,
		fast: 200,
		_default: 400
	};
	c.fx.step = {};
	c.expr && c.expr.filters && (c.expr.filters.animated = function(a) {
		return c.grep(c.timers, function(b) {
			return a === b.elem
		}).length
	});
	c.fn.offset = function(a) {
		if(arguments.length) return a === n ? this : this.each(function(b) {
			c.offset.setOffset(this, a, b)
		});
		var b, d, e = {
				top: 0,
				left: 0
			},
			f = (d = this[0]) && d.ownerDocument;
		if(f) {
			b = f.documentElement;
			if(!c.contains(b, d)) return e;
			typeof d.getBoundingClientRect !== y && (e = d.getBoundingClientRect());
			d = qb(f);
			return {
				top: e.top + (d.pageYOffset || b.scrollTop) - (b.clientTop || 0),
				left: e.left + (d.pageXOffset || b.scrollLeft) - (b.clientLeft || 0)
			}
		}
	};
	c.offset = {
		setOffset: function(a, b, d) {
			var e = c.css(a, "position");
			"static" === e &&
				(a.style.position = "relative");
			var f = c(a),
				g = f.offset(),
				h = c.css(a, "top"),
				k = c.css(a, "left"),
				l = {},
				n = {};
			("absolute" === e || "fixed" === e) && -1 < c.inArray("auto", [h, k]) ? (n = f.position(), e = n.top, k = n.left) : (e = parseFloat(h) || 0, k = parseFloat(k) || 0);
			c.isFunction(b) && (b = b.call(a, d, g));
			null != b.top && (l.top = b.top - g.top + e);
			null != b.left && (l.left = b.left - g.left + k);
			"using" in b ? b.using.call(a, l) : f.css(l)
		}
	};
	c.fn.extend({
		position: function() {
			if(this[0]) {
				var a, b, d = {
						top: 0,
						left: 0
					},
					e = this[0];
				"fixed" === c.css(e, "position") ? b = e.getBoundingClientRect() :
					(a = this.offsetParent(), b = this.offset(), c.nodeName(a[0], "html") || (d = a.offset()), d.top += c.css(a[0], "borderTopWidth", !0), d.left += c.css(a[0], "borderLeftWidth", !0));
				return {
					top: b.top - d.top - c.css(e, "marginTop", !0),
					left: b.left - d.left - c.css(e, "marginLeft", !0)
				}
			}
		},
		offsetParent: function() {
			return this.map(function() {
				for(var a = this.offsetParent || p.documentElement; a && !c.nodeName(a, "html") && "static" === c.css(a, "position");) a = a.offsetParent;
				return a || p.documentElement
			})
		}
	});
	c.each({
			scrollLeft: "pageXOffset",
			scrollTop: "pageYOffset"
		},
		function(a, b) {
			var d = /Y/.test(b);
			c.fn[a] = function(e) {
				return c.access(this, function(a, e, h) {
					var k = qb(a);
					if(h === n) return k ? b in k ? k[b] : k.document.documentElement[e] : a[e];
					k ? k.scrollTo(d ? c(k).scrollLeft() : h, d ? h : c(k).scrollTop()) : a[e] = h
				}, a, e, arguments.length, null)
			}
		});
	c.each({
		Height: "height",
		Width: "width"
	}, function(a, b) {
		c.each({
			padding: "inner" + a,
			content: b,
			"": "outer" + a
		}, function(d, e) {
			c.fn[e] = function(e, g) {
				var h = arguments.length && (d || "boolean" !== typeof e),
					k = d || (!0 === e || !0 === g ? "margin" : "border");
				return c.access(this,
					function(b, d, e) {
						return c.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (d = b.documentElement, Math.max(b.body["scroll" + a], d["scroll" + a], b.body["offset" + a], d["offset" + a], d["client" + a])) : e === n ? c.css(b, d, k) : c.style(b, d, e, k)
					}, b, h ? e : n, h, null)
			}
		})
	});
	r.jQuery = r.$ = c;
	"function" === typeof define && define.amd && define.amd.jQuery && define("jquery", [], function() {
		return c
	})
})(window);