product.discount.js 132 KB
!function(e) { function t(i) { if (n[i]) return n[i].exports; var r = n[i] = {exports: {}, id: i, loaded: !1}; return e[i].call(r.exports, r, r.exports, t), r.loaded = !0, r.exports;} var n = {}; return t.m = e, t.c = n, t.p='', t(0) }([function(e, t, n) { var i = n(2), r = n(4); n(8), r(i('img.lazy')) },, function(e, t, n) { var i, r;/* !
	 * jQuery JavaScript Library v2.2.4
	 * http://jquery.com/
	 *
	 * Includes Sizzle.js
	 * http://sizzlejs.com/
	 *
	 * Copyright jQuery Foundation and other contributors
	 * Released under the MIT license
	 * http://jquery.org/license
	 *
	 * Date: 2016-05-20T17:23Z
	 */
    !function(t, n) { "object" == typeof e && "object" == typeof e.exports ? e.exports = t.document ? n(t, !0):function(e) { if (!e.document) throw new Error('jQuery requires a window with a document'); return n(e) }:n(t) }("undefined" != typeof window ? window:this, function(n, o) { function s(e) { var t = !!e&&'length'in e && e.length, n = ce.type(e); return "function" === n || ce.isWindow(e) ? !1:"array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e;} function a(e, t, n) { if (ce.isFunction(t)) return ce.grep(e, function(e, i) { return !!t.call(e, i, e) !== n }); if (t.nodeType) return ce.grep(e, function(e) { return e === t !== n }); if ("string" == typeof t) { if (xe.test(t)) return ce.filter(t, e, n); t = ce.filter(t, e);} return ce.grep(e, function(e) { return ie.call(t, e) > -1 !== n;}) } function u(e, t) { for (;(e = e[t]) && 1 !== e.nodeType;);return e } function c(e) { var t = {}; return ce.each(e.match(Ee) || [], function(e, n) { t[n] = !0;}), t } function l() { K.removeEventListener('DOMContentLoaded', l), n.removeEventListener('load', l), ce.ready();} function f() { this.expando = ce.expando + f.uid++ } function p(e, t, n) { var i; if (void 0 === n && 1 === e.nodeType) if (i = "data-" + t.replace(Le,'-$&').toLowerCase(), n = e.getAttribute(i), "string" == typeof n) { try { n = "true" === n ? !0:"false" === n ? !1:"null" === n ? null:+n + "" === n ? +n:qe.test(n) ? ce.parseJSON(n):n } catch (r) {}je.set(e, t, n);} else n = void 0; return n } function h(e, t, n, i) { var r, o = 1, s = 20, a = i ? function() { return i.cur();}:function() { return ce.css(e, t,'');}, u = a(), c = n && n[3] || (ce.cssNumber[t]?'':'px'), l = (ce.cssNumber[t] || "px" !== c && +u) && He.exec(ce.css(e, t)); if (l && l[3] !== c) { c = c || l[3], n = n || [], l = +u || 1; do o = o||'.5', l /= o, ce.style(e, t, l + c); while (o !== (o = a() / u) && 1 !== o && --s);} return n && (l = +l || +u || 0, r = n[1] ? l + (n[1] + 1) * n[2]:+n[2], i && (i.unit = c, i.start = l, i.end = r)), r } function d(e, t) { var n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t||'*'):"undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t||'*'):[]; return void 0 === t || t && ce.nodeName(e, t) ? ce.merge([e], n):n } function g(e, t) { for (var n = 0, i = e.length; i > n; n++)De.set(e[n],'globalEval', !t || De.get(t[n],'globalEval')) } function v(e, t, n, i, r) { for (var o, s, a, u, c, l, f = t.createDocumentFragment(), p = [], h = 0, v = e.length; v > h; h++) if (o = e[h], o || 0 === o) if ("object" === ce.type(o))ce.merge(p, o.nodeType ? [o]:o); else if (We.test(o)) { for (s = s || f.appendChild(t.createElement('div')), a = (Fe.exec(o) || ['',''])[1].toLowerCase(), u = Me[a] || Me._default, s.innerHTML = u[1] + ce.htmlPrefilter(o) + u[2], l = u[0]; l--;)s = s.lastChild; ce.merge(p, s.childNodes), s = f.firstChild, s.textContent = "" } else p.push(t.createTextNode(o)); for (f.textContent='', h = 0; o = p[h++];) if (i && ce.inArray(o, i) > -1)r && r.push(o); else if (c = ce.contains(o.ownerDocument, o), s = d(f.appendChild(o),'script'), c && g(s), n) for (l = 0; o = s[l++];)_e.test(o.type||'') && n.push(o); return f } function m() { return !0 } function y() { return !1;} function x() { try { return K.activeElement } catch (e) {} } function b(e, t, n, i, r, o) { var s, a; if ("object" == typeof t) { "string" != typeof n && (i = i || n, n = void 0); for (a in t)b(e, a, n, i, t[a], o); return e;} if (null == i && null == r ? (r = n, i = n = void 0):null == r && ("string" == typeof n ? (r = i, i = void 0):(r = i, i = n, n = void 0)), r === !1)r = y; else if (!r) return e; return 1 === o && (s = r, r = function(e) { return ce().off(e), s.apply(this, arguments) }, r.guid = s.guid || (s.guid = ce.guid++)), e.each(function() { ce.event.add(this, t, r, i, n) });} function w(e, t) { return ce.nodeName(e,'table') && ce.nodeName(11 !== t.nodeType ? t:t.firstChild,'tr') ? e.getElementsByTagName('tbody')[0] || e.appendChild(e.ownerDocument.createElement('tbody')):e } function T(e) { return e.type = (null !== e.getAttribute('type')) + "/" + e.type, e } function A(e) { var t = Ve.exec(e.type); return t ? e.type = t[1]:e.removeAttribute('type'), e } function C(e, t) { var n, i, r, o, s, a, u, c; if (1 === t.nodeType) { if (De.hasData(e) && (o = De.access(e), s = De.set(t, o), c = o.events)) { delete s.handle, s.events = {}; for (r in c) for (n = 0, i = c[r].length; i > n; n++)ce.event.add(t, r, c[r][n]) }je.hasData(e) && (a = je.access(e), u = ce.extend({}, a), je.set(t, u)) } } function E(e, t) { var n = t.nodeName.toLowerCase(); "input" === n && Re.test(e.type) ? t.checked = e.checked:"input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue);} function S(e, t, n, i) { t = te.apply([], t); var r, o, s, a, u, c, l = 0, f = e.length, p = f - 1, h = t[0], g = ce.isFunction(h); if (g || f > 1 && "string" == typeof h && !ae.checkClone && Ye.test(h)) return e.each(function(r) { var o = e.eq(r); g && (t[0] = h.call(this, r, o.html())), S(o, t, n, i);}); if (f && (r = v(t, e[0].ownerDocument, !1, e, i), o = r.firstChild, 1 === r.childNodes.length && (r = o), o || i)) { for (s = ce.map(d(r,'script'), T), a = s.length; f > l; l++)u = r, l !== p && (u = ce.clone(u, !0, !0), a && ce.merge(s, d(u,'script'))), n.call(e[l], u, l); if (a) for (c = s[s.length - 1].ownerDocument, ce.map(s, A), l = 0; a > l; l++)u = s[l], _e.test(u.type||'') && !De.access(u,'globalEval') && ce.contains(c, u) && (u.src ? ce._evalUrl && ce._evalUrl(u.src):ce.globalEval(u.textContent.replace(Qe,'')));} return e;} function k(e, t, n) { for (var i, r = t ? ce.filter(t, e):e, o = 0; null != (i = r[o]); o++)n || 1 !== i.nodeType || ce.cleanData(d(i)), i.parentNode && (n && ce.contains(i.ownerDocument, i) && g(d(i,'script')), i.parentNode.removeChild(i)); return e;} function N(e, t) { var n = ce(t.createElement(e)).appendTo(t.body), i = ce.css(n[0],'display'); return n.detach(), i } function D(e) { var t = K, n = Je[e]; return n || (n = N(e, t), "none" !== n && n || (Ge = (Ge || ce('<iframe frameborder=\'0\' width=\'0\' height=\'0\'/>')).appendTo(t.documentElement), t = Ge[0].contentDocument, t.write(), t.close(), n = N(e, t), Ge.detach()), Je[e] = n), n;} function j(e, t, n) { var i, r, o, s, a = e.style; return n = n || et(e), s = n ? n.getPropertyValue(t) || n[t]:void 0, "" !== s && void 0 !== s || ce.contains(e.ownerDocument, e) || (s = ce.style(e, t)), n && !ae.pixelMarginRight() && Ke.test(s) && Ze.test(t) && (i = a.width, r = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, s = n.width, a.width = i, a.minWidth = r, a.maxWidth = o), void 0 !== s ? s+'':s;} function q(e, t) { return {get: function() { return e() ? void delete this.get:(this.get = t).apply(this, arguments) }} } function L(e) { if (e in at) return e; for (var t = e[0].toUpperCase() + e.slice(1), n = st.length; n--;) if (e = st[n] + t, e in at) return e;} function O(e, t, n) { var i = He.exec(t); return i ? Math.max(0, i[2] - (n || 0)) + (i[3]||'px'):t;} function H(e, t, n, i, r) { for (var o = n === (i?'border':'content') ? 4:"width" === t ? 1:0, s = 0; 4 > o; o += 2)"margin" === n && (s += ce.css(e, n + Pe[o], !0, r)), i ? ("content" === n && (s -= ce.css(e, "padding" + Pe[o], !0, r)), "margin" !== n && (s -= ce.css(e, "border" + Pe[o]+'Width', !0, r))):(s += ce.css(e, "padding" + Pe[o], !0, r), "padding" !== n && (s += ce.css(e, "border" + Pe[o]+'Width', !0, r))); return s } function P(e, t, n) { var i = !0, r = "width" === t ? e.offsetWidth:e.offsetHeight, o = et(e), s = "border-box" === ce.css(e,'boxSizing', !1, o); if (0 >= r || null == r) { if (r = j(e, t, o), (0 > r || null == r) && (r = e.style[t]), Ke.test(r)) return r; i = s && (ae.boxSizingReliable() || r === e.style[t]), r = parseFloat(r) || 0;} return r + H(e, t, n || (s?'border':'content'), i, o) + "px";} function I(e, t) { for (var n, i, r, o = [], s = 0, a = e.length; a > s; s++)i = e[s], i.style && (o[s] = De.get(i,'olddisplay'), n = i.style.display, t ? (o[s] || "none" !== n || (i.style.display=''), "" === i.style.display && Ie(i) && (o[s] = De.access(i,'olddisplay', D(i.nodeName)))):(r = Ie(i), "none" === n && r || De.set(i,'olddisplay', r ? n:ce.css(i,'display')))); for (s = 0; a > s; s++)i = e[s], i.style && (t && "none" !== i.style.display && "" !== i.style.display || (i.style.display = t ? o[s]||'':'none')); return e;} function R(e, t, n, i, r) { return new R.prototype.init(e, t, n, i, r) } function F() { return n.setTimeout(function() { ut = void 0 }), ut = ce.now();} function _(e, t) { var n, i = 0, r = {height: e}; for (t = t ? 1:0; 4 > i; i += 2 - t)n = Pe[i], r["margin" + n] = r["padding" + n] = e; return t && (r.opacity = r.width = e), r;} function M(e, t, n) { for (var i, r = (z.tweeners[t] || []).concat(z.tweeners['*']), o = 0, s = r.length; s > o; o++) if (i = r[o].call(n, t, e)) return i } function W(e, t, n) { var i, r, o, s, a, u, c, l, f = this, p = {}, h = e.style, d = e.nodeType && Ie(e), g = De.get(e,'fxshow'); n.queue || (a = ce._queueHooks(e,'fx'), null == a.unqueued && (a.unqueued = 0, u = a.empty.fire, a.empty.fire = function() { a.unqueued || u() }), a.unqueued++, f.always(function() { f.always(function() { a.unqueued--, ce.queue(e,'fx').length || a.empty.fire();}) })), 1 === e.nodeType && ('height'in t||'width'in t) && (n.overflow = [h.overflow, h.overflowX, h.overflowY], c = ce.css(e,'display'), l = "none" === c ? De.get(e,'olddisplay') || D(e.nodeName):c, "inline" === l && "none" === ce.css(e,'float') && (h.display='inline-block')), n.overflow && (h.overflow='hidden', f.always(function() { h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2] })); for (i in t) if (r = t[i], lt.exec(r)) { if (delete t[i], o = o || "toggle" === r, r === (d?'hide':'show')) { if ("show" !== r || !g || void 0 === g[i]) continue; d = !0;}p[i] = g && g[i] || ce.style(e, i) } else c = void 0; if (ce.isEmptyObject(p))"inline" === ("none" === c ? D(e.nodeName):c) && (h.display = c); else { g?'hidden'in g && (d = g.hidden):g = De.access(e,'fxshow', {}), o && (g.hidden = !d), d ? ce(e).show():f.done(function() { ce(e).hide();}), f.done(function() { var t; De.remove(e,'fxshow'); for (t in p)ce.style(e, t, p[t]) }); for (i in p)s = M(d ? g[i]:0, i, f), i in g || (g[i] = s.start, d && (s.end = s.start, s.start = "width" === i || "height" === i ? 1:0)) } } function B(e, t) { var n, i, r, o, s; for (n in e) if (i = ce.camelCase(n), r = t[i], o = e[n], ce.isArray(o) && (r = o[1], o = e[n] = o[0]), n !== i && (e[i] = o, delete e[n]), s = ce.cssHooks[i], s&&'expand'in s) { o = s.expand(o), delete e[i]; for (n in o)n in e || (e[n] = o[n], t[n] = r);} else t[i] = r } function z(e, t, n) { var i, r, o = 0, s = z.prefilters.length, a = ce.Deferred().always(function() { delete u.elem }), u = function() { if (r) return !1; for (var t = ut || F(), n = Math.max(0, c.startTime + c.duration - t), i = n / c.duration || 0, o = 1 - i, s = 0, u = c.tweens.length; u > s; s++)c.tweens[s].run(o); return a.notifyWith(e, [c, o, n]), 1 > o && u ? n:(a.resolveWith(e, [c]), !1);}, c = a.promise({elem: e, props: ce.extend({}, t), opts: ce.extend(!0, {specialEasing: {}, easing: ce.easing._default}, n), originalProperties: t, originalOptions: n, startTime: ut || F(), duration: n.duration, tweens: [], createTween: function(t, n) { var i = ce.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing); return c.tweens.push(i), i }, stop: function(t) { var n = 0, i = t ? c.tweens.length:0; if (r) return this; for (r = !0; i > n; n++)c.tweens[n].run(1); return t ? (a.notifyWith(e, [c, 1, 0]), a.resolveWith(e, [c, t])):a.rejectWith(e, [c, t]), this;}}), l = c.props; for (B(l, c.opts.specialEasing); s > o; o++) if (i = z.prefilters[o].call(c, e, l, c.opts)) return ce.isFunction(i.stop) && (ce._queueHooks(c.elem, c.opts.queue).stop = ce.proxy(i.stop, i)), i; return ce.map(l, M, c), ce.isFunction(c.opts.start) && c.opts.start.call(e, c), ce.fx.timer(ce.extend(u, {elem: e, anim: c, queue: c.opts.queue})), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always) } function X(e) { return e.getAttribute && e.getAttribute('class') || "" } function $(e) { return function(t, n) { "string" != typeof t && (n = t, t='*'); var i, r = 0, o = t.toLowerCase().match(Ee) || []; if (ce.isFunction(n)) for (;i = o[r++];)"+" === i[0] ? (i = i.slice(1)||'*', (e[i] = e[i] || []).unshift(n)):(e[i] = e[i] || []).push(n);};} function U(e, t, n, i) { function r(a) { var u; return o[a] = !0, ce.each(e[a] || [], function(e, a) { var c = a(t, n, i); return "string" != typeof c || s || o[c] ? s ? !(u = c):void 0:(t.dataTypes.unshift(c), r(c), !1);}), u;} var o = {}, s = e === jt; return r(t.dataTypes[0]) || !o['*'] && r('*') } function Y(e, t) { var n, i, r = ce.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((r[n] ? e:i || (i = {}))[n] = t[n]); return i && ce.extend(!0, e, i), e;} function V(e, t, n) { for (var i, r, o, s, a = e.contents, u = e.dataTypes; "*" === u[0];)u.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader('Content-Type')); if (i) for (r in a) if (a[r] && a[r].test(i)) { u.unshift(r); break } if (u[0]in n)o = u[0]; else { for (r in n) { if (!u[0] || e.converters[r + " " + u[0]]) { o = r; break;}s || (s = r) }o = o || s } return o ? (o !== u[0] && u.unshift(o), n[o]):void 0;} function Q(e, t, n, i) { var r, o, s, a, u, c = {}, l = e.dataTypes.slice(); if (l[1]) for (s in e.converters)c[s.toLowerCase()] = e.converters[s]; for (o = l.shift(); o;) if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = l.shift()) if ("*" === o)o = u; else if ("*" !== u && u !== o) { if (s = c[u + " " + o] || c["* " + o], !s) for (r in c) if (a = r.split(' '), a[1] === o && (s = c[u + " " + a[0]] || c["* " + a[0]])) { s === !0 ? s = c[r]:c[r] !== !0 && (o = a[0], l.unshift(a[1])); break;} if (s !== !0) if (s && e['throws'])t = s(t); else try { t = s(t) } catch (f) { return {state:'parsererror', error: s ? f:"No conversion from " + u + " to " + o} } } return {state:'success', data: t};} function G(e, t, n, i) { var r; if (ce.isArray(t))ce.each(t, function(t, r) { n || Ht.test(e) ? i(e, r):G(e + "[" + ("object" == typeof r && null != r ? t:'')+']', r, n, i) }); else if (n || "object" !== ce.type(t))i(e, t); else for (r in t)G(e + "[" + r+']', t[r], n, i);} function J(e) { return ce.isWindow(e) ? e:9 === e.nodeType && e.defaultView;} var Z = [], K = n.document, ee = Z.slice, te = Z.concat, ne = Z.push, ie = Z.indexOf, re = {}, oe = re.toString, se = re.hasOwnProperty, ae = {}, ue='2.2.4', ce = function(e, t) { return new ce.fn.init(e, t);}, le = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, fe = /^-ms-/, pe = /-([\da-z])/gi, he = function(e, t) { return t.toUpperCase() }; ce.fn = ce.prototype = {jquery: ue, constructor: ce, selector:'', length: 0, toArray: function() { return ee.call(this);}, get: function(e) { return null != e ? 0 > e ? this[e + this.length]:this[e]:ee.call(this);}, pushStack: function(e) { var t = ce.merge(this.constructor(), e); return t.prevObject = this, t.context = this.context, t;}, each: function(e) { return ce.each(this, e) }, map: function(e) { return this.pushStack(ce.map(this, function(t, n) { return e.call(t, n, t) })) }, slice: function() { return this.pushStack(ee.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(e) { var t = this.length, n = +e + (0 > e ? t:0); return this.pushStack(n >= 0 && t > n ? [this[n]]:[]) }, end: function() { return this.prevObject || this.constructor() }, push: ne, sort: Z.sort, splice: Z.splice}, ce.extend = ce.fn.extend = function() { var e, t, n, i, r, o, s = arguments[0] || {}, a = 1, u = arguments.length, c = !1; for ("boolean" == typeof s && (c = s, s = arguments[a] || {}, a++), "object" == typeof s || ce.isFunction(s) || (s = {}), a === u && (s = this, a--); u > a; a++) if (null != (e = arguments[a])) for (t in e)n = s[t], i = e[t], s !== i && (c && i && (ce.isPlainObject(i) || (r = ce.isArray(i))) ? (r ? (r = !1, o = n && ce.isArray(n) ? n:[]):o = n && ce.isPlainObject(n) ? n:{}, s[t] = ce.extend(c, o, i)):void 0 !== i && (s[t] = i)); return s;}, ce.extend({expando: "jQuery" + (ue + Math.random()).replace(/\D/g,''), isReady: !0, error: function(e) { throw new Error(e) }, noop: function() {}, isFunction: function(e) { return "function" === ce.type(e);}, isArray: Array.isArray, isWindow: function(e) { return null != e && e === e.window }, isNumeric: function(e) { var t = e && e.toString(); return !ce.isArray(e) && t - parseFloat(t) + 1 >= 0;}, isPlainObject: function(e) { var t; if ("object" !== ce.type(e) || e.nodeType || ce.isWindow(e)) return !1; if (e.constructor && !se.call(e,'constructor') && !se.call(e.constructor.prototype || {},'isPrototypeOf')) return !1; for (t in e);return void 0 === t || se.call(e, t) }, isEmptyObject: function(e) { var t; for (t in e) return !1; return !0 }, type: function(e) { return null == e ? e+'':"object" == typeof e || "function" == typeof e ? re[oe.call(e)]||'object':typeof e }, globalEval: function(e) { var t, n = eval; e = ce.trim(e), e && (1 === e.indexOf('use strict') ? (t = K.createElement('script'), t.text = e, K.head.appendChild(t).parentNode.removeChild(t)):n(e));}, camelCase: function(e) { return e.replace(fe,'ms-').replace(pe, he) }, nodeName: function(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() }, each: function(e, t) { var n, i = 0; if (s(e)) for (n = e.length; n > i && t.call(e[i], i, e[i]) !== !1; i++);else for (i in e) if (t.call(e[i], i, e[i]) === !1) break; return e;}, trim: function(e) { return null == e?'':(e+'').replace(le,'');}, makeArray: function(e, t) { var n = t || []; return null != e && (s(Object(e)) ? ce.merge(n, "string" == typeof e ? [e]:e):ne.call(n, e)), n }, inArray: function(e, t, n) { return null == t ? -1:ie.call(t, e, n);}, merge: function(e, t) { for (var n = +t.length, i = 0, r = e.length; n > i; i++)e[r++] = t[i]; return e.length = r, e }, grep: function(e, t, n) { for (var i, r = [], o = 0, s = e.length, a = !n; s > o; o++)i = !t(e[o], o), i !== a && r.push(e[o]); return r }, map: function(e, t, n) { var i, r, o = 0, a = []; if (s(e)) for (i = e.length; i > o; o++)r = t(e[o], o, n), null != r && a.push(r); else for (o in e)r = t(e[o], o, n), null != r && a.push(r); return te.apply([], a) }, guid: 1, proxy: function(e, t) { var n, i, r; return "string" == typeof t && (n = e[t], t = e, e = n), ce.isFunction(e) ? (i = ee.call(arguments, 2), r = function() { return e.apply(t || this, i.concat(ee.call(arguments)));}, r.guid = e.guid = e.guid || ce.guid++, r):void 0;}, now: Date.now, support: ae}), "function" == typeof Symbol && (ce.fn[Symbol.iterator] = Z[Symbol.iterator]), ce.each('Boolean Number String Function Array Date RegExp Object Error Symbol'.split(' '), function(e, t) { re["[object " + t+']'] = t.toLowerCase() }); var de =/* !
	 * Sizzle CSS Selector Engine v2.2.1
	 * http://sizzlejs.com/
	 *
	 * Copyright jQuery Foundation and other contributors
	 * Released under the MIT license
	 * http://jquery.org/license
	 *
	 * Date: 2015-10-17
	 */
function(e) { function t(e, t, n, i) { var r, o, s, a, u, c, f, h, d = t && t.ownerDocument, g = t ? t.nodeType:9; if (n = n || [], "string" != typeof e || !e || 1 !== g && 9 !== g && 11 !== g) return n; if (!i && ((t ? t.ownerDocument || t:M) !== L && q(t), t = t || L, H)) { if (11 !== g && (c = me.exec(e))) if (r = c[1]) { if (9 === g) { if (!(s = t.getElementById(r))) return n; if (s.id === r) return n.push(s), n } else if (d && (s = d.getElementById(r)) && F(t, s) && s.id === r) return n.push(s), n;} else { if (c[2]) return Z.apply(n, t.getElementsByTagName(e)), n; if ((r = c[3]) && w.getElementsByClassName && t.getElementsByClassName) return Z.apply(n, t.getElementsByClassName(r)), n } if (w.qsa && !$[e+' '] && (!P || !P.test(e))) { if (1 !== g)d = t, h = e; else if ("object" !== t.nodeName.toLowerCase()) { for ((a = t.getAttribute('id')) ? a = a.replace(xe,'\\$&'):t.setAttribute('id', a = _), f = E(e), o = f.length, u = pe.test(a) ? "#" + a:"[id='" + a+'\']'; o--;)f[o] = u + " " + p(f[o]); h = f.join(','), d = ye.test(e) && l(t.parentNode) || t } if (h) try { return Z.apply(n, d.querySelectorAll(h)), n;} catch (v) {} finally { a === _ && t.removeAttribute('id') } } } return k(e.replace(ae,'$1'), t, n, i) } function n() { function e(n, i) { return t.push(n+' ') > T.cacheLength && delete e[t.shift()], e[n+' '] = i } var t = []; return e;} function i(e) { return e[_] = !0, e;} function r(e) { var t = L.createElement('div'); try { return !!e(t);} catch (n) { return !1;} finally { t.parentNode && t.parentNode.removeChild(t), t = null;} } function o(e, t) { for (var n = e.split('|'), i = n.length; i--;)T.attrHandle[n[i]] = t } function s(e, t) { var n = t && e, i = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || Y) - (~e.sourceIndex || Y); if (i) return i; if (n) for (;n = n.nextSibling;) if (n === t) return -1; return e ? 1:-1;} function a(e) { return function(t) { var n = t.nodeName.toLowerCase(); return "input" === n && t.type === e;} } function u(e) { return function(t) { var n = t.nodeName.toLowerCase(); return ("input" === n || "button" === n) && t.type === e;} } function c(e) { return i(function(t) { return t = +t, i(function(n, i) { for (var r, o = e([], n.length, t), s = o.length; s--;)n[r = o[s]] && (n[r] = !(i[r] = n[r]));});});} function l(e) { return e && "undefined" != typeof e.getElementsByTagName && e;} function f() {} function p(e) { for (var t = 0, n = e.length, i=''; n > t; t++)i += e[t].value; return i } function h(e, t, n) { var i = t.dir, r = n && "parentNode" === i, o = B++; return t.first ? function(t, n, o) { for (;t = t[i];) if (1 === t.nodeType || r) return e(t, n, o);}:function(t, n, s) { var a, u, c, l = [W, o]; if (s) { for (;t = t[i];) if ((1 === t.nodeType || r) && e(t, n, s)) return !0 } else for (;t = t[i];) if (1 === t.nodeType || r) { if (c = t[_] || (t[_] = {}), u = c[t.uniqueID] || (c[t.uniqueID] = {}), (a = u[i]) && a[0] === W && a[1] === o) return l[2] = a[2]; if (u[i] = l, l[2] = e(t, n, s)) return !0;} };} function d(e) { return e.length > 1 ? function(t, n, i) { for (var r = e.length; r--;) if (!e[r](t, n, i)) return !1; return !0;}:e[0] } function g(e, n, i) { for (var r = 0, o = n.length; o > r; r++)t(e, n[r], i); return i } function v(e, t, n, i, r) { for (var o, s = [], a = 0, u = e.length, c = null != t; u > a; a++)(o = e[a]) && (n && !n(o, i, r) || (s.push(o), c && t.push(a))); return s } function m(e, t, n, r, o, s) { return r && !r[_] && (r = m(r)), o && !o[_] && (o = m(o, s)), i(function(i, s, a, u) { var c, l, f, p = [], h = [], d = s.length, m = i || g(t||'*', a.nodeType ? [a]:a, []), y = !e || !i && t ? m:v(m, p, e, a, u), x = n ? o || (i ? e:d || r) ? []:s:y; if (n && n(y, x, a, u), r) for (c = v(x, h), r(c, [], a, u), l = c.length; l--;)(f = c[l]) && (x[h[l]] = !(y[h[l]] = f)); if (i) { if (o || e) { if (o) { for (c = [], l = x.length; l--;)(f = x[l]) && c.push(y[l] = f); o(null, x = [], c, u);} for (l = x.length; l--;)(f = x[l]) && (c = o ? ee(i, f):p[l]) > -1 && (i[c] = !(s[c] = f)) } } else x = v(x === s ? x.splice(d, x.length):x), o ? o(null, s, x, u):Z.apply(s, x) });} function y(e) { for (var t, n, i, r = e.length, o = T.relative[e[0].type], s = o || T.relative[' '], a = o ? 1:0, u = h(function(e) { return e === t;}, s, !0), c = h(function(e) { return ee(t, e) > -1;}, s, !0), l = [function(e, n, i) { var r = !o && (i || n !== N) || ((t = n).nodeType ? u(e, n, i):c(e, n, i)); return t = null, r;}]; r > a; a++) if (n = T.relative[e[a].type])l = [h(d(l), n)]; else { if (n = T.filter[e[a].type].apply(null, e[a].matches), n[_]) { for (i = ++a; r > i && !T.relative[e[i].type]; i++);return m(a > 1 && d(l), a > 1 && p(e.slice(0, a - 1).concat({value: " " === e[a - 2].type?'*':''})).replace(ae,'$1'), n, i > a && y(e.slice(a, i)), r > i && y(e = e.slice(i)), r > i && p(e));}l.push(n) } return d(l);} function x(e, n) { var r = n.length > 0, o = e.length > 0, s = function(i, s, a, u, c) { var l, f, p, h = 0, d='0', g = i && [], m = [], y = N, x = i || o && T.find.TAG('*', c), b = W += null == y ? 1:Math.random() || .1, w = x.length; for (c && (N = s === L || s || c); d !== w && null != (l = x[d]); d++) { if (o && l) { for (f = 0, s || l.ownerDocument === L || (q(l), a = !H); p = e[f++];) if (p(l, s || L, a)) { u.push(l); break;}c && (W = b) }r && ((l = !p && l) && h--, i && g.push(l)) } if (h += d, r && d !== h) { for (f = 0; p = n[f++];)p(g, m, s, a); if (i) { if (h > 0) for (;d--;)g[d] || m[d] || (m[d] = G.call(u)); m = v(m);}Z.apply(u, m), c && !i && m.length > 0 && h + n.length > 1 && t.uniqueSort(u) } return c && (W = b, N = y), g;}; return r ? i(s):s;} var b, w, T, A, C, E, S, k, N, D, j, q, L, O, H, P, I, R, F, _ = "sizzle" + 1 * new Date, M = e.document, W = 0, B = 0, z = n(), X = n(), $ = n(), U = function(e, t) { return e === t && (j = !0), 0;}, Y = 1 << 31, V = {}.hasOwnProperty, Q = [], G = Q.pop, J = Q.push, Z = Q.push, K = Q.slice, ee = function(e, t) { for (var n = 0, i = e.length; i > n; n++) if (e[n] === t) return n; return -1;}, te='checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped', ne='[\\x20\\t\\r\\n\\f]', ie='(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+', re = "\\[" + ne + "*(" + ie + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + ie + "))|)" + ne+'*\\]', oe = ":(" + ie + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + re+')*)|.*)\\)|)', se = new RegExp(ne+'+','g'), ae = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne+'+$','g'), ue = new RegExp("^" + ne + "*," + ne+'*'), ce = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne+'*'), le = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne+'*\\]','g'), fe = new RegExp(oe), pe = new RegExp("^" + ie+'$'), he = {ID: new RegExp("^#(" + ie+')'), CLASS: new RegExp("^\\.(" + ie+')'), TAG: new RegExp("^(" + ie+'|[*])'), ATTR: new RegExp("^" + re), PSEUDO: new RegExp("^" + oe), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne+'*\\)|)','i'), bool: new RegExp("^(?:" + te+')$','i'), needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne+'*\\)|)(?=[^-]|$)','i')}, de = /^(?:input|select|textarea|button)$/i, ge = /^h\d$/i, ve = /^[^{]+\{\s*\[native \w/, me = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ye = /[+~]/, xe = /'|\\/g, be = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne+')|.)','ig'), we = function(e, t, n) { var i = "0x" + t - 65536; return i !== i || n ? t:0 > i ? String.fromCharCode(i + 65536):String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320);}, Te = function() { q() }; try { Z.apply(Q = K.call(M.childNodes), M.childNodes), Q[M.childNodes.length].nodeType;} catch (Ae) { Z = {apply: Q.length ? function(e, t) { J.apply(e, K.call(t)) }:function(e, t) { for (var n = e.length, i = 0; e[n++] = t[i++];);e.length = n - 1 }} }w = t.support = {}, C = t.isXML = function(e) { var t = e && (e.ownerDocument || e).documentElement; return t ? "HTML" !== t.nodeName:!1;}, q = t.setDocument = function(e) { var t, n, i = e ? e.ownerDocument || e:M; return i !== L && 9 === i.nodeType && i.documentElement ? (L = i, O = L.documentElement, H = !C(L), (n = L.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener('unload', Te, !1):n.attachEvent && n.attachEvent('onunload', Te)), w.attributes = r(function(e) { return e.className='i', !e.getAttribute('className') }), w.getElementsByTagName = r(function(e) { return e.appendChild(L.createComment('')), !e.getElementsByTagName('*').length }), w.getElementsByClassName = ve.test(L.getElementsByClassName), w.getById = r(function(e) { return O.appendChild(e).id = _, !L.getElementsByName || !L.getElementsByName(_).length;}), w.getById ? (T.find.ID = function(e, t) { if ("undefined" != typeof t.getElementById && H) { var n = t.getElementById(e); return n ? [n]:[];} }, T.filter.ID = function(e) { var t = e.replace(be, we); return function(e) { return e.getAttribute('id') === t;};}):(delete T.find.ID, T.filter.ID = function(e) { var t = e.replace(be, we); return function(e) { var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode('id'); return n && n.value === t;};}), T.find.TAG = w.getElementsByTagName ? function(e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e):w.qsa ? t.querySelectorAll(e):void 0;}:function(e, t) { var n, i = [], r = 0, o = t.getElementsByTagName(e); if ("*" === e) { for (;n = o[r++];)1 === n.nodeType && i.push(n); return i;} return o;}, T.find.CLASS = w.getElementsByClassName && function(e, t) { return "undefined" != typeof t.getElementsByClassName && H ? t.getElementsByClassName(e):void 0;}, I = [], P = [], (w.qsa = ve.test(L.querySelectorAll)) && (r(function(e) { O.appendChild(e).innerHTML = "<a id='" + _ + "'></a><select id='" + _+'-\r\\\' msallowcapture=\'\'><option selected=\'\'></option></select>', e.querySelectorAll('[msallowcapture^=\'\']').length && P.push("[*^$]=" + ne+'*(?:\'\'|"")'), e.querySelectorAll('[selected]').length || P.push("\\[" + ne + "*(?:value|" + te+')'), e.querySelectorAll("[id~=" + _+'-]').length || P.push('~='), e.querySelectorAll(':checked').length || P.push(':checked'), e.querySelectorAll("a#" + _+'+*').length || P.push('.#.+[+~]') }), r(function(e) { var t = L.createElement('input'); t.setAttribute('type','hidden'), e.appendChild(t).setAttribute('name','D'), e.querySelectorAll('[name=d]').length && P.push("name" + ne+'*[*^$|!~]?='), e.querySelectorAll(':enabled').length || P.push(':enabled',':disabled'), e.querySelectorAll('*,:x'), P.push(',.*:');})), (w.matchesSelector = ve.test(R = O.matches || O.webkitMatchesSelector || O.mozMatchesSelector || O.oMatchesSelector || O.msMatchesSelector)) && r(function(e) { w.disconnectedMatch = R.call(e,'div'), R.call(e,'[s!=\'\']:x'), I.push('!=', oe) }), P = P.length && new RegExp(P.join('|')), I = I.length && new RegExp(I.join('|')), t = ve.test(O.compareDocumentPosition), F = t || ve.test(O.contains) ? function(e, t) { var n = 9 === e.nodeType ? e.documentElement:e, i = t && t.parentNode; return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i):e.compareDocumentPosition && 16 & e.compareDocumentPosition(i))) }:function(e, t) { if (t) for (;t = t.parentNode;) if (t === e) return !0; return !1 }, U = t ? function(e, t) { if (e === t) return j = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n ? n:(n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t):1, 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === L || e.ownerDocument === M && F(M, e) ? -1:t === L || t.ownerDocument === M && F(M, t) ? 1:D ? ee(D, e) - ee(D, t):0:4 & n ? -1:1) }:function(e, t) { if (e === t) return j = !0, 0; var n, i = 0, r = e.parentNode, o = t.parentNode, a = [e], u = [t]; if (!r || !o) return e === L ? -1:t === L ? 1:r ? -1:o ? 1:D ? ee(D, e) - ee(D, t):0; if (r === o) return s(e, t); for (n = e; n = n.parentNode;)a.unshift(n); for (n = t; n = n.parentNode;)u.unshift(n); for (;a[i] === u[i];)i++; return i ? s(a[i], u[i]):a[i] === M ? -1:u[i] === M ? 1:0 }, L):L;}, t.matches = function(e, n) { return t(e, null, null, n);}, t.matchesSelector = function(e, n) { if ((e.ownerDocument || e) !== L && q(e), n = n.replace(le,'=\'$1\']'), w.matchesSelector && H && !$[n+' '] && (!I || !I.test(n)) && (!P || !P.test(n))) try { var i = R.call(e, n); if (i || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return i;} catch (r) {} return t(n, L, null, [e]).length > 0 }, t.contains = function(e, t) { return (e.ownerDocument || e) !== L && q(e), F(e, t);}, t.attr = function(e, t) { (e.ownerDocument || e) !== L && q(e); var n = T.attrHandle[t.toLowerCase()], i = n && V.call(T.attrHandle, t.toLowerCase()) ? n(e, t, !H):void 0; return void 0 !== i ? i:w.attributes || !H ? e.getAttribute(t):(i = e.getAttributeNode(t)) && i.specified ? i.value:null;}, t.error = function(e) { throw new Error("Syntax error, unrecognized expression: " + e) }, t.uniqueSort = function(e) { var t, n = [], i = 0, r = 0; if (j = !w.detectDuplicates, D = !w.sortStable && e.slice(0), e.sort(U), j) { for (;t = e[r++];)t === e[r] && (i = n.push(r)); for (;i--;)e.splice(n[i], 1) } return D = null, e;}, A = t.getText = function(e) { var t, n='', i = 0, r = e.nodeType; if (r) { if (1 === r || 9 === r || 11 === r) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling)n += A(e);} else if (3 === r || 4 === r) return e.nodeValue;} else for (;t = e[i++];)n += A(t); return n;}, T = t.selectors = {cacheLength: 50, createPseudo: i, match: he, attrHandle: {}, find: {}, relative: {'>': {dir:'parentNode', first: !0},' ': {dir:'parentNode'},'+': {dir:'previousSibling', first: !0},'~': {dir:'previousSibling'}}, preFilter: {ATTR: function(e) { return e[1] = e[1].replace(be, we), e[3] = (e[3] || e[4] || e[5]||'').replace(be, we), "~=" === e[2] && (e[3] = " " + e[3]+' '), e.slice(0, 4);}, CHILD: function(e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1):2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])):e[3] && t.error(e[0]), e }, PSEUDO: function(e) { var t, n = !e[6] && e[2]; return he.CHILD.test(e[0]) ? null:(e[3] ? e[2] = e[4] || e[5]||'':n && fe.test(n) && (t = E(n, !0)) && (t = n.indexOf(')', n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3));}}, filter: {TAG: function(e) { var t = e.replace(be, we).toLowerCase(); return "*" === e ? function() { return !0 }:function(e) { return e.nodeName && e.nodeName.toLowerCase() === t;};}, CLASS: function(e) { var t = z[e+' ']; return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne+'|$)')) && z(e, function(e) { return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute('class')||'');});}, ATTR: function(e, n, i) { return function(r) { var o = t.attr(r, e); return null == o ? "!=" === n:n ? (o+='', "=" === n ? o === i:"!=" === n ? o !== i:"^=" === n ? i && 0 === o.indexOf(i):"*=" === n ? i && o.indexOf(i) > -1:"$=" === n ? i && o.slice(-i.length) === i:"~=" === n ? (" " + o.replace(se,' ')+' ').indexOf(i) > -1:"|=" === n ? o === i || o.slice(0, i.length + 1) === i+'-':!1):!0 } }, CHILD: function(e, t, n, i, r) { var o = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), a = "of-type" === t; return 1 === i && 0 === r ? function(e) { return !!e.parentNode }:function(t, n, u) { var c, l, f, p, h, d, g = o !== s?'nextSibling':'previousSibling', v = t.parentNode, m = a && t.nodeName.toLowerCase(), y = !u && !a, x = !1; if (v) { if (o) { for (;g;) { for (p = t; p = p[g];) if (a ? p.nodeName.toLowerCase() === m:1 === p.nodeType) return !1; d = g = "only" === e && !d && "nextSibling" } return !0 } if (d = [s ? v.firstChild:v.lastChild], s && y) { for (p = v, f = p[_] || (p[_] = {}), l = f[p.uniqueID] || (f[p.uniqueID] = {}), c = l[e] || [], h = c[0] === W && c[1], x = h && c[2], p = h && v.childNodes[h]; p = ++h && p && p[g] || (x = h = 0) || d.pop();) if (1 === p.nodeType && ++x && p === t) { l[e] = [W, h, x]; break } } else if (y && (p = t, f = p[_] || (p[_] = {}), l = f[p.uniqueID] || (f[p.uniqueID] = {}), c = l[e] || [], h = c[0] === W && c[1], x = h), x === !1) for (;(p = ++h && p && p[g] || (x = h = 0) || d.pop()) && ((a ? p.nodeName.toLowerCase() !== m:1 !== p.nodeType) || !++x || (y && (f = p[_] || (p[_] = {}), l = f[p.uniqueID] || (f[p.uniqueID] = {}), l[e] = [W, x]), p !== t)););return x -= r, x === i || x % i === 0 && x / i >= 0;} };}, PSEUDO: function(e, n) { var r, o = T.pseudos[e] || T.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e); return o[_] ? o(n):o.length > 1 ? (r = [e, e,'', n], T.setFilters.hasOwnProperty(e.toLowerCase()) ? i(function(e, t) { for (var i, r = o(e, n), s = r.length; s--;)i = ee(e, r[s]), e[i] = !(t[i] = r[s]) }):function(e) { return o(e, 0, r);}):o;}}, pseudos: {not: i(function(e) { var t = [], n = [], r = S(e.replace(ae,'$1')); return r[_] ? i(function(e, t, n, i) { for (var o, s = r(e, null, i, []), a = e.length; a--;)(o = s[a]) && (e[a] = !(t[a] = o));}):function(e, i, o) { return t[0] = e, r(t, null, o, n), t[0] = null, !n.pop();};}), has: i(function(e) { return function(n) { return t(e, n).length > 0 } }), contains: i(function(e) { return e = e.replace(be, we), function(t) { return (t.textContent || t.innerText || A(t)).indexOf(e) > -1;} }), lang: i(function(e) { return pe.test(e||'') || t.error("unsupported lang: " + e), e = e.replace(be, we).toLowerCase(), function(t) { var n; do if (n = H ? t.lang:t.getAttribute('xml:lang') || t.getAttribute('lang')) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e+'-'); while ((t = t.parentNode) && 1 === t.nodeType);return !1;} }), target: function(t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id }, root: function(e) { return e === O;}, focus: function(e) { return e === L.activeElement && (!L.hasFocus || L.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, enabled: function(e) { return e.disabled === !1;}, disabled: function(e) { return e.disabled === !0 }, checked: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function(e) { return e.parentNode && e.parentNode.selectedIndex, e.selected === !0;}, empty: function(e) { for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; return !0 }, parent: function(e) { return !T.pseudos.empty(e);}, header: function(e) { return ge.test(e.nodeName) }, input: function(e) { return de.test(e.nodeName) }, button: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, text: function(e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute('type')) || "text" === t.toLowerCase());}, first: c(function() { return [0];}), last: c(function(e, t) { return [t - 1] }), eq: c(function(e, t, n) { return [0 > n ? n + t:n] }), even: c(function(e, t) { for (var n = 0; t > n; n += 2)e.push(n); return e;}), odd: c(function(e, t) { for (var n = 1; t > n; n += 2)e.push(n); return e }), lt: c(function(e, t, n) { for (var i = 0 > n ? n + t:n; --i >= 0;)e.push(i); return e;}), gt: c(function(e, t, n) { for (var i = 0 > n ? n + t:n; ++i < t;)e.push(i); return e })}}, T.pseudos.nth = T.pseudos.eq; for (b in {radio: !0, checkbox: !0, file: !0, password: !0, image: !0})T.pseudos[b] = a(b); for (b in {submit: !0, reset: !0})T.pseudos[b] = u(b); return f.prototype = T.filters = T.pseudos, T.setFilters = new f, E = t.tokenize = function(e, n) { var i, r, o, s, a, u, c, l = X[e+' ']; if (l) return n ? 0:l.slice(0); for (a = e, u = [], c = T.preFilter; a;) { i && !(r = ue.exec(a)) || (r && (a = a.slice(r[0].length) || a), u.push(o = [])), i = !1, (r = ce.exec(a)) && (i = r.shift(), o.push({value: i, type: r[0].replace(ae,' ')}), a = a.slice(i.length)); for (s in T.filter)!(r = he[s].exec(a)) || c[s] && !(r = c[s](r)) || (i = r.shift(), o.push({value: i, type: s, matches: r}), a = a.slice(i.length)); if (!i) break;} return n ? a.length:a ? t.error(e):X(e, u).slice(0) }, S = t.compile = function(e, t) { var n, i = [], r = [], o = $[e+' ']; if (!o) { for (t || (t = E(e)), n = t.length; n--;)o = y(t[n]), o[_] ? i.push(o):r.push(o); o = $(e, x(r, i)), o.selector = e } return o;}, k = t.select = function(e, t, n, i) { var r, o, s, a, u, c = "function" == typeof e && e, f = !i && E(e = c.selector || e); if (n = n || [], 1 === f.length) { if (o = f[0] = f[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && w.getById && 9 === t.nodeType && H && T.relative[o[1].type]) { if (t = (T.find.ID(s.matches[0].replace(be, we), t) || [])[0], !t) return n; c && (t = t.parentNode), e = e.slice(o.shift().value.length);} for (r = he.needsContext.test(e) ? 0:o.length; r-- && (s = o[r], !T.relative[a = s.type]);) if ((u = T.find[a]) && (i = u(s.matches[0].replace(be, we), ye.test(o[0].type) && l(t.parentNode) || t))) { if (o.splice(r, 1), e = i.length && p(o), !e) return Z.apply(n, i), n; break } } return (c || S(e, f))(i, t, !H, n, !t || ye.test(e) && l(t.parentNode) || t), n }, w.sortStable = _.split('').sort(U).join('') === _, w.detectDuplicates = !!j, q(), w.sortDetached = r(function(e) { return 1 & e.compareDocumentPosition(L.createElement('div'));}), r(function(e) { return e.innerHTML='<a href=\'#\'></a>', "#" === e.firstChild.getAttribute('href');}) || o('type|href|height|width', function(e, t, n) { return n ? void 0:e.getAttribute(t, "type" === t.toLowerCase() ? 1:2);}), w.attributes && r(function(e) { return e.innerHTML='<input/>', e.firstChild.setAttribute('value',''), "" === e.firstChild.getAttribute('value') }) || o('value', function(e, t, n) { return n || "input" !== e.nodeName.toLowerCase() ? void 0:e.defaultValue }), r(function(e) { return null == e.getAttribute('disabled') }) || o(te, function(e, t, n) { var i; return n ? void 0:e[t] === !0 ? t.toLowerCase():(i = e.getAttributeNode(t)) && i.specified ? i.value:null;}), t;}(n); ce.find = de, ce.expr = de.selectors, ce.expr[':'] = ce.expr.pseudos, ce.uniqueSort = ce.unique = de.uniqueSort, ce.text = de.getText, ce.isXMLDoc = de.isXML, ce.contains = de.contains; var ge = function(e, t, n) { for (var i = [], r = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) { if (r && ce(e).is(n)) break; i.push(e);} return i;}, ve = function(e, t) { for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); return n }, me = ce.expr.match.needsContext, ye = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, xe = /^.[^:#\[\.,]*$/; ce.filter = function(e, t, n) { var i = t[0]; return n && (e = ":not(" + e+')'), 1 === t.length && 1 === i.nodeType ? ce.find.matchesSelector(i, e) ? [i]:[]:ce.find.matches(e, ce.grep(t, function(e) { return 1 === e.nodeType;})) }, ce.fn.extend({find: function(e) { var t, n = this.length, i = [], r = this; if ("string" != typeof e) return this.pushStack(ce(e).filter(function() { for (t = 0; n > t; t++) if (ce.contains(r[t], this)) return !0;})); for (t = 0; n > t; t++)ce.find(e, r[t], i); return i = this.pushStack(n > 1 ? ce.unique(i):i), i.selector = this.selector ? this.selector + " " + e:e, i;}, filter: function(e) { return this.pushStack(a(this, e || [], !1));}, not: function(e) { return this.pushStack(a(this, e || [], !0));}, is: function(e) { return !!a(this, "string" == typeof e && me.test(e) ? ce(e):e || [], !1).length }}); var be, we = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, Te = ce.fn.init = function(e, t, n) { var i, r; if (!e) return this; if (n = n || be, "string" == typeof e) { if (i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null]:we.exec(e), !i || !i[1] && t) return !t || t.jquery ? (t || n).find(e):this.constructor(t).find(e); if (i[1]) { if (t = t instanceof ce ? t[0]:t, ce.merge(this, ce.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t:K, !0)), ye.test(i[1]) && ce.isPlainObject(t)) for (i in t)ce.isFunction(this[i]) ? this[i](t[i]):this.attr(i, t[i]); return this } return r = K.getElementById(i[2]), r && r.parentNode && (this.length = 1, this[0] = r), this.context = K, this.selector = e, this;} return e.nodeType ? (this.context = this[0] = e, this.length = 1, this):ce.isFunction(e) ? void 0 !== n.ready ? n.ready(e):e(ce):(void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), ce.makeArray(e, this));}; Te.prototype = ce.fn, be = ce(K); var Ae = /^(?:parents|prev(?:Until|All))/, Ce = {children: !0, contents: !0, next: !0, prev: !0}; ce.fn.extend({has: function(e) { var t = ce(e, this), n = t.length; return this.filter(function() { for (var e = 0; n > e; e++) if (ce.contains(this, t[e])) return !0;}) }, closest: function(e, t) { for (var n, i = 0, r = this.length, o = [], s = me.test(e) || "string" != typeof e ? ce(e, t || this.context):0; r > i; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1:1 === n.nodeType && ce.find.matchesSelector(n, e))) { o.push(n); break;} return this.pushStack(o.length > 1 ? ce.uniqueSort(o):o);}, index: function(e) { return e ? "string" == typeof e ? ie.call(ce(e), this[0]):ie.call(this, e.jquery ? e[0]:e):this[0] && this[0].parentNode ? this.first().prevAll().length:-1;}, add: function(e, t) { return this.pushStack(ce.uniqueSort(ce.merge(this.get(), ce(e, t))));}, addBack: function(e) { return this.add(null == e ? this.prevObject:this.prevObject.filter(e));}}), ce.each({parent: function(e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t:null }, parents: function(e) { return ge(e,'parentNode') }, parentsUntil: function(e, t, n) { return ge(e,'parentNode', n) }, next: function(e) { return u(e,'nextSibling') }, prev: function(e) { return u(e,'previousSibling');}, nextAll: function(e) { return ge(e,'nextSibling') }, prevAll: function(e) { return ge(e,'previousSibling');}, nextUntil: function(e, t, n) { return ge(e,'nextSibling', n) }, prevUntil: function(e, t, n) { return ge(e,'previousSibling', n);}, siblings: function(e) { return ve((e.parentNode || {}).firstChild, e);}, children: function(e) { return ve(e.firstChild) }, contents: function(e) { return e.contentDocument || ce.merge([], e.childNodes);}}, function(e, t) { ce.fn[e] = function(n, i) { var r = ce.map(this, t, n); return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (r = ce.filter(i, r)), this.length > 1 && (Ce[e] || ce.uniqueSort(r), Ae.test(e) && r.reverse()), this.pushStack(r);} }); var Ee = /\S+/g; ce.Callbacks = function(e) { e = "string" == typeof e ? c(e):ce.extend({}, e); var t, n, i, r, o = [], s = [], a = -1, u = function() { for (r = e.once, i = t = !0; s.length; a = -1) for (n = s.shift(); ++a < o.length;)o[a].apply(n[0], n[1]) === !1 && e.stopOnFalse && (a = o.length, n = !1); e.memory || (n = !1), t = !1, r && (o = n ? []:'') }, l = {add: function() { return o && (n && !t && (a = o.length - 1, s.push(n)), function i(t) { ce.each(t, function(t, n) { ce.isFunction(n) ? e.unique && l.has(n) || o.push(n):n && n.length && "string" !== ce.type(n) && i(n);});}(arguments), n && !t && u()), this }, remove: function() { return ce.each(arguments, function(e, t) { for (var n; (n = ce.inArray(t, o, n)) > -1;)o.splice(n, 1), a >= n && a--;}), this }, has: function(e) { return e ? ce.inArray(e, o) > -1:o.length > 0 }, empty: function() { return o && (o = []), this;}, disable: function() { return r = s = [], o = n='', this }, disabled: function() { return !o }, lock: function() { return r = s = [], n || (o = n=''), this;}, locked: function() { return !!r }, fireWith: function(e, n) { return r || (n = n || [], n = [e, n.slice ? n.slice():n], s.push(n), t || u()), this;}, fire: function() { return l.fireWith(this, arguments), this }, fired: function() { return !!i;}}; return l }, ce.extend({Deferred: function(e) { var t = [['resolve','done', ce.Callbacks('once memory'),'resolved'], ['reject','fail', ce.Callbacks('once memory'),'rejected'], ['notify','progress', ce.Callbacks('memory')]], n='pending', i = {state: function() { return n }, always: function() { return r.done(arguments).fail(arguments), this }, then: function() { var e = arguments; return ce.Deferred(function(n) { ce.each(t, function(t, o) { var s = ce.isFunction(e[t]) && e[t]; r[o[1]](function() { var e = s && s.apply(this, arguments); e && ce.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+'With'](this === i ? n.promise():this, s ? [e]:arguments);}) }), e = null;}).promise();}, promise: function(e) { return null != e ? ce.extend(e, i):i }}, r = {}; return i.pipe = i.then, ce.each(t, function(e, o) { var s = o[2], a = o[3]; i[o[1]] = s.add, a && s.add(function() { n = a;}, t[1 ^ e][2].disable, t[2][2].lock), r[o[0]] = function() { return r[o[0]+'With'](this === r ? i:this, arguments), this }, r[o[0]+'With'] = s.fireWith;}), i.promise(r), e && e.call(r, r), r;}, when: function(e) { var t, n, i, r = 0, o = ee.call(arguments), s = o.length, a = 1 !== s || e && ce.isFunction(e.promise) ? s:0, u = 1 === a ? e:ce.Deferred(), c = function(e, n, i) { return function(r) { n[e] = this, i[e] = arguments.length > 1 ? ee.call(arguments):r, i === t ? u.notifyWith(n, i):--a || u.resolveWith(n, i);} }; if (s > 1) for (t = new Array(s), n = new Array(s), i = new Array(s); s > r; r++)o[r] && ce.isFunction(o[r].promise) ? o[r].promise().progress(c(r, n, t)).done(c(r, i, o)).fail(u.reject):--a; return a || u.resolveWith(i, o), u.promise();}}); var Se; ce.fn.ready = function(e) { return ce.ready.promise().done(e), this;}, ce.extend({isReady: !1, readyWait: 1, holdReady: function(e) { e ? ce.readyWait++:ce.ready(!0) }, ready: function(e) { (e === !0 ? --ce.readyWait:ce.isReady) || (ce.isReady = !0, e !== !0 && --ce.readyWait > 0 || (Se.resolveWith(K, [ce]), ce.fn.triggerHandler && (ce(K).triggerHandler('ready'), ce(K).off('ready')))) }}), ce.ready.promise = function(e) { return Se || (Se = ce.Deferred(), "complete" === K.readyState || "loading" !== K.readyState && !K.documentElement.doScroll ? n.setTimeout(ce.ready):(K.addEventListener('DOMContentLoaded', l), n.addEventListener('load', l))), Se.promise(e) }, ce.ready.promise(); var ke = function(e, t, n, i, r, o, s) { var a = 0, u = e.length, c = null == n; if ("object" === ce.type(n)) { r = !0; for (a in n)ke(e, t, a, n[a], !0, o, s) } else if (void 0 !== i && (r = !0, ce.isFunction(i) || (s = !0), c && (s ? (t.call(e, i), t = null):(c = t, t = function(e, t, n) { return c.call(ce(e), n) })), t)) for (;u > a; a++)t(e[a], n, s ? i:i.call(e[a], a, t(e[a], n))); return r ? e:c ? t.call(e):u ? t(e[0], n):o }, Ne = function(e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType;}; f.uid = 1, f.prototype = {register: function(e, t) { var n = t || {}; return e.nodeType ? e[this.expando] = n:Object.defineProperty(e, this.expando, {value: n, writable: !0, configurable: !0}), e[this.expando] }, cache: function(e) { if (!Ne(e)) return {}; var t = e[this.expando]; return t || (t = {}, Ne(e) && (e.nodeType ? e[this.expando] = t:Object.defineProperty(e, this.expando, {value: t, configurable: !0}))), t;}, set: function(e, t, n) { var i, r = this.cache(e); if ("string" == typeof t)r[t] = n; else for (i in t)r[i] = t[i]; return r;}, get: function(e, t) { return void 0 === t ? this.cache(e):e[this.expando] && e[this.expando][t];}, access: function(e, t, n) { var i; return void 0 === t || t && "string" == typeof t && void 0 === n ? (i = this.get(e, t), void 0 !== i ? i:this.get(e, ce.camelCase(t))):(this.set(e, t, n), void 0 !== n ? n:t);}, remove: function(e, t) { var n, i, r, o = e[this.expando]; if (void 0 !== o) { if (void 0 === t) this.register(e); else { ce.isArray(t) ? i = t.concat(t.map(ce.camelCase)):(r = ce.camelCase(t), t in o ? i = [t, r]:(i = r, i = i in o ? [i]:i.match(Ee) || [])), n = i.length; for (;n--;) delete o[i[n]] }(void 0 === t || ce.isEmptyObject(o)) && (e.nodeType ? e[this.expando] = void 0:delete e[this.expando]);} }, hasData: function(e) { var t = e[this.expando]; return void 0 !== t && !ce.isEmptyObject(t);}}; var De = new f, je = new f, qe = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, Le = /[A-Z]/g; ce.extend({hasData: function(e) { return je.hasData(e) || De.hasData(e) }, data: function(e, t, n) { return je.access(e, t, n);}, removeData: function(e, t) { je.remove(e, t) }, _data: function(e, t, n) { return De.access(e, t, n) }, _removeData: function(e, t) { De.remove(e, t);}}), ce.fn.extend({data: function(e, t) { var n, i, r, o = this[0], s = o && o.attributes; if (void 0 === e) { if (this.length && (r = je.get(o), 1 === o.nodeType && !De.get(o,'hasDataAttrs'))) { for (n = s.length; n--;)s[n] && (i = s[n].name, 0 === i.indexOf('data-') && (i = ce.camelCase(i.slice(5)), p(o, i, r[i]))); De.set(o,'hasDataAttrs', !0);} return r;} return "object" == typeof e ? this.each(function() { je.set(this, e);}):ke(this, function(t) { var n, i; if (o && void 0 === t) { if (n = je.get(o, e) || je.get(o, e.replace(Le,'-$&').toLowerCase()), void 0 !== n) return n; if (i = ce.camelCase(e), n = je.get(o, i), void 0 !== n) return n; if (n = p(o, i, void 0), void 0 !== n) return n;} else i = ce.camelCase(e), this.each(function() { var n = je.get(this, i); je.set(this, i, t), e.indexOf('-') > -1 && void 0 !== n && je.set(this, e, t);}) }, null, t, arguments.length > 1, null, !0);}, removeData: function(e) { return this.each(function() { je.remove(this, e) }) }}), ce.extend({queue: function(e, t, n) { var i; return e ? (t = (t||'fx')+'queue', i = De.get(e, t), n && (!i || ce.isArray(n) ? i = De.access(e, t, ce.makeArray(n)):i.push(n)), i || []):void 0;}, dequeue: function(e, t) { t = t||'fx'; var n = ce.queue(e, t), i = n.length, r = n.shift(), o = ce._queueHooks(e, t), s = function() { ce.dequeue(e, t);}; "inprogress" === r && (r = n.shift(), i--), r && ("fx" === t && n.unshift('inprogress'), delete o.stop, r.call(e, s, o)), !i && o && o.empty.fire() }, _queueHooks: function(e, t) { var n = t+'queueHooks'; return De.get(e, n) || De.access(e, n, {empty: ce.Callbacks('once memory').add(function() { De.remove(e, [t+'queue', n]);})}) }}), ce.fn.extend({queue: function(e, t) { var n = 2; return "string" != typeof e && (t = e, e='fx', n--), arguments.length < n ? ce.queue(this[0], e):void 0 === t ? this:this.each(function() { var n = ce.queue(this, e, t); ce._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && ce.dequeue(this, e);});}, dequeue: function(e) { return this.each(function() { ce.dequeue(this, e) }) }, clearQueue: function(e) { return this.queue(e||'fx', []);}, promise: function(e, t) { var n, i = 1, r = ce.Deferred(), o = this, s = this.length, a = function() { --i || r.resolveWith(o, [o]);}; for ("string" != typeof e && (t = e, e = void 0), e = e||'fx'; s--;)n = De.get(o[s], e+'queueHooks'), n && n.empty && (i++, n.empty.add(a)); return a(), r.promise(t) }}); var Oe = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, He = new RegExp("^(?:([+-])=|)(" + Oe+')([a-z%]*)$','i'), Pe = ['Top','Right','Bottom','Left'], Ie = function(e, t) { return e = t || e, "none" === ce.css(e,'display') || !ce.contains(e.ownerDocument, e);}, Re = /^(?:checkbox|radio)$/i, Fe = /<([\w:-]+)/, _e = /^$|\/(?:java|ecma)script/i, Me = {option: [1,'<select multiple=\'multiple\'>','</select>'], thead: [1,'<table>','</table>'], col: [2,'<table><colgroup>','</colgroup></table>'], tr: [2,'<table><tbody>','</tbody></table>'], td: [3,'<table><tbody><tr>','</tr></tbody></table>'], _default: [0,'','']}; Me.optgroup = Me.option, Me.tbody = Me.tfoot = Me.colgroup = Me.caption = Me.thead, Me.th = Me.td; var We = /<|&#?\w+;/; !function() { var e = K.createDocumentFragment(), t = e.appendChild(K.createElement('div')), n = K.createElement('input'); n.setAttribute('type','radio'), n.setAttribute('checked','checked'), n.setAttribute('name','t'), t.appendChild(n), ae.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML='<textarea>x</textarea>', ae.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue }(); var Be = /^key/, ze = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, Xe = /^([^.]*)(?:\.(.+)|)/; ce.event = {global: {}, add: function(e, t, n, i, r) { var o, s, a, u, c, l, f, p, h, d, g, v = De.get(e); if (v) for (n.handler && (o = n, n = o.handler, r = o.selector), n.guid || (n.guid = ce.guid++), (u = v.events) || (u = v.events = {}), (s = v.handle) || (s = v.handle = function(t) { return "undefined" != typeof ce && ce.event.triggered !== t.type ? ce.event.dispatch.apply(e, arguments):void 0;}), t = (t||'').match(Ee) || [''], c = t.length; c--;)a = Xe.exec(t[c]) || [], h = g = a[1], d = (a[2]||'').split('.').sort(), h && (f = ce.event.special[h] || {}, h = (r ? f.delegateType:f.bindType) || h, f = ce.event.special[h] || {}, l = ce.extend({type: h, origType: g, data: i, handler: n, guid: n.guid, selector: r, needsContext: r && ce.expr.match.needsContext.test(r), namespace: d.join('.')}, o), (p = u[h]) || (p = u[h] = [], p.delegateCount = 0, f.setup && f.setup.call(e, i, d, s) !== !1 || e.addEventListener && e.addEventListener(h, s)), f.add && (f.add.call(e, l), l.handler.guid || (l.handler.guid = n.guid)), r ? p.splice(p.delegateCount++, 0, l):p.push(l), ce.event.global[h] = !0);}, remove: function(e, t, n, i, r) { var o, s, a, u, c, l, f, p, h, d, g, v = De.hasData(e) && De.get(e); if (v && (u = v.events)) { for (t = (t||'').match(Ee) || [''], c = t.length; c--;) if (a = Xe.exec(t[c]) || [], h = g = a[1], d = (a[2]||'').split('.').sort(), h) { for (f = ce.event.special[h] || {}, h = (i ? f.delegateType:f.bindType) || h, p = u[h] || [], a = a[2] && new RegExp("(^|\\.)" + d.join('\\.(?:.*\\.|)')+'(\\.|$)'), s = o = p.length; o--;)l = p[o], !r && g !== l.origType || n && n.guid !== l.guid || a && !a.test(l.namespace) || i && i !== l.selector && ("**" !== i || !l.selector) || (p.splice(o, 1),
l.selector && p.delegateCount--, f.remove && f.remove.call(e, l)); s && !p.length && (f.teardown && f.teardown.call(e, d, v.handle) !== !1 || ce.removeEvent(e, h, v.handle), delete u[h]) } else for (h in u)ce.event.remove(e, h + t[c], n, i, !0); ce.isEmptyObject(u) && De.remove(e,'handle events') } }, dispatch: function(e) { e = ce.event.fix(e); var t, n, i, r, o, s = [], a = ee.call(arguments), u = (De.get(this,'events') || {})[e.type] || [], c = ce.event.special[e.type] || {}; if (a[0] = e, e.delegateTarget = this, !c.preDispatch || c.preDispatch.call(this, e) !== !1) { for (s = ce.event.handlers.call(this, e, u), t = 0; (r = s[t++]) && !e.isPropagationStopped();) for (e.currentTarget = r.elem, n = 0; (o = r.handlers[n++]) && !e.isImmediatePropagationStopped();)e.rnamespace && !e.rnamespace.test(o.namespace) || (e.handleObj = o, e.data = o.data, i = ((ce.event.special[o.origType] || {}).handle || o.handler).apply(r.elem, a), void 0 !== i && (e.result = i) === !1 && (e.preventDefault(), e.stopPropagation())); return c.postDispatch && c.postDispatch.call(this, e), e.result } }, handlers: function(e, t) { var n, i, r, o, s = [], a = t.delegateCount, u = e.target; if (a && u.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1)) for (;u !== this; u = u.parentNode || this) if (1 === u.nodeType && (u.disabled !== !0 || "click" !== e.type)) { for (i = [], n = 0; a > n; n++)o = t[n], r = o.selector+' ', void 0 === i[r] && (i[r] = o.needsContext ? ce(r, this).index(u) > -1:ce.find(r, this, null, [u]).length), i[r] && i.push(o); i.length && s.push({elem: u, handlers: i});} return a < t.length && s.push({elem: this, handlers: t.slice(a)}), s;}, props:'altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which'.split(' '), fixHooks: {}, keyHooks: {props:'char charCode key keyCode'.split(' '), filter: function(e, t) { return null == e.which && (e.which = null != t.charCode ? t.charCode:t.keyCode), e;}}, mouseHooks: {props:'button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement'.split(' '), filter: function(e, t) { var n, i, r, o = t.button; return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || K, i = n.documentElement, r = n.body, e.pageX = t.clientX + (i && i.scrollLeft || r && r.scrollLeft || 0) - (i && i.clientLeft || r && r.clientLeft || 0), e.pageY = t.clientY + (i && i.scrollTop || r && r.scrollTop || 0) - (i && i.clientTop || r && r.clientTop || 0)), e.which || void 0 === o || (e.which = 1 & o ? 1:2 & o ? 3:4 & o ? 2:0), e }}, fix: function(e) { if (e[ce.expando]) return e; var t, n, i, r = e.type, o = e, s = this.fixHooks[r]; for (s || (this.fixHooks[r] = s = ze.test(r) ? this.mouseHooks:Be.test(r) ? this.keyHooks:{}), i = s.props ? this.props.concat(s.props):this.props, e = new ce.Event(o), t = i.length; t--;)n = i[t], e[n] = o[n]; return e.target || (e.target = K), 3 === e.target.nodeType && (e.target = e.target.parentNode), s.filter ? s.filter(e, o):e;}, special: {load: {noBubble: !0}, focus: {trigger: function() { return this !== x() && this.focus ? (this.focus(), !1):void 0 }, delegateType:'focusin'}, blur: {trigger: function() { return this === x() && this.blur ? (this.blur(), !1):void 0;}, delegateType:'focusout'}, click: {trigger: function() { return "checkbox" === this.type && this.click && ce.nodeName(this,'input') ? (this.click(), !1):void 0;}, _default: function(e) { return ce.nodeName(e.target,'a') }}, beforeunload: {postDispatch: function(e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result);}}}}, ce.removeEvent = function(e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, ce.Event = function(e, t) { return this instanceof ce.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? m:y):this.type = e, t && ce.extend(this, t), this.timeStamp = e && e.timeStamp || ce.now(), void(this[ce.expando] = !0)):new ce.Event(e, t) }, ce.Event.prototype = {constructor: ce.Event, isDefaultPrevented: y, isPropagationStopped: y, isImmediatePropagationStopped: y, isSimulated: !1, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = m, e && !this.isSimulated && e.preventDefault();}, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = m, e && !this.isSimulated && e.stopPropagation();}, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = m, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() }}, ce.each({mouseenter:'mouseover', mouseleave:'mouseout', pointerenter:'pointerover', pointerleave:'pointerout'}, function(e, t) { ce.event.special[e] = {delegateType: t, bindType: t, handle: function(e) { var n, i = this, r = e.relatedTarget, o = e.handleObj; return r && (r === i || ce.contains(i, r)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n }} }), ce.fn.extend({on: function(e, t, n, i) { return b(this, e, t, n, i);}, one: function(e, t, n, i) { return b(this, e, t, n, i, 1) }, off: function(e, t, n) { var i, r; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, ce(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace:i.origType, i.selector, i.handler), this; if ("object" == typeof e) { for (r in e) this.off(r, t, e[r]); return this;} return t !== !1 && "function" != typeof t || (n = t, t = void 0), n === !1 && (n = y), this.each(function() { ce.event.remove(this, e, n, t) }) }}); var $e = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, Ue = /<script|<style|<link/i, Ye = /checked\s*(?:[^=]|=\s*.checked.)/i, Ve = /^true\/(.*)/, Qe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; ce.extend({htmlPrefilter: function(e) { return e.replace($e,'<$1></$2>') }, clone: function(e, t, n) { var i, r, o, s, a = e.cloneNode(!0), u = ce.contains(e.ownerDocument, e); if (!(ae.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || ce.isXMLDoc(e))) for (s = d(a), o = d(e), i = 0, r = o.length; r > i; i++)E(o[i], s[i]); if (t) if (n) for (o = o || d(e), s = s || d(a), i = 0, r = o.length; r > i; i++)C(o[i], s[i]); else C(e, a); return s = d(a,'script'), s.length > 0 && g(s, !u && d(e,'script')), a }, cleanData: function(e) { for (var t, n, i, r = ce.event.special, o = 0; void 0 !== (n = e[o]); o++) if (Ne(n)) { if (t = n[De.expando]) { if (t.events) for (i in t.events)r[i] ? ce.event.remove(n, i):ce.removeEvent(n, i, t.handle); n[De.expando] = void 0 }n[je.expando] && (n[je.expando] = void 0) } }}), ce.fn.extend({domManip: S, detach: function(e) { return k(this, e, !0) }, remove: function(e) { return k(this, e);}, text: function(e) { return ke(this, function(e) { return void 0 === e ? ce.text(this):this.empty().each(function() { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e);}) }, null, e, arguments.length) }, append: function() { return S(this, arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = w(this, e); t.appendChild(e) } }) }, prepend: function() { return S(this, arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = w(this, e); t.insertBefore(e, t.firstChild);} });}, before: function() { return S(this, arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this);}) }, after: function() { return S(this, arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) }) }, empty: function() { for (var e, t = 0; null != (e = this[t]); t++)1 === e.nodeType && (ce.cleanData(d(e, !1)), e.textContent=''); return this;}, clone: function(e, t) { return e = null == e ? !1:e, t = null == t ? e:t, this.map(function() { return ce.clone(this, e, t);});}, html: function(e) { return ke(this, function(e) { var t = this[0] || {}, n = 0, i = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !Ue.test(e) && !Me[(Fe.exec(e) || ['',''])[1].toLowerCase()]) { e = ce.htmlPrefilter(e); try { for (;i > n; n++)t = this[n] || {}, 1 === t.nodeType && (ce.cleanData(d(t, !1)), t.innerHTML = e); t = 0 } catch (r) {} }t && this.empty().append(e) }, null, e, arguments.length);}, replaceWith: function() { var e = []; return S(this, arguments, function(t) { var n = this.parentNode; ce.inArray(this, e) < 0 && (ce.cleanData(d(this)), n && n.replaceChild(t, this));}, e);}}), ce.each({appendTo:'append', prependTo:'prepend', insertBefore:'before', insertAfter:'after', replaceAll:'replaceWith'}, function(e, t) { ce.fn[e] = function(e) { for (var n, i = [], r = ce(e), o = r.length - 1, s = 0; o >= s; s++)n = s === o ? this:this.clone(!0), ce(r[s])[t](n), ne.apply(i, n.get()); return this.pushStack(i);} }); var Ge, Je = {HTML:'block', BODY:'block'}, Ze = /^margin/, Ke = new RegExp("^(" + Oe+')(?!px)[a-z%]+$','i'), et = function(e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = n), t.getComputedStyle(e) }, tt = function(e, t, n, i) { var r, o, s = {}; for (o in t)s[o] = e.style[o], e.style[o] = t[o]; r = n.apply(e, i || []); for (o in t)e.style[o] = s[o]; return r }, nt = K.documentElement; !function() { function e() { a.style.cssText='-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%', a.innerHTML='', nt.appendChild(s); var e = n.getComputedStyle(a); t = "1%" !== e.top, o = "2px" === e.marginLeft, i = "4px" === e.width, a.style.marginRight='50%', r = "4px" === e.marginRight, nt.removeChild(s) } var t, i, r, o, s = K.createElement('div'), a = K.createElement('div'); a.style && (a.style.backgroundClip='content-box', a.cloneNode(!0).style.backgroundClip='', ae.clearCloneStyle = "content-box" === a.style.backgroundClip, s.style.cssText='border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute', s.appendChild(a), ce.extend(ae, {pixelPosition: function() { return e(), t }, boxSizingReliable: function() { return null == i && e(), i;}, pixelMarginRight: function() { return null == i && e(), r;}, reliableMarginLeft: function() { return null == i && e(), o }, reliableMarginRight: function() { var e, t = a.appendChild(K.createElement('div')); return t.style.cssText = a.style.cssText='-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0', t.style.marginRight = t.style.width='0', a.style.width='1px', nt.appendChild(s), e = !parseFloat(n.getComputedStyle(t).marginRight), nt.removeChild(s), a.removeChild(t), e }}));}(); var it = /^(none|table(?!-c[ea]).+)/, rt = {position:'absolute', visibility:'hidden', display:'block'}, ot = {letterSpacing:'0', fontWeight:'400'}, st = ['Webkit','O','Moz','ms'], at = K.createElement('div').style; ce.extend({cssHooks: {opacity: {get: function(e, t) { if (t) { var n = j(e,'opacity'); return "" === n?'1':n } }}}, cssNumber: {animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0}, cssProps: {'float':'cssFloat'}, style: function(e, t, n, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var r, o, s, a = ce.camelCase(t), u = e.style; return t = ce.cssProps[a] || (ce.cssProps[a] = L(a) || a), s = ce.cssHooks[t] || ce.cssHooks[a], void 0 === n ? s&&'get'in s && void 0 !== (r = s.get(e, !1, i)) ? r:u[t]:(o = typeof n, "string" === o && (r = He.exec(n)) && r[1] && (n = h(e, t, r), o='number'), null != n && n === n && ("number" === o && (n += r && r[3] || (ce.cssNumber[a]?'':'px')), ae.clearCloneStyle || "" !== n || 0 !== t.indexOf('background') || (u[t]='inherit'), s&&'set'in s && void 0 === (n = s.set(e, n, i)) || (u[t] = n)), void 0) } }, css: function(e, t, n, i) { var r, o, s, a = ce.camelCase(t); return t = ce.cssProps[a] || (ce.cssProps[a] = L(a) || a), s = ce.cssHooks[t] || ce.cssHooks[a], s&&'get'in s && (r = s.get(e, !0, n)), void 0 === r && (r = j(e, t, i)), "normal" === r && t in ot && (r = ot[t]), "" === n || n ? (o = parseFloat(r), n === !0 || isFinite(o) ? o || 0:r):r;}}), ce.each(['height','width'], function(e, t) { ce.cssHooks[t] = {get: function(e, n, i) { return n ? it.test(ce.css(e,'display')) && 0 === e.offsetWidth ? tt(e, rt, function() { return P(e, t, i) }):P(e, t, i):void 0 }, set: function(e, n, i) { var r, o = i && et(e), s = i && H(e, t, i, "border-box" === ce.css(e,'boxSizing', !1, o), o); return s && (r = He.exec(n)) && "px" !== (r[3]||'px') && (e.style[t] = n, n = ce.css(e, t)), O(e, n, s) }} }), ce.cssHooks.marginLeft = q(ae.reliableMarginLeft, function(e, t) { return t ? (parseFloat(j(e,'marginLeft')) || e.getBoundingClientRect().left - tt(e, {marginLeft: 0}, function() { return e.getBoundingClientRect().left;}))+'px':void 0;}), ce.cssHooks.marginRight = q(ae.reliableMarginRight, function(e, t) { return t ? tt(e, {display:'inline-block'}, j, [e,'marginRight']):void 0;}), ce.each({margin:'', padding:'', border:'Width'}, function(e, t) { ce.cssHooks[e + t] = {expand: function(n) { for (var i = 0, r = {}, o = "string" == typeof n ? n.split(' '):[n]; 4 > i; i++)r[e + Pe[i] + t] = o[i] || o[i - 2] || o[0]; return r;}}, Ze.test(e) || (ce.cssHooks[e + t].set = O);}), ce.fn.extend({css: function(e, t) { return ke(this, function(e, t, n) { var i, r, o = {}, s = 0; if (ce.isArray(t)) { for (i = et(e), r = t.length; r > s; s++)o[t[s]] = ce.css(e, t[s], !1, i); return o;} return void 0 !== n ? ce.style(e, t, n):ce.css(e, t);}, e, t, arguments.length > 1);}, show: function() { return I(this, !0) }, hide: function() { return I(this) }, toggle: function(e) { return "boolean" == typeof e ? e ? this.show():this.hide():this.each(function() { Ie(this) ? ce(this).show():ce(this).hide();}) }}), ce.Tween = R, R.prototype = {constructor: R, init: function(e, t, n, i, r, o) { this.elem = e, this.prop = n, this.easing = r || ce.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = o || (ce.cssNumber[n]?'':'px');}, cur: function() { var e = R.propHooks[this.prop]; return e && e.get ? e.get(this):R.propHooks._default.get(this);}, run: function(e) { var t, n = R.propHooks[this.prop]; return this.options.duration ? this.pos = t = ce.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration):this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this):R.propHooks._default.set(this), this;}}, R.prototype.init.prototype = R.prototype, R.propHooks = {_default: {get: function(e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop]:(t = ce.css(e.elem, e.prop,''), t && "auto" !== t ? t:0) }, set: function(e) { ce.fx.step[e.prop] ? ce.fx.step[e.prop](e):1 !== e.elem.nodeType || null == e.elem.style[ce.cssProps[e.prop]] && !ce.cssHooks[e.prop] ? e.elem[e.prop] = e.now:ce.style(e.elem, e.prop, e.now + e.unit);}}}, R.propHooks.scrollTop = R.propHooks.scrollLeft = {set: function(e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) }}, ce.easing = {linear: function(e) { return e;}, swing: function(e) { return.5 - Math.cos(e * Math.PI) / 2 }, _default:'swing'}, ce.fx = R.prototype.init, ce.fx.step = {}; var ut, ct, lt = /^(?:toggle|show|hide)$/, ft = /queueHooks$/; ce.Animation = ce.extend(z, {tweeners: {'*': [function(e, t) { var n = this.createTween(e, t); return h(n.elem, e, He.exec(t), n), n }]}, tweener: function(e, t) { ce.isFunction(e) ? (t = e, e = ['*']):e = e.match(Ee); for (var n, i = 0, r = e.length; r > i; i++)n = e[i], z.tweeners[n] = z.tweeners[n] || [], z.tweeners[n].unshift(t);}, prefilters: [W], prefilter: function(e, t) { t ? z.prefilters.unshift(e):z.prefilters.push(e) }}), ce.speed = function(e, t, n) { var i = e && "object" == typeof e ? ce.extend({}, e):{complete: n || !n && t || ce.isFunction(e) && e, duration: e, easing: n && t || t && !ce.isFunction(t) && t}; return i.duration = ce.fx.off ? 0:"number" == typeof i.duration ? i.duration:i.duration in ce.fx.speeds ? ce.fx.speeds[i.duration]:ce.fx.speeds._default, null != i.queue && i.queue !== !0 || (i.queue='fx'), i.old = i.complete, i.complete = function() { ce.isFunction(i.old) && i.old.call(this), i.queue && ce.dequeue(this, i.queue);}, i }, ce.fn.extend({fadeTo: function(e, t, n, i) { return this.filter(Ie).css('opacity', 0).show().end().animate({opacity: t}, e, n, i);}, animate: function(e, t, n, i) { var r = ce.isEmptyObject(e), o = ce.speed(t, n, i), s = function() { var t = z(this, ce.extend({}, e), o); (r || De.get(this,'finish')) && t.stop(!0) }; return s.finish = s, r || o.queue === !1 ? this.each(s):this.queue(o.queue, s);}, stop: function(e, t, n) { var i = function(e) { var t = e.stop; delete e.stop, t(n) }; return "string" != typeof e && (n = t, t = e, e = void 0), t && e !== !1 && this.queue(e||'fx', []), this.each(function() { var t = !0, r = null != e && e+'queueHooks', o = ce.timers, s = De.get(this); if (r)s[r] && s[r].stop && i(s[r]); else for (r in s)s[r] && s[r].stop && ft.test(r) && i(s[r]); for (r = o.length; r--;)o[r].elem !== this || null != e && o[r].queue !== e || (o[r].anim.stop(n), t = !1, o.splice(r, 1)); !t && n || ce.dequeue(this, e);});}, finish: function(e) { return e !== !1 && (e = e||'fx'), this.each(function() { var t, n = De.get(this), i = n[e+'queue'], r = n[e+'queueHooks'], o = ce.timers, s = i ? i.length:0; for (n.finish = !0, ce.queue(this, e, []), r && r.stop && r.stop.call(this, !0), t = o.length; t--;)o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1)); for (t = 0; s > t; t++)i[t] && i[t].finish && i[t].finish.call(this); delete n.finish;});}}), ce.each(['toggle','show','hide'], function(e, t) { var n = ce.fn[t]; ce.fn[t] = function(e, i, r) { return null == e || "boolean" == typeof e ? n.apply(this, arguments):this.animate(_(t, !0), e, i, r);} }), ce.each({slideDown: _('show'), slideUp: _('hide'), slideToggle: _('toggle'), fadeIn: {opacity:'show'}, fadeOut: {opacity:'hide'}, fadeToggle: {opacity:'toggle'}}, function(e, t) { ce.fn[e] = function(e, n, i) { return this.animate(t, e, n, i) } }), ce.timers = [], ce.fx.tick = function() { var e, t = 0, n = ce.timers; for (ut = ce.now(); t < n.length; t++)e = n[t], e() || n[t] !== e || n.splice(t--, 1); n.length || ce.fx.stop(), ut = void 0;}, ce.fx.timer = function(e) { ce.timers.push(e), e() ? ce.fx.start():ce.timers.pop();}, ce.fx.interval = 13, ce.fx.start = function() { ct || (ct = n.setInterval(ce.fx.tick, ce.fx.interval)) }, ce.fx.stop = function() { n.clearInterval(ct), ct = null }, ce.fx.speeds = {slow: 600, fast: 200, _default: 400}, ce.fn.delay = function(e, t) { return e = ce.fx ? ce.fx.speeds[e] || e:e, t = t||'fx', this.queue(t, function(t, i) { var r = n.setTimeout(t, e); i.stop = function() { n.clearTimeout(r) };}) }, function() { var e = K.createElement('input'), t = K.createElement('select'), n = t.appendChild(K.createElement('option')); e.type='checkbox', ae.checkOn = "" !== e.value, ae.optSelected = n.selected, t.disabled = !0, ae.optDisabled = !n.disabled, e = K.createElement('input'), e.value='t', e.type='radio', ae.radioValue = "t" === e.value;}(); var pt, ht = ce.expr.attrHandle; ce.fn.extend({attr: function(e, t) { return ke(this, ce.attr, e, t, arguments.length > 1);}, removeAttr: function(e) { return this.each(function() { ce.removeAttr(this, e) });}}), ce.extend({attr: function(e, t, n) { var i, r, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? ce.prop(e, t, n):(1 === o && ce.isXMLDoc(e) || (t = t.toLowerCase(), r = ce.attrHooks[t] || (ce.expr.match.bool.test(t) ? pt:void 0)), void 0 !== n ? null === n ? void ce.removeAttr(e, t):r&&'set'in r && void 0 !== (i = r.set(e, n, t)) ? i:(e.setAttribute(t, n+''), n):r&&'get'in r && null !== (i = r.get(e, t)) ? i:(i = ce.find.attr(e, t), null == i ? void 0:i)) }, attrHooks: {type: {set: function(e, t) { if (!ae.radioValue && "radio" === t && ce.nodeName(e,'input')) { var n = e.value; return e.setAttribute('type', t), n && (e.value = n), t;} }}}, removeAttr: function(e, t) { var n, i, r = 0, o = t && t.match(Ee); if (o && 1 === e.nodeType) for (;n = o[r++];)i = ce.propFix[n] || n, ce.expr.match.bool.test(n) && (e[i] = !1), e.removeAttribute(n) }}), pt = {set: function(e, t, n) { return t === !1 ? ce.removeAttr(e, n):e.setAttribute(n, n), n;}}, ce.each(ce.expr.match.bool.source.match(/\w+/g), function(e, t) { var n = ht[t] || ce.find.attr; ht[t] = function(e, t, i) { var r, o; return i || (o = ht[t], ht[t] = r, r = null != n(e, t, i) ? t.toLowerCase():null, ht[t] = o), r };}); var dt = /^(?:input|select|textarea|button)$/i, gt = /^(?:a|area)$/i; ce.fn.extend({prop: function(e, t) { return ke(this, ce.prop, e, t, arguments.length > 1) }, removeProp: function(e) { return this.each(function() { delete this[ce.propFix[e] || e] });}}), ce.extend({prop: function(e, t, n) { var i, r, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return 1 === o && ce.isXMLDoc(e) || (t = ce.propFix[t] || t, r = ce.propHooks[t]), void 0 !== n ? r&&'set'in r && void 0 !== (i = r.set(e, n, t)) ? i:e[t] = n:r&&'get'in r && null !== (i = r.get(e, t)) ? i:e[t];}, propHooks: {tabIndex: {get: function(e) { var t = ce.find.attr(e,'tabindex'); return t ? parseInt(t, 10):dt.test(e.nodeName) || gt.test(e.nodeName) && e.href ? 0:-1 }}}, propFix: {'for':'htmlFor','class':'className'}}), ae.optSelected || (ce.propHooks.selected = {get: function(e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null }, set: function(e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex);}}), ce.each(['tabIndex','readOnly','maxLength','cellSpacing','cellPadding','rowSpan','colSpan','useMap','frameBorder','contentEditable'], function() { ce.propFix[this.toLowerCase()] = this;}); var vt = /[\t\r\n\f]/g; ce.fn.extend({addClass: function(e) { var t, n, i, r, o, s, a, u = 0; if (ce.isFunction(e)) return this.each(function(t) { ce(this).addClass(e.call(this, t, X(this)));}); if ("string" == typeof e && e) for (t = e.match(Ee) || []; n = this[u++];) if (r = X(n), i = 1 === n.nodeType && (" " + r+' ').replace(vt,' ')) { for (s = 0; o = t[s++];)i.indexOf(" " + o+' ') < 0 && (i += o+' '); a = ce.trim(i), r !== a && n.setAttribute('class', a);} return this }, removeClass: function(e) { var t, n, i, r, o, s, a, u = 0; if (ce.isFunction(e)) return this.each(function(t) { ce(this).removeClass(e.call(this, t, X(this))) }); if (!arguments.length) return this.attr('class',''); if ("string" == typeof e && e) for (t = e.match(Ee) || []; n = this[u++];) if (r = X(n), i = 1 === n.nodeType && (" " + r+' ').replace(vt,' ')) { for (s = 0; o = t[s++];) for (;i.indexOf(" " + o+' ') > -1;)i = i.replace(" " + o+' ',' '); a = ce.trim(i), r !== a && n.setAttribute('class', a) } return this }, toggleClass: function(e, t) { var n = typeof e; return "boolean" == typeof t && "string" === n ? t ? this.addClass(e):this.removeClass(e):ce.isFunction(e) ? this.each(function(n) { ce(this).toggleClass(e.call(this, n, X(this), t), t) }):this.each(function() { var t, i, r, o; if ("string" === n) for (i = 0, r = ce(this), o = e.match(Ee) || []; t = o[i++];)r.hasClass(t) ? r.removeClass(t):r.addClass(t); else void 0 !== e && "boolean" !== n || (t = X(this), t && De.set(this,'__className__', t), this.setAttribute && this.setAttribute('class', t || e === !1?'':De.get(this,'__className__')||'')) }) }, hasClass: function(e) { var t, n, i = 0; for (t = " " + e+' '; n = this[i++];) if (1 === n.nodeType && (" " + X(n)+' ').replace(vt,' ').indexOf(t) > -1) return !0; return !1 }}); var mt = /\r/g, yt = /[\x20\t\r\n\f]+/g; ce.fn.extend({val: function(e) { var t, n, i, r = this[0]; { if (arguments.length) return i = ce.isFunction(e), this.each(function(n) { var r; 1 === this.nodeType && (r = i ? e.call(this, n, ce(this).val()):e, null == r ? r='':"number" == typeof r ? r+='':ce.isArray(r) && (r = ce.map(r, function(e) { return null == e?'':e + "";})), t = ce.valHooks[this.type] || ce.valHooks[this.nodeName.toLowerCase()], t&&'set'in t && void 0 !== t.set(this, r,'value') || (this.value = r));}); if (r) return t = ce.valHooks[r.type] || ce.valHooks[r.nodeName.toLowerCase()], t&&'get'in t && void 0 !== (n = t.get(r,'value')) ? n:(n = r.value, "string" == typeof n ? n.replace(mt,''):null == n?'':n) } }}), ce.extend({valHooks: {option: {get: function(e) { var t = ce.find.attr(e,'value'); return null != t ? t:ce.trim(ce.text(e)).replace(yt,' ') }}, select: {get: function(e) { for (var t, n, i = e.options, r = e.selectedIndex, o = "select-one" === e.type || 0 > r, s = o ? null:[], a = o ? r + 1:i.length, u = 0 > r ? a:o ? r:0; a > u; u++) if (n = i[u], (n.selected || u === r) && (ae.optDisabled ? !n.disabled:null === n.getAttribute('disabled')) && (!n.parentNode.disabled || !ce.nodeName(n.parentNode,'optgroup'))) { if (t = ce(n).val(), o) return t; s.push(t);} return s }, set: function(e, t) { for (var n, i, r = e.options, o = ce.makeArray(t), s = r.length; s--;)i = r[s], (i.selected = ce.inArray(ce.valHooks.option.get(i), o) > -1) && (n = !0); return n || (e.selectedIndex = -1), o }}}}), ce.each(['radio','checkbox'], function() { ce.valHooks[this] = {set: function(e, t) { return ce.isArray(t) ? e.checked = ce.inArray(ce(e).val(), t) > -1:void 0;}}, ae.checkOn || (ce.valHooks[this].get = function(e) { return null === e.getAttribute('value')?'on':e.value }) }); var xt = /^(?:focusinfocus|focusoutblur)$/; ce.extend(ce.event, {trigger: function(e, t, i, r) { var o, s, a, u, c, l, f, p = [i || K], h = se.call(e,'type') ? e.type:e, d = se.call(e,'namespace') ? e.namespace.split('.'):[]; if (s = a = i = i || K, 3 !== i.nodeType && 8 !== i.nodeType && !xt.test(h + ce.event.triggered) && (h.indexOf('.') > -1 && (d = h.split('.'), h = d.shift(), d.sort()), c = h.indexOf(':') < 0 && "on" + h, e = e[ce.expando] ? e:new ce.Event(h, "object" == typeof e && e), e.isTrigger = r ? 2:3, e.namespace = d.join('.'), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + d.join('\\.(?:.*\\.|)')+'(\\.|$)'):null, e.result = void 0, e.target || (e.target = i), t = null == t ? [e]:ce.makeArray(t, [e]), f = ce.event.special[h] || {}, r || !f.trigger || f.trigger.apply(i, t) !== !1)) { if (!r && !f.noBubble && !ce.isWindow(i)) { for (u = f.delegateType || h, xt.test(u + h) || (s = s.parentNode); s; s = s.parentNode)p.push(s), a = s; a === (i.ownerDocument || K) && p.push(a.defaultView || a.parentWindow || n) } for (o = 0; (s = p[o++]) && !e.isPropagationStopped();)e.type = o > 1 ? u:f.bindType || h, l = (De.get(s,'events') || {})[e.type] && De.get(s,'handle'), l && l.apply(s, t), l = c && s[c], l && l.apply && Ne(s) && (e.result = l.apply(s, t), e.result === !1 && e.preventDefault()); return e.type = h, r || e.isDefaultPrevented() || f._default && f._default.apply(p.pop(), t) !== !1 || !Ne(i) || c && ce.isFunction(i[h]) && !ce.isWindow(i) && (a = i[c], a && (i[c] = null), ce.event.triggered = h, i[h](), ce.event.triggered = void 0, a && (i[c] = a)), e.result } }, simulate: function(e, t, n) { var i = ce.extend(new ce.Event, n, {type: e, isSimulated: !0}); ce.event.trigger(i, null, t);}}), ce.fn.extend({trigger: function(e, t) { return this.each(function() { ce.event.trigger(e, t, this) });}, triggerHandler: function(e, t) { var n = this[0]; return n ? ce.event.trigger(e, t, n, !0):void 0 }}), ce.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(e, t) { ce.fn[t] = function(e, n) { return arguments.length > 0 ? this.on(t, null, e, n):this.trigger(t);} }), ce.fn.extend({hover: function(e, t) { return this.mouseenter(e).mouseleave(t || e) }}), ae.focusin='onfocusin'in n, ae.focusin || ce.each({focus:'focusin', blur:'focusout'}, function(e, t) { var n = function(e) { ce.event.simulate(t, e.target, ce.event.fix(e));}; ce.event.special[t] = {setup: function() { var i = this.ownerDocument || this, r = De.access(i, t); r || i.addEventListener(e, n, !0), De.access(i, t, (r || 0) + 1);}, teardown: function() { var i = this.ownerDocument || this, r = De.access(i, t) - 1; r ? De.access(i, t, r):(i.removeEventListener(e, n, !0), De.remove(i, t)) }};}); var bt = n.location, wt = ce.now(), Tt = /\?/; ce.parseJSON = function(e) { return JSON.parse(e+'') }, ce.parseXML = function(e) { var t; if (!e || "string" != typeof e) return null; try { t = (new n.DOMParser).parseFromString(e,'text/xml');} catch (i) { t = void 0 } return t && !t.getElementsByTagName('parsererror').length || ce.error("Invalid XML: " + e), t }; var At = /#.*$/, Ct = /([?&])_=[^&]*/, Et = /^(.*?):[ \t]*([^\r\n]*)$/gm, St = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, kt = /^(?:GET|HEAD)$/, Nt = /^\/\//, Dt = {}, jt = {}, qt='*/'.concat('*'), Lt = K.createElement('a'); Lt.href = bt.href, ce.extend({active: 0, lastModified: {}, etag: {}, ajaxSettings: {url: bt.href, type:'GET', isLocal: St.test(bt.protocol), global: !0, processData: !0, async: !0, contentType:'application/x-www-form-urlencoded; charset=UTF-8', accepts: {'*': qt, text:'text/plain', html:'text/html', xml:'application/xml, text/xml', json:'application/json, text/javascript'}, contents: {xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/}, responseFields: {xml:'responseXML', text:'responseText', json:'responseJSON'}, converters: {'* text': String,'text html': !0,'text json': ce.parseJSON,'text xml': ce.parseXML}, flatOptions: {url: !0, context: !0}}, ajaxSetup: function(e, t) { return t ? Y(Y(e, ce.ajaxSettings), t):Y(ce.ajaxSettings, e) }, ajaxPrefilter: $(Dt), ajaxTransport: $(jt), ajax: function(e, t) { function i(e, t, i, a) { var c, f, y, x, w, A = t; 2 !== b && (b = 2, u && n.clearTimeout(u), r = void 0, s = a||'', T.readyState = e > 0 ? 4:0, c = e >= 200 && 300 > e || 304 === e, i && (x = V(p, T, i)), x = Q(p, x, T, c), c ? (p.ifModified && (w = T.getResponseHeader('Last-Modified'), w && (ce.lastModified[o] = w), w = T.getResponseHeader('etag'), w && (ce.etag[o] = w)), 204 === e || "HEAD" === p.type ? A='nocontent':304 === e ? A='notmodified':(A = x.state, f = x.data, y = x.error, c = !y)):(y = A, !e && A || (A='error', 0 > e && (e = 0))), T.status = e, T.statusText = (t || A)+'', c ? g.resolveWith(h, [f, A, T]):g.rejectWith(h, [T, A, y]), T.statusCode(m), m = void 0, l && d.trigger(c?'ajaxSuccess':'ajaxError', [T, p, c ? f:y]), v.fireWith(h, [T, A]), l && (d.trigger('ajaxComplete', [T, p]), --ce.active || ce.event.trigger('ajaxStop'))) }"object" == typeof e && (t = e, e = void 0), t = t || {}; var r, o, s, a, u, c, l, f, p = ce.ajaxSetup({}, t), h = p.context || p, d = p.context && (h.nodeType || h.jquery) ? ce(h):ce.event, g = ce.Deferred(), v = ce.Callbacks('once memory'), m = p.statusCode || {}, y = {}, x = {}, b = 0, w='canceled', T = {readyState: 0, getResponseHeader: function(e) { var t; if (2 === b) { if (!a) for (a = {}; t = Et.exec(s);)a[t[1].toLowerCase()] = t[2]; t = a[e.toLowerCase()] } return null == t ? null:t;}, getAllResponseHeaders: function() { return 2 === b ? s:null;}, setRequestHeader: function(e, t) { var n = e.toLowerCase(); return b || (e = x[n] = x[n] || e, y[e] = t), this }, overrideMimeType: function(e) { return b || (p.mimeType = e), this }, statusCode: function(e) { var t; if (e) if (2 > b) for (t in e)m[t] = [m[t], e[t]]; else T.always(e[T.status]); return this;}, abort: function(e) { var t = e || w; return r && r.abort(t), i(0, t), this;}}; if (g.promise(T).complete = v.add, T.success = T.done, T.error = T.fail, p.url = ((e || p.url || bt.href)+'').replace(At,'').replace(Nt, bt.protocol+'//'), p.type = t.method || t.type || p.method || p.type, p.dataTypes = ce.trim(p.dataType||'*').toLowerCase().match(Ee) || [''], null == p.crossDomain) { c = K.createElement('a'); try { c.href = p.url, c.href = c.href, p.crossDomain = Lt.protocol + "//" + Lt.host != c.protocol + "//" + c.host;} catch (A) { p.crossDomain = !0 } } if (p.data && p.processData && "string" != typeof p.data && (p.data = ce.param(p.data, p.traditional)), U(Dt, p, t, T), 2 === b) return T; l = ce.event && p.global, l && 0 === ce.active++ && ce.event.trigger('ajaxStart'), p.type = p.type.toUpperCase(), p.hasContent = !kt.test(p.type), o = p.url, p.hasContent || (p.data && (o = p.url += (Tt.test(o)?'&':'?') + p.data, delete p.data), p.cache === !1 && (p.url = Ct.test(o) ? o.replace(Ct, "$1_=" + wt++):o + (Tt.test(o)?'&':'?') + "_=" + wt++)), p.ifModified && (ce.lastModified[o] && T.setRequestHeader('If-Modified-Since', ce.lastModified[o]), ce.etag[o] && T.setRequestHeader('If-None-Match', ce.etag[o])), (p.data && p.hasContent && p.contentType !== !1 || t.contentType) && T.setRequestHeader('Content-Type', p.contentType), T.setRequestHeader('Accept', p.dataTypes[0] && p.accepts[p.dataTypes[0]] ? p.accepts[p.dataTypes[0]] + ("*" !== p.dataTypes[0] ? ", " + qt+'; q=0.01':''):p.accepts['*']); for (f in p.headers)T.setRequestHeader(f, p.headers[f]); if (p.beforeSend && (p.beforeSend.call(h, T, p) === !1 || 2 === b)) return T.abort(); w='abort'; for (f in {success: 1, error: 1, complete: 1})T[f](p[f]); if (r = U(jt, p, t, T)) { if (T.readyState = 1, l && d.trigger('ajaxSend', [T, p]), 2 === b) return T; p.async && p.timeout > 0 && (u = n.setTimeout(function() { T.abort('timeout');}, p.timeout)); try { b = 1, r.send(y, i);} catch (A) { if (!(2 > b)) throw A; i(-1, A);} } else i(-1,'No Transport'); return T }, getJSON: function(e, t, n) { return ce.get(e, t, n,'json');}, getScript: function(e, t) { return ce.get(e, void 0, t,'script');}}), ce.each(['get','post'], function(e, t) { ce[t] = function(e, n, i, r) { return ce.isFunction(n) && (r = r || i, i = n, n = void 0), ce.ajax(ce.extend({url: e, type: t, dataType: r, data: n, success: i}, ce.isPlainObject(e) && e));} }), ce._evalUrl = function(e) { return ce.ajax({url: e, type:'GET', dataType:'script', async: !1, global: !1,'throws': !0}) }, ce.fn.extend({wrapAll: function(e) { var t; return ce.isFunction(e) ? this.each(function(t) { ce(this).wrapAll(e.call(this, t));}):(this[0] && (t = ce(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() { for (var e = this; e.firstElementChild;)e = e.firstElementChild; return e;}).append(this)), this);}, wrapInner: function(e) { return ce.isFunction(e) ? this.each(function(t) { ce(this).wrapInner(e.call(this, t)) }):this.each(function() { var t = ce(this), n = t.contents(); n.length ? n.wrapAll(e):t.append(e) }) }, wrap: function(e) { var t = ce.isFunction(e); return this.each(function(n) { ce(this).wrapAll(t ? e.call(this, n):e) }) }, unwrap: function() { return this.parent().each(function() { ce.nodeName(this,'body') || ce(this).replaceWith(this.childNodes) }).end();}}), ce.expr.filters.hidden = function(e) { return !ce.expr.filters.visible(e);}, ce.expr.filters.visible = function(e) { return e.offsetWidth > 0 || e.offsetHeight > 0 || e.getClientRects().length > 0;}; var Ot = /%20/g, Ht = /\[\]$/, Pt = /\r?\n/g, It = /^(?:submit|button|image|reset|file)$/i, Rt = /^(?:input|select|textarea|keygen)/i; ce.param = function(e, t) { var n, i = [], r = function(e, t) { t = ce.isFunction(t) ? t():null == t?'':t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t);}; if (void 0 === t && (t = ce.ajaxSettings && ce.ajaxSettings.traditional), ce.isArray(e) || e.jquery && !ce.isPlainObject(e))ce.each(e, function() { r(this.name, this.value);}); else for (n in e)G(n, e[n], t, r); return i.join('&').replace(Ot,'+') }, ce.fn.extend({serialize: function() { return ce.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { var e = ce.prop(this,'elements'); return e ? ce.makeArray(e):this;}).filter(function() { var e = this.type; return this.name && !ce(this).is(':disabled') && Rt.test(this.nodeName) && !It.test(e) && (this.checked || !Re.test(e)) }).map(function(e, t) { var n = ce(this).val(); return null == n ? null:ce.isArray(n) ? ce.map(n, function(e) { return {name: t.name, value: e.replace(Pt,'\r\n')};}):{name: t.name, value: n.replace(Pt,'\r\n')} }).get() }}), ce.ajaxSettings.xhr = function() { try { return new n.XMLHttpRequest;} catch (e) {} }; var Ft = {0: 200, 1223: 204}, _t = ce.ajaxSettings.xhr(); ae.cors = !!_t&&'withCredentials'in _t, ae.ajax = _t = !!_t, ce.ajaxTransport(function(e) { var t, i; return ae.cors || _t && !e.crossDomain ? {send: function(r, o) { var s, a = e.xhr(); if (a.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (s in e.xhrFields)a[s] = e.xhrFields[s]; e.mimeType && a.overrideMimeType && a.overrideMimeType(e.mimeType),
e.crossDomain || r['X-Requested-With'] || (r['X-Requested-With']='XMLHttpRequest'); for (s in r)a.setRequestHeader(s, r[s]); t = function(e) { return function() { t && (t = i = a.onload = a.onerror = a.onabort = a.onreadystatechange = null, "abort" === e ? a.abort():"error" === e ? "number" != typeof a.status ? o(0,'error'):o(a.status, a.statusText):o(Ft[a.status] || a.status, a.statusText, "text" !== (a.responseType||'text') || "string" != typeof a.responseText ? {binary: a.response}:{text: a.responseText}, a.getAllResponseHeaders()));};}, a.onload = t(), i = a.onerror = t('error'), void 0 !== a.onabort ? a.onabort = i:a.onreadystatechange = function() { 4 === a.readyState && n.setTimeout(function() { t && i();}) }, t = t('abort'); try { a.send(e.hasContent && e.data || null);} catch (u) { if (t) throw u;} }, abort: function() { t && t();}}:void 0 }), ce.ajaxSetup({accepts: {script:'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'}, contents: {script: /\b(?:java|ecma)script\b/}, converters: {'text script': function(e) { return ce.globalEval(e), e;}}}), ce.ajaxPrefilter('script', function(e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type='GET');}), ce.ajaxTransport('script', function(e) { if (e.crossDomain) { var t, n; return {send: function(i, r) { t = ce('<script>').prop({charset: e.scriptCharset, src: e.url}).on('load error', n = function(e) { t.remove(), n = null, e && r("error" === e.type ? 404:200, e.type) }), K.head.appendChild(t[0]);}, abort: function() { n && n() }} } }); var Mt = [], Wt = /(=)\?(?=&|$)|\?\?/; ce.ajaxSetup({jsonp:'callback', jsonpCallback: function() { var e = Mt.pop() || ce.expando + "_" + wt++; return this[e] = !0, e;}}), ce.ajaxPrefilter('json jsonp', function(e, t, i) { var r, o, s, a = e.jsonp !== !1 && (Wt.test(e.url)?'url':"string" == typeof e.data && 0 === (e.contentType||'').indexOf('application/x-www-form-urlencoded') && Wt.test(e.data)&&'data'); return a || "jsonp" === e.dataTypes[0] ? (r = e.jsonpCallback = ce.isFunction(e.jsonpCallback) ? e.jsonpCallback():e.jsonpCallback, a ? e[a] = e[a].replace(Wt, "$1" + r):e.jsonp !== !1 && (e.url += (Tt.test(e.url)?'&':'?') + e.jsonp + "=" + r), e.converters['script json'] = function() { return s || ce.error(r+' was not called'), s[0] }, e.dataTypes[0]='json', o = n[r], n[r] = function() { s = arguments }, i.always(function() { void 0 === o ? ce(n).removeProp(r):n[r] = o, e[r] && (e.jsonpCallback = t.jsonpCallback, Mt.push(r)), s && ce.isFunction(o) && o(s[0]), s = o = void 0;}),'script'):void 0 }), ce.parseHTML = function(e, t, n) { if (!e || "string" != typeof e) return null; "boolean" == typeof t && (n = t, t = !1), t = t || K; var i = ye.exec(e), r = !n && []; return i ? [t.createElement(i[1])]:(i = v([e], t, r), r && r.length && ce(r).remove(), ce.merge([], i.childNodes));}; var Bt = ce.fn.load; ce.fn.load = function(e, t, n) { if ("string" != typeof e && Bt) return Bt.apply(this, arguments); var i, r, o, s = this, a = e.indexOf(' '); return a > -1 && (i = ce.trim(e.slice(a)), e = e.slice(0, a)), ce.isFunction(t) ? (n = t, t = void 0):t && "object" == typeof t && (r='POST'), s.length > 0 && ce.ajax({url: e, type: r||'GET', dataType:'html', data: t}).done(function(e) { o = arguments, s.html(i ? ce('<div>').append(ce.parseHTML(e)).find(i):e) }).always(n && function(e, t) { s.each(function() { n.apply(this, o || [e.responseText, t, e]);});}), this }, ce.each(['ajaxStart','ajaxStop','ajaxComplete','ajaxError','ajaxSuccess','ajaxSend'], function(e, t) { ce.fn[t] = function(e) { return this.on(t, e) };}), ce.expr.filters.animated = function(e) { return ce.grep(ce.timers, function(t) { return e === t.elem;}).length }, ce.offset = {setOffset: function(e, t, n) { var i, r, o, s, a, u, c, l = ce.css(e,'position'), f = ce(e), p = {}; "static" === l && (e.style.position='relative'), a = f.offset(), o = ce.css(e,'top'), u = ce.css(e,'left'), c = ("absolute" === l || "fixed" === l) && (o + u).indexOf('auto') > -1, c ? (i = f.position(), s = i.top, r = i.left):(s = parseFloat(o) || 0, r = parseFloat(u) || 0), ce.isFunction(t) && (t = t.call(e, n, ce.extend({}, a))), null != t.top && (p.top = t.top - a.top + s), null != t.left && (p.left = t.left - a.left + r),'using'in t ? t.using.call(e, p):f.css(p) }}, ce.fn.extend({offset: function(e) { if (arguments.length) return void 0 === e ? this:this.each(function(t) { ce.offset.setOffset(this, e, t);}); var t, n, i = this[0], r = {top: 0, left: 0}, o = i && i.ownerDocument; if (o) return t = o.documentElement, ce.contains(t, i) ? (r = i.getBoundingClientRect(), n = J(o), {top: r.top + n.pageYOffset - t.clientTop, left: r.left + n.pageXOffset - t.clientLeft}):r }, position: function() { if (this[0]) { var e, t, n = this[0], i = {top: 0, left: 0}; return "fixed" === ce.css(n,'position') ? t = n.getBoundingClientRect():(e = this.offsetParent(), t = this.offset(), ce.nodeName(e[0],'html') || (i = e.offset()), i.top += ce.css(e[0],'borderTopWidth', !0), i.left += ce.css(e[0],'borderLeftWidth', !0)), {top: t.top - i.top - ce.css(n,'marginTop', !0), left: t.left - i.left - ce.css(n,'marginLeft', !0)};} }, offsetParent: function() { return this.map(function() { for (var e = this.offsetParent; e && "static" === ce.css(e,'position');)e = e.offsetParent; return e || nt });}}), ce.each({scrollLeft:'pageXOffset', scrollTop:'pageYOffset'}, function(e, t) { var n = "pageYOffset" === t; ce.fn[e] = function(i) { return ke(this, function(e, i, r) { var o = J(e); return void 0 === r ? o ? o[t]:e[i]:void(o ? o.scrollTo(n ? o.pageXOffset:r, n ? r:o.pageYOffset):e[i] = r) }, e, i, arguments.length) } }), ce.each(['top','left'], function(e, t) { ce.cssHooks[t] = q(ae.pixelPosition, function(e, n) { return n ? (n = j(e, t), Ke.test(n) ? ce(e).position()[t]+'px':n):void 0;});}), ce.each({Height:'height', Width:'width'}, function(e, t) { ce.each({padding: "inner" + e, content: t,'': "outer" + e}, function(n, i) { ce.fn[i] = function(i, r) { var o = arguments.length && (n || "boolean" != typeof i), s = n || (i === !0 || r === !0?'margin':'border'); return ke(this, function(t, n, i) { var r; return ce.isWindow(t) ? t.document.documentElement["client" + e]:9 === t.nodeType ? (r = t.documentElement, Math.max(t.body["scroll" + e], r["scroll" + e], t.body["offset" + e], r["offset" + e], r["client" + e])):void 0 === i ? ce.css(t, n, s):ce.style(t, n, i, s);}, t, o ? i:void 0, o, null);};}) }), ce.fn.extend({bind: function(e, t, n) { return this.on(e, null, t, n);}, unbind: function(e, t) { return this.off(e, null, t);}, delegate: function(e, t, n, i) { return this.on(t, e, n, i);}, undelegate: function(e, t, n) { return 1 === arguments.length ? this.off(e,'**'):this.off(t, e||'**', n);}, size: function() { return this.length }}), ce.fn.andSelf = ce.fn.addBack, i = [], r = function() { return ce }.apply(t, i), !(void 0 !== r && (e.exports = r)); var zt = n.jQuery, Xt = n.$; return ce.noConflict = function(e) { return n.$ === ce && (n.$ = Xt), e && n.jQuery === ce && (n.jQuery = zt), ce }, o || (n.jQuery = n.$ = ce), ce });},, function(e, t, n) { var i = n(2); n(5), e.exports = function(e, t) { var n, r = {effect:'fadeIn', effect_speed: 10, placeholder:'data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==', skip_invisible: !1}, o = arguments.length; !function() { switch (o) { case 0:n = i('img.lazy'); break; case 1:e instanceof i ? n = e:(n = i('img.lazy'), i.extend(r, e)); break; case 2:n = e, r = i.extend(r, t) } }(), n.lazyload(r);};}, function(e, t, n) { var i = n(2); !function(e, t, n, i) { var r = e(t); e.fn.lazyload = function(o) { function s() { var t = 0; u.each(function() { var n = e(this); if (!c.skip_invisible || n.is(':visible')) if (e.abovethetop(this, c) || e.leftofbegin(this, c))else if (e.belowthefold(this, c) || e.rightoffold(this, c)) { if (++t > c.failure_limit) return !1;} else n.trigger('appear'), t = 0 }) } var a, u = this, c = {threshold: 0, failure_limit: 0, event:'scroll', effect:'show', container: t, data_attribute:'original', skip_invisible: !0, appear: null, load: null, yasPath:'/web/', yasImgDomain:'http://analytics.yhurl.com/yas.gif', placeholder:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC', try_again_css: null}; return o && (i !== o.failurelimit && (o.failure_limit = o.failurelimit, delete o.failurelimit), i !== o.effectspeed && (o.effect_speed = o.effectspeed, delete o.effectspeed), e.extend(c, o)), a = c.container === i || c.container === t ? r:e(c.container), 0 === c.event.indexOf('scroll') && a.bind(c.event, function() { return s() }), this.each(function() { var t = this, n = e(t); t.loaded = !1, n.attr('src') !== i && n.attr('src') !== !1 && "" !== n.attr('src') || n.is('img') && n.attr('src', c.placeholder), n.one('appear', function() { if (n.timerid && clearTimeout(n.timerid), !this.loaded) { if (c.appear) { var i = u.length; c.appear.call(t, i, c) }e('<img />').bind('error abort', function() { n.attr('src', c.placeholder), o({info:'error'}) }).bind('load', function() { if (!n.loadtimeout) { clearTimeout(n.timerid), n.attr('pfmrpt'); var i = n.attr("data-" + c.data_attribute); n.hide(), n.is('img') ? n.attr('src', i):n.css('background-image', "url('" + i+'\')'), n[c.effect](c.effect_speed), t.loaded = !0; var r = e.grep(u, function(e) { return !e.loaded;}); if (u = e(r), c.load) { var o = u.length; c.load.call(t, o, c) } } }).attr('src', n.attr("data-" + c.data_attribute)), n.src = n.attr("data-" + c.data_attribute), n.attr('pfmrpt') && _yas && _yas.add; var r = function(e) { n.loadtimeout = !0, n.attr('pfmrpt') && _yas && _yas.add && e.info, n.attr('src',''), setTimeout(function() { n.attr('src', n.src);}, 50) }, o = function(t) { n.loadtimeout = !0, n.attr('pfmrpt') && _yas && _yas.add && t.info; var i = n.width(), o = n.height(); if (c.try_again_css) var s = e("<div class=" + c.try_again_css + " style='width:" + i + "px;height:" + o+'px;\'></div>'); else var s = e("<div style='background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC) ;text-align: center;position:relative;width:" + i + "px;height:" + o+'px;background-size:100%;\'>加载失败</div>'); s.addClass(n.attr('class')), n.replaceWith(s), n.timerid = setTimeout(r, 5e3);};} }), 0 !== c.event.indexOf('scroll') && n.bind(c.event, function() { t.loaded || n.trigger('appear');}) }), r.bind('resize', function() { s();}), /(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion) && r.bind('pageshow', function(t) { t.originalEvent && t.originalEvent.persisted && u.each(function() { e(this).trigger('appear');}) }), e(n).ready(function() { s() }), this }, e.belowthefold = function(n, o) { var s; return s = o.container === i || o.container === t ? (t.innerHeight ? t.innerHeight:r.height()) + r.scrollTop():e(o.container).offset().top + e(o.container).height(), s <= e(n).offset().top - o.threshold }, e.rightoffold = function(n, o) { var s; return s = o.container === i || o.container === t ? r.width() + r.scrollLeft():e(o.container).offset().left + e(o.container).width(), s <= e(n).offset().left - o.threshold;}, e.abovethetop = function(n, o) { var s; return s = o.container === i || o.container === t ? r.scrollTop():e(o.container).offset().top, s >= e(n).offset().top + o.threshold + e(n).height() }, e.leftofbegin = function(n, o) { var s; return s = o.container === i || o.container === t ? r.scrollLeft():e(o.container).offset().left, s >= e(n).offset().left + o.threshold + e(n).width();}, e.inviewport = function(t, n) { return !(e.rightoffold(t, n) || e.leftofbegin(t, n) || e.belowthefold(t, n) || e.abovethetop(t, n));};}(i, window, document) },,, function(e, t, n) { function i(e) { var t, n, i = document.cookie; return document.cookie && "" !== document.cookie && (n = i.indexOf(e+'='), n > -1 && (n += e.length + 1, t = decodeURIComponent(h.trim(i.substring(n, i.indexOf(';', n)))))), t;} function r(e, t, n) { var i, r, o, s, a=''; "undefined" != typeof t && (n = n || {}, null === t && (t='', n.expires = -1), n.expires && ("number" == typeof n.expires || n.expires.toUTCString) && ("number" == typeof n.expires ? (s = new Date, s.setTime(s.getTime() + 24 * n.expires * 60 * 60 * 1e3)):s = n.expires, a = "; expires=" + s.toUTCString()), i = n.path ? "; path=" + n.path:'', r = n.domain ? "; domain=" + n.domain:'', o = n.secure?'; secure':'', document.cookie = [e,'=', encodeURIComponent(t), a, i, r, o].join('')) } function o() { var e = !!navigator.cookieEnabled; return "undefined" != typeof navigator.cookieEnabled || e || (document.cookie='testcookie', e = -1 !== document.cookie.indexOf('testcookie')), e;} function s() { var e, t = i('_UID'); return "undefined" == typeof t ? 0:(e = t.split('::'), "undefined" == typeof e || e.length < 4 ? 0:e) } function a() { var e = s(); return 0 === e ? 0:e[1];} function u() { var e = i('_g'); return "undefined" == typeof e?'':JSON.parse(e).k;} function c() { var e; 0 !== g.length && (e = Math.min(h(window).height(), window.screen.availHeight), h('body').height() <= e - parseInt(g.css('height'), 0) ? g.addClass('bottom'):g.removeClass('bottom')) } function l(e) { var t = h(e).outerHeight(); e && g.css('margin-bottom', t+'px');} function f() { var e, t, n = [], i = window.location.search.slice(1).split('&'); for (t = 0; t < i.length; t++)e = i[t].split('='), n.push(e[0]), n[e[0]] = e[1]; return n;} function p(e) { return e.replace(/(\d{3})\d{4}(\d{4})/,'$1****$2') } var h = n(2), d = n(9), g = h('#yoho-footer'), v = h('.yoho-page'), m = h('.yoho-header'); !function() { var e, t = g.children('.op-row'), n = h('.back-to-top'), i = s(); c(), 0 === i ? t.prepend('<a href="http://m.yohobuy.com/signin.html?refer=' + location.href + '">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'):t.prepend('<span>Hi,</span><a class="user-name" href="http://m.yohobuy.com/home?tmp=' + Math.random() + '">' + i[0] + '</a><a href="http://m.yohobuy.com/passport/signout/index">退出</a>'), n.length > 0 && (e = new d(n[0]), e.on('tap', function(e) { return h(window).scrollTop(0), e.srcEvent.preventDefault(), !1 })), g.removeClass('hide') }(), function(e, t, n, i, r) { var o = t.createElement(n), s = t.getElementsByTagName(n)[0]; e.YohoAcquisitionObject = r, e[r] = function() { e[r].p = arguments;}, o.async = 1, o.src = i, s.parentNode.insertBefore(o, s) }(window, document,'script','http://cdn.yoho.cn/yas-jssdk/1.0.14/yas.js','_yas'), function() { var e = a(); e = 0 === e?'':e, window._ozuid = e, window._yas && window._yas(1 * new Date,'1.0.14','yohobuy_m', e,'','') }(), m.on('touchstart','a', function() { m.find('a').removeClass('highlight'), h(this).addClass('highlight') }).on('touchend touchcancel','a', function() { h(this).removeClass('highlight') }), v.on('touchstart','.tap-hightlight', function() { h(this).siblings('.tap-hightlight').removeClass('highlight'), h(this).addClass('highlight');}).on('touchend touchcancel','.tap-hightlight', function() { h(this).removeClass('highlight');}), h('.nav-home').on('touchstart', function() { h('.homebuttom').toggleClass('hide');}), function() { var e, t, n = 0, i='webkit moz ms o'.split(' '), r = window.requestAnimationFrame, o = window.cancelAnimationFrame; for (t = 0; t < i.length && (!r || !o); t++)e = i[t], r = r || window[e+'RequestAnimationFrame'], o = o || window[e+'CancelAnimationFrame'] || window[e+'CancelRequestAnimationFrame']; r && o || (r = function(e) { var t = (new Date).getTime(), i = Math.max(0, 16 - (t - n)), r = window.setTimeout(function() { e(t + i);}, i); return n = t + i, r;}, o = function(e) { window.clearTimeout(e);}), window.requestAnimationFrame = r, window.cancelAnimationFrame = o }(), h.extend({queryString: f}), 11 === g.find('.user-name').text().length && g.find('.user-name').html(p(g.find('.user-name').text())), window.cookie = i, window.setCookie = r, window.isCookiesEnabled = o, window.getUser = s, window.getUid = a, window.getShoppingKey = u, window.rePosFooter = c, window.reMarginFooter = l, window.queryString = f() }, function(e, t, n) { var i;/* ! Hammer.JS - v2.0.7 - 2016-04-22
	 * http://hammerjs.github.io/
	 *
	 * Copyright (c) 2016 Jorik Tangelder;
	 * Licensed under the MIT license */
    !function(r, o, s, a) {'use strict'; function u(e, t, n) { return setTimeout(h(e, n), t);} function c(e, t, n) { return Array.isArray(e) ? (l(e, n[t], n), !0):!1 } function l(e, t, n) { var i; if (e) if (e.forEach)e.forEach(t, n); else if (e.length !== a) for (i = 0; i < e.length;)t.call(n, e[i], i, e), i++; else for (i in e)e.hasOwnProperty(i) && t.call(n, e[i], i, e);} function f(e, t, n) { var i = "DEPRECATED METHOD: " + t + "\n" + n+' AT \n'; return function() { var t = new Error('get-stack-trace'), n = t && t.stack ? t.stack.replace(/^[^\(]+?[\n$]/gm,'').replace(/^\s+at\s+/gm,'').replace(/^Object.<anonymous>\s*\(/gm,'{anonymous}()@'):'Unknown Stack Trace', o = r.console && (r.console.warn || r.console.log); return o && o.call(r.console, i, n), e.apply(this, arguments);} } function p(e, t, n) { var i, r = t.prototype; i = e.prototype = Object.create(r), i.constructor = e, i._super = r, n && ge(i, n);} function h(e, t) { return function() { return e.apply(t, arguments);} } function d(e, t) { return typeof e == ye ? e.apply(t ? t[0] || a:a, t):e;} function g(e, t) { return e === a ? t:e;} function v(e, t, n) { l(b(t), function(t) { e.addEventListener(t, n, !1) });} function m(e, t, n) { l(b(t), function(t) { e.removeEventListener(t, n, !1) });} function y(e, t) { for (;e;) { if (e == t) return !0; e = e.parentNode;} return !1;} function x(e, t) { return e.indexOf(t) > -1 } function b(e) { return e.trim().split(/\s+/g);} function w(e, t, n) { if (e.indexOf && !n) return e.indexOf(t); for (var i = 0; i < e.length;) { if (n && e[i][n] == t || !n && e[i] === t) return i; i++;} return -1;} function T(e) { return Array.prototype.slice.call(e, 0) } function A(e, t, n) { for (var i = [], r = [], o = 0; o < e.length;) { var s = t ? e[o][t]:e[o]; w(r, s) < 0 && i.push(e[o]), r[o] = s, o++ } return n && (i = t ? i.sort(function(e, n) { return e[t] > n[t];}):i.sort()), i } function C(e, t) { for (var n, i, r = t[0].toUpperCase() + t.slice(1), o = 0; o < ve.length;) { if (n = ve[o], i = n ? n + r:t, i in e) return i; o++ } return a;} function E() { return Ce++ } function S(e) { var t = e.ownerDocument || e; return t.defaultView || t.parentWindow || r } function k(e, t) { var n = this; this.manager = e, this.callback = t, this.element = e.element, this.target = e.options.inputTarget, this.domHandler = function(t) { d(e.options.enable, [e]) && n.handler(t) }, this.init();} function N(e) { var t, n = e.options.inputClass; return new(t = n ? n:ke ? B:Ne ? $:Se ? Y:W)(e, D);} function D(e, t, n) { var i = n.pointers.length, r = n.changedPointers.length, o = t & He && i - r === 0, s = t & (Ie | Re) && i - r === 0; n.isFirst = !!o, n.isFinal = !!s, o && (e.session = {}), n.eventType = t, j(e, n), e.emit('hammer.input', n), e.recognize(n), e.session.prevInput = n } function j(e, t) { var n = e.session, i = t.pointers, r = i.length; n.firstInput || (n.firstInput = O(t)), r > 1 && !n.firstMultiple ? n.firstMultiple = O(t):1 === r && (n.firstMultiple = !1); var o = n.firstInput, s = n.firstMultiple, a = s ? s.center:o.center, u = t.center = H(i); t.timeStamp = we(), t.deltaTime = t.timeStamp - o.timeStamp, t.angle = F(a, u), t.distance = R(a, u), q(n, t), t.offsetDirection = I(t.deltaX, t.deltaY); var c = P(t.deltaTime, t.deltaX, t.deltaY); t.overallVelocityX = c.x, t.overallVelocityY = c.y, t.overallVelocity = be(c.x) > be(c.y) ? c.x:c.y, t.scale = s ? M(s.pointers, i):1, t.rotation = s ? _(s.pointers, i):0, t.maxPointers = n.prevInput ? t.pointers.length > n.prevInput.maxPointers ? t.pointers.length:n.prevInput.maxPointers:t.pointers.length, L(n, t); var l = e.element; y(t.srcEvent.target, l) && (l = t.srcEvent.target), t.target = l } function q(e, t) { var n = t.center, i = e.offsetDelta || {}, r = e.prevDelta || {}, o = e.prevInput || {}; t.eventType !== He && o.eventType !== Ie || (r = e.prevDelta = {x: o.deltaX || 0, y: o.deltaY || 0}, i = e.offsetDelta = {x: n.x, y: n.y}), t.deltaX = r.x + (n.x - i.x), t.deltaY = r.y + (n.y - i.y);} function L(e, t) { var n, i, r, o, s = e.lastInterval || t, u = t.timeStamp - s.timeStamp; if (t.eventType != Re && (u > Oe || s.velocity === a)) { var c = t.deltaX - s.deltaX, l = t.deltaY - s.deltaY, f = P(u, c, l); i = f.x, r = f.y, n = be(f.x) > be(f.y) ? f.x:f.y, o = I(c, l), e.lastInterval = t;} else n = s.velocity, i = s.velocityX, r = s.velocityY, o = s.direction; t.velocity = n, t.velocityX = i, t.velocityY = r, t.direction = o } function O(e) { for (var t = [], n = 0; n < e.pointers.length;)t[n] = {clientX: xe(e.pointers[n].clientX), clientY: xe(e.pointers[n].clientY)}, n++; return {timeStamp: we(), pointers: t, center: H(t), deltaX: e.deltaX, deltaY: e.deltaY};} function H(e) { var t = e.length; if (1 === t) return {x: xe(e[0].clientX), y: xe(e[0].clientY)}; for (var n = 0, i = 0, r = 0; t > r;)n += e[r].clientX, i += e[r].clientY, r++; return {x: xe(n / t), y: xe(i / t)};} function P(e, t, n) { return {x: t / e || 0, y: n / e || 0};} function I(e, t) { return e === t ? Fe:be(e) >= be(t) ? 0 > e ? _e:Me:0 > t ? We:Be } function R(e, t, n) { n || (n = Ue); var i = t[n[0]] - e[n[0]], r = t[n[1]] - e[n[1]]; return Math.sqrt(i * i + r * r) } function F(e, t, n) { n || (n = Ue); var i = t[n[0]] - e[n[0]], r = t[n[1]] - e[n[1]]; return 180 * Math.atan2(r, i) / Math.PI } function _(e, t) { return F(t[1], t[0], Ye) + F(e[1], e[0], Ye) } function M(e, t) { return R(t[0], t[1], Ye) / R(e[0], e[1], Ye);} function W() { this.evEl = Qe, this.evWin = Ge, this.pressed = !1, k.apply(this, arguments);} function B() { this.evEl = Ke, this.evWin = et, k.apply(this, arguments), this.store = this.manager.session.pointerEvents = [] } function z() { this.evTarget = nt, this.evWin = it, this.started = !1, k.apply(this, arguments);} function X(e, t) { var n = T(e.touches), i = T(e.changedTouches); return t & (Ie | Re) && (n = A(n.concat(i),'identifier', !0)), [n, i] } function $() { this.evTarget = ot, this.targetIds = {}, k.apply(this, arguments);} function U(e, t) { var n = T(e.touches), i = this.targetIds; if (t & (He | Pe) && 1 === n.length) return i[n[0].identifier] = !0, [n, n]; var r, o, s = T(e.changedTouches), a = [], u = this.target; if (o = n.filter(function(e) { return y(e.target, u) }), t === He) for (r = 0; r < o.length;)i[o[r].identifier] = !0, r++; for (r = 0; r < s.length;)i[s[r].identifier] && a.push(s[r]), t & (Ie | Re) && delete i[s[r].identifier], r++; return a.length ? [A(o.concat(a),'identifier', !0), a]:void 0 } function Y() { k.apply(this, arguments); var e = h(this.handler, this); this.touch = new $(this.manager, e), this.mouse = new W(this.manager, e), this.primaryTouch = null, this.lastTouches = [];} function V(e, t) { e & He ? (this.primaryTouch = t.changedPointers[0].identifier, Q.call(this, t)):e & (Ie | Re) && Q.call(this, t) } function Q(e) { var t = e.changedPointers[0]; if (t.identifier === this.primaryTouch) { var n = {x: t.clientX, y: t.clientY}; this.lastTouches.push(n); var i = this.lastTouches, r = function() { var e = i.indexOf(n); e > -1 && i.splice(e, 1) }; setTimeout(r, st) } } function G(e) { for (var t = e.srcEvent.clientX, n = e.srcEvent.clientY, i = 0; i < this.lastTouches.length; i++) { var r = this.lastTouches[i], o = Math.abs(t - r.x), s = Math.abs(n - r.y); if (at >= o && at >= s) return !0;} return !1;} function J(e, t) { this.manager = e, this.set(t) } function Z(e) { if (x(e, ht)) return ht; var t = x(e, dt), n = x(e, gt); return t && n ? ht:t || n ? t ? dt:gt:x(e, pt) ? pt:ft;} function K() { if (!ct) return !1; var e = {}, t = r.CSS && r.CSS.supports; return ['auto','manipulation','pan-y','pan-x','pan-x pan-y','none'].forEach(function(n) { e[n] = t ? r.CSS.supports('touch-action', n):!0;}), e;} function ee(e) { this.options = ge({}, this.defaults, e || {}), this.id = E(), this.manager = null, this.options.enable = g(this.options.enable, !0), this.state = mt, this.simultaneous = {}, this.requireFail = [] } function te(e) { return e & Tt?'cancel':e & bt?'end':e & xt?'move':e & yt?'start':"" } function ne(e) { return e == Be?'down':e == We?'up':e == _e?'left':e == Me?'right':"";} function ie(e, t) { var n = t.manager; return n ? n.get(e):e } function re() { ee.apply(this, arguments);} function oe() { re.apply(this, arguments), this.pX = null, this.pY = null } function se() { re.apply(this, arguments);} function ae() { ee.apply(this, arguments), this._timer = null, this._input = null } function ue() { re.apply(this, arguments);} function ce() { re.apply(this, arguments);} function le() { ee.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0;} function fe(e, t) { return t = t || {}, t.recognizers = g(t.recognizers, fe.defaults.preset), new pe(e, t);} function pe(e, t) { this.options = ge({}, fe.defaults, t || {}), this.options.inputTarget = this.options.inputTarget || e, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = e, this.input = N(this), this.touchAction = new J(this, this.options.touchAction), he(this, !0), l(this.options.recognizers, function(e) { var t = this.add(new e[0](e[1])); e[2] && t.recognizeWith(e[2]), e[3] && t.requireFailure(e[3]) }, this) } function he(e, t) { var n = e.element; if (n.style) { var i; l(e.options.cssProps, function(r, o) { i = C(n.style, o), t ? (e.oldCssProps[i] = n.style[i], n.style[i] = r):n.style[i] = e.oldCssProps[i] || "";}), t || (e.oldCssProps = {});} } function de(e, t) { var n = o.createEvent('Event'); n.initEvent(e, !0, !0), n.gesture = t, t.target.dispatchEvent(n);} var ge, ve = ['','webkit','Moz','MS','ms','o'], me = o.createElement('div'), ye='function', xe = Math.round, be = Math.abs, we = Date.now; ge = "function" != typeof Object.assign ? function(e) { if (e === a || null === e) throw new TypeError('Cannot convert undefined or null to object'); for (var t = Object(e), n = 1; n < arguments.length; n++) { var i = arguments[n]; if (i !== a && null !== i) for (var r in i)i.hasOwnProperty(r) && (t[r] = i[r]) } return t }:Object.assign; var Te = f(function(e, t, n) { for (var i = Object.keys(t), r = 0; r < i.length;)(!n || n && e[i[r]] === a) && (e[i[r]] = t[i[r]]), r++; return e;},'extend','Use `assign`.'), Ae = f(function(e, t) { return Te(e, t, !0) },'merge','Use `assign`.'), Ce = 1, Ee = /mobile|tablet|ip(ad|hone|od)|android/i, Se='ontouchstart'in r, ke = C(r,'PointerEvent') !== a, Ne = Se && Ee.test(navigator.userAgent), De='touch', je='pen', qe='mouse', Le='kinect', Oe = 25, He = 1, Pe = 2, Ie = 4, Re = 8, Fe = 1, _e = 2, Me = 4, We = 8, Be = 16, ze = _e | Me, Xe = We | Be, $e = ze | Xe, Ue = ['x','y'], Ye = ['clientX','clientY']; k.prototype = {handler: function() {}, init: function() { this.evEl && v(this.element, this.evEl, this.domHandler), this.evTarget && v(this.target, this.evTarget, this.domHandler), this.evWin && v(S(this.element), this.evWin, this.domHandler) }, destroy: function() { this.evEl && m(this.element, this.evEl, this.domHandler), this.evTarget && m(this.target, this.evTarget, this.domHandler), this.evWin && m(S(this.element), this.evWin, this.domHandler);}}; var Ve = {mousedown: He, mousemove: Pe, mouseup: Ie}, Qe='mousedown', Ge='mousemove mouseup'; p(W, k, {handler: function(e) { var t = Ve[e.type]; t & He && 0 === e.button && (this.pressed = !0), t & Pe && 1 !== e.which && (t = Ie), this.pressed && (t & Ie && (this.pressed = !1), this.callback(this.manager, t, {pointers: [e], changedPointers: [e], pointerType: qe, srcEvent: e}));}}); var Je = {pointerdown: He, pointermove: Pe, pointerup: Ie, pointercancel: Re, pointerout: Re}, Ze = {2: De, 3: je, 4: qe, 5: Le}, Ke='pointerdown', et='pointermove pointerup pointercancel'; r.MSPointerEvent && !r.PointerEvent && (Ke='MSPointerDown', et='MSPointerMove MSPointerUp MSPointerCancel'), p(B, k, {handler: function(e) { var t = this.store, n = !1, i = e.type.toLowerCase().replace('ms',''), r = Je[i], o = Ze[e.pointerType] || e.pointerType, s = o == De, a = w(t, e.pointerId,'pointerId'); r & He && (0 === e.button || s) ? 0 > a && (t.push(e), a = t.length - 1):r & (Ie | Re) && (n = !0), 0 > a || (t[a] = e, this.callback(this.manager, r, {pointers: t, changedPointers: [e], pointerType: o, srcEvent: e}), n && t.splice(a, 1)) }}); var tt = {touchstart: He, touchmove: Pe, touchend: Ie, touchcancel: Re}, nt='touchstart', it='touchstart touchmove touchend touchcancel'; p(z, k, {handler: function(e) { var t = tt[e.type]; if (t === He && (this.started = !0), this.started) { var n = X.call(this, e, t); t & (Ie | Re) && n[0].length - n[1].length === 0 && (this.started = !1), this.callback(this.manager, t, {pointers: n[0], changedPointers: n[1], pointerType: De, srcEvent: e});} }}); var rt = {touchstart: He, touchmove: Pe, touchend: Ie, touchcancel: Re}, ot='touchstart touchmove touchend touchcancel'; p($, k, {handler: function(e) { var t = rt[e.type], n = U.call(this, e, t); n && this.callback(this.manager, t, {pointers: n[0], changedPointers: n[1], pointerType: De, srcEvent: e}) }}); var st = 2500, at = 25; p(Y, k, {handler: function(e, t, n) { var i = n.pointerType == De, r = n.pointerType == qe; if (!(r && n.sourceCapabilities && n.sourceCapabilities.firesTouchEvents)) { if (i)V.call(this, t, n); else if (r && G.call(this, n)) return; this.callback(e, t, n) } }, destroy: function() { this.touch.destroy(), this.mouse.destroy();}}); var ut = C(me.style,'touchAction'), ct = ut !== a, lt='compute', ft='auto', pt='manipulation', ht='none', dt='pan-x', gt='pan-y', vt = K(); J.prototype = {set: function(e) { e == lt && (e = this.compute()), ct && this.manager.element.style && vt[e] && (this.manager.element.style[ut] = e), this.actions = e.toLowerCase().trim();}, update: function() { this.set(this.manager.options.touchAction) }, compute: function() { var e = []; return l(this.manager.recognizers, function(t) { d(t.options.enable, [t]) && (e = e.concat(t.getTouchAction())) }), Z(e.join(' ')) }, preventDefaults: function(e) { var t = e.srcEvent, n = e.offsetDirection; if (this.manager.session.prevented) return void t.preventDefault(); var i = this.actions, r = x(i, ht) && !vt[ht], o = x(i, gt) && !vt[gt], s = x(i, dt) && !vt[dt]; if (r) { var a = 1 === e.pointers.length, u = e.distance < 2, c = e.deltaTime < 250; if (a && u && c) return } return s && o ? void 0:r || o && n & ze || s && n & Xe ? this.preventSrc(t):void 0;}, preventSrc: function(e) { this.manager.session.prevented = !0, e.preventDefault();}}; var mt = 1, yt = 2, xt = 4, bt = 8, wt = bt, Tt = 16, At = 32; ee.prototype = {defaults: {}, set: function(e) { return ge(this.options, e), this.manager && this.manager.touchAction.update(), this }, recognizeWith: function(e) { if (c(e,'recognizeWith', this)) return this; var t = this.simultaneous; return e = ie(e, this), t[e.id] || (t[e.id] = e, e.recognizeWith(this)), this }, dropRecognizeWith: function(e) { return c(e,'dropRecognizeWith', this) ? this:(e = ie(e, this), delete this.simultaneous[e.id], this) }, requireFailure: function(e) { if (c(e,'requireFailure', this)) return this; var t = this.requireFail; return e = ie(e, this), -1 === w(t, e) && (t.push(e), e.requireFailure(this)), this }, dropRequireFailure: function(e) { if (c(e,'dropRequireFailure', this)) return this; e = ie(e, this); var t = w(this.requireFail, e); return t > -1 && this.requireFail.splice(t, 1), this;}, hasRequireFailures: function() { return this.requireFail.length > 0 }, canRecognizeWith: function(e) { return !!this.simultaneous[e.id];}, emit: function(e) { function t(t) { n.manager.emit(t, e) } var n = this, i = this.state; bt > i && t(n.options.event + te(i)), t(n.options.event), e.additionalEvent && t(e.additionalEvent), i >= bt && t(n.options.event + te(i)) }, tryEmit: function(e) { return this.canEmit() ? this.emit(e):void(this.state = At) }, canEmit: function() { for (var e = 0; e < this.requireFail.length;) { if (!(this.requireFail[e].state & (At | mt))) return !1; e++;} return !0;}, recognize: function(e) { var t = ge({}, e); return d(this.options.enable, [this, t]) ? (this.state & (wt | Tt | At) && (this.state = mt), this.state = this.process(t), void(this.state & (yt | xt | bt | Tt) && this.tryEmit(t))):(this.reset(), void(this.state = At)) }, process: function(e) {}, getTouchAction: function() {}, reset: function() {}}, p(re, ee, {defaults: {pointers: 1}, attrTest: function(e) { var t = this.options.pointers; return 0 === t || e.pointers.length === t;}, process: function(e) { var t = this.state, n = e.eventType, i = t & (yt | xt), r = this.attrTest(e); return i && (n & Re || !r) ? t | Tt:i || r ? n & Ie ? t | bt:t & yt ? t | xt:yt:At }}), p(oe, re, {defaults: {event:'pan', threshold: 10, pointers: 1, direction: $e}, getTouchAction: function() { var e = this.options.direction, t = []; return e & ze && t.push(gt), e & Xe && t.push(dt), t }, directionTest: function(e) { var t = this.options, n = !0, i = e.distance, r = e.direction, o = e.deltaX, s = e.deltaY; return r & t.direction || (t.direction & ze ? (r = 0 === o ? Fe:0 > o ? _e:Me, n = o != this.pX, i = Math.abs(e.deltaX)):(r = 0 === s ? Fe:0 > s ? We:Be, n = s != this.pY, i = Math.abs(e.deltaY))), e.direction = r, n && i > t.threshold && r & t.direction }, attrTest: function(e) { return re.prototype.attrTest.call(this, e) && (this.state & yt || !(this.state & yt) && this.directionTest(e));}, emit: function(e) { this.pX = e.deltaX, this.pY = e.deltaY; var t = ne(e.direction); t && (e.additionalEvent = this.options.event + t), this._super.emit.call(this, e) }}), p(se, re, {defaults: {event:'pinch', threshold: 0, pointers: 2}, getTouchAction: function() { return [ht] }, attrTest: function(e) { return this._super.attrTest.call(this, e) && (Math.abs(e.scale - 1)> this.options.threshold || this.state & yt);}, emit: function(e) { if (1 !== e.scale) { var t = e.scale < 1?'in':'out'; e.additionalEvent = this.options.event + t;} this._super.emit.call(this, e);}}), p(ae, ee, {defaults: {event:'press', pointers: 1, time: 251, threshold: 9}, getTouchAction: function() { return [ft] }, process: function(e) { var t = this.options, n = e.pointers.length === t.pointers, i = e.distance < t.threshold, r = e.deltaTime > t.time; if (this._input = e, !i || !n || e.eventType & (Ie | Re) && !r) this.reset(); else if (e.eventType & He) this.reset(), this._timer = u(function() { this.state = wt, this.tryEmit() }, t.time, this); else if (e.eventType & Ie) return wt; return At }, reset: function() { clearTimeout(this._timer);}, emit: function(e) { this.state === wt && (e && e.eventType & Ie ? this.manager.emit(this.options.event+'up', e):(this._input.timeStamp = we(), this.manager.emit(this.options.event, this._input))) }}), p(ue, re, {defaults: {event:'rotate', threshold: 0, pointers: 2}, getTouchAction: function() { return [ht] }, attrTest: function(e) { return this._super.attrTest.call(this, e) && (Math.abs(e.rotation)> this.options.threshold || this.state & yt) }}), p(ce, re, {defaults: {event:'swipe', threshold: 10, velocity: .3, direction: ze | Xe, pointers: 1}, getTouchAction: function() { return oe.prototype.getTouchAction.call(this) }, attrTest: function(e) { var t, n = this.options.direction; return n & (ze | Xe) ? t = e.overallVelocity:n & ze ? t = e.overallVelocityX:n & Xe && (t = e.overallVelocityY), this._super.attrTest.call(this, e) && n & e.offsetDirection && e.distance> this.options.threshold && e.maxPointers == this.options.pointers && be(t)> this.options.velocity && e.eventType & Ie;}, emit: function(e) { var t = ne(e.offsetDirection); t && this.manager.emit(this.options.event + t, e), this.manager.emit(this.options.event, e) }}), p(le, ee, {defaults: {event:'tap', pointers: 1, taps: 1, interval: 300, time: 250, threshold: 9, posThreshold: 10}, getTouchAction: function() { return [pt] }, process: function(e) { var t = this.options, n = e.pointers.length === t.pointers, i = e.distance < t.threshold, r = e.deltaTime < t.time; if (this.reset(), e.eventType & He && 0 === this.count) return this.failTimeout(); if (i && r && n) { if (e.eventType != Ie) return this.failTimeout(); var o = this.pTime ? e.timeStamp - this.pTime < t.interval:!0, s = !this.pCenter || R(this.pCenter, e.center) < t.posThreshold; this.pTime = e.timeStamp, this.pCenter = e.center, s && o ? this.count += 1:this.count = 1, this._input = e; var a = this.count % t.taps; if (0 === a) return this.hasRequireFailures() ? (this._timer = u(function() { this.state = wt, this.tryEmit() }, t.interval, this), yt):wt;} return At;}, failTimeout: function() { return this._timer = u(function() { this.state = At }, this.options.interval, this), At;}, reset: function() { clearTimeout(this._timer) }, emit: function() { this.state == wt && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input)) }}), fe.VERSION='2.0.7', fe.defaults = {domEvents: !1, touchAction: lt, enable: !0, inputTarget: null, inputClass: null, preset: [[ue, {enable: !1}], [se, {enable: !1}, ['rotate']], [ce, {direction: ze}], [oe, {direction: ze}, ['swipe']], [le], [le, {event:'doubletap', taps: 2}, ['tap']], [ae]], cssProps: {userSelect:'none', touchSelect:'none', touchCallout:'none', contentZooming:'none', userDrag:'none', tapHighlightColor:'rgba(0,0,0,0)'}}; var Ct = 1, Et = 2; pe.prototype = {set: function(e) { return ge(this.options, e), e.touchAction && this.touchAction.update(), e.inputTarget && (this.input.destroy(), this.input.target = e.inputTarget, this.input.init()), this;}, stop: function(e) { this.session.stopped = e ? Et:Ct }, recognize: function(e) { var t = this.session; if (!t.stopped) { this.touchAction.preventDefaults(e); var n, i = this.recognizers, r = t.curRecognizer; (!r || r && r.state & wt) && (r = t.curRecognizer = null); for (var o = 0; o < i.length;)n = i[o], t.stopped === Et || r && n != r && !n.canRecognizeWith(r) ? n.reset():n.recognize(e), !r && n.state & (yt | xt | bt) && (r = t.curRecognizer = n), o++ } }, get: function(e) { if (e instanceof ee) return e; for (var t = this.recognizers, n = 0; n < t.length; n++) if (t[n].options.event == e) return t[n]; return null }, add: function(e) { if (c(e,'add', this)) return this; var t = this.get(e.options.event); return t && this.remove(t), this.recognizers.push(e), e.manager = this, this.touchAction.update(), e }, remove: function(e) { if (c(e,'remove', this)) return this; if (e = this.get(e)) { var t = this.recognizers, n = w(t, e); -1 !== n && (t.splice(n, 1), this.touchAction.update()) } return this;}, on: function(e, t) { if (e !== a && t !== a) { var n = this.handlers; return l(b(e), function(e) { n[e] = n[e] || [], n[e].push(t) }), this;} }, off: function(e, t) { if (e !== a) { var n = this.handlers; return l(b(e), function(e) { t ? n[e] && n[e].splice(w(n[e], t), 1):delete n[e] }), this;} }, emit: function(e, t) { this.options.domEvents && de(e, t); var n = this.handlers[e] && this.handlers[e].slice(); if (n && n.length) { t.type = e, t.preventDefault = function() { t.srcEvent.preventDefault();}; for (var i = 0; i < n.length;)n[i](t), i++ } }, destroy: function() { this.element && he(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null;}}, ge(fe, {INPUT_START: He, INPUT_MOVE: Pe, INPUT_END: Ie, INPUT_CANCEL: Re, STATE_POSSIBLE: mt, STATE_BEGAN: yt, STATE_CHANGED: xt, STATE_ENDED: bt, STATE_RECOGNIZED: wt, STATE_CANCELLED: Tt, STATE_FAILED: At, DIRECTION_NONE: Fe, DIRECTION_LEFT: _e, DIRECTION_RIGHT: Me, DIRECTION_UP: We, DIRECTION_DOWN: Be, DIRECTION_HORIZONTAL: ze, DIRECTION_VERTICAL: Xe, DIRECTION_ALL: $e, Manager: pe, Input: k, TouchAction: J, TouchInput: $, MouseInput: W, PointerEventInput: B, TouchMouseInput: Y, SingleTouchInput: z, Recognizer: ee, AttrRecognizer: re, Tap: le, Pan: oe, Swipe: ce, Pinch: se, Rotate: ue, Press: ae, on: v, off: m, each: l, merge: Ae, extend: Te, assign: ge, inherit: p, bindFn: h, prefixed: C}); var St = "undefined" != typeof r ? r:"undefined" != typeof self ? self:{}; St.Hammer = fe, i = function() { return fe;}.call(t, n, t, e), !(i !== a && (e.exports = i));}(window, document,'Hammer');}]);