File manager - Edit - /home/asiatechinc/public_html/asiatech-websites/virazvalley.in/js/bundle.min.js
Back
if (function(t, e) { "use strict"; "object" == typeof module && "object" == typeof module.exports ? module.exports = t.document ? e(t, !0) : function(t) { if (!t.document) throw new Error("jQuery requires a window with a document"); return e(t) } : e(t) }("undefined" != typeof window ? window : this, (function(t, e) { "use strict"; function i(t, e) { var i = (e = e || Tt).createElement("script"); i.text = t, e.head.appendChild(i).parentNode.removeChild(i) } function n(t) { var e = !!t && "length" in t && t.length, i = Wt.type(t); return "function" !== i && !Wt.isWindow(t) && ("array" === i || 0 === e || "number" == typeof e && e > 0 && e - 1 in t) } function s(t, e, i) { return Wt.isFunction(e) ? Wt.grep(t, (function(t, n) { return !!e.call(t, n, t) !== i })) : e.nodeType ? Wt.grep(t, (function(t) { return t === e !== i })) : "string" != typeof e ? Wt.grep(t, (function(t) { return Et.call(e, t) > -1 !== i })) : Vt.test(e) ? Wt.filter(e, t, i) : (e = Wt.filter(e, t), Wt.grep(t, (function(t) { return Et.call(e, t) > -1 !== i && 1 === t.nodeType }))) } function o(t, e) { for (; (t = t[e]) && 1 !== t.nodeType;); return t } function a(t) { var e = {}; return Wt.each(t.match(et) || [], (function(t, i) { e[i] = !0 })), e } function r(t) { return t } function l(t) { throw t } function h(t, e, i) { var n; try { t && Wt.isFunction(n = t.promise) ? n.call(t).done(e).fail(i) : t && Wt.isFunction(n = t.then) ? n.call(t, e, i) : e.call(void 0, t) } catch (t) { i.call(void 0, t) } } function c() { Tt.removeEventListener("DOMContentLoaded", c), t.removeEventListener("load", c), Wt.ready() } function u() { this.expando = Wt.expando + u.uid++ } function d(t, e, i) { var n; if (void 0 === i && 1 === t.nodeType) if (n = "data-" + e.replace(Qt, "-$&").toLowerCase(), "string" == typeof(i = t.getAttribute(n))) { try { i = function(t) { return "true" === t || "false" !== t && ("null" === t ? null : t === +t + "" ? +t : Gt.test(t) ? JSON.parse(t) : t) }(i) } catch (t) {} Xt.set(t, e, i) } else i = void 0; return i } function p(t, e, i, n) { var s, o = 1, a = 20, r = n ? function() { return n.cur() } : function() { return Wt.css(t, e, "") }, l = r(), h = i && i[3] || (Wt.cssNumber[e] ? "" : "px"), c = (Wt.cssNumber[e] || "px" !== h && +l) && Jt.exec(Wt.css(t, e)); if (c && c[3] !== h) { h = h || c[3], i = i || [], c = +l || 1; do { c /= o = o || ".5", Wt.style(t, e, c + h) } while (o !== (o = r() / l) && 1 !== o && --a) } return i && (c = +c || +l || 0, s = i[1] ? c + (i[1] + 1) * i[2] : +i[2], n && (n.unit = h, n.start = c, n.end = s)), s } function f(t) { var e, i = t.ownerDocument, n = t.nodeName, s = at[n]; return s || (e = i.body.appendChild(i.createElement(n)), s = Wt.css(e, "display"), e.parentNode.removeChild(e), "none" === s && (s = "block"), at[n] = s, s) } function m(t, e) { for (var i, n, s = [], o = 0, a = t.length; o < a; o++)(n = t[o]).style && (i = n.style.display, e ? ("none" === i && (s[o] = Kt.get(n, "display") || null, s[o] || (n.style.display = "")), "" === n.style.display && ee(n) && (s[o] = f(n))) : "none" !== i && (s[o] = "none", Kt.set(n, "display", i))); for (o = 0; o < a; o++) null != s[o] && (t[o].style.display = s[o]); return t } function g(t, e) { var i; return i = void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e || "*") : void 0 !== t.querySelectorAll ? t.querySelectorAll(e || "*") : [], void 0 === e || e && Wt.nodeName(t, e) ? Wt.merge([t], i) : i } function v(t, e) { for (var i = 0, n = t.length; i < n; i++) Kt.set(t[i], "globalEval", !e || Kt.get(e[i], "globalEval")) } function b(t, e, i, n, s) { for (var o, a, r, l, h, c, u = e.createDocumentFragment(), d = [], p = 0, f = t.length; p < f; p++) if ((o = t[p]) || 0 === o) if ("object" === Wt.type(o)) Wt.merge(d, o.nodeType ? [o] : o); else if (rt.test(o)) { for (a = a || u.appendChild(e.createElement("div")), r = (se.exec(o) || ["", ""])[1].toLowerCase(), l = ae[r] || ae._default, a.innerHTML = l[1] + Wt.htmlPrefilter(o) + l[2], c = l[0]; c--;) a = a.lastChild; Wt.merge(d, a.childNodes), (a = u.firstChild).textContent = "" } else d.push(e.createTextNode(o)); for (u.textContent = "", p = 0; o = d[p++];) if (n && Wt.inArray(o, n) > -1) s && s.push(o); else if (h = Wt.contains(o.ownerDocument, o), a = g(u.appendChild(o), "script"), h && v(a), i) for (c = 0; o = a[c++];) oe.test(o.type || "") && i.push(o); return u } function y() { return !0 } function _() { return !1 } function w() { try { return Tt.activeElement } catch (t) {} } function x(t, e, i, n, s, o) { var a, r; if ("object" == typeof e) { for (r in "string" != typeof i && (n = n || i, i = void 0), e) x(t, r, i, n, e[r], o); return t } if (null == n && null == s ? (s = i, n = i = void 0) : null == s && ("string" == typeof i ? (s = n, n = void 0) : (s = n, n = i, i = void 0)), !1 === s) s = _; else if (!s) return t; return 1 === o && (a = s, s = function(t) { return Wt().off(t), a.apply(this, arguments) }, s.guid = a.guid || (a.guid = Wt.guid++)), t.each((function() { Wt.event.add(this, e, s, n, i) })) } function C(t, e) { return Wt.nodeName(t, "table") && Wt.nodeName(11 !== e.nodeType ? e : e.firstChild, "tr") && t.getElementsByTagName("tbody")[0] || t } function k(t) { return t.type = (null !== t.getAttribute("type")) + "/" + t.type, t } function T(t) { var e = fe.exec(t.type); return e ? t.type = e[1] : t.removeAttribute("type"), t } function D(t, e) { var i, n, s, o, a, r, l, h; if (1 === e.nodeType) { if (Kt.hasData(t) && (o = Kt.access(t), a = Kt.set(e, o), h = o.events)) for (s in delete a.handle, a.events = {}, h) for (i = 0, n = h[s].length; i < n; i++) Wt.event.add(e, s, h[s][i]); Xt.hasData(t) && (r = Xt.access(t), l = Wt.extend({}, r), Xt.set(e, l)) } } function I(t, e) { var i = e.nodeName.toLowerCase(); "input" === i && ne.test(t.type) ? e.checked = t.checked : "input" !== i && "textarea" !== i || (e.defaultValue = t.defaultValue) } function S(t, e, n, s) { e = St.apply([], e); var o, a, r, l, h, c, u = 0, d = t.length, p = d - 1, f = e[0], m = Wt.isFunction(f); if (m || d > 1 && "string" == typeof f && !Ht.checkClone && pe.test(f)) return t.each((function(i) { var o = t.eq(i); m && (e[0] = f.call(this, i, o.html())), S(o, e, n, s) })); if (d && (a = (o = b(e, t[0].ownerDocument, !1, t, s)).firstChild, 1 === o.childNodes.length && (o = a), a || s)) { for (l = (r = Wt.map(g(o, "script"), k)).length; u < d; u++) h = o, u !== p && (h = Wt.clone(h, !0, !0), l && Wt.merge(r, g(h, "script"))), n.call(t[u], h, u); if (l) for (c = r[r.length - 1].ownerDocument, Wt.map(r, T), u = 0; u < l; u++) h = r[u], oe.test(h.type || "") && !Kt.access(h, "globalEval") && Wt.contains(c, h) && (h.src ? Wt._evalUrl && Wt._evalUrl(h.src) : i(h.textContent.replace(me, ""), c)) } return t } function P(t, e, i) { for (var n, s = e ? Wt.filter(e, t) : t, o = 0; null != (n = s[o]); o++) i || 1 !== n.nodeType || Wt.cleanData(g(n)), n.parentNode && (i && Wt.contains(n.ownerDocument, n) && v(g(n, "script")), n.parentNode.removeChild(n)); return t } function E(t, e, i) { var n, s, o, a, r = t.style; return (i = i || be(t)) && ("" !== (a = i.getPropertyValue(e) || i[e]) || Wt.contains(t.ownerDocument, t) || (a = Wt.style(t, e)), !Ht.pixelMarginRight() && ve.test(a) && ge.test(e) && (n = r.width, s = r.minWidth, o = r.maxWidth, r.minWidth = r.maxWidth = r.width = a, a = i.width, r.width = n, r.minWidth = s, r.maxWidth = o)), void 0 !== a ? a + "" : a } function A(t, e) { return { get: function() { return t() ? void delete this.get : (this.get = e).apply(this, arguments) } } } function M(t) { if (t in Ce) return t; for (var e = t[0].toUpperCase() + t.slice(1), i = xe.length; i--;) if ((t = xe[i] + e) in Ce) return t } function N(t, e, i) { var n = Jt.exec(e); return n ? Math.max(0, n[2] - (i || 0)) + (n[3] || "px") : e } function O(t, e, i, n, s) { for (var o = 0, a = i === (n ? "border" : "content") ? 4 : "width" === e ? 1 : 0; a < 4; a += 2) "margin" === i && (o += Wt.css(t, i + te[a], !0, s)), n ? ("content" === i && (o -= Wt.css(t, "padding" + te[a], !0, s)), "margin" !== i && (o -= Wt.css(t, "border" + te[a] + "Width", !0, s))) : (o += Wt.css(t, "padding" + te[a], !0, s), "padding" !== i && (o += Wt.css(t, "border" + te[a] + "Width", !0, s))); return o } function $(t, e, i) { var n, s = !0, o = be(t), a = "border-box" === Wt.css(t, "boxSizing", !1, o); if (t.getClientRects().length && (n = t.getBoundingClientRect()[e]), n <= 0 || null == n) { if (((n = E(t, e, o)) < 0 || null == n) && (n = t.style[e]), ve.test(n)) return n; s = a && (Ht.boxSizingReliable() || n === t.style[e]), n = parseFloat(n) || 0 } return n + O(t, e, i || (a ? "border" : "content"), s, o) + "px" } function H(t, e, i, n, s) { return new H.prototype.init(t, e, i, n, s) } function z() { ht && (t.requestAnimationFrame(z), Wt.fx.tick()) } function W() { return t.setTimeout((function() { lt = void 0 })), lt = Wt.now() } function F(t, e) { var i, n = 0, s = { height: t }; for (e = e ? 1 : 0; n < 4; n += 2 - e) s["margin" + (i = te[n])] = s["padding" + i] = t; return e && (s.opacity = s.width = t), s } function L(t, e, i) { for (var n, s = (R.tweeners[e] || []).concat(R.tweeners["*"]), o = 0, a = s.length; o < a; o++) if (n = s[o].call(i, e, t)) return n } function R(t, e, i) { var n, s, o = 0, a = R.prefilters.length, r = Wt.Deferred().always((function() { delete l.elem })), l = function() { if (s) return !1; for (var e = lt || W(), i = Math.max(0, h.startTime + h.duration - e), n = 1 - (i / h.duration || 0), o = 0, a = h.tweens.length; o < a; o++) h.tweens[o].run(n); return r.notifyWith(t, [h, n, i]), n < 1 && a ? i : (r.resolveWith(t, [h]), !1) }, h = r.promise({ elem: t, props: Wt.extend({}, e), opts: Wt.extend(!0, { specialEasing: {}, easing: Wt.easing._default }, i), originalProperties: e, originalOptions: i, startTime: lt || W(), duration: i.duration, tweens: [], createTween: function(e, i) { var n = Wt.Tween(t, h.opts, e, i, h.opts.specialEasing[e] || h.opts.easing); return h.tweens.push(n), n }, stop: function(e) { var i = 0, n = e ? h.tweens.length : 0; if (s) return this; for (s = !0; i < n; i++) h.tweens[i].run(1); return e ? (r.notifyWith(t, [h, 1, 0]), r.resolveWith(t, [h, e])) : r.rejectWith(t, [h, e]), this } }), c = h.props; for (function(t, e) { var i, n, s, o, a; for (i in t) if (s = e[n = Wt.camelCase(i)], o = t[i], Wt.isArray(o) && (s = o[1], o = t[i] = o[0]), i !== n && (t[n] = o, delete t[i]), (a = Wt.cssHooks[n]) && "expand" in a) for (i in o = a.expand(o), delete t[n], o) i in t || (t[i] = o[i], e[i] = s); else e[n] = s }(c, h.opts.specialEasing); o < a; o++) if (n = R.prefilters[o].call(h, t, c, h.opts)) return Wt.isFunction(n.stop) && (Wt._queueHooks(h.elem, h.opts.queue).stop = Wt.proxy(n.stop, n)), n; return Wt.map(c, L, h), Wt.isFunction(h.opts.start) && h.opts.start.call(t, h), Wt.fx.timer(Wt.extend(l, { elem: t, anim: h, queue: h.opts.queue })), h.progress(h.opts.progress).done(h.opts.done, h.opts.complete).fail(h.opts.fail).always(h.opts.always) } function j(t) { return (t.match(et) || []).join(" ") } function B(t) { return t.getAttribute && t.getAttribute("class") || "" } function q(t, e, i, n) { var s; if (Wt.isArray(e)) Wt.each(e, (function(e, s) { i || Ie.test(t) ? n(t, s) : q(t + "[" + ("object" == typeof s && null != s ? e : "") + "]", s, i, n) })); else if (i || "object" !== Wt.type(e)) n(t, e); else for (s in e) q(t + "[" + s + "]", e[s], i, n) } function Y(t) { return function(e, i) { "string" != typeof e && (i = e, e = "*"); var n, s = 0, o = e.toLowerCase().match(et) || []; if (Wt.isFunction(i)) for (; n = o[s++];) "+" === n[0] ? (n = n.slice(1) || "*", (t[n] = t[n] || []).unshift(i)) : (t[n] = t[n] || []).push(i) } } function U(t, e, i, n) { function s(r) { var l; return o[r] = !0, Wt.each(t[r] || [], (function(t, r) { var h = r(e, i, n); return "string" != typeof h || a || o[h] ? a ? !(l = h) : void 0 : (e.dataTypes.unshift(h), s(h), !1) })), l } var o = {}, a = t === We; return s(e.dataTypes[0]) || !o["*"] && s("*") } function V(t, e) { var i, n, s = Wt.ajaxSettings.flatOptions || {}; for (i in e) void 0 !== e[i] && ((s[i] ? t : n || (n = {}))[i] = e[i]); return n && Wt.extend(!0, t, n), t } function K(t) { return Wt.isWindow(t) ? t : 9 === t.nodeType && t.defaultView } var X, G, Q, Z, J, tt, et, it, nt, st, ot, at, rt, lt, ht, ct, ut, dt, pt, ft, mt, gt, vt, bt, yt, _t, wt, xt, Ct, kt = [], Tt = t.document, Dt = Object.getPrototypeOf, It = kt.slice, St = kt.concat, Pt = kt.push, Et = kt.indexOf, At = {}, Mt = At.toString, Nt = At.hasOwnProperty, Ot = Nt.toString, $t = Ot.call(Object), Ht = {}, zt = "3.1.1", Wt = function(t, e) { return new Wt.fn.init(t, e) }, Ft = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, Lt = /^-ms-/, Rt = /-([a-z])/g, jt = function(t, e) { return e.toUpperCase() }; Wt.fn = Wt.prototype = { jquery: zt, constructor: Wt, length: 0, toArray: function() { return It.call(this) }, get: function(t) { return null == t ? It.call(this) : t < 0 ? this[t + this.length] : this[t] }, pushStack: function(t) { var e = Wt.merge(this.constructor(), t); return e.prevObject = this, e }, each: function(t) { return Wt.each(this, t) }, map: function(t) { return this.pushStack(Wt.map(this, (function(e, i) { return t.call(e, i, e) }))) }, slice: function() { return this.pushStack(It.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(t) { var e = this.length, i = +t + (t < 0 ? e : 0); return this.pushStack(i >= 0 && i < e ? [this[i]] : []) }, end: function() { return this.prevObject || this.constructor() }, push: Pt, sort: kt.sort, splice: kt.splice }, Wt.extend = Wt.fn.extend = function() { var t, e, i, n, s, o, a = arguments[0] || {}, r = 1, l = arguments.length, h = !1; for ("boolean" == typeof a && (h = a, a = arguments[r] || {}, r++), "object" == typeof a || Wt.isFunction(a) || (a = {}), r === l && (a = this, r--); r < l; r++) if (null != (t = arguments[r])) for (e in t) i = a[e], a !== (n = t[e]) && (h && n && (Wt.isPlainObject(n) || (s = Wt.isArray(n))) ? (s ? (s = !1, o = i && Wt.isArray(i) ? i : []) : o = i && Wt.isPlainObject(i) ? i : {}, a[e] = Wt.extend(h, o, n)) : void 0 !== n && (a[e] = n)); return a }, Wt.extend({ expando: "jQuery" + (zt + Math.random()).replace(/\D/g, ""), isReady: !0, error: function(t) { throw new Error(t) }, noop: function() {}, isFunction: function(t) { return "function" === Wt.type(t) }, isArray: Array.isArray, isWindow: function(t) { return null != t && t === t.window }, isNumeric: function(t) { var e = Wt.type(t); return ("number" === e || "string" === e) && !isNaN(t - parseFloat(t)) }, isPlainObject: function(t) { var e, i; return !(!t || "[object Object]" !== Mt.call(t) || (e = Dt(t)) && (i = Nt.call(e, "constructor") && e.constructor, "function" != typeof i || Ot.call(i) !== $t)) }, isEmptyObject: function(t) { for (var e in t) return !1; return !0 }, type: function(t) { return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? At[Mt.call(t)] || "object" : typeof t }, globalEval: function(t) { i(t) }, camelCase: function(t) { return t.replace(Lt, "ms-").replace(Rt, jt) }, nodeName: function(t, e) { return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase() }, each: function(t, e) { var i, s = 0; if (n(t)) for (i = t.length; s < i && !1 !== e.call(t[s], s, t[s]); s++); else for (s in t) if (!1 === e.call(t[s], s, t[s])) break; return t }, trim: function(t) { return null == t ? "" : (t + "").replace(Ft, "") }, makeArray: function(t, e) { var i = e || []; return null != t && (n(Object(t)) ? Wt.merge(i, "string" == typeof t ? [t] : t) : Pt.call(i, t)), i }, inArray: function(t, e, i) { return null == e ? -1 : Et.call(e, t, i) }, merge: function(t, e) { for (var i = +e.length, n = 0, s = t.length; n < i; n++) t[s++] = e[n]; return t.length = s, t }, grep: function(t, e, i) { for (var n = [], s = 0, o = t.length, a = !i; s < o; s++) !e(t[s], s) !== a && n.push(t[s]); return n }, map: function(t, e, i) { var s, o, a = 0, r = []; if (n(t)) for (s = t.length; a < s; a++) null != (o = e(t[a], a, i)) && r.push(o); else for (a in t) null != (o = e(t[a], a, i)) && r.push(o); return St.apply([], r) }, guid: 1, proxy: function(t, e) { var i, n, s; if ("string" == typeof e && (i = t[e], e = t, t = i), Wt.isFunction(t)) return n = It.call(arguments, 2), s = function() { return t.apply(e || this, n.concat(It.call(arguments))) }, s.guid = t.guid = t.guid || Wt.guid++, s }, now: Date.now, support: Ht }), "function" == typeof Symbol && (Wt.fn[Symbol.iterator] = kt[Symbol.iterator]), Wt.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), (function(t, e) { At["[object " + e + "]"] = e.toLowerCase() })), X = function(t) { function e(t, e, i, n) { var s, o, a, r, l, h, c, d = e && e.ownerDocument, f = e ? e.nodeType : 9; if (i = i || [], "string" != typeof t || !t || 1 !== f && 9 !== f && 11 !== f) return i; if (!n && ((e ? e.ownerDocument || e : R) !== N && M(e), e = e || N, $)) { if (11 !== f && (l = vt.exec(t))) if (s = l[1]) { if (9 === f) { if (!(a = e.getElementById(s))) return i; if (a.id === s) return i.push(a), i } else if (d && (a = d.getElementById(s)) && F(e, a) && a.id === s) return i.push(a), i } else { if (l[2]) return Z.apply(i, e.getElementsByTagName(t)), i; if ((s = l[3]) && x.getElementsByClassName && e.getElementsByClassName) return Z.apply(i, e.getElementsByClassName(s)), i } if (x.qsa && !U[t + " "] && (!H || !H.test(t))) { if (1 !== f) d = e, c = t; else if ("object" !== e.nodeName.toLowerCase()) { for ((r = e.getAttribute("id")) ? r = r.replace(wt, xt) : e.setAttribute("id", r = L), o = (h = D(t)).length; o--;) h[o] = "#" + r + " " + p(h[o]); c = h.join(","), d = bt.test(t) && u(e.parentNode) || e } if (c) try { return Z.apply(i, d.querySelectorAll(c)), i } catch (t) {} finally { r === L && e.removeAttribute("id") } } } return S(t.replace(rt, "$1"), e, i, n) } function i() { var t = []; return function e(i, n) { return t.push(i + " ") > C.cacheLength && delete e[t.shift()], e[i + " "] = n } } function n(t) { return t[L] = !0, t } function s(t) { var e = N.createElement("fieldset"); try { return !!t(e) } catch (t) { return !1 } finally { e.parentNode && e.parentNode.removeChild(e), e = null } } function o(t, e) { for (var i = t.split("|"), n = i.length; n--;) C.attrHandle[i[n]] = e } function a(t, e) { var i = e && t, n = i && 1 === t.nodeType && 1 === e.nodeType && t.sourceIndex - e.sourceIndex; if (n) return n; if (i) for (; i = i.nextSibling;) if (i === e) return -1; return t ? 1 : -1 } function r(t) { return function(e) { return "input" === e.nodeName.toLowerCase() && e.type === t } } function l(t) { return function(e) { var i = e.nodeName.toLowerCase(); return ("input" === i || "button" === i) && e.type === t } } function h(t) { return function(e) { return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && kt(e) === t : e.disabled === t : "label" in e && e.disabled === t } } function c(t) { return n((function(e) { return e = +e, n((function(i, n) { for (var s, o = t([], i.length, e), a = o.length; a--;) i[s = o[a]] && (i[s] = !(n[s] = i[s])) })) })) } function u(t) { return t && void 0 !== t.getElementsByTagName && t } function d() {} function p(t) { for (var e = 0, i = t.length, n = ""; e < i; e++) n += t[e].value; return n } function f(t, e, i) { var n = e.dir, s = e.next, o = s || n, a = i && "parentNode" === o, r = B++; return e.first ? function(e, i, s) { for (; e = e[n];) if (1 === e.nodeType || a) return t(e, i, s); return !1 } : function(e, i, l) { var h, c, u, d = [j, r]; if (l) { for (; e = e[n];) if ((1 === e.nodeType || a) && t(e, i, l)) return !0 } else for (; e = e[n];) if (1 === e.nodeType || a) if (c = (u = e[L] || (e[L] = {}))[e.uniqueID] || (u[e.uniqueID] = {}), s && s === e.nodeName.toLowerCase()) e = e[n] || e; else { if ((h = c[o]) && h[0] === j && h[1] === r) return d[2] = h[2]; if (c[o] = d, d[2] = t(e, i, l)) return !0 } return !1 } } function m(t) { return t.length > 1 ? function(e, i, n) { for (var s = t.length; s--;) if (!t[s](e, i, n)) return !1; return !0 } : t[0] } function g(t, i, n) { for (var s = 0, o = i.length; s < o; s++) e(t, i[s], n); return n } function v(t, e, i, n, s) { for (var o, a = [], r = 0, l = t.length, h = null != e; r < l; r++)(o = t[r]) && (i && !i(o, n, s) || (a.push(o), h && e.push(r))); return a } function b(t, e, i, s, o, a) { return s && !s[L] && (s = b(s)), o && !o[L] && (o = b(o, a)), n((function(n, a, r, l) { var h, c, u, d = [], p = [], f = a.length, m = n || g(e || "*", r.nodeType ? [r] : r, []), b = !t || !n && e ? m : v(m, d, t, r, l), y = i ? o || (n ? t : f || s) ? [] : a : b; if (i && i(b, y, r, l), s) for (h = v(y, p), s(h, [], r, l), c = h.length; c--;)(u = h[c]) && (y[p[c]] = !(b[p[c]] = u)); if (n) { if (o || t) { if (o) { for (h = [], c = y.length; c--;)(u = y[c]) && h.push(b[c] = u); o(null, y = [], h, l) } for (c = y.length; c--;)(u = y[c]) && (h = o ? tt(n, u) : d[c]) > -1 && (n[h] = !(a[h] = u)) } } else y = v(y === a ? y.splice(f, y.length) : y), o ? o(null, a, y, l) : Z.apply(a, y) })) } function y(t) { for (var e, i, n, s = t.length, o = C.relative[t[0].type], a = o || C.relative[" "], r = o ? 1 : 0, l = f((function(t) { return t === e }), a, !0), h = f((function(t) { return tt(e, t) > -1 }), a, !0), c = [function(t, i, n) { var s = !o && (n || i !== P) || ((e = i).nodeType ? l(t, i, n) : h(t, i, n)); return e = null, s }]; r < s; r++) if (i = C.relative[t[r].type]) c = [f(m(c), i)]; else { if ((i = C.filter[t[r].type].apply(null, t[r].matches))[L]) { for (n = ++r; n < s && !C.relative[t[n].type]; n++); return b(r > 1 && m(c), r > 1 && p(t.slice(0, r - 1).concat({ value: " " === t[r - 2].type ? "*" : "" })).replace(rt, "$1"), i, r < n && y(t.slice(r, n)), n < s && y(t = t.slice(n)), n < s && p(t)) } c.push(i) } return m(c) } function _(t, i) { var s = i.length > 0, o = t.length > 0, a = function(n, a, r, l, h) { var c, u, d, p = 0, f = "0", m = n && [], g = [], b = P, y = n || o && C.find.TAG("*", h), _ = j += null == b ? 1 : Math.random() || .1, w = y.length; for (h && (P = a === N || a || h); f !== w && null != (c = y[f]); f++) { if (o && c) { for (u = 0, a || c.ownerDocument === N || (M(c), r = !$); d = t[u++];) if (d(c, a || N, r)) { l.push(c); break } h && (j = _) } s && ((c = !d && c) && p--, n && m.push(c)) } if (p += f, s && f !== p) { for (u = 0; d = i[u++];) d(m, g, a, r); if (n) { if (p > 0) for (; f--;) m[f] || g[f] || (g[f] = G.call(l)); g = v(g) } Z.apply(l, g), h && !n && g.length > 0 && p + i.length > 1 && e.uniqueSort(l) } return h && (j = _, P = b), m }; return s ? n(a) : a } var w, x, C, k, T, D, I, S, P, E, A, M, N, O, $, H, z, W, F, L = "sizzle" + 1 * new Date, R = t.document, j = 0, B = 0, q = i(), Y = i(), U = i(), V = function(t, e) { return t === e && (A = !0), 0 }, K = {}.hasOwnProperty, X = [], G = X.pop, Q = X.push, Z = X.push, J = X.slice, tt = function(t, e) { for (var i = 0, n = t.length; i < n; i++) if (t[i] === e) return i; return -1 }, et = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", it = "[\\x20\\t\\r\\n\\f]", nt = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", st = "\\[" + it + "*(" + nt + ")(?:" + it + "*([*^$|!~]?=)" + it + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + nt + "))|)" + it + "*\\]", ot = ":(" + nt + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + st + ")*)|.*)\\)|)", at = new RegExp(it + "+", "g"), rt = new RegExp("^" + it + "+|((?:^|[^\\\\])(?:\\\\.)*)" + it + "+$", "g"), lt = new RegExp("^" + it + "*," + it + "*"), ht = new RegExp("^" + it + "*([>+~]|" + it + ")" + it + "*"), ct = new RegExp("=" + it + "*([^\\]'\"]*?)" + it + "*\\]", "g"), ut = new RegExp(ot), dt = new RegExp("^" + nt + "$"), pt = { ID: new RegExp("^#(" + nt + ")"), CLASS: new RegExp("^\\.(" + nt + ")"), TAG: new RegExp("^(" + nt + "|[*])"), ATTR: new RegExp("^" + st), PSEUDO: new RegExp("^" + ot), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + it + "*(even|odd|(([+-]|)(\\d*)n|)" + it + "*(?:([+-]|)" + it + "*(\\d+)|))" + it + "*\\)|)", "i"), bool: new RegExp("^(?:" + et + ")$", "i"), needsContext: new RegExp("^" + it + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + it + "*((?:-\\d)?\\d*)" + it + "*\\)|)(?=[^-]|$)", "i") }, ft = /^(?:input|select|textarea|button)$/i, mt = /^h\d$/i, gt = /^[^{]+\{\s*\[native \w/, vt = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, bt = /[+~]/, yt = new RegExp("\\\\([\\da-f]{1,6}" + it + "?|(" + it + ")|.)", "ig"), _t = function(t, e, i) { var n = "0x" + e - 65536; return n != n || i ? e : n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320) }, wt = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, xt = function(t, e) { return e ? "\0" === t ? "�" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t }, Ct = function() { M() }, kt = f((function(t) { return !0 === t.disabled && ("form" in t || "label" in t) }), { dir: "parentNode", next: "legend" }); try { Z.apply(X = J.call(R.childNodes), R.childNodes), X[R.childNodes.length].nodeType } catch (t) { Z = { apply: X.length ? function(t, e) { Q.apply(t, J.call(e)) } : function(t, e) { for (var i = t.length, n = 0; t[i++] = e[n++];); t.length = i - 1 } } } for (w in x = e.support = {}, T = e.isXML = function(t) { var e = t && (t.ownerDocument || t).documentElement; return !!e && "HTML" !== e.nodeName }, M = e.setDocument = function(t) { var e, i, n = t ? t.ownerDocument || t : R; return n !== N && 9 === n.nodeType && n.documentElement ? (O = (N = n).documentElement, $ = !T(N), R !== N && (i = N.defaultView) && i.top !== i && (i.addEventListener ? i.addEventListener("unload", Ct, !1) : i.attachEvent && i.attachEvent("onunload", Ct)), x.attributes = s((function(t) { return t.className = "i", !t.getAttribute("className") })), x.getElementsByTagName = s((function(t) { return t.appendChild(N.createComment("")), !t.getElementsByTagName("*").length })), x.getElementsByClassName = gt.test(N.getElementsByClassName), x.getById = s((function(t) { return O.appendChild(t).id = L, !N.getElementsByName || !N.getElementsByName(L).length })), x.getById ? (C.filter.ID = function(t) { var e = t.replace(yt, _t); return function(t) { return t.getAttribute("id") === e } }, C.find.ID = function(t, e) { if (void 0 !== e.getElementById && $) { var i = e.getElementById(t); return i ? [i] : [] } }) : (C.filter.ID = function(t) { var e = t.replace(yt, _t); return function(t) { var i = void 0 !== t.getAttributeNode && t.getAttributeNode("id"); return i && i.value === e } }, C.find.ID = function(t, e) { if (void 0 !== e.getElementById && $) { var i, n, s, o = e.getElementById(t); if (o) { if ((i = o.getAttributeNode("id")) && i.value === t) return [o]; for (s = e.getElementsByName(t), n = 0; o = s[n++];) if ((i = o.getAttributeNode("id")) && i.value === t) return [o] } return [] } }), C.find.TAG = x.getElementsByTagName ? function(t, e) { return void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t) : x.qsa ? e.querySelectorAll(t) : void 0 } : function(t, e) { var i, n = [], s = 0, o = e.getElementsByTagName(t); if ("*" === t) { for (; i = o[s++];) 1 === i.nodeType && n.push(i); return n } return o }, C.find.CLASS = x.getElementsByClassName && function(t, e) { if (void 0 !== e.getElementsByClassName && $) return e.getElementsByClassName(t) }, z = [], H = [], (x.qsa = gt.test(N.querySelectorAll)) && (s((function(t) { O.appendChild(t).innerHTML = "<a id='" + L + "'></a><select id='" + L + "-\r\\' msallowcapture=''><option selected=''></option></select>", t.querySelectorAll("[msallowcapture^='']").length && H.push("[*^$]=" + it + "*(?:''|\"\")"), t.querySelectorAll("[selected]").length || H.push("\\[" + it + "*(?:value|" + et + ")"), t.querySelectorAll("[id~=" + L + "-]").length || H.push("~="), t.querySelectorAll(":checked").length || H.push(":checked"), t.querySelectorAll("a#" + L + "+*").length || H.push(".#.+[+~]") })), s((function(t) { t.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; var e = N.createElement("input"); e.setAttribute("type", "hidden"), t.appendChild(e).setAttribute("name", "D"), t.querySelectorAll("[name=d]").length && H.push("name" + it + "*[*^$|!~]?="), 2 !== t.querySelectorAll(":enabled").length && H.push(":enabled", ":disabled"), O.appendChild(t).disabled = !0, 2 !== t.querySelectorAll(":disabled").length && H.push(":enabled", ":disabled"), t.querySelectorAll("*,:x"), H.push(",.*:") }))), (x.matchesSelector = gt.test(W = O.matches || O.webkitMatchesSelector || O.mozMatchesSelector || O.oMatchesSelector || O.msMatchesSelector)) && s((function(t) { x.disconnectedMatch = W.call(t, "*"), W.call(t, "[s!='']:x"), z.push("!=", ot) })), H = H.length && new RegExp(H.join("|")), z = z.length && new RegExp(z.join("|")), e = gt.test(O.compareDocumentPosition), F = e || gt.test(O.contains) ? function(t, e) { var i = 9 === t.nodeType ? t.documentElement : t, n = e && e.parentNode; return t === n || !(!n || 1 !== n.nodeType || !(i.contains ? i.contains(n) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(n))) } : function(t, e) { if (e) for (; e = e.parentNode;) if (e === t) return !0; return !1 }, V = e ? function(t, e) { if (t === e) return A = !0, 0; var i = !t.compareDocumentPosition - !e.compareDocumentPosition; return i || (1 & (i = (t.ownerDocument || t) === (e.ownerDocument || e) ? t.compareDocumentPosition(e) : 1) || !x.sortDetached && e.compareDocumentPosition(t) === i ? t === N || t.ownerDocument === R && F(R, t) ? -1 : e === N || e.ownerDocument === R && F(R, e) ? 1 : E ? tt(E, t) - tt(E, e) : 0 : 4 & i ? -1 : 1) } : function(t, e) { if (t === e) return A = !0, 0; var i, n = 0, s = t.parentNode, o = e.parentNode, r = [t], l = [e]; if (!s || !o) return t === N ? -1 : e === N ? 1 : s ? -1 : o ? 1 : E ? tt(E, t) - tt(E, e) : 0; if (s === o) return a(t, e); for (i = t; i = i.parentNode;) r.unshift(i); for (i = e; i = i.parentNode;) l.unshift(i); for (; r[n] === l[n];) n++; return n ? a(r[n], l[n]) : r[n] === R ? -1 : l[n] === R ? 1 : 0 }, N) : N }, e.matches = function(t, i) { return e(t, null, null, i) }, e.matchesSelector = function(t, i) { if ((t.ownerDocument || t) !== N && M(t), i = i.replace(ct, "='$1']"), x.matchesSelector && $ && !U[i + " "] && (!z || !z.test(i)) && (!H || !H.test(i))) try { var n = W.call(t, i); if (n || x.disconnectedMatch || t.document && 11 !== t.document.nodeType) return n } catch (t) {} return e(i, N, null, [t]).length > 0 }, e.contains = function(t, e) { return (t.ownerDocument || t) !== N && M(t), F(t, e) }, e.attr = function(t, e) { (t.ownerDocument || t) !== N && M(t); var i = C.attrHandle[e.toLowerCase()], n = i && K.call(C.attrHandle, e.toLowerCase()) ? i(t, e, !$) : void 0; return void 0 !== n ? n : x.attributes || !$ ? t.getAttribute(e) : (n = t.getAttributeNode(e)) && n.specified ? n.value : null }, e.escape = function(t) { return (t + "").replace(wt, xt) }, e.error = function(t) { throw new Error("Syntax error, unrecognized expression: " + t) }, e.uniqueSort = function(t) { var e, i = [], n = 0, s = 0; if (A = !x.detectDuplicates, E = !x.sortStable && t.slice(0), t.sort(V), A) { for (; e = t[s++];) e === t[s] && (n = i.push(s)); for (; n--;) t.splice(i[n], 1) } return E = null, t }, k = e.getText = function(t) { var e, i = "", n = 0, s = t.nodeType; if (s) { if (1 === s || 9 === s || 11 === s) { if ("string" == typeof t.textContent) return t.textContent; for (t = t.firstChild; t; t = t.nextSibling) i += k(t) } else if (3 === s || 4 === s) return t.nodeValue } else for (; e = t[n++];) i += k(e); return i }, C = e.selectors = { cacheLength: 50, createPseudo: n, match: pt, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(t) { return t[1] = t[1].replace(yt, _t), t[3] = (t[3] || t[4] || t[5] || "").replace(yt, _t), "~=" === t[2] && (t[3] = " " + t[3] + " "), t.slice(0, 4) }, CHILD: function(t) { return t[1] = t[1].toLowerCase(), "nth" === t[1].slice(0, 3) ? (t[3] || e.error(t[0]), t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ("even" === t[3] || "odd" === t[3])), t[5] = +(t[7] + t[8] || "odd" === t[3])) : t[3] && e.error(t[0]), t }, PSEUDO: function(t) { var e, i = !t[6] && t[2]; return pt.CHILD.test(t[0]) ? null : (t[3] ? t[2] = t[4] || t[5] || "" : i && ut.test(i) && (e = D(i, !0)) && (e = i.indexOf(")", i.length - e) - i.length) && (t[0] = t[0].slice(0, e), t[2] = i.slice(0, e)), t.slice(0, 3)) } }, filter: { TAG: function(t) { var e = t.replace(yt, _t).toLowerCase(); return "*" === t ? function() { return !0 } : function(t) { return t.nodeName && t.nodeName.toLowerCase() === e } }, CLASS: function(t) { var e = q[t + " "]; return e || (e = new RegExp("(^|" + it + ")" + t + "(" + it + "|$)")) && q(t, (function(t) { return e.test("string" == typeof t.className && t.className || void 0 !== t.getAttribute && t.getAttribute("class") || "") })) }, ATTR: function(t, i, n) { return function(s) { var o = e.attr(s, t); return null == o ? "!=" === i : !i || (o += "", "=" === i ? o === n : "!=" === i ? o !== n : "^=" === i ? n && 0 === o.indexOf(n) : "*=" === i ? n && o.indexOf(n) > -1 : "$=" === i ? n && o.slice(-n.length) === n : "~=" === i ? (" " + o.replace(at, " ") + " ").indexOf(n) > -1 : "|=" === i && (o === n || o.slice(0, n.length + 1) === n + "-")) } }, CHILD: function(t, e, i, n, s) { var o = "nth" !== t.slice(0, 3), a = "last" !== t.slice(-4), r = "of-type" === e; return 1 === n && 0 === s ? function(t) { return !!t.parentNode } : function(e, i, l) { var h, c, u, d, p, f, m = o !== a ? "nextSibling" : "previousSibling", g = e.parentNode, v = r && e.nodeName.toLowerCase(), b = !l && !r, y = !1; if (g) { if (o) { for (; m;) { for (d = e; d = d[m];) if (r ? d.nodeName.toLowerCase() === v : 1 === d.nodeType) return !1; f = m = "only" === t && !f && "nextSibling" } return !0 } if (f = [a ? g.firstChild : g.lastChild], a && b) { for (y = (p = (h = (c = (u = (d = g)[L] || (d[L] = {}))[d.uniqueID] || (u[d.uniqueID] = {}))[t] || [])[0] === j && h[1]) && h[2], d = p && g.childNodes[p]; d = ++p && d && d[m] || (y = p = 0) || f.pop();) if (1 === d.nodeType && ++y && d === e) { c[t] = [j, p, y]; break } } else if (b && (y = p = (h = (c = (u = (d = e)[L] || (d[L] = {}))[d.uniqueID] || (u[d.uniqueID] = {}))[t] || [])[0] === j && h[1]), !1 === y) for (; (d = ++p && d && d[m] || (y = p = 0) || f.pop()) && ((r ? d.nodeName.toLowerCase() !== v : 1 !== d.nodeType) || !++y || (b && ((c = (u = d[L] || (d[L] = {}))[d.uniqueID] || (u[d.uniqueID] = {}))[t] = [j, y]), d !== e));); return (y -= s) === n || y % n == 0 && y / n >= 0 } } }, PSEUDO: function(t, i) { var s, o = C.pseudos[t] || C.setFilters[t.toLowerCase()] || e.error("unsupported pseudo: " + t); return o[L] ? o(i) : o.length > 1 ? (s = [t, t, "", i], C.setFilters.hasOwnProperty(t.toLowerCase()) ? n((function(t, e) { for (var n, s = o(t, i), a = s.length; a--;) t[n = tt(t, s[a])] = !(e[n] = s[a]) })) : function(t) { return o(t, 0, s) }) : o } }, pseudos: { not: n((function(t) { var e = [], i = [], s = I(t.replace(rt, "$1")); return s[L] ? n((function(t, e, i, n) { for (var o, a = s(t, null, n, []), r = t.length; r--;)(o = a[r]) && (t[r] = !(e[r] = o)) })) : function(t, n, o) { return e[0] = t, s(e, null, o, i), e[0] = null, !i.pop() } })), has: n((function(t) { return function(i) { return e(t, i).length > 0 } })), contains: n((function(t) { return t = t.replace(yt, _t), function(e) { return (e.textContent || e.innerText || k(e)).indexOf(t) > -1 } })), lang: n((function(t) { return dt.test(t || "") || e.error("unsupported lang: " + t), t = t.replace(yt, _t).toLowerCase(), function(e) { var i; do { if (i = $ ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (i = i.toLowerCase()) === t || 0 === i.indexOf(t + "-") } while ((e = e.parentNode) && 1 === e.nodeType); return !1 } })), target: function(e) { var i = t.location && t.location.hash; return i && i.slice(1) === e.id }, root: function(t) { return t === O }, focus: function(t) { return t === N.activeElement && (!N.hasFocus || N.hasFocus()) && !!(t.type || t.href || ~t.tabIndex) }, enabled: h(!1), disabled: h(!0), checked: function(t) { var e = t.nodeName.toLowerCase(); return "input" === e && !!t.checked || "option" === e && !!t.selected }, selected: function(t) { return t.parentNode && t.parentNode.selectedIndex, !0 === t.selected }, empty: function(t) { for (t = t.firstChild; t; t = t.nextSibling) if (t.nodeType < 6) return !1; return !0 }, parent: function(t) { return !C.pseudos.empty(t) }, header: function(t) { return mt.test(t.nodeName) }, input: function(t) { return ft.test(t.nodeName) }, button: function(t) { var e = t.nodeName.toLowerCase(); return "input" === e && "button" === t.type || "button" === e }, text: function(t) { var e; return "input" === t.nodeName.toLowerCase() && "text" === t.type && (null == (e = t.getAttribute("type")) || "text" === e.toLowerCase()) }, first: c((function() { return [0] })), last: c((function(t, e) { return [e - 1] })), eq: c((function(t, e, i) { return [i < 0 ? i + e : i] })), even: c((function(t, e) { for (var i = 0; i < e; i += 2) t.push(i); return t })), odd: c((function(t, e) { for (var i = 1; i < e; i += 2) t.push(i); return t })), lt: c((function(t, e, i) { for (var n = i < 0 ? i + e : i; --n >= 0;) t.push(n); return t })), gt: c((function(t, e, i) { for (var n = i < 0 ? i + e : i; ++n < e;) t.push(n); return t })) } }, C.pseudos.nth = C.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) C.pseudos[w] = r(w); for (w in { submit: !0, reset: !0 }) C.pseudos[w] = l(w); return d.prototype = C.filters = C.pseudos, C.setFilters = new d, D = e.tokenize = function(t, i) { var n, s, o, a, r, l, h, c = Y[t + " "]; if (c) return i ? 0 : c.slice(0); for (r = t, l = [], h = C.preFilter; r;) { for (a in (!n || (s = lt.exec(r))) && (s && (r = r.slice(s[0].length) || r), l.push(o = [])), n = !1, (s = ht.exec(r)) && (n = s.shift(), o.push({ value: n, type: s[0].replace(rt, " ") }), r = r.slice(n.length)), C.filter)(s = pt[a].exec(r)) && (!h[a] || (s = h[a](s))) && (n = s.shift(), o.push({ value: n, type: a, matches: s }), r = r.slice(n.length)); if (!n) break } return i ? r.length : r ? e.error(t) : Y(t, l).slice(0) }, I = e.compile = function(t, e) { var i, n = [], s = [], o = U[t + " "]; if (!o) { for (e || (e = D(t)), i = e.length; i--;)(o = y(e[i]))[L] ? n.push(o) : s.push(o); (o = U(t, _(s, n))).selector = t } return o }, S = e.select = function(t, e, i, n) { var s, o, a, r, l, h = "function" == typeof t && t, c = !n && D(t = h.selector || t); if (i = i || [], 1 === c.length) { if ((o = c[0] = c[0].slice(0)).length > 2 && "ID" === (a = o[0]).type && 9 === e.nodeType && $ && C.relative[o[1].type]) { if (!(e = (C.find.ID(a.matches[0].replace(yt, _t), e) || [])[0])) return i; h && (e = e.parentNode), t = t.slice(o.shift().value.length) } for (s = pt.needsContext.test(t) ? 0 : o.length; s-- && (a = o[s], !C.relative[r = a.type]);) if ((l = C.find[r]) && (n = l(a.matches[0].replace(yt, _t), bt.test(o[0].type) && u(e.parentNode) || e))) { if (o.splice(s, 1), !(t = n.length && p(o))) return Z.apply(i, n), i; break } } return (h || I(t, c))(n, e, !$, i, !e || bt.test(t) && u(e.parentNode) || e), i }, x.sortStable = L.split("").sort(V).join("") === L, x.detectDuplicates = !!A, M(), x.sortDetached = s((function(t) { return 1 & t.compareDocumentPosition(N.createElement("fieldset")) })), s((function(t) { return t.innerHTML = "<a href='#'></a>", "#" === t.firstChild.getAttribute("href") })) || o("type|href|height|width", (function(t, e, i) { if (!i) return t.getAttribute(e, "type" === e.toLowerCase() ? 1 : 2) })), x.attributes && s((function(t) { return t.innerHTML = "<input/>", t.firstChild.setAttribute("value", ""), "" === t.firstChild.getAttribute("value") })) || o("value", (function(t, e, i) { if (!i && "input" === t.nodeName.toLowerCase()) return t.defaultValue })), s((function(t) { return null == t.getAttribute("disabled") })) || o(et, (function(t, e, i) { var n; if (!i) return !0 === t[e] ? e.toLowerCase() : (n = t.getAttributeNode(e)) && n.specified ? n.value : null })), e }(t), Wt.find = X, Wt.expr = X.selectors, Wt.expr[":"] = Wt.expr.pseudos, Wt.uniqueSort = Wt.unique = X.uniqueSort, Wt.text = X.getText, Wt.isXMLDoc = X.isXML, Wt.contains = X.contains, Wt.escapeSelector = X.escape; var Bt = function(t, e, i) { for (var n = [], s = void 0 !== i; (t = t[e]) && 9 !== t.nodeType;) if (1 === t.nodeType) { if (s && Wt(t).is(i)) break; n.push(t) } return n }, qt = function(t, e) { for (var i = []; t; t = t.nextSibling) 1 === t.nodeType && t !== e && i.push(t); return i }, Yt = Wt.expr.match.needsContext, Ut = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i, Vt = /^.[^:#\[\.,]*$/; Wt.filter = function(t, e, i) { var n = e[0]; return i && (t = ":not(" + t + ")"), 1 === e.length && 1 === n.nodeType ? Wt.find.matchesSelector(n, t) ? [n] : [] : Wt.find.matches(t, Wt.grep(e, (function(t) { return 1 === t.nodeType }))) }, Wt.fn.extend({ find: function(t) { var e, i, n = this.length, s = this; if ("string" != typeof t) return this.pushStack(Wt(t).filter((function() { for (e = 0; e < n; e++) if (Wt.contains(s[e], this)) return !0 }))); for (i = this.pushStack([]), e = 0; e < n; e++) Wt.find(t, s[e], i); return n > 1 ? Wt.uniqueSort(i) : i }, filter: function(t) { return this.pushStack(s(this, t || [], !1)) }, not: function(t) { return this.pushStack(s(this, t || [], !0)) }, is: function(t) { return !!s(this, "string" == typeof t && Yt.test(t) ? Wt(t) : t || [], !1).length } }), Q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, Z = Wt.fn.init = function(t, e, i) { var n, s; if (!t) return this; if (i = i || G, "string" == typeof t) { if (!(n = "<" === t[0] && ">" === t[t.length - 1] && t.length >= 3 ? [null, t, null] : Q.exec(t)) || !n[1] && e) return !e || e.jquery ? (e || i).find(t) : this.constructor(e).find(t); if (n[1]) { if (e = e instanceof Wt ? e[0] : e, Wt.merge(this, Wt.parseHTML(n[1], e && e.nodeType ? e.ownerDocument || e : Tt, !0)), Ut.test(n[1]) && Wt.isPlainObject(e)) for (n in e) Wt.isFunction(this[n]) ? this[n](e[n]) : this.attr(n, e[n]); return this } return (s = Tt.getElementById(n[2])) && (this[0] = s, this.length = 1), this } return t.nodeType ? (this[0] = t, this.length = 1, this) : Wt.isFunction(t) ? void 0 !== i.ready ? i.ready(t) : t(Wt) : Wt.makeArray(t, this) }, Z.prototype = Wt.fn, G = Wt(Tt), J = /^(?:parents|prev(?:Until|All))/, tt = { children: !0, contents: !0, next: !0, prev: !0 }, Wt.fn.extend({ has: function(t) { var e = Wt(t, this), i = e.length; return this.filter((function() { for (var t = 0; t < i; t++) if (Wt.contains(this, e[t])) return !0 })) }, closest: function(t, e) { var i, n = 0, s = this.length, o = [], a = "string" != typeof t && Wt(t); if (!Yt.test(t)) for (; n < s; n++) for (i = this[n]; i && i !== e; i = i.parentNode) if (i.nodeType < 11 && (a ? a.index(i) > -1 : 1 === i.nodeType && Wt.find.matchesSelector(i, t))) { o.push(i); break } return this.pushStack(o.length > 1 ? Wt.uniqueSort(o) : o) }, index: function(t) { return t ? "string" == typeof t ? Et.call(Wt(t), this[0]) : Et.call(this, t.jquery ? t[0] : t) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function(t, e) { return this.pushStack(Wt.uniqueSort(Wt.merge(this.get(), Wt(t, e)))) }, addBack: function(t) { return this.add(null == t ? this.prevObject : this.prevObject.filter(t)) } }), Wt.each({ parent: function(t) { var e = t.parentNode; return e && 11 !== e.nodeType ? e : null }, parents: function(t) { return Bt(t, "parentNode") }, parentsUntil: function(t, e, i) { return Bt(t, "parentNode", i) }, next: function(t) { return o(t, "nextSibling") }, prev: function(t) { return o(t, "previousSibling") }, nextAll: function(t) { return Bt(t, "nextSibling") }, prevAll: function(t) { return Bt(t, "previousSibling") }, nextUntil: function(t, e, i) { return Bt(t, "nextSibling", i) }, prevUntil: function(t, e, i) { return Bt(t, "previousSibling", i) }, siblings: function(t) { return qt((t.parentNode || {}).firstChild, t) }, children: function(t) { return qt(t.firstChild) }, contents: function(t) { return t.contentDocument || Wt.merge([], t.childNodes) } }, (function(t, e) { Wt.fn[t] = function(i, n) { var s = Wt.map(this, e, i); return "Until" !== t.slice(-5) && (n = i), n && "string" == typeof n && (s = Wt.filter(n, s)), this.length > 1 && (tt[t] || Wt.uniqueSort(s), J.test(t) && s.reverse()), this.pushStack(s) } })), et = /[^\x20\t\r\n\f]+/g, Wt.Callbacks = function(t) { t = "string" == typeof t ? a(t) : Wt.extend({}, t); var e, i, n, s, o = [], r = [], l = -1, h = function() { for (s = t.once, n = e = !0; r.length; l = -1) for (i = r.shift(); ++l < o.length;) !1 === o[l].apply(i[0], i[1]) && t.stopOnFalse && (l = o.length, i = !1); t.memory || (i = !1), e = !1, s && (o = i ? [] : "") }, c = { add: function() { return o && (i && !e && (l = o.length - 1, r.push(i)), function e(i) { Wt.each(i, (function(i, n) { Wt.isFunction(n) ? t.unique && c.has(n) || o.push(n) : n && n.length && "string" !== Wt.type(n) && e(n) })) }(arguments), i && !e && h()), this }, remove: function() { return Wt.each(arguments, (function(t, e) { for (var i; (i = Wt.inArray(e, o, i)) > -1;) o.splice(i, 1), i <= l && l-- })), this }, has: function(t) { return t ? Wt.inArray(t, o) > -1 : o.length > 0 }, empty: function() { return o && (o = []), this }, disable: function() { return s = r = [], o = i = "", this }, disabled: function() { return !o }, lock: function() { return s = r = [], i || e || (o = i = ""), this }, locked: function() { return !!s }, fireWith: function(t, i) { return s || (i = [t, (i = i || []).slice ? i.slice() : i], r.push(i), e || h()), this }, fire: function() { return c.fireWith(this, arguments), this }, fired: function() { return !!n } }; return c }, Wt.extend({ Deferred: function(e) { var i = [ ["notify", "progress", Wt.Callbacks("memory"), Wt.Callbacks("memory"), 2], ["resolve", "done", Wt.Callbacks("once memory"), Wt.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", Wt.Callbacks("once memory"), Wt.Callbacks("once memory"), 1, "rejected"] ], n = "pending", s = { state: function() { return n }, always: function() { return o.done(arguments).fail(arguments), this }, catch: function(t) { return s.then(null, t) }, pipe: function() { var t = arguments; return Wt.Deferred((function(e) { Wt.each(i, (function(i, n) { var s = Wt.isFunction(t[n[4]]) && t[n[4]]; o[n[1]]((function() { var t = s && s.apply(this, arguments); t && Wt.isFunction(t.promise) ? t.promise().progress(e.notify).done(e.resolve).fail(e.reject) : e[n[0] + "With"](this, s ? [t] : arguments) })) })), t = null })).promise() }, then: function(e, n, s) { function o(e, i, n, s) { return function() { var h = this, c = arguments, u = function() { var t, u; if (!(e < a)) { if ((t = n.apply(h, c)) === i.promise()) throw new TypeError("Thenable self-resolution"); u = t && ("object" == typeof t || "function" == typeof t) && t.then, Wt.isFunction(u) ? s ? u.call(t, o(a, i, r, s), o(a, i, l, s)) : (a++, u.call(t, o(a, i, r, s), o(a, i, l, s), o(a, i, r, i.notifyWith))) : (n !== r && (h = void 0, c = [t]), (s || i.resolveWith)(h, c)) } }, d = s ? u : function() { try { u() } catch (t) { Wt.Deferred.exceptionHook && Wt.Deferred.exceptionHook(t, d.stackTrace), e + 1 >= a && (n !== l && (h = void 0, c = [t]), i.rejectWith(h, c)) } }; e ? d() : (Wt.Deferred.getStackHook && (d.stackTrace = Wt.Deferred.getStackHook()), t.setTimeout(d)) } } var a = 0; return Wt.Deferred((function(t) { i[0][3].add(o(0, t, Wt.isFunction(s) ? s : r, t.notifyWith)), i[1][3].add(o(0, t, Wt.isFunction(e) ? e : r)), i[2][3].add(o(0, t, Wt.isFunction(n) ? n : l)) })).promise() }, promise: function(t) { return null != t ? Wt.extend(t, s) : s } }, o = {}; return Wt.each(i, (function(t, e) { var a = e[2], r = e[5]; s[e[1]] = a.add, r && a.add((function() { n = r }), i[3 - t][2].disable, i[0][2].lock), a.add(e[3].fire), o[e[0]] = function() { return o[e[0] + "With"](this === o ? void 0 : this, arguments), this }, o[e[0] + "With"] = a.fireWith })), s.promise(o), e && e.call(o, o), o }, when: function(t) { var e = arguments.length, i = e, n = Array(i), s = It.call(arguments), o = Wt.Deferred(), a = function(t) { return function(i) { n[t] = this, s[t] = arguments.length > 1 ? It.call(arguments) : i, --e || o.resolveWith(n, s) } }; if (e <= 1 && (h(t, o.done(a(i)).resolve, o.reject), "pending" === o.state() || Wt.isFunction(s[i] && s[i].then))) return o.then(); for (; i--;) h(s[i], a(i), o.reject); return o.promise() } }), it = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/, Wt.Deferred.exceptionHook = function(e, i) { t.console && t.console.warn && e && it.test(e.name) && t.console.warn("jQuery.Deferred exception: " + e.message, e.stack, i) }, Wt.readyException = function(e) { t.setTimeout((function() { throw e })) }, nt = Wt.Deferred(), Wt.fn.ready = function(t) { return nt.then(t).catch((function(t) { Wt.readyException(t) })), this }, Wt.extend({ isReady: !1, readyWait: 1, holdReady: function(t) { t ? Wt.readyWait++ : Wt.ready(!0) }, ready: function(t) { (!0 === t ? --Wt.readyWait : Wt.isReady) || (Wt.isReady = !0, !0 !== t && --Wt.readyWait > 0 || nt.resolveWith(Tt, [Wt])) } }), Wt.ready.then = nt.then, "complete" === Tt.readyState || "loading" !== Tt.readyState && !Tt.documentElement.doScroll ? t.setTimeout(Wt.ready) : (Tt.addEventListener("DOMContentLoaded", c), t.addEventListener("load", c)), st = function(t, e, i, n, s, o, a) { var r = 0, l = t.length, h = null == i; if ("object" === Wt.type(i)) for (r in s = !0, i) st(t, e, r, i[r], !0, o, a); else if (void 0 !== n && (s = !0, Wt.isFunction(n) || (a = !0), h && (a ? (e.call(t, n), e = null) : (h = e, e = function(t, e, i) { return h.call(Wt(t), i) })), e)) for (; r < l; r++) e(t[r], i, a ? n : n.call(t[r], r, e(t[r], i))); return s ? t : h ? e.call(t) : l ? e(t[0], i) : o }, ot = function(t) { return 1 === t.nodeType || 9 === t.nodeType || !+t.nodeType }, u.uid = 1, u.prototype = { cache: function(t) { var e = t[this.expando]; return e || (e = {}, ot(t) && (t.nodeType ? t[this.expando] = e : Object.defineProperty(t, this.expando, { value: e, configurable: !0 }))), e }, set: function(t, e, i) { var n, s = this.cache(t); if ("string" == typeof e) s[Wt.camelCase(e)] = i; else for (n in e) s[Wt.camelCase(n)] = e[n]; return s }, get: function(t, e) { return void 0 === e ? this.cache(t) : t[this.expando] && t[this.expando][Wt.camelCase(e)] }, access: function(t, e, i) { return void 0 === e || e && "string" == typeof e && void 0 === i ? this.get(t, e) : (this.set(t, e, i), void 0 !== i ? i : e) }, remove: function(t, e) { var i, n = t[this.expando]; if (void 0 !== n) { if (void 0 !== e) for ((Wt.isArray(e) ? e = e.map(Wt.camelCase) : e = (e = Wt.camelCase(e)) in n ? [e] : e.match(et) || [], i = e.length); i--;) delete n[e[i]]; (void 0 === e || Wt.isEmptyObject(n)) && (t.nodeType ? t[this.expando] = void 0 : delete t[this.expando]) } }, hasData: function(t) { var e = t[this.expando]; return void 0 !== e && !Wt.isEmptyObject(e) } }; var Kt = new u, Xt = new u, Gt = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, Qt = /[A-Z]/g; Wt.extend({ hasData: function(t) { return Xt.hasData(t) || Kt.hasData(t) }, data: function(t, e, i) { return Xt.access(t, e, i) }, removeData: function(t, e) { Xt.remove(t, e) }, _data: function(t, e, i) { return Kt.access(t, e, i) }, _removeData: function(t, e) { Kt.remove(t, e) } }), Wt.fn.extend({ data: function(t, e) { var i, n, s, o = this[0], a = o && o.attributes; if (void 0 === t) { if (this.length && (s = Xt.get(o), 1 === o.nodeType && !Kt.get(o, "hasDataAttrs"))) { for (i = a.length; i--;) a[i] && (0 === (n = a[i].name).indexOf("data-") && (n = Wt.camelCase(n.slice(5)), d(o, n, s[n]))); Kt.set(o, "hasDataAttrs", !0) } return s } return "object" == typeof t ? this.each((function() { Xt.set(this, t) })) : st(this, (function(e) { var i; if (o && void 0 === e) { if (void 0 !== (i = Xt.get(o, t)) || void 0 !== (i = d(o, t))) return i } else this.each((function() { Xt.set(this, t, e) })) }), null, e, arguments.length > 1, null, !0) }, removeData: function(t) { return this.each((function() { Xt.remove(this, t) })) } }), Wt.extend({ queue: function(t, e, i) { var n; if (t) return e = (e || "fx") + "queue", n = Kt.get(t, e), i && (!n || Wt.isArray(i) ? n = Kt.access(t, e, Wt.makeArray(i)) : n.push(i)), n || [] }, dequeue: function(t, e) { e = e || "fx"; var i = Wt.queue(t, e), n = i.length, s = i.shift(), o = Wt._queueHooks(t, e); "inprogress" === s && (s = i.shift(), n--), s && ("fx" === e && i.unshift("inprogress"), delete o.stop, s.call(t, (function() { Wt.dequeue(t, e) }), o)), !n && o && o.empty.fire() }, _queueHooks: function(t, e) { var i = e + "queueHooks"; return Kt.get(t, i) || Kt.access(t, i, { empty: Wt.Callbacks("once memory").add((function() { Kt.remove(t, [e + "queue", i]) })) }) } }), Wt.fn.extend({ queue: function(t, e) { var i = 2; return "string" != typeof t && (e = t, t = "fx", i--), arguments.length < i ? Wt.queue(this[0], t) : void 0 === e ? this : this.each((function() { var i = Wt.queue(this, t, e); Wt._queueHooks(this, t), "fx" === t && "inprogress" !== i[0] && Wt.dequeue(this, t) })) }, dequeue: function(t) { return this.each((function() { Wt.dequeue(this, t) })) }, clearQueue: function(t) { return this.queue(t || "fx", []) }, promise: function(t, e) { var i, n = 1, s = Wt.Deferred(), o = this, a = this.length, r = function() { --n || s.resolveWith(o, [o]) }; for ("string" != typeof t && (e = t, t = void 0), t = t || "fx"; a--;)(i = Kt.get(o[a], t + "queueHooks")) && i.empty && (n++, i.empty.add(r)); return r(), s.promise(e) } }); var Zt = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, Jt = new RegExp("^(?:([+-])=|)(" + Zt + ")([a-z%]*)$", "i"), te = ["Top", "Right", "Bottom", "Left"], ee = function(t, e) { return "none" === (t = e || t).style.display || "" === t.style.display && Wt.contains(t.ownerDocument, t) && "none" === Wt.css(t, "display") }, ie = function(t, e, i, n) { var s, o, a = {}; for (o in e) a[o] = t.style[o], t.style[o] = e[o]; for (o in s = i.apply(t, n || []), e) t.style[o] = a[o]; return s }; at = {}, Wt.fn.extend({ show: function() { return m(this, !0) }, hide: function() { return m(this) }, toggle: function(t) { return "boolean" == typeof t ? t ? this.show() : this.hide() : this.each((function() { ee(this) ? Wt(this).show() : Wt(this).hide() })) } }); var ne = /^(?:checkbox|radio)$/i, se = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i, oe = /^$|\/(?:java|ecma)script/i, ae = { 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, "", ""] }; ae.optgroup = ae.option, ae.tbody = ae.tfoot = ae.colgroup = ae.caption = ae.thead, ae.th = ae.td, rt = /<|&#?\w+;/, function() { var t = Tt.createDocumentFragment().appendChild(Tt.createElement("div")), e = Tt.createElement("input"); e.setAttribute("type", "radio"), e.setAttribute("checked", "checked"), e.setAttribute("name", "t"), t.appendChild(e), Ht.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "<textarea>x</textarea>", Ht.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue }(); var re = Tt.documentElement, le = /^key/, he = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, ce = /^([^.]*)(?:\.(.+)|)/; Wt.event = { global: {}, add: function(t, e, i, n, s) { var o, a, r, l, h, c, u, d, p, f, m, g = Kt.get(t); if (g) for (i.handler && (i = (o = i).handler, s = o.selector), s && Wt.find.matchesSelector(re, s), i.guid || (i.guid = Wt.guid++), (l = g.events) || (l = g.events = {}), (a = g.handle) || (a = g.handle = function(e) { if (void 0 !== Wt && Wt.event.triggered !== e.type) return Wt.event.dispatch.apply(t, arguments) }), h = (e = (e || "").match(et) || [""]).length; h--;) p = m = (r = ce.exec(e[h]) || [])[1], f = (r[2] || "").split(".").sort(), p && (u = Wt.event.special[p] || {}, p = (s ? u.delegateType : u.bindType) || p, u = Wt.event.special[p] || {}, c = Wt.extend({ type: p, origType: m, data: n, handler: i, guid: i.guid, selector: s, needsContext: s && Wt.expr.match.needsContext.test(s), namespace: f.join(".") }, o), (d = l[p]) || ((d = l[p] = []).delegateCount = 0, u.setup && !1 !== u.setup.call(t, n, f, a) || t.addEventListener && t.addEventListener(p, a)), u.add && (u.add.call(t, c), c.handler.guid || (c.handler.guid = i.guid)), s ? d.splice(d.delegateCount++, 0, c) : d.push(c), Wt.event.global[p] = !0) }, remove: function(t, e, i, n, s) { var o, a, r, l, h, c, u, d, p, f, m, g = Kt.hasData(t) && Kt.get(t); if (g && (l = g.events)) { for (h = (e = (e || "").match(et) || [""]).length; h--;) if (p = m = (r = ce.exec(e[h]) || [])[1], f = (r[2] || "").split(".").sort(), p) { for (u = Wt.event.special[p] || {}, d = l[p = (n ? u.delegateType : u.bindType) || p] || [], r = r[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = d.length; o--;) c = d[o], !s && m !== c.origType || i && i.guid !== c.guid || r && !r.test(c.namespace) || n && n !== c.selector && ("**" !== n || !c.selector) || (d.splice(o, 1), c.selector && d.delegateCount--, u.remove && u.remove.call(t, c)); a && !d.length && (u.teardown && !1 !== u.teardown.call(t, f, g.handle) || Wt.removeEvent(t, p, g.handle), delete l[p]) } else for (p in l) Wt.event.remove(t, p + e[h], i, n, !0); Wt.isEmptyObject(l) && Kt.remove(t, "handle events") } }, dispatch: function(t) { var e, i, n, s, o, a, r = Wt.event.fix(t), l = new Array(arguments.length), h = (Kt.get(this, "events") || {})[r.type] || [], c = Wt.event.special[r.type] || {}; for (l[0] = r, e = 1; e < arguments.length; e++) l[e] = arguments[e]; if (r.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, r)) { for (a = Wt.event.handlers.call(this, r, h), e = 0; (s = a[e++]) && !r.isPropagationStopped();) for (r.currentTarget = s.elem, i = 0; (o = s.handlers[i++]) && !r.isImmediatePropagationStopped();) r.rnamespace && !r.rnamespace.test(o.namespace) || (r.handleObj = o, r.data = o.data, void 0 !== (n = ((Wt.event.special[o.origType] || {}).handle || o.handler).apply(s.elem, l)) && !1 === (r.result = n) && (r.preventDefault(), r.stopPropagation())); return c.postDispatch && c.postDispatch.call(this, r), r.result } }, handlers: function(t, e) { var i, n, s, o, a, r = [], l = e.delegateCount, h = t.target; if (l && h.nodeType && !("click" === t.type && t.button >= 1)) for (; h !== this; h = h.parentNode || this) if (1 === h.nodeType && ("click" !== t.type || !0 !== h.disabled)) { for (o = [], a = {}, i = 0; i < l; i++) void 0 === a[s = (n = e[i]).selector + " "] && (a[s] = n.needsContext ? Wt(s, this).index(h) > -1 : Wt.find(s, this, null, [h]).length), a[s] && o.push(n); o.length && r.push({ elem: h, handlers: o }) } return h = this, l < e.length && r.push({ elem: h, handlers: e.slice(l) }), r }, addProp: function(t, e) { Object.defineProperty(Wt.Event.prototype, t, { enumerable: !0, configurable: !0, get: Wt.isFunction(e) ? function() { if (this.originalEvent) return e(this.originalEvent) } : function() { if (this.originalEvent) return this.originalEvent[t] }, set: function(e) { Object.defineProperty(this, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) } }) }, fix: function(t) { return t[Wt.expando] ? t : new Wt.Event(t) }, special: { load: { noBubble: !0 }, focus: { trigger: function() { if (this !== w() && this.focus) return this.focus(), !1 }, delegateType: "focusin" }, blur: { trigger: function() { if (this === w() && this.blur) return this.blur(), !1 }, delegateType: "focusout" }, click: { trigger: function() { if ("checkbox" === this.type && this.click && Wt.nodeName(this, "input")) return this.click(), !1 }, _default: function(t) { return Wt.nodeName(t.target, "a") } }, beforeunload: { postDispatch: function(t) { void 0 !== t.result && t.originalEvent && (t.originalEvent.returnValue = t.result) } } } }, Wt.removeEvent = function(t, e, i) { t.removeEventListener && t.removeEventListener(e, i) }, Wt.Event = function(t, e) { return this instanceof Wt.Event ? (t && t.type ? (this.originalEvent = t, this.type = t.type, this.isDefaultPrevented = t.defaultPrevented || void 0 === t.defaultPrevented && !1 === t.returnValue ? y : _, this.target = t.target && 3 === t.target.nodeType ? t.target.parentNode : t.target, this.currentTarget = t.currentTarget, this.relatedTarget = t.relatedTarget) : this.type = t, e && Wt.extend(this, e), this.timeStamp = t && t.timeStamp || Wt.now(), void(this[Wt.expando] = !0)) : new Wt.Event(t, e) }, Wt.Event.prototype = { constructor: Wt.Event, isDefaultPrevented: _, isPropagationStopped: _, isImmediatePropagationStopped: _, isSimulated: !1, preventDefault: function() { var t = this.originalEvent; this.isDefaultPrevented = y, t && !this.isSimulated && t.preventDefault() }, stopPropagation: function() { var t = this.originalEvent; this.isPropagationStopped = y, t && !this.isSimulated && t.stopPropagation() }, stopImmediatePropagation: function() { var t = this.originalEvent; this.isImmediatePropagationStopped = y, t && !this.isSimulated && t.stopImmediatePropagation(), this.stopPropagation() } }, Wt.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, char: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: function(t) { var e = t.button; return null == t.which && le.test(t.type) ? null != t.charCode ? t.charCode : t.keyCode : !t.which && void 0 !== e && he.test(t.type) ? 1 & e ? 1 : 2 & e ? 3 : 4 & e ? 2 : 0 : t.which } }, Wt.event.addProp), Wt.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, (function(t, e) { Wt.event.special[t] = { delegateType: e, bindType: e, handle: function(t) { var i, n = this, s = t.relatedTarget, o = t.handleObj; return s && (s === n || Wt.contains(n, s)) || (t.type = o.origType, i = o.handler.apply(this, arguments), t.type = e), i } } })), Wt.fn.extend({ on: function(t, e, i, n) { return x(this, t, e, i, n) }, one: function(t, e, i, n) { return x(this, t, e, i, n, 1) }, off: function(t, e, i) { var n, s; if (t && t.preventDefault && t.handleObj) return n = t.handleObj, Wt(t.delegateTarget).off(n.namespace ? n.origType + "." + n.namespace : n.origType, n.selector, n.handler), this; if ("object" == typeof t) { for (s in t) this.off(s, e, t[s]); return this } return !1 !== e && "function" != typeof e || (i = e, e = void 0), !1 === i && (i = _), this.each((function() { Wt.event.remove(this, t, i, e) })) } }); var ue = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, de = /<script|<style|<link/i, pe = /checked\s*(?:[^=]|=\s*.checked.)/i, fe = /^true\/(.*)/, me = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; Wt.extend({ htmlPrefilter: function(t) { return t.replace(ue, "<$1></$2>") }, clone: function(t, e, i) { var n, s, o, a, r = t.cloneNode(!0), l = Wt.contains(t.ownerDocument, t); if (!(Ht.noCloneChecked || 1 !== t.nodeType && 11 !== t.nodeType || Wt.isXMLDoc(t))) for (a = g(r), n = 0, s = (o = g(t)).length; n < s; n++) I(o[n], a[n]); if (e) if (i) for (o = o || g(t), a = a || g(r), n = 0, s = o.length; n < s; n++) D(o[n], a[n]); else D(t, r); return (a = g(r, "script")).length > 0 && v(a, !l && g(t, "script")), r }, cleanData: function(t) { for (var e, i, n, s = Wt.event.special, o = 0; void 0 !== (i = t[o]); o++) if (ot(i)) { if (e = i[Kt.expando]) { if (e.events) for (n in e.events) s[n] ? Wt.event.remove(i, n) : Wt.removeEvent(i, n, e.handle); i[Kt.expando] = void 0 } i[Xt.expando] && (i[Xt.expando] = void 0) } } }), Wt.fn.extend({ detach: function(t) { return P(this, t, !0) }, remove: function(t) { return P(this, t) }, text: function(t) { return st(this, (function(t) { return void 0 === t ? Wt.text(this) : this.empty().each((function() { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = t) })) }), null, t, arguments.length) }, append: function() { return S(this, arguments, (function(t) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || C(this, t).appendChild(t) })) }, prepend: function() { return S(this, arguments, (function(t) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var e = C(this, t); e.insertBefore(t, e.firstChild) } })) }, before: function() { return S(this, arguments, (function(t) { this.parentNode && this.parentNode.insertBefore(t, this) })) }, after: function() { return S(this, arguments, (function(t) { this.parentNode && this.parentNode.insertBefore(t, this.nextSibling) })) }, empty: function() { for (var t, e = 0; null != (t = this[e]); e++) 1 === t.nodeType && (Wt.cleanData(g(t, !1)), t.textContent = ""); return this }, clone: function(t, e) { return t = null != t && t, e = null == e ? t : e, this.map((function() { return Wt.clone(this, t, e) })) }, html: function(t) { return st(this, (function(t) { var e = this[0] || {}, i = 0, n = this.length; if (void 0 === t && 1 === e.nodeType) return e.innerHTML; if ("string" == typeof t && !de.test(t) && !ae[(se.exec(t) || ["", ""])[1].toLowerCase()]) { t = Wt.htmlPrefilter(t); try { for (; i < n; i++) 1 === (e = this[i] || {}).nodeType && (Wt.cleanData(g(e, !1)), e.innerHTML = t); e = 0 } catch (t) {} } e && this.empty().append(t) }), null, t, arguments.length) }, replaceWith: function() { var t = []; return S(this, arguments, (function(e) { var i = this.parentNode; Wt.inArray(this, t) < 0 && (Wt.cleanData(g(this)), i && i.replaceChild(e, this)) }), t) } }), Wt.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, (function(t, e) { Wt.fn[t] = function(t) { for (var i, n = [], s = Wt(t), o = s.length - 1, a = 0; a <= o; a++) i = a === o ? this : this.clone(!0), Wt(s[a])[e](i), Pt.apply(n, i.get()); return this.pushStack(n) } })); var ge = /^margin/, ve = new RegExp("^(" + Zt + ")(?!px)[a-z%]+$", "i"), be = function(e) { var i = e.ownerDocument.defaultView; return i && i.opener || (i = t), i.getComputedStyle(e) }; ! function() { function e() { if (r) { r.style.cssText = "box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%", r.innerHTML = "", re.appendChild(a); var e = t.getComputedStyle(r); i = "1%" !== e.top, o = "2px" === e.marginLeft, n = "4px" === e.width, r.style.marginRight = "50%", s = "4px" === e.marginRight, re.removeChild(a), r = null } } var i, n, s, o, a = Tt.createElement("div"), r = Tt.createElement("div"); r.style && (r.style.backgroundClip = "content-box", r.cloneNode(!0).style.backgroundClip = "", Ht.clearCloneStyle = "content-box" === r.style.backgroundClip, a.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute", a.appendChild(r), Wt.extend(Ht, { pixelPosition: function() { return e(), i }, boxSizingReliable: function() { return e(), n }, pixelMarginRight: function() { return e(), s }, reliableMarginLeft: function() { return e(), o } })) }(); var ye = /^(none|table(?!-c[ea]).+)/, _e = { position: "absolute", visibility: "hidden", display: "block" }, we = { letterSpacing: "0", fontWeight: "400" }, xe = ["Webkit", "Moz", "ms"], Ce = Tt.createElement("div").style; Wt.extend({ cssHooks: { opacity: { get: function(t, e) { if (e) { var i = E(t, "opacity"); return "" === i ? "1" : i } } } }, 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(t, e, i, n) { if (t && 3 !== t.nodeType && 8 !== t.nodeType && t.style) { var s, o, a, r = Wt.camelCase(e), l = t.style; return e = Wt.cssProps[r] || (Wt.cssProps[r] = M(r) || r), a = Wt.cssHooks[e] || Wt.cssHooks[r], void 0 === i ? a && "get" in a && void 0 !== (s = a.get(t, !1, n)) ? s : l[e] : ("string" === (o = typeof i) && (s = Jt.exec(i)) && s[1] && (i = p(t, e, s), o = "number"), void(null != i && i == i && ("number" === o && (i += s && s[3] || (Wt.cssNumber[r] ? "" : "px")), Ht.clearCloneStyle || "" !== i || 0 !== e.indexOf("background") || (l[e] = "inherit"), a && "set" in a && void 0 === (i = a.set(t, i, n)) || (l[e] = i)))) } }, css: function(t, e, i, n) { var s, o, a, r = Wt.camelCase(e); return e = Wt.cssProps[r] || (Wt.cssProps[r] = M(r) || r), (a = Wt.cssHooks[e] || Wt.cssHooks[r]) && "get" in a && (s = a.get(t, !0, i)), void 0 === s && (s = E(t, e, n)), "normal" === s && e in we && (s = we[e]), "" === i || i ? (o = parseFloat(s), !0 === i || isFinite(o) ? o || 0 : s) : s } }), Wt.each(["height", "width"], (function(t, e) { Wt.cssHooks[e] = { get: function(t, i, n) { if (i) return !ye.test(Wt.css(t, "display")) || t.getClientRects().length && t.getBoundingClientRect().width ? $(t, e, n) : ie(t, _e, (function() { return $(t, e, n) })) }, set: function(t, i, n) { var s, o = n && be(t), a = n && O(t, e, n, "border-box" === Wt.css(t, "boxSizing", !1, o), o); return a && (s = Jt.exec(i)) && "px" !== (s[3] || "px") && (t.style[e] = i, i = Wt.css(t, e)), N(0, i, a) } } })), Wt.cssHooks.marginLeft = A(Ht.reliableMarginLeft, (function(t, e) { if (e) return (parseFloat(E(t, "marginLeft")) || t.getBoundingClientRect().left - ie(t, { marginLeft: 0 }, (function() { return t.getBoundingClientRect().left }))) + "px" })), Wt.each({ margin: "", padding: "", border: "Width" }, (function(t, e) { Wt.cssHooks[t + e] = { expand: function(i) { for (var n = 0, s = {}, o = "string" == typeof i ? i.split(" ") : [i]; n < 4; n++) s[t + te[n] + e] = o[n] || o[n - 2] || o[0]; return s } }, ge.test(t) || (Wt.cssHooks[t + e].set = N) })), Wt.fn.extend({ css: function(t, e) { return st(this, (function(t, e, i) { var n, s, o = {}, a = 0; if (Wt.isArray(e)) { for (n = be(t), s = e.length; a < s; a++) o[e[a]] = Wt.css(t, e[a], !1, n); return o } return void 0 !== i ? Wt.style(t, e, i) : Wt.css(t, e) }), t, e, arguments.length > 1) } }), Wt.Tween = H, H.prototype = { constructor: H, init: function(t, e, i, n, s, o) { this.elem = t, this.prop = i, this.easing = s || Wt.easing._default, this.options = e, this.start = this.now = this.cur(), this.end = n, this.unit = o || (Wt.cssNumber[i] ? "" : "px") }, cur: function() { var t = H.propHooks[this.prop]; return t && t.get ? t.get(this) : H.propHooks._default.get(this) }, run: function(t) { var e, i = H.propHooks[this.prop]; return this.pos = e = this.options.duration ? Wt.easing[this.easing](t, this.options.duration * t, 0, 1, this.options.duration) : t, this.now = (this.end - this.start) * e + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), i && i.set ? i.set(this) : H.propHooks._default.set(this), this } }, H.prototype.init.prototype = H.prototype, H.propHooks = { _default: { get: function(t) { var e; return 1 !== t.elem.nodeType || null != t.elem[t.prop] && null == t.elem.style[t.prop] ? t.elem[t.prop] : (e = Wt.css(t.elem, t.prop, "")) && "auto" !== e ? e : 0 }, set: function(t) { Wt.fx.step[t.prop] ? Wt.fx.step[t.prop](t) : 1 !== t.elem.nodeType || null == t.elem.style[Wt.cssProps[t.prop]] && !Wt.cssHooks[t.prop] ? t.elem[t.prop] = t.now : Wt.style(t.elem, t.prop, t.now + t.unit) } } }, H.propHooks.scrollTop = H.propHooks.scrollLeft = { set: function(t) { t.elem.nodeType && t.elem.parentNode && (t.elem[t.prop] = t.now) } }, Wt.easing = { linear: function(t) { return t }, swing: function(t) { return .5 - Math.cos(t * Math.PI) / 2 }, _default: "swing" }, Wt.fx = H.prototype.init, Wt.fx.step = {}, ct = /^(?:toggle|show|hide)$/, ut = /queueHooks$/, Wt.Animation = Wt.extend(R, { tweeners: { "*": [function(t, e) { var i = this.createTween(t, e); return p(i.elem, t, Jt.exec(e), i), i }] }, tweener: function(t, e) { Wt.isFunction(t) ? (e = t, t = ["*"]) : t = t.match(et); for (var i, n = 0, s = t.length; n < s; n++) i = t[n], R.tweeners[i] = R.tweeners[i] || [], R.tweeners[i].unshift(e) }, prefilters: [function(t, e, i) { var n, s, o, a, r, l, h, c, u = "width" in e || "height" in e, d = this, p = {}, f = t.style, g = t.nodeType && ee(t), v = Kt.get(t, "fxshow"); for (n in i.queue || (null == (a = Wt._queueHooks(t, "fx")).unqueued && (a.unqueued = 0, r = a.empty.fire, a.empty.fire = function() { a.unqueued || r() }), a.unqueued++, d.always((function() { d.always((function() { a.unqueued--, Wt.queue(t, "fx").length || a.empty.fire() })) }))), e) if (s = e[n], ct.test(s)) { if (delete e[n], o = o || "toggle" === s, s === (g ? "hide" : "show")) { if ("show" !== s || !v || void 0 === v[n]) continue; g = !0 } p[n] = v && v[n] || Wt.style(t, n) } if ((l = !Wt.isEmptyObject(e)) || !Wt.isEmptyObject(p)) for (n in u && 1 === t.nodeType && (i.overflow = [f.overflow, f.overflowX, f.overflowY], null == (h = v && v.display) && (h = Kt.get(t, "display")), "none" === (c = Wt.css(t, "display")) && (h ? c = h : (m([t], !0), h = t.style.display || h, c = Wt.css(t, "display"), m([t]))), ("inline" === c || "inline-block" === c && null != h) && "none" === Wt.css(t, "float") && (l || (d.done((function() { f.display = h })), null == h && (c = f.display, h = "none" === c ? "" : c)), f.display = "inline-block")), i.overflow && (f.overflow = "hidden", d.always((function() { f.overflow = i.overflow[0], f.overflowX = i.overflow[1], f.overflowY = i.overflow[2] }))), l = !1, p) l || (v ? "hidden" in v && (g = v.hidden) : v = Kt.access(t, "fxshow", { display: h }), o && (v.hidden = !g), g && m([t], !0), d.done((function() { for (n in g || m([t]), Kt.remove(t, "fxshow"), p) Wt.style(t, n, p[n]) }))), l = L(g ? v[n] : 0, n, d), n in v || (v[n] = l.start, g && (l.end = l.start, l.start = 0)) }], prefilter: function(t, e) { e ? R.prefilters.unshift(t) : R.prefilters.push(t) } }), Wt.speed = function(t, e, i) { var n = t && "object" == typeof t ? Wt.extend({}, t) : { complete: i || !i && e || Wt.isFunction(t) && t, duration: t, easing: i && e || e && !Wt.isFunction(e) && e }; return Wt.fx.off || Tt.hidden ? n.duration = 0 : "number" != typeof n.duration && (n.duration = n.duration in Wt.fx.speeds ? Wt.fx.speeds[n.duration] : Wt.fx.speeds._default), null != n.queue && !0 !== n.queue || (n.queue = "fx"), n.old = n.complete, n.complete = function() { Wt.isFunction(n.old) && n.old.call(this), n.queue && Wt.dequeue(this, n.queue) }, n }, Wt.fn.extend({ fadeTo: function(t, e, i, n) { return this.filter(ee).css("opacity", 0).show().end().animate({ opacity: e }, t, i, n) }, animate: function(t, e, i, n) { var s = Wt.isEmptyObject(t), o = Wt.speed(e, i, n), a = function() { var e = R(this, Wt.extend({}, t), o); (s || Kt.get(this, "finish")) && e.stop(!0) }; return a.finish = a, s || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) }, stop: function(t, e, i) { var n = function(t) { var e = t.stop; delete t.stop, e(i) }; return "string" != typeof t && (i = e, e = t, t = void 0), e && !1 !== t && this.queue(t || "fx", []), this.each((function() { var e = !0, s = null != t && t + "queueHooks", o = Wt.timers, a = Kt.get(this); if (s) a[s] && a[s].stop && n(a[s]); else for (s in a) a[s] && a[s].stop && ut.test(s) && n(a[s]); for (s = o.length; s--;) o[s].elem !== this || null != t && o[s].queue !== t || (o[s].anim.stop(i), e = !1, o.splice(s, 1)); !e && i || Wt.dequeue(this, t) })) }, finish: function(t) { return !1 !== t && (t = t || "fx"), this.each((function() { var e, i = Kt.get(this), n = i[t + "queue"], s = i[t + "queueHooks"], o = Wt.timers, a = n ? n.length : 0; for (i.finish = !0, Wt.queue(this, t, []), s && s.stop && s.stop.call(this, !0), e = o.length; e--;) o[e].elem === this && o[e].queue === t && (o[e].anim.stop(!0), o.splice(e, 1)); for (e = 0; e < a; e++) n[e] && n[e].finish && n[e].finish.call(this); delete i.finish })) } }), Wt.each(["toggle", "show", "hide"], (function(t, e) { var i = Wt.fn[e]; Wt.fn[e] = function(t, n, s) { return null == t || "boolean" == typeof t ? i.apply(this, arguments) : this.animate(F(e, !0), t, n, s) } })), Wt.each({ slideDown: F("show"), slideUp: F("hide"), slideToggle: F("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, (function(t, e) { Wt.fn[t] = function(t, i, n) { return this.animate(e, t, i, n) } })), Wt.timers = [], Wt.fx.tick = function() { var t, e = 0, i = Wt.timers; for (lt = Wt.now(); e < i.length; e++)(t = i[e])() || i[e] !== t || i.splice(e--, 1); i.length || Wt.fx.stop(), lt = void 0 }, Wt.fx.timer = function(t) { Wt.timers.push(t), t() ? Wt.fx.start() : Wt.timers.pop() }, Wt.fx.interval = 13, Wt.fx.start = function() { ht || (ht = t.requestAnimationFrame ? t.requestAnimationFrame(z) : t.setInterval(Wt.fx.tick, Wt.fx.interval)) }, Wt.fx.stop = function() { t.cancelAnimationFrame ? t.cancelAnimationFrame(ht) : t.clearInterval(ht), ht = null }, Wt.fx.speeds = { slow: 600, fast: 200, _default: 400 }, Wt.fn.delay = function(e, i) { return e = Wt.fx && Wt.fx.speeds[e] || e, i = i || "fx", this.queue(i, (function(i, n) { var s = t.setTimeout(i, e); n.stop = function() { t.clearTimeout(s) } })) }, function() { var t = Tt.createElement("input"), e = Tt.createElement("select").appendChild(Tt.createElement("option")); t.type = "checkbox", Ht.checkOn = "" !== t.value, Ht.optSelected = e.selected, (t = Tt.createElement("input")).value = "t", t.type = "radio", Ht.radioValue = "t" === t.value }(), pt = Wt.expr.attrHandle, Wt.fn.extend({ attr: function(t, e) { return st(this, Wt.attr, t, e, arguments.length > 1) }, removeAttr: function(t) { return this.each((function() { Wt.removeAttr(this, t) })) } }), Wt.extend({ attr: function(t, e, i) { var n, s, o = t.nodeType; if (3 !== o && 8 !== o && 2 !== o) return void 0 === t.getAttribute ? Wt.prop(t, e, i) : (1 === o && Wt.isXMLDoc(t) || (s = Wt.attrHooks[e.toLowerCase()] || (Wt.expr.match.bool.test(e) ? dt : void 0)), void 0 !== i ? null === i ? void Wt.removeAttr(t, e) : s && "set" in s && void 0 !== (n = s.set(t, i, e)) ? n : (t.setAttribute(e, i + ""), i) : s && "get" in s && null !== (n = s.get(t, e)) ? n : null == (n = Wt.find.attr(t, e)) ? void 0 : n) }, attrHooks: { type: { set: function(t, e) { if (!Ht.radioValue && "radio" === e && Wt.nodeName(t, "input")) { var i = t.value; return t.setAttribute("type", e), i && (t.value = i), e } } } }, removeAttr: function(t, e) { var i, n = 0, s = e && e.match(et); if (s && 1 === t.nodeType) for (; i = s[n++];) t.removeAttribute(i) } }), dt = { set: function(t, e, i) { return !1 === e ? Wt.removeAttr(t, i) : t.setAttribute(i, i), i } }, Wt.each(Wt.expr.match.bool.source.match(/\w+/g), (function(t, e) { var i = pt[e] || Wt.find.attr; pt[e] = function(t, e, n) { var s, o, a = e.toLowerCase(); return n || (o = pt[a], pt[a] = s, s = null != i(t, e, n) ? a : null, pt[a] = o), s } })), ft = /^(?:input|select|textarea|button)$/i, mt = /^(?:a|area)$/i, Wt.fn.extend({ prop: function(t, e) { return st(this, Wt.prop, t, e, arguments.length > 1) }, removeProp: function(t) { return this.each((function() { delete this[Wt.propFix[t] || t] })) } }), Wt.extend({ prop: function(t, e, i) { var n, s, o = t.nodeType; if (3 !== o && 8 !== o && 2 !== o) return 1 === o && Wt.isXMLDoc(t) || (e = Wt.propFix[e] || e, s = Wt.propHooks[e]), void 0 !== i ? s && "set" in s && void 0 !== (n = s.set(t, i, e)) ? n : t[e] = i : s && "get" in s && null !== (n = s.get(t, e)) ? n : t[e] }, propHooks: { tabIndex: { get: function(t) { var e = Wt.find.attr(t, "tabindex"); return e ? parseInt(e, 10) : ft.test(t.nodeName) || mt.test(t.nodeName) && t.href ? 0 : -1 } } }, propFix: { for: "htmlFor", class: "className" } }), Ht.optSelected || (Wt.propHooks.selected = { get: function(t) { var e = t.parentNode; return e && e.parentNode && e.parentNode.selectedIndex, null }, set: function(t) { var e = t.parentNode; e && (e.selectedIndex, e.parentNode && e.parentNode.selectedIndex) } }), Wt.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], (function() { Wt.propFix[this.toLowerCase()] = this })), Wt.fn.extend({ addClass: function(t) { var e, i, n, s, o, a, r, l = 0; if (Wt.isFunction(t)) return this.each((function(e) { Wt(this).addClass(t.call(this, e, B(this))) })); if ("string" == typeof t && t) for (e = t.match(et) || []; i = this[l++];) if (s = B(i), n = 1 === i.nodeType && " " + j(s) + " ") { for (a = 0; o = e[a++];) n.indexOf(" " + o + " ") < 0 && (n += o + " "); s !== (r = j(n)) && i.setAttribute("class", r) } return this }, removeClass: function(t) { var e, i, n, s, o, a, r, l = 0; if (Wt.isFunction(t)) return this.each((function(e) { Wt(this).removeClass(t.call(this, e, B(this))) })); if (!arguments.length) return this.attr("class", ""); if ("string" == typeof t && t) for (e = t.match(et) || []; i = this[l++];) if (s = B(i), n = 1 === i.nodeType && " " + j(s) + " ") { for (a = 0; o = e[a++];) for (; n.indexOf(" " + o + " ") > -1;) n = n.replace(" " + o + " ", " "); s !== (r = j(n)) && i.setAttribute("class", r) } return this }, toggleClass: function(t, e) { var i = typeof t; return "boolean" == typeof e && "string" === i ? e ? this.addClass(t) : this.removeClass(t) : Wt.isFunction(t) ? this.each((function(i) { Wt(this).toggleClass(t.call(this, i, B(this), e), e) })) : this.each((function() { var e, n, s, o; if ("string" === i) for (n = 0, s = Wt(this), o = t.match(et) || []; e = o[n++];) s.hasClass(e) ? s.removeClass(e) : s.addClass(e); else void 0 !== t && "boolean" !== i || ((e = B(this)) && Kt.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === t ? "" : Kt.get(this, "__className__") || "")) })) }, hasClass: function(t) { for (var e, i = 0, n = " " + t + " "; e = this[i++];) if (1 === e.nodeType && (" " + j(B(e)) + " ").indexOf(n) > -1) return !0; return !1 } }), gt = /\r/g, Wt.fn.extend({ val: function(t) { var e, i, n, s = this[0]; return arguments.length ? (n = Wt.isFunction(t), this.each((function(i) { var s; 1 === this.nodeType && (null == (s = n ? t.call(this, i, Wt(this).val()) : t) ? s = "" : "number" == typeof s ? s += "" : Wt.isArray(s) && (s = Wt.map(s, (function(t) { return null == t ? "" : t + "" }))), (e = Wt.valHooks[this.type] || Wt.valHooks[this.nodeName.toLowerCase()]) && "set" in e && void 0 !== e.set(this, s, "value") || (this.value = s)) }))) : s ? (e = Wt.valHooks[s.type] || Wt.valHooks[s.nodeName.toLowerCase()]) && "get" in e && void 0 !== (i = e.get(s, "value")) ? i : "string" == typeof(i = s.value) ? i.replace(gt, "") : null == i ? "" : i : void 0 } }), Wt.extend({ valHooks: { option: { get: function(t) { var e = Wt.find.attr(t, "value"); return null != e ? e : j(Wt.text(t)) } }, select: { get: function(t) { for (var e, i, n = t.options, s = t.selectedIndex, o = "select-one" === t.type, a = o ? null : [], r = o ? s + 1 : n.length, l = s < 0 ? r : o ? s : 0; l < r; l++) if (((i = n[l]).selected || l === s) && !i.disabled && (!i.parentNode.disabled || !Wt.nodeName(i.parentNode, "optgroup"))) { if (e = Wt(i).val(), o) return e; a.push(e) } return a }, set: function(t, e) { for (var i, n, s = t.options, o = Wt.makeArray(e), a = s.length; a--;)((n = s[a]).selected = Wt.inArray(Wt.valHooks.option.get(n), o) > -1) && (i = !0); return i || (t.selectedIndex = -1), o } } } }), Wt.each(["radio", "checkbox"], (function() { Wt.valHooks[this] = { set: function(t, e) { if (Wt.isArray(e)) return t.checked = Wt.inArray(Wt(t).val(), e) > -1 } }, Ht.checkOn || (Wt.valHooks[this].get = function(t) { return null === t.getAttribute("value") ? "on" : t.value }) })), vt = /^(?:focusinfocus|focusoutblur)$/, Wt.extend(Wt.event, { trigger: function(e, i, n, s) { var o, a, r, l, h, c, u, d = [n || Tt], p = Nt.call(e, "type") ? e.type : e, f = Nt.call(e, "namespace") ? e.namespace.split(".") : []; if (a = r = n = n || Tt, 3 !== n.nodeType && 8 !== n.nodeType && !vt.test(p + Wt.event.triggered) && (p.indexOf(".") > -1 && (f = p.split("."), p = f.shift(), f.sort()), h = p.indexOf(":") < 0 && "on" + p, (e = e[Wt.expando] ? e : new Wt.Event(p, "object" == typeof e && e)).isTrigger = s ? 2 : 3, e.namespace = f.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), i = null == i ? [e] : Wt.makeArray(i, [e]), u = Wt.event.special[p] || {}, s || !u.trigger || !1 !== u.trigger.apply(n, i))) { if (!s && !u.noBubble && !Wt.isWindow(n)) { for (l = u.delegateType || p, vt.test(l + p) || (a = a.parentNode); a; a = a.parentNode) d.push(a), r = a; r === (n.ownerDocument || Tt) && d.push(r.defaultView || r.parentWindow || t) } for (o = 0; (a = d[o++]) && !e.isPropagationStopped();) e.type = o > 1 ? l : u.bindType || p, (c = (Kt.get(a, "events") || {})[e.type] && Kt.get(a, "handle")) && c.apply(a, i), (c = h && a[h]) && c.apply && ot(a) && (e.result = c.apply(a, i), !1 === e.result && e.preventDefault()); return e.type = p, s || e.isDefaultPrevented() || u._default && !1 !== u._default.apply(d.pop(), i) || !ot(n) || h && Wt.isFunction(n[p]) && !Wt.isWindow(n) && ((r = n[h]) && (n[h] = null), Wt.event.triggered = p, n[p](), Wt.event.triggered = void 0, r && (n[h] = r)), e.result } }, simulate: function(t, e, i) { var n = Wt.extend(new Wt.Event, i, { type: t, isSimulated: !0 }); Wt.event.trigger(n, null, e) } }), Wt.fn.extend({ trigger: function(t, e) { return this.each((function() { Wt.event.trigger(t, e, this) })) }, triggerHandler: function(t, e) { var i = this[0]; if (i) return Wt.event.trigger(t, e, i, !0) } }), Wt.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), (function(t, e) { Wt.fn[e] = function(t, i) { return arguments.length > 0 ? this.on(e, null, t, i) : this.trigger(e) } })), Wt.fn.extend({ hover: function(t, e) { return this.mouseenter(t).mouseleave(e || t) } }), Ht.focusin = "onfocusin" in t, Ht.focusin || Wt.each({ focus: "focusin", blur: "focusout" }, (function(t, e) { var i = function(t) { Wt.event.simulate(e, t.target, Wt.event.fix(t)) }; Wt.event.special[e] = { setup: function() { var n = this.ownerDocument || this, s = Kt.access(n, e); s || n.addEventListener(t, i, !0), Kt.access(n, e, (s || 0) + 1) }, teardown: function() { var n = this.ownerDocument || this, s = Kt.access(n, e) - 1; s ? Kt.access(n, e, s) : (n.removeEventListener(t, i, !0), Kt.remove(n, e)) } } })); var ke = t.location, Te = Wt.now(), De = /\?/; Wt.parseXML = function(e) { var i; if (!e || "string" != typeof e) return null; try { i = (new t.DOMParser).parseFromString(e, "text/xml") } catch (t) { i = void 0 } return i && !i.getElementsByTagName("parsererror").length || Wt.error("Invalid XML: " + e), i }; var Ie = /\[\]$/, Se = /\r?\n/g, Pe = /^(?:submit|button|image|reset|file)$/i, Ee = /^(?:input|select|textarea|keygen)/i; Wt.param = function(t, e) { var i, n = [], s = function(t, e) { var i = Wt.isFunction(e) ? e() : e; n[n.length] = encodeURIComponent(t) + "=" + encodeURIComponent(null == i ? "" : i) }; if (Wt.isArray(t) || t.jquery && !Wt.isPlainObject(t)) Wt.each(t, (function() { s(this.name, this.value) })); else for (i in t) q(i, t[i], e, s); return n.join("&") }, Wt.fn.extend({ serialize: function() { return Wt.param(this.serializeArray()) }, serializeArray: function() { return this.map((function() { var t = Wt.prop(this, "elements"); return t ? Wt.makeArray(t) : this })).filter((function() { var t = this.type; return this.name && !Wt(this).is(":disabled") && Ee.test(this.nodeName) && !Pe.test(t) && (this.checked || !ne.test(t)) })).map((function(t, e) { var i = Wt(this).val(); return null == i ? null : Wt.isArray(i) ? Wt.map(i, (function(t) { return { name: e.name, value: t.replace(Se, "\r\n") } })) : { name: e.name, value: i.replace(Se, "\r\n") } })).get() } }); var Ae = /%20/g, Me = /#.*$/, Ne = /([?&])_=[^&]*/, Oe = /^(.*?):[ \t]*([^\r\n]*)$/gm, $e = /^(?:GET|HEAD)$/, He = /^\/\//, ze = {}, We = {}, Fe = "*/".concat("*"), Le = Tt.createElement("a"); return Le.href = ke.href, Wt.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: ke.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(ke.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": Fe, 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": JSON.parse, "text xml": Wt.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function(t, e) { return e ? V(V(t, Wt.ajaxSettings), e) : V(Wt.ajaxSettings, t) }, ajaxPrefilter: Y(ze), ajaxTransport: Y(We), ajax: function(e, i) { function n(e, i, n, r) { var h, d, p, _, w, x = i; c || (c = !0, l && t.clearTimeout(l), s = void 0, a = r || "", C.readyState = e > 0 ? 4 : 0, h = e >= 200 && e < 300 || 304 === e, n && (_ = function(t, e, i) { for (var n, s, o, a, r = t.contents, l = t.dataTypes; "*" === l[0];) l.shift(), void 0 === n && (n = t.mimeType || e.getResponseHeader("Content-Type")); if (n) for (s in r) if (r[s] && r[s].test(n)) { l.unshift(s); break } if (l[0] in i) o = l[0]; else { for (s in i) { if (!l[0] || t.converters[s + " " + l[0]]) { o = s; break } a || (a = s) } o = o || a } if (o) return o !== l[0] && l.unshift(o), i[o] }(f, C, n)), _ = function(t, e, i, n) { var s, o, a, r, l, h = {}, c = t.dataTypes.slice(); if (c[1]) for (a in t.converters) h[a.toLowerCase()] = t.converters[a]; for (o = c.shift(); o;) if (t.responseFields[o] && (i[t.responseFields[o]] = e), !l && n && t.dataFilter && (e = t.dataFilter(e, t.dataType)), l = o, o = c.shift()) if ("*" === o) o = l; else if ("*" !== l && l !== o) { if (!(a = h[l + " " + o] || h["* " + o])) for (s in h) if ((r = s.split(" "))[1] === o && (a = h[l + " " + r[0]] || h["* " + r[0]])) { !0 === a ? a = h[s] : !0 !== h[s] && (o = r[0], c.unshift(r[1])); break } if (!0 !== a) if (a && t.throws) e = a(e); else try { e = a(e) } catch (t) { return { state: "parsererror", error: a ? t : "No conversion from " + l + " to " + o } } } return { state: "success", data: e } }(f, _, C, h), h ? (f.ifModified && ((w = C.getResponseHeader("Last-Modified")) && (Wt.lastModified[o] = w), (w = C.getResponseHeader("etag")) && (Wt.etag[o] = w)), 204 === e || "HEAD" === f.type ? x = "nocontent" : 304 === e ? x = "notmodified" : (x = _.state, d = _.data, h = !(p = _.error))) : (p = x, !e && x || (x = "error", e < 0 && (e = 0))), C.status = e, C.statusText = (i || x) + "", h ? v.resolveWith(m, [d, x, C]) : v.rejectWith(m, [C, x, p]), C.statusCode(y), y = void 0, u && g.trigger(h ? "ajaxSuccess" : "ajaxError", [C, f, h ? d : p]), b.fireWith(m, [C, x]), u && (g.trigger("ajaxComplete", [C, f]), --Wt.active || Wt.event.trigger("ajaxStop"))) } "object" == typeof e && (i = e, e = void 0), i = i || {}; var s, o, a, r, l, h, c, u, d, p, f = Wt.ajaxSetup({}, i), m = f.context || f, g = f.context && (m.nodeType || m.jquery) ? Wt(m) : Wt.event, v = Wt.Deferred(), b = Wt.Callbacks("once memory"), y = f.statusCode || {}, _ = {}, w = {}, x = "canceled", C = { readyState: 0, getResponseHeader: function(t) { var e; if (c) { if (!r) for (r = {}; e = Oe.exec(a);) r[e[1].toLowerCase()] = e[2]; e = r[t.toLowerCase()] } return null == e ? null : e }, getAllResponseHeaders: function() { return c ? a : null }, setRequestHeader: function(t, e) { return null == c && (t = w[t.toLowerCase()] = w[t.toLowerCase()] || t, _[t] = e), this }, overrideMimeType: function(t) { return null == c && (f.mimeType = t), this }, statusCode: function(t) { var e; if (t) if (c) C.always(t[C.status]); else for (e in t) y[e] = [y[e], t[e]]; return this }, abort: function(t) { var e = t || x; return s && s.abort(e), n(0, e), this } }; if (v.promise(C), f.url = ((e || f.url || ke.href) + "").replace(He, ke.protocol + "//"), f.type = i.method || i.type || f.method || f.type, f.dataTypes = (f.dataType || "*").toLowerCase().match(et) || [""], null == f.crossDomain) { h = Tt.createElement("a"); try { h.href = f.url, h.href = h.href, f.crossDomain = Le.protocol + "//" + Le.host != h.protocol + "//" + h.host } catch (t) { f.crossDomain = !0 } } if (f.data && f.processData && "string" != typeof f.data && (f.data = Wt.param(f.data, f.traditional)), U(ze, f, i, C), c) return C; for (d in (u = Wt.event && f.global) && 0 == Wt.active++ && Wt.event.trigger("ajaxStart"), f.type = f.type.toUpperCase(), f.hasContent = !$e.test(f.type), o = f.url.replace(Me, ""), f.hasContent ? f.data && f.processData && 0 === (f.contentType || "").indexOf("application/x-www-form-urlencoded") && (f.data = f.data.replace(Ae, "+")) : (p = f.url.slice(o.length), f.data && (o += (De.test(o) ? "&" : "?") + f.data, delete f.data), !1 === f.cache && (o = o.replace(Ne, "$1"), p = (De.test(o) ? "&" : "?") + "_=" + Te++ + p), f.url = o + p), f.ifModified && (Wt.lastModified[o] && C.setRequestHeader("If-Modified-Since", Wt.lastModified[o]), Wt.etag[o] && C.setRequestHeader("If-None-Match", Wt.etag[o])), (f.data && f.hasContent && !1 !== f.contentType || i.contentType) && C.setRequestHeader("Content-Type", f.contentType), C.setRequestHeader("Accept", f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ("*" !== f.dataTypes[0] ? ", " + Fe + "; q=0.01" : "") : f.accepts["*"]), f.headers) C.setRequestHeader(d, f.headers[d]); if (f.beforeSend && (!1 === f.beforeSend.call(m, C, f) || c)) return C.abort(); if (x = "abort", b.add(f.complete), C.done(f.success), C.fail(f.error), s = U(We, f, i, C)) { if (C.readyState = 1, u && g.trigger("ajaxSend", [C, f]), c) return C; f.async && f.timeout > 0 && (l = t.setTimeout((function() { C.abort("timeout") }), f.timeout)); try { c = !1, s.send(_, n) } catch (t) { if (c) throw t; n(-1, t) } } else n(-1, "No Transport"); return C }, getJSON: function(t, e, i) { return Wt.get(t, e, i, "json") }, getScript: function(t, e) { return Wt.get(t, void 0, e, "script") } }), Wt.each(["get", "post"], (function(t, e) { Wt[e] = function(t, i, n, s) { return Wt.isFunction(i) && (s = s || n, n = i, i = void 0), Wt.ajax(Wt.extend({ url: t, type: e, dataType: s, data: i, success: n }, Wt.isPlainObject(t) && t)) } })), Wt._evalUrl = function(t) { return Wt.ajax({ url: t, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, throws: !0 }) }, Wt.fn.extend({ wrapAll: function(t) { var e; return this[0] && (Wt.isFunction(t) && (t = t.call(this[0])), e = Wt(t, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && e.insertBefore(this[0]), e.map((function() { for (var t = this; t.firstElementChild;) t = t.firstElementChild; return t })).append(this)), this }, wrapInner: function(t) { return Wt.isFunction(t) ? this.each((function(e) { Wt(this).wrapInner(t.call(this, e)) })) : this.each((function() { var e = Wt(this), i = e.contents(); i.length ? i.wrapAll(t) : e.append(t) })) }, wrap: function(t) { var e = Wt.isFunction(t); return this.each((function(i) { Wt(this).wrapAll(e ? t.call(this, i) : t) })) }, unwrap: function(t) { return this.parent(t).not("body").each((function() { Wt(this).replaceWith(this.childNodes) })), this } }), Wt.expr.pseudos.hidden = function(t) { return !Wt.expr.pseudos.visible(t) }, Wt.expr.pseudos.visible = function(t) { return !!(t.offsetWidth || t.offsetHeight || t.getClientRects().length) }, Wt.ajaxSettings.xhr = function() { try { return new t.XMLHttpRequest } catch (t) {} }, bt = { 0: 200, 1223: 204 }, yt = Wt.ajaxSettings.xhr(), Ht.cors = !!yt && "withCredentials" in yt, Ht.ajax = yt = !!yt, Wt.ajaxTransport((function(e) { var i, n; if (Ht.cors || yt && !e.crossDomain) return { send: function(s, o) { var a, r = e.xhr(); if (r.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (a in e.xhrFields) r[a] = e.xhrFields[a]; for (a in e.mimeType && r.overrideMimeType && r.overrideMimeType(e.mimeType), e.crossDomain || s["X-Requested-With"] || (s["X-Requested-With"] = "XMLHttpRequest"), s) r.setRequestHeader(a, s[a]); i = function(t) { return function() { i && (i = n = r.onload = r.onerror = r.onabort = r.onreadystatechange = null, "abort" === t ? r.abort() : "error" === t ? "number" != typeof r.status ? o(0, "error") : o(r.status, r.statusText) : o(bt[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? { binary: r.response } : { text: r.responseText }, r.getAllResponseHeaders())) } }, r.onload = i(), n = r.onerror = i("error"), void 0 !== r.onabort ? r.onabort = n : r.onreadystatechange = function() { 4 === r.readyState && t.setTimeout((function() { i && n() })) }, i = i("abort"); try { r.send(e.hasContent && e.data || null) } catch (t) { if (i) throw t } }, abort: function() { i && i() } } })), Wt.ajaxPrefilter((function(t) { t.crossDomain && (t.contents.script = !1) })), Wt.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function(t) { return Wt.globalEval(t), t } } }), Wt.ajaxPrefilter("script", (function(t) { void 0 === t.cache && (t.cache = !1), t.crossDomain && (t.type = "GET") })), Wt.ajaxTransport("script", (function(t) { var e, i; if (t.crossDomain) return { send: function(n, s) { e = Wt("<script>").prop({ charset: t.scriptCharset, src: t.url }).on("load error", i = function(t) { e.remove(), i = null, t && s("error" === t.type ? 404 : 200, t.type) }), Tt.head.appendChild(e[0]) }, abort: function() { i && i() } } })), _t = [], wt = /(=)\?(?=&|$)|\?\?/, Wt.ajaxSetup({ jsonp: "callback", jsonpCallback: function() { var t = _t.pop() || Wt.expando + "_" + Te++; return this[t] = !0, t } }), Wt.ajaxPrefilter("json jsonp", (function(e, i, n) { var s, o, a, r = !1 !== e.jsonp && (wt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && wt.test(e.data) && "data"); if (r || "jsonp" === e.dataTypes[0]) return s = e.jsonpCallback = Wt.isFunction(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, r ? e[r] = e[r].replace(wt, "$1" + s) : !1 !== e.jsonp && (e.url += (De.test(e.url) ? "&" : "?") + e.jsonp + "=" + s), e.converters["script json"] = function() { return a || Wt.error(s + " was not called"), a[0] }, e.dataTypes[0] = "json", o = t[s], t[s] = function() { a = arguments }, n.always((function() { void 0 === o ? Wt(t).removeProp(s) : t[s] = o, e[s] && (e.jsonpCallback = i.jsonpCallback, _t.push(s)), a && Wt.isFunction(o) && o(a[0]), a = o = void 0 })), "script" })), Ht.createHTMLDocument = function() { var t = Tt.implementation.createHTMLDocument("").body; return t.innerHTML = "<form></form><form></form>", 2 === t.childNodes.length }(), Wt.parseHTML = function(t, e, i) { return "string" != typeof t ? [] : ("boolean" == typeof e && (i = e, e = !1), e || (Ht.createHTMLDocument ? ((n = (e = Tt.implementation.createHTMLDocument("")).createElement("base")).href = Tt.location.href, e.head.appendChild(n)) : e = Tt), o = !i && [], (s = Ut.exec(t)) ? [e.createElement(s[1])] : (s = b([t], e, o), o && o.length && Wt(o).remove(), Wt.merge([], s.childNodes))); var n, s, o }, Wt.fn.load = function(t, e, i) { var n, s, o, a = this, r = t.indexOf(" "); return r > -1 && (n = j(t.slice(r)), t = t.slice(0, r)), Wt.isFunction(e) ? (i = e, e = void 0) : e && "object" == typeof e && (s = "POST"), a.length > 0 && Wt.ajax({ url: t, type: s || "GET", dataType: "html", data: e }).done((function(t) { o = arguments, a.html(n ? Wt("<div>").append(Wt.parseHTML(t)).find(n) : t) })).always(i && function(t, e) { a.each((function() { i.apply(this, o || [t.responseText, e, t]) })) }), this }, Wt.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], (function(t, e) { Wt.fn[e] = function(t) { return this.on(e, t) } })), Wt.expr.pseudos.animated = function(t) { return Wt.grep(Wt.timers, (function(e) { return t === e.elem })).length }, Wt.offset = { setOffset: function(t, e, i) { var n, s, o, a, r, l, h = Wt.css(t, "position"), c = Wt(t), u = {}; "static" === h && (t.style.position = "relative"), r = c.offset(), o = Wt.css(t, "top"), l = Wt.css(t, "left"), ("absolute" === h || "fixed" === h) && (o + l).indexOf("auto") > -1 ? (a = (n = c.position()).top, s = n.left) : (a = parseFloat(o) || 0, s = parseFloat(l) || 0), Wt.isFunction(e) && (e = e.call(t, i, Wt.extend({}, r))), null != e.top && (u.top = e.top - r.top + a), null != e.left && (u.left = e.left - r.left + s), "using" in e ? e.using.call(t, u) : c.css(u) } }, Wt.fn.extend({ offset: function(t) { if (arguments.length) return void 0 === t ? this : this.each((function(e) { Wt.offset.setOffset(this, t, e) })); var e, i, n, s, o = this[0]; return o ? o.getClientRects().length ? (n = o.getBoundingClientRect()).width || n.height ? (i = K(s = o.ownerDocument), e = s.documentElement, { top: n.top + i.pageYOffset - e.clientTop, left: n.left + i.pageXOffset - e.clientLeft }) : n : { top: 0, left: 0 } : void 0 }, position: function() { if (this[0]) { var t, e, i = this[0], n = { top: 0, left: 0 }; return "fixed" === Wt.css(i, "position") ? e = i.getBoundingClientRect() : (t = this.offsetParent(), e = this.offset(), Wt.nodeName(t[0], "html") || (n = t.offset()), n = { top: n.top + Wt.css(t[0], "borderTopWidth", !0), left: n.left + Wt.css(t[0], "borderLeftWidth", !0) }), { top: e.top - n.top - Wt.css(i, "marginTop", !0), left: e.left - n.left - Wt.css(i, "marginLeft", !0) } } }, offsetParent: function() { return this.map((function() { for (var t = this.offsetParent; t && "static" === Wt.css(t, "position");) t = t.offsetParent; return t || re })) } }), Wt.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, (function(t, e) { var i = "pageYOffset" === e; Wt.fn[t] = function(n) { return st(this, (function(t, n, s) { var o = K(t); return void 0 === s ? o ? o[e] : t[n] : void(o ? o.scrollTo(i ? o.pageXOffset : s, i ? s : o.pageYOffset) : t[n] = s) }), t, n, arguments.length) } })), Wt.each(["top", "left"], (function(t, e) { Wt.cssHooks[e] = A(Ht.pixelPosition, (function(t, i) { if (i) return i = E(t, e), ve.test(i) ? Wt(t).position()[e] + "px" : i })) })), Wt.each({ Height: "height", Width: "width" }, (function(t, e) { Wt.each({ padding: "inner" + t, content: e, "": "outer" + t }, (function(i, n) { Wt.fn[n] = function(s, o) { var a = arguments.length && (i || "boolean" != typeof s), r = i || (!0 === s || !0 === o ? "margin" : "border"); return st(this, (function(e, i, s) { var o; return Wt.isWindow(e) ? 0 === n.indexOf("outer") ? e["inner" + t] : e.document.documentElement["client" + t] : 9 === e.nodeType ? (o = e.documentElement, Math.max(e.body["scroll" + t], o["scroll" + t], e.body["offset" + t], o["offset" + t], o["client" + t])) : void 0 === s ? Wt.css(e, i, r) : Wt.style(e, i, s, r) }), e, a ? s : void 0, a) } })) })), Wt.fn.extend({ bind: function(t, e, i) { return this.on(t, null, e, i) }, unbind: function(t, e) { return this.off(t, null, e) }, delegate: function(t, e, i, n) { return this.on(e, t, i, n) }, undelegate: function(t, e, i) { return 1 === arguments.length ? this.off(t, "**") : this.off(e, t || "**", i) } }), Wt.parseJSON = JSON.parse, "function" == typeof define && define.amd && define("jquery", [], (function() { return Wt })), xt = t.jQuery, Ct = t.$, Wt.noConflict = function(e) { return t.$ === Wt && (t.$ = Ct), e && t.jQuery === Wt && (t.jQuery = xt), Wt }, e || (t.jQuery = t.$ = Wt), Wt })), function(t) { var e = t(window); t.fn.visible = function(t, i, n) { if (!(this.length < 1)) { var s = this.length > 1 ? this.eq(0) : this, o = s.get(0), a = e.width(), r = e.height(), l = (n = n || "both", !0 !== i || o.offsetWidth * o.offsetHeight); if ("function" == typeof o.getBoundingClientRect) { var h = o.getBoundingClientRect(), c = h.top >= 0 && h.top < r, u = h.bottom > 0 && h.bottom <= r, d = h.left >= 0 && h.left < a, p = h.right > 0 && h.right <= a, f = t ? c || u : c && u, m = t ? d || p : d && p; if ("both" === n) return l && f && m; if ("vertical" === n) return l && f; if ("horizontal" === n) return l && m } else { var g = e.scrollTop(), v = g + r, b = e.scrollLeft(), y = b + a, _ = s.offset(), w = _.top, x = w + s.height(), C = _.left, k = C + s.width(), T = !0 === t ? x : w, D = !0 === t ? w : x, I = !0 === t ? k : C, S = !0 === t ? C : k; if ("both" === n) return !!l && v >= D && T >= g && y >= S && I >= b; if ("vertical" === n) return !!l && v >= D && T >= g; if ("horizontal" === n) return !!l && y >= S && I >= b } } } }(jQuery), function(t) { "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery) }((function(t) { function e() { this._curInst = null, this._keyEvent = !1, this._disabledInputs = [], this._datepickerShowing = !1, this._inDialog = !1, this._mainDivId = "ui-datepicker-div", this._inlineClass = "ui-datepicker-inline", this._appendClass = "ui-datepicker-append", this._triggerClass = "ui-datepicker-trigger", this._dialogClass = "ui-datepicker-dialog", this._disableClass = "ui-datepicker-disabled", this._unselectableClass = "ui-datepicker-unselectable", this._currentClass = "ui-datepicker-current-day", this._dayOverClass = "ui-datepicker-days-cell-over", this.regional = [], this.regional[""] = { closeText: "Done", prevText: "Prev", nextText: "Next", currentText: "Today", monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], weekHeader: "Wk", dateFormat: "mm/dd/yy", firstDay: 0, isRTL: !1, showMonthAfterYear: !1, yearSuffix: "" }, this._defaults = { showOn: "focus", showAnim: "fadeIn", showOptions: {}, defaultDate: null, appendText: "", buttonText: "...", buttonImage: "", buttonImageOnly: !1, hideIfNoPrevNext: !1, navigationAsDateFormat: !1, gotoCurrent: !1, changeMonth: !1, changeYear: !1, yearRange: "c-10:c+10", showOtherMonths: !1, selectOtherMonths: !1, showWeek: !1, calculateWeek: this.iso8601Week, shortYearCutoff: "+10", minDate: null, maxDate: null, duration: "fast", beforeShowDay: null, beforeShow: null, onSelect: null, onChangeMonthYear: null, onClose: null, numberOfMonths: 1, showCurrentAtPos: 0, stepMonths: 1, stepBigMonths: 12, altField: "", altFormat: "", constrainInput: !0, showButtonPanel: !1, autoSize: !1, disabled: !1 }, t.extend(this._defaults, this.regional[""]), this.regional.en = t.extend(!0, {}, this.regional[""]), this.regional["en-US"] = t.extend(!0, {}, this.regional.en), this.dpDiv = i(t("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")) } function i(e) { var i = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; return e.on("mouseout", i, (function() { t(this).removeClass("ui-state-hover"), -1 !== this.className.indexOf("ui-datepicker-prev") && t(this).removeClass("ui-datepicker-prev-hover"), -1 !== this.className.indexOf("ui-datepicker-next") && t(this).removeClass("ui-datepicker-next-hover") })).on("mouseover", i, n) } function n() { t.datepicker._isDisabledDatepicker(a.inline ? a.dpDiv.parent()[0] : a.input[0]) || (t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"), t(this).addClass("ui-state-hover"), -1 !== this.className.indexOf("ui-datepicker-prev") && t(this).addClass("ui-datepicker-prev-hover"), -1 !== this.className.indexOf("ui-datepicker-next") && t(this).addClass("ui-datepicker-next-hover")) } function s(e, i) { for (var n in t.extend(e, i), i) null == i[n] && (e[n] = i[n]); return e } function o(t) { return function() { var e = this.element.val(); t.apply(this, arguments), this._refresh(), e !== this.element.val() && this._trigger("change") } } var a, r; t.ui = t.ui || {}; t.ui.version = "1.12.1"; var l = 0, h = Array.prototype.slice; t.cleanData = function(e) { return function(i) { for (var n, s, o = 0; null != (s = i[o]); o++) try { (n = t._data(s, "events")) && n.remove && t(s).triggerHandler("remove") } catch (t) {} e(i) } }(t.cleanData), t.widget = function(e, i, n) { var s, o, a, r, l = {}, h = e.split(".")[0]; return e = e.split(".")[1], r = h + "-" + e, n || (n = i, i = t.Widget), t.isArray(n) && (n = t.extend.apply(null, [{}].concat(n))), t.expr[":"][r.toLowerCase()] = function(e) { return !!t.data(e, r) }, t[h] = t[h] || {}, s = t[h][e], o = t[h][e] = function(t, e) { if (!this._createWidget) return new o(t, e); arguments.length && this._createWidget(t, e) }, t.extend(o, s, { version: n.version, _proto: t.extend({}, n), _childConstructors: [] }), (a = new i).options = t.widget.extend({}, a.options), t.each(n, (function(e, n) { t.isFunction(n) ? l[e] = function() { function t() { return i.prototype[e].apply(this, arguments) } function s(t) { return i.prototype[e].apply(this, t) } return function() { var e, i = this._super, o = this._superApply; return this._super = t, this._superApply = s, e = n.apply(this, arguments), this._super = i, this._superApply = o, e } }() : l[e] = n })), o.prototype = t.widget.extend(a, { widgetEventPrefix: s && a.widgetEventPrefix || e }, l, { constructor: o, namespace: h, widgetName: e, widgetFullName: r }), s ? (t.each(s._childConstructors, (function(e, i) { var n = i.prototype; t.widget(n.namespace + "." + n.widgetName, o, i._proto) })), delete s._childConstructors) : i._childConstructors.push(o), t.widget.bridge(e, o), o }, t.widget.extend = function(e) { for (var i, n, s = h.call(arguments, 1), o = 0, a = s.length; o < a; o++) for (i in s[o]) n = s[o][i], s[o].hasOwnProperty(i) && void 0 !== n && (e[i] = t.isPlainObject(n) ? t.isPlainObject(e[i]) ? t.widget.extend({}, e[i], n) : t.widget.extend({}, n) : n); return e }, t.widget.bridge = function(e, i) { var n = i.prototype.widgetFullName || e; t.fn[e] = function(s) { var o = "string" == typeof s, a = h.call(arguments, 1), r = this; return o ? this.length || "instance" !== s ? this.each((function() { var i, o = t.data(this, n); return "instance" === s ? (r = o, !1) : o ? t.isFunction(o[s]) && "_" !== s.charAt(0) ? (i = o[s].apply(o, a)) !== o && void 0 !== i ? (r = i && i.jquery ? r.pushStack(i.get()) : i, !1) : void 0 : t.error("no such method '" + s + "' for " + e + " widget instance") : t.error("cannot call methods on " + e + " prior to initialization; attempted to call method '" + s + "'") })) : r = void 0 : (a.length && (s = t.widget.extend.apply(null, [s].concat(a))), this.each((function() { var e = t.data(this, n); e ? (e.option(s || {}), e._init && e._init()) : t.data(this, n, new i(s, this)) }))), r } }, t.Widget = function() {}, t.Widget._childConstructors = [], t.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", defaultElement: "<div>", options: { classes: {}, disabled: !1, create: null }, _createWidget: function(e, i) { i = t(i || this.defaultElement || this)[0], this.element = t(i), this.uuid = l++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = t(), this.hoverable = t(), this.focusable = t(), this.classesElementLookup = {}, i !== this && (t.data(i, this.widgetFullName, this), this._on(!0, this.element, { remove: function(t) { t.target === i && this.destroy() } }), this.document = t(i.style ? i.ownerDocument : i.document || i), this.window = t(this.document[0].defaultView || this.document[0].parentWindow)), this.options = t.widget.extend({}, this.options, this._getCreateOptions(), e), this._create(), this.options.disabled && this._setOptionDisabled(this.options.disabled), this._trigger("create", null, this._getCreateEventData()), this._init() }, _getCreateOptions: function() { return {} }, _getCreateEventData: t.noop, _create: t.noop, _init: t.noop, destroy: function() { var e = this; this._destroy(), t.each(this.classesElementLookup, (function(t, i) { e._removeClass(i, t) })), this.element.off(this.eventNamespace).removeData(this.widgetFullName), this.widget().off(this.eventNamespace).removeAttr("aria-disabled"), this.bindings.off(this.eventNamespace) }, _destroy: t.noop, widget: function() { return this.element }, option: function(e, i) { var n, s, o, a = e; if (0 === arguments.length) return t.widget.extend({}, this.options); if ("string" == typeof e) if (a = {}, n = e.split("."), e = n.shift(), n.length) { for (s = a[e] = t.widget.extend({}, this.options[e]), o = 0; o < n.length - 1; o++) s[n[o]] = s[n[o]] || {}, s = s[n[o]]; if (e = n.pop(), 1 === arguments.length) return void 0 === s[e] ? null : s[e]; s[e] = i } else { if (1 === arguments.length) return void 0 === this.options[e] ? null : this.options[e]; a[e] = i } return this._setOptions(a), this }, _setOptions: function(t) { for (var e in t) this._setOption(e, t[e]); return this }, _setOption: function(t, e) { return "classes" === t && this._setOptionClasses(e), this.options[t] = e, "disabled" === t && this._setOptionDisabled(e), this }, _setOptionClasses: function(e) { var i, n, s; for (i in e) s = this.classesElementLookup[i], e[i] !== this.options.classes[i] && s && s.length && (n = t(s.get()), this._removeClass(s, i), n.addClass(this._classes({ element: n, keys: i, classes: e, add: !0 }))) }, _setOptionDisabled: function(t) { this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus")) }, enable: function() { return this._setOptions({ disabled: !1 }) }, disable: function() { return this._setOptions({ disabled: !0 }) }, _classes: function(e) { function i(i, o) { for (var a, r = 0; r < i.length; r++) a = s.classesElementLookup[i[r]] || t(), a = e.add ? t(t.unique(a.get().concat(e.element.get()))) : t(a.not(e.element).get()), s.classesElementLookup[i[r]] = a, n.push(i[r]), o && e.classes[i[r]] && n.push(e.classes[i[r]]) } var n = [], s = this; return e = t.extend({ element: this.element, classes: this.options.classes || {} }, e), this._on(e.element, { remove: "_untrackClassesElement" }), e.keys && i(e.keys.match(/\S+/g) || [], !0), e.extra && i(e.extra.match(/\S+/g) || []), n.join(" ") }, _untrackClassesElement: function(e) { var i = this; t.each(i.classesElementLookup, (function(n, s) { -1 !== t.inArray(e.target, s) && (i.classesElementLookup[n] = t(s.not(e.target).get())) })) }, _removeClass: function(t, e, i) { return this._toggleClass(t, e, i, !1) }, _addClass: function(t, e, i) { return this._toggleClass(t, e, i, !0) }, _toggleClass: function(t, e, i, n) { n = "boolean" == typeof n ? n : i; var s = "string" == typeof t || null === t, o = { extra: s ? e : i, keys: s ? t : e, element: s ? this.element : t, add: n }; return o.element.toggleClass(this._classes(o), n), this }, _on: function(e, i, n) { var s, o = this; "boolean" != typeof e && (n = i, i = e, e = !1), n ? (i = s = t(i), this.bindings = this.bindings.add(i)) : (n = i, i = this.element, s = this.widget()), t.each(n, (function(n, a) { function r() { if (e || !0 !== o.options.disabled && !t(this).hasClass("ui-state-disabled")) return ("string" == typeof a ? o[a] : a).apply(o, arguments) } "string" != typeof a && (r.guid = a.guid = a.guid || r.guid || t.guid++); var l = n.match(/^([\w:-]*)\s*(.*)$/), h = l[1] + o.eventNamespace, c = l[2]; c ? s.on(h, c, r) : i.on(h, r) })) }, _off: function(e, i) { i = (i || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, e.off(i).off(i), this.bindings = t(this.bindings.not(e).get()), this.focusable = t(this.focusable.not(e).get()), this.hoverable = t(this.hoverable.not(e).get()) }, _delay: function(t, e) { var i = this; return setTimeout((function() { return ("string" == typeof t ? i[t] : t).apply(i, arguments) }), e || 0) }, _hoverable: function(e) { this.hoverable = this.hoverable.add(e), this._on(e, { mouseenter: function(e) { this._addClass(t(e.currentTarget), null, "ui-state-hover") }, mouseleave: function(e) { this._removeClass(t(e.currentTarget), null, "ui-state-hover") } }) }, _focusable: function(e) { this.focusable = this.focusable.add(e), this._on(e, { focusin: function(e) { this._addClass(t(e.currentTarget), null, "ui-state-focus") }, focusout: function(e) { this._removeClass(t(e.currentTarget), null, "ui-state-focus") } }) }, _trigger: function(e, i, n) { var s, o, a = this.options[e]; if (n = n || {}, (i = t.Event(i)).type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix + e).toLowerCase(), i.target = this.element[0], o = i.originalEvent) for (s in o) s in i || (i[s] = o[s]); return this.element.trigger(i, n), !(t.isFunction(a) && !1 === a.apply(this.element[0], [i].concat(n)) || i.isDefaultPrevented()) } }, t.each({ show: "fadeIn", hide: "fadeOut" }, (function(e, i) { t.Widget.prototype["_" + e] = function(n, s, o) { "string" == typeof s && (s = { effect: s }); var a, r = s ? !0 === s || "number" == typeof s ? i : s.effect || i : e; "number" == typeof(s = s || {}) && (s = { duration: s }), a = !t.isEmptyObject(s), s.complete = o, s.delay && n.delay(s.delay), a && t.effects && t.effects.effect[r] ? n[e](s) : r !== e && n[r] ? n[r](s.duration, s.easing, o) : n.queue((function(i) { t(this)[e](), o && o.call(n[0]), i() })) } })), t.widget, function() { function e(t, e, i) { return [parseFloat(t[0]) * (u.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (u.test(t[1]) ? i / 100 : 1)] } function i(e, i) { return parseInt(t.css(e, i), 10) || 0 } function n(e) { var i = e[0]; return 9 === i.nodeType ? { width: e.width(), height: e.height(), offset: { top: 0, left: 0 } } : t.isWindow(i) ? { width: e.width(), height: e.height(), offset: { top: e.scrollTop(), left: e.scrollLeft() } } : i.preventDefault ? { width: 0, height: 0, offset: { top: i.pageY, left: i.pageX } } : { width: e.outerWidth(), height: e.outerHeight(), offset: e.offset() } } var s, o = Math.max, a = Math.abs, r = /left|center|right/, l = /top|center|bottom/, h = /[\+\-]\d+(\.[\d]+)?%?/, c = /^\w+/, u = /%$/, d = t.fn.position; t.position = { scrollbarWidth: function() { if (void 0 !== s) return s; var e, i, n = t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), o = n.children()[0]; return t("body").append(n), e = o.offsetWidth, n.css("overflow", "scroll"), e === (i = o.offsetWidth) && (i = n[0].clientWidth), n.remove(), s = e - i }, getScrollInfo: function(e) { var i = e.isWindow || e.isDocument ? "" : e.element.css("overflow-x"), n = e.isWindow || e.isDocument ? "" : e.element.css("overflow-y"), s = "scroll" === i || "auto" === i && e.width < e.element[0].scrollWidth; return { width: "scroll" === n || "auto" === n && e.height < e.element[0].scrollHeight ? t.position.scrollbarWidth() : 0, height: s ? t.position.scrollbarWidth() : 0 } }, getWithinInfo: function(e) { var i = t(e || window), n = t.isWindow(i[0]), s = !!i[0] && 9 === i[0].nodeType; return { element: i, isWindow: n, isDocument: s, offset: !n && !s ? t(e).offset() : { left: 0, top: 0 }, scrollLeft: i.scrollLeft(), scrollTop: i.scrollTop(), width: i.outerWidth(), height: i.outerHeight() } } }, t.fn.position = function(s) { if (!s || !s.of) return d.apply(this, arguments); s = t.extend({}, s); var u, p, f, m, g, v, b = t(s.of), y = t.position.getWithinInfo(s.within), _ = t.position.getScrollInfo(y), w = (s.collision || "flip").split(" "), x = {}; return v = n(b), b[0].preventDefault && (s.at = "left top"), p = v.width, f = v.height, m = v.offset, g = t.extend({}, m), t.each(["my", "at"], (function() { var t, e, i = (s[this] || "").split(" "); 1 === i.length && (i = r.test(i[0]) ? i.concat(["center"]) : l.test(i[0]) ? ["center"].concat(i) : ["center", "center"]), i[0] = r.test(i[0]) ? i[0] : "center", i[1] = l.test(i[1]) ? i[1] : "center", t = h.exec(i[0]), e = h.exec(i[1]), x[this] = [t ? t[0] : 0, e ? e[0] : 0], s[this] = [c.exec(i[0])[0], c.exec(i[1])[0]] })), 1 === w.length && (w[1] = w[0]), "right" === s.at[0] ? g.left += p : "center" === s.at[0] && (g.left += p / 2), "bottom" === s.at[1] ? g.top += f : "center" === s.at[1] && (g.top += f / 2), u = e(x.at, p, f), g.left += u[0], g.top += u[1], this.each((function() { var n, r, l = t(this), h = l.outerWidth(), c = l.outerHeight(), d = i(this, "marginLeft"), v = i(this, "marginTop"), C = h + d + i(this, "marginRight") + _.width, k = c + v + i(this, "marginBottom") + _.height, T = t.extend({}, g), D = e(x.my, l.outerWidth(), l.outerHeight()); "right" === s.my[0] ? T.left -= h : "center" === s.my[0] && (T.left -= h / 2), "bottom" === s.my[1] ? T.top -= c : "center" === s.my[1] && (T.top -= c / 2), T.left += D[0], T.top += D[1], n = { marginLeft: d, marginTop: v }, t.each(["left", "top"], (function(e, i) { t.ui.position[w[e]] && t.ui.position[w[e]][i](T, { targetWidth: p, targetHeight: f, elemWidth: h, elemHeight: c, collisionPosition: n, collisionWidth: C, collisionHeight: k, offset: [u[0] + D[0], u[1] + D[1]], my: s.my, at: s.at, within: y, elem: l }) })), s.using && (r = function(t) { var e = m.left - T.left, i = e + p - h, n = m.top - T.top, r = n + f - c, u = { target: { element: b, left: m.left, top: m.top, width: p, height: f }, element: { element: l, left: T.left, top: T.top, width: h, height: c }, horizontal: i < 0 ? "left" : e > 0 ? "right" : "center", vertical: r < 0 ? "top" : n > 0 ? "bottom" : "middle" }; p < h && a(e + i) < p && (u.horizontal = "center"), f < c && a(n + r) < f && (u.vertical = "middle"), u.important = o(a(e), a(i)) > o(a(n), a(r)) ? "horizontal" : "vertical", s.using.call(this, t, u) }), l.offset(t.extend(T, { using: r })) })) }, t.ui.position = { fit: { left: function(t, e) { var i, n = e.within, s = n.isWindow ? n.scrollLeft : n.offset.left, a = n.width, r = t.left - e.collisionPosition.marginLeft, l = s - r, h = r + e.collisionWidth - a - s; e.collisionWidth > a ? l > 0 && h <= 0 ? (i = t.left + l + e.collisionWidth - a - s, t.left += l - i) : t.left = h > 0 && l <= 0 ? s : l > h ? s + a - e.collisionWidth : s : l > 0 ? t.left += l : h > 0 ? t.left -= h : t.left = o(t.left - r, t.left) }, top: function(t, e) { var i, n = e.within, s = n.isWindow ? n.scrollTop : n.offset.top, a = e.within.height, r = t.top - e.collisionPosition.marginTop, l = s - r, h = r + e.collisionHeight - a - s; e.collisionHeight > a ? l > 0 && h <= 0 ? (i = t.top + l + e.collisionHeight - a - s, t.top += l - i) : t.top = h > 0 && l <= 0 ? s : l > h ? s + a - e.collisionHeight : s : l > 0 ? t.top += l : h > 0 ? t.top -= h : t.top = o(t.top - r, t.top) } }, flip: { left: function(t, e) { var i, n, s = e.within, o = s.offset.left + s.scrollLeft, r = s.width, l = s.isWindow ? s.scrollLeft : s.offset.left, h = t.left - e.collisionPosition.marginLeft, c = h - l, u = h + e.collisionWidth - r - l, d = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0, p = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0, f = -2 * e.offset[0]; c < 0 ? ((i = t.left + d + p + f + e.collisionWidth - r - o) < 0 || i < a(c)) && (t.left += d + p + f) : u > 0 && (((n = t.left - e.collisionPosition.marginLeft + d + p + f - l) > 0 || a(n) < u) && (t.left += d + p + f)) }, top: function(t, e) { var i, n, s = e.within, o = s.offset.top + s.scrollTop, r = s.height, l = s.isWindow ? s.scrollTop : s.offset.top, h = t.top - e.collisionPosition.marginTop, c = h - l, u = h + e.collisionHeight - r - l, d = "top" === e.my[1] ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0, p = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0, f = -2 * e.offset[1]; c < 0 ? ((n = t.top + d + p + f + e.collisionHeight - r - o) < 0 || n < a(c)) && (t.top += d + p + f) : u > 0 && (((i = t.top - e.collisionPosition.marginTop + d + p + f - l) > 0 || a(i) < u) && (t.top += d + p + f)) } }, flipfit: { left: function() { t.ui.position.flip.left.apply(this, arguments), t.ui.position.fit.left.apply(this, arguments) }, top: function() { t.ui.position.flip.top.apply(this, arguments), t.ui.position.fit.top.apply(this, arguments) } } } }(); t.ui.position, t.extend(t.expr[":"], { data: t.expr.createPseudo ? t.expr.createPseudo((function(e) { return function(i) { return !!t.data(i, e) } })) : function(e, i, n) { return !!t.data(e, n[3]) } }), t.fn.extend({ disableSelection: function() { var t = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown"; return function() { return this.on(t + ".ui-disableSelection", (function(t) { t.preventDefault() })) } }(), enableSelection: function() { return this.off(".ui-disableSelection") } }); var c = "ui-effects-", u = "ui-effects-style", d = "ui-effects-animated", p = t; t.effects = { effect: {} }, function(t, e) { function i(t, e, i) { var n = c[e.type] || {}; return null == t ? i || !e.def ? null : e.def : (t = n.floor ? ~~t : parseFloat(t), isNaN(t) ? e.def : n.mod ? (t + n.mod) % n.mod : 0 > t ? 0 : n.max < t ? n.max : t) } function n(e) { var i = l(), n = i._rgba = []; return e = e.toLowerCase(), p(r, (function(t, s) { var o, a = s.re.exec(e), r = a && s.parse(a), l = s.space || "rgba"; if (r) return o = i[l](r), i[h[l].cache] = o[h[l].cache], n = i._rgba = o._rgba, !1 })), n.length ? ("0,0,0,0" === n.join() && t.extend(n, o.transparent), i) : o[e] } function s(t, e, i) { return 6 * (i = (i + 1) % 1) < 1 ? t + (e - t) * i * 6 : 2 * i < 1 ? e : 3 * i < 2 ? t + (e - t) * (2 / 3 - i) * 6 : t } var o, a = /^([\-+])=\s*(\d+\.?\d*)/, r = [{ re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, parse: function(t) { return [t[1], t[2], t[3], t[4]] } }, { re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, parse: function(t) { return [2.55 * t[1], 2.55 * t[2], 2.55 * t[3], t[4]] } }, { re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, parse: function(t) { return [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)] } }, { re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, parse: function(t) { return [parseInt(t[1] + t[1], 16), parseInt(t[2] + t[2], 16), parseInt(t[3] + t[3], 16)] } }, { re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, space: "hsla", parse: function(t) { return [t[1], t[2] / 100, t[3] / 100, t[4]] } }], l = t.Color = function(e, i, n, s) { return new t.Color.fn.parse(e, i, n, s) }, h = { rgba: { props: { red: { idx: 0, type: "byte" }, green: { idx: 1, type: "byte" }, blue: { idx: 2, type: "byte" } } }, hsla: { props: { hue: { idx: 0, type: "degrees" }, saturation: { idx: 1, type: "percent" }, lightness: { idx: 2, type: "percent" } } } }, c = { byte: { floor: !0, max: 255 }, percent: { max: 1 }, degrees: { mod: 360, floor: !0 } }, u = l.support = {}, d = t("<p>")[0], p = t.each; d.style.cssText = "background-color:rgba(1,1,1,.5)", u.rgba = d.style.backgroundColor.indexOf("rgba") > -1, p(h, (function(t, e) { e.cache = "_" + t, e.props.alpha = { idx: 3, type: "percent", def: 1 } })), l.fn = t.extend(l.prototype, { parse: function(s, a, r, c) { if (s === e) return this._rgba = [null, null, null, null], this; (s.jquery || s.nodeType) && (s = t(s).css(a), a = e); var u = this, d = t.type(s), f = this._rgba = []; return a !== e && (s = [s, a, r, c], d = "array"), "string" === d ? this.parse(n(s) || o._default) : "array" === d ? (p(h.rgba.props, (function(t, e) { f[e.idx] = i(s[e.idx], e) })), this) : "object" === d ? (p(h, s instanceof l ? function(t, e) { s[e.cache] && (u[e.cache] = s[e.cache].slice()) } : function(e, n) { var o = n.cache; p(n.props, (function(t, e) { if (!u[o] && n.to) { if ("alpha" === t || null == s[t]) return; u[o] = n.to(u._rgba) } u[o][e.idx] = i(s[t], e, !0) })), u[o] && t.inArray(null, u[o].slice(0, 3)) < 0 && (u[o][3] = 1, n.from && (u._rgba = n.from(u[o]))) }), this) : void 0 }, is: function(t) { var e = l(t), i = !0, n = this; return p(h, (function(t, s) { var o, a = e[s.cache]; return a && (o = n[s.cache] || s.to && s.to(n._rgba) || [], p(s.props, (function(t, e) { if (null != a[e.idx]) return i = a[e.idx] === o[e.idx] }))), i })), i }, _space: function() { var t = [], e = this; return p(h, (function(i, n) { e[n.cache] && t.push(i) })), t.pop() }, transition: function(t, e) { var n = l(t), s = n._space(), o = h[s], a = 0 === this.alpha() ? l("transparent") : this, r = a[o.cache] || o.to(a._rgba), u = r.slice(); return n = n[o.cache], p(o.props, (function(t, s) { var o = s.idx, a = r[o], l = n[o], h = c[s.type] || {}; null !== l && (null === a ? u[o] = l : (h.mod && (l - a > h.mod / 2 ? a += h.mod : a - l > h.mod / 2 && (a -= h.mod)), u[o] = i((l - a) * e + a, s))) })), this[s](u) }, blend: function(e) { if (1 === this._rgba[3]) return this; var i = this._rgba.slice(), n = i.pop(), s = l(e)._rgba; return l(t.map(i, (function(t, e) { return (1 - n) * s[e] + n * t }))) }, toRgbaString: function() { var e = "rgba(", i = t.map(this._rgba, (function(t, e) { return null == t ? e > 2 ? 1 : 0 : t })); return 1 === i[3] && (i.pop(), e = "rgb("), e + i.join() + ")" }, toHslaString: function() { var e = "hsla(", i = t.map(this.hsla(), (function(t, e) { return null == t && (t = e > 2 ? 1 : 0), e && e < 3 && (t = Math.round(100 * t) + "%"), t })); return 1 === i[3] && (i.pop(), e = "hsl("), e + i.join() + ")" }, toHexString: function(e) { var i = this._rgba.slice(), n = i.pop(); return e && i.push(~~(255 * n)), "#" + t.map(i, (function(t) { return 1 === (t = (t || 0).toString(16)).length ? "0" + t : t })).join("") }, toString: function() { return 0 === this._rgba[3] ? "transparent" : this.toRgbaString() } }), l.fn.parse.prototype = l.fn, h.hsla.to = function(t) { if (null == t[0] || null == t[1] || null == t[2]) return [null, null, null, t[3]]; var e, i, n = t[0] / 255, s = t[1] / 255, o = t[2] / 255, a = t[3], r = Math.max(n, s, o), l = Math.min(n, s, o), h = r - l, c = r + l, u = .5 * c; return e = l === r ? 0 : n === r ? 60 * (s - o) / h + 360 : s === r ? 60 * (o - n) / h + 120 : 60 * (n - s) / h + 240, i = 0 === h ? 0 : u <= .5 ? h / c : h / (2 - c), [Math.round(e) % 360, i, u, null == a ? 1 : a] }, h.hsla.from = function(t) { if (null == t[0] || null == t[1] || null == t[2]) return [null, null, null, t[3]]; var e = t[0] / 360, i = t[1], n = t[2], o = t[3], a = n <= .5 ? n * (1 + i) : n + i - n * i, r = 2 * n - a; return [Math.round(255 * s(r, a, e + 1 / 3)), Math.round(255 * s(r, a, e)), Math.round(255 * s(r, a, e - 1 / 3)), o] }, p(h, (function(n, s) { var o = s.props, r = s.cache, h = s.to, c = s.from; l.fn[n] = function(n) { if (h && !this[r] && (this[r] = h(this._rgba)), n === e) return this[r].slice(); var s, a = t.type(n), u = "array" === a || "object" === a ? n : arguments, d = this[r].slice(); return p(o, (function(t, e) { var n = u["object" === a ? t : e.idx]; null == n && (n = d[e.idx]), d[e.idx] = i(n, e) })), c ? ((s = l(c(d)))[r] = d, s) : l(d) }, p(o, (function(e, i) { l.fn[e] || (l.fn[e] = function(s) { var o, r = t.type(s), l = "alpha" === e ? this._hsla ? "hsla" : "rgba" : n, h = this[l](), c = h[i.idx]; return "undefined" === r ? c : ("function" === r && (s = s.call(this, c), r = t.type(s)), null == s && i.empty ? this : ("string" === r && ((o = a.exec(s)) && (s = c + parseFloat(o[2]) * ("+" === o[1] ? 1 : -1))), h[i.idx] = s, this[l](h))) }) })) })), l.hook = function(e) { var i = e.split(" "); p(i, (function(e, i) { t.cssHooks[i] = { set: function(e, s) { var o, a, r = ""; if ("transparent" !== s && ("string" !== t.type(s) || (o = n(s)))) { if (s = l(o || s), !u.rgba && 1 !== s._rgba[3]) { for (a = "backgroundColor" === i ? e.parentNode : e; ("" === r || "transparent" === r) && a && a.style;) try { r = t.css(a, "backgroundColor"), a = a.parentNode } catch (t) {} s = s.blend(r && "transparent" !== r ? r : "_default") } s = s.toRgbaString() } try { e.style[i] = s } catch (t) {} } }, t.fx.step[i] = function(e) { e.colorInit || (e.start = l(e.elem, i), e.end = l(e.end), e.colorInit = !0), t.cssHooks[i].set(e.elem, e.start.transition(e.end, e.pos)) } })) }, l.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"), t.cssHooks.borderColor = { expand: function(t) { var e = {}; return p(["Top", "Right", "Bottom", "Left"], (function(i, n) { e["border" + n + "Color"] = t })), e } }, o = t.Color.names = { aqua: "#00ffff", black: "#000000", blue: "#0000ff", fuchsia: "#ff00ff", gray: "#808080", green: "#008000", lime: "#00ff00", maroon: "#800000", navy: "#000080", olive: "#808000", purple: "#800080", red: "#ff0000", silver: "#c0c0c0", teal: "#008080", white: "#ffffff", yellow: "#ffff00", transparent: [null, null, null, 0], _default: "#ffffff" } }(p), function() { function e(e) { var i, n, s = e.ownerDocument.defaultView ? e.ownerDocument.defaultView.getComputedStyle(e, null) : e.currentStyle, o = {}; if (s && s.length && s[0] && s[s[0]]) for (n = s.length; n--;) "string" == typeof s[i = s[n]] && (o[t.camelCase(i)] = s[i]); else for (i in s) "string" == typeof s[i] && (o[i] = s[i]); return o } function i(e, i) { var n, o, a = {}; for (n in i) o = i[n], e[n] !== o && (s[n] || (t.fx.step[n] || !isNaN(parseFloat(o))) && (a[n] = o)); return a } var n = ["add", "remove", "toggle"], s = { border: 1, borderBottom: 1, borderColor: 1, borderLeft: 1, borderRight: 1, borderTop: 1, borderWidth: 1, margin: 1, padding: 1 }; t.each(["borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle"], (function(e, i) { t.fx.step[i] = function(t) { ("none" === t.end || t.setAttr) && (1 !== t.pos || t.setAttr) || (p.style(t.elem, i, t.end), t.setAttr = !0) } })), t.fn.addBack || (t.fn.addBack = function(t) { return this.add(null == t ? this.prevObject : this.prevObject.filter(t)) }), t.effects.animateClass = function(s, o, a, r) { var l = t.speed(o, a, r); return this.queue((function() { var o, a = t(this), r = a.attr("class") || "", h = l.children ? a.find("*").addBack() : a; h = h.map((function() { return { el: t(this), start: e(this) } })), o = function() { t.each(n, (function(t, e) { s[e] && a[e + "Class"](s[e]) })) }, o(), h = h.map((function() { return this.end = e(this.el[0]), this.diff = i(this.start, this.end), this })), a.attr("class", r), h = h.map((function() { var e = this, i = t.Deferred(), n = t.extend({}, l, { queue: !1, complete: function() { i.resolve(e) } }); return this.el.animate(this.diff, n), i.promise() })), t.when.apply(t, h.get()).done((function() { o(), t.each(arguments, (function() { var e = this.el; t.each(this.diff, (function(t) { e.css(t, "") })) })), l.complete.call(a[0]) })) })) }, t.fn.extend({ addClass: function(e) { return function(i, n, s, o) { return n ? t.effects.animateClass.call(this, { add: i }, n, s, o) : e.apply(this, arguments) } }(t.fn.addClass), removeClass: function(e) { return function(i, n, s, o) { return arguments.length > 1 ? t.effects.animateClass.call(this, { remove: i }, n, s, o) : e.apply(this, arguments) } }(t.fn.removeClass), toggleClass: function(e) { return function(i, n, s, o, a) { return "boolean" == typeof n || void 0 === n ? s ? t.effects.animateClass.call(this, n ? { add: i } : { remove: i }, s, o, a) : e.apply(this, arguments) : t.effects.animateClass.call(this, { toggle: i }, n, s, o) } }(t.fn.toggleClass), switchClass: function(e, i, n, s, o) { return t.effects.animateClass.call(this, { add: i, remove: e }, n, s, o) } }) }(), function() { function e(e, i, n, s) { return t.isPlainObject(e) && (i = e, e = e.effect), e = { effect: e }, null == i && (i = {}), t.isFunction(i) && (s = i, n = null, i = {}), ("number" == typeof i || t.fx.speeds[i]) && (s = n, n = i, i = {}), t.isFunction(n) && (s = n, n = null), i && t.extend(e, i), n = n || i.duration, e.duration = t.fx.off ? 0 : "number" == typeof n ? n : n in t.fx.speeds ? t.fx.speeds[n] : t.fx.speeds._default, e.complete = s || i.complete, e } function i(e) { return !(e && "number" != typeof e && !t.fx.speeds[e]) || ("string" == typeof e && !t.effects.effect[e] || (!!t.isFunction(e) || "object" == typeof e && !e.effect)) } function n(t, e) { var i = e.outerWidth(), n = e.outerHeight(), s = /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t) || ["", 0, i, n, 0]; return { top: parseFloat(s[1]) || 0, right: "auto" === s[2] ? i : parseFloat(s[2]), bottom: "auto" === s[3] ? n : parseFloat(s[3]), left: parseFloat(s[4]) || 0 } } t.expr && t.expr.filters && t.expr.filters.animated && (t.expr.filters.animated = function(e) { return function(i) { return !!t(i).data(d) || e(i) } }(t.expr.filters.animated)), !1 !== t.uiBackCompat && t.extend(t.effects, { save: function(t, e) { for (var i = 0, n = e.length; i < n; i++) null !== e[i] && t.data(c + e[i], t[0].style[e[i]]) }, restore: function(t, e) { for (var i, n = 0, s = e.length; n < s; n++) null !== e[n] && (i = t.data(c + e[n]), t.css(e[n], i)) }, setMode: function(t, e) { return "toggle" === e && (e = t.is(":hidden") ? "show" : "hide"), e }, createWrapper: function(e) { if (e.parent().is(".ui-effects-wrapper")) return e.parent(); var i = { width: e.outerWidth(!0), height: e.outerHeight(!0), float: e.css("float") }, n = t("<div></div>").addClass("ui-effects-wrapper").css({ fontSize: "100%", background: "transparent", border: "none", margin: 0, padding: 0 }), s = { width: e.width(), height: e.height() }, o = document.activeElement; try { o.id } catch (t) { o = document.body } return e.wrap(n), (e[0] === o || t.contains(e[0], o)) && t(o).trigger("focus"), n = e.parent(), "static" === e.css("position") ? (n.css({ position: "relative" }), e.css({ position: "relative" })) : (t.extend(i, { position: e.css("position"), zIndex: e.css("z-index") }), t.each(["top", "left", "bottom", "right"], (function(t, n) { i[n] = e.css(n), isNaN(parseInt(i[n], 10)) && (i[n] = "auto") })), e.css({ position: "relative", top: 0, left: 0, right: "auto", bottom: "auto" })), e.css(s), n.css(i).show() }, removeWrapper: function(e) { var i = document.activeElement; return e.parent().is(".ui-effects-wrapper") && (e.parent().replaceWith(e), (e[0] === i || t.contains(e[0], i)) && t(i).trigger("focus")), e } }), t.extend(t.effects, { version: "1.12.1", define: function(e, i, n) { return n || (n = i, i = "effect"), t.effects.effect[e] = n, t.effects.effect[e].mode = i, n }, scaledDimensions: function(t, e, i) { if (0 === e) return { height: 0, width: 0, outerHeight: 0, outerWidth: 0 }; var n = "horizontal" !== i ? (e || 100) / 100 : 1, s = "vertical" !== i ? (e || 100) / 100 : 1; return { height: t.height() * s, width: t.width() * n, outerHeight: t.outerHeight() * s, outerWidth: t.outerWidth() * n } }, clipToBox: function(t) { return { width: t.clip.right - t.clip.left, height: t.clip.bottom - t.clip.top, left: t.clip.left, top: t.clip.top } }, unshift: function(t, e, i) { var n = t.queue(); e > 1 && n.splice.apply(n, [1, 0].concat(n.splice(e, i))), t.dequeue() }, saveStyle: function(t) { t.data(u, t[0].style.cssText) }, restoreStyle: function(t) { t[0].style.cssText = t.data(u) || "", t.removeData(u) }, mode: function(t, e) { var i = t.is(":hidden"); return "toggle" === e && (e = i ? "show" : "hide"), (i ? "hide" === e : "show" === e) && (e = "none"), e }, getBaseline: function(t, e) { var i, n; switch (t[0]) { case "top": i = 0; break; case "middle": i = .5; break; case "bottom": i = 1; break; default: i = t[0] / e.height } switch (t[1]) { case "left": n = 0; break; case "center": n = .5; break; case "right": n = 1; break; default: n = t[1] / e.width } return { x: n, y: i } }, createPlaceholder: function(e) { var i, n = e.css("position"), s = e.position(); return e.css({ marginTop: e.css("marginTop"), marginBottom: e.css("marginBottom"), marginLeft: e.css("marginLeft"), marginRight: e.css("marginRight") }).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()), /^(static|relative)/.test(n) && (n = "absolute", i = t("<" + e[0].nodeName + ">").insertAfter(e).css({ display: /^(inline|ruby)/.test(e.css("display")) ? "inline-block" : "block", visibility: "hidden", marginTop: e.css("marginTop"), marginBottom: e.css("marginBottom"), marginLeft: e.css("marginLeft"), marginRight: e.css("marginRight"), float: e.css("float") }).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"), e.data(c + "placeholder", i)), e.css({ position: n, left: s.left, top: s.top }), i }, removePlaceholder: function(t) { var e = c + "placeholder", i = t.data(e); i && (i.remove(), t.removeData(e)) }, cleanUp: function(e) { t.effects.restoreStyle(e), t.effects.removePlaceholder(e) }, setTransition: function(e, i, n, s) { return s = s || {}, t.each(i, (function(t, i) { var o = e.cssUnit(i); o[0] > 0 && (s[i] = o[0] * n + o[1]) })), s } }), t.fn.extend({ effect: function() { function i(e) { function i() { t.isFunction(l) && l.call(a[0]), t.isFunction(e) && e() } var a = t(this); n.mode = c.shift(), !1 === t.uiBackCompat || o ? "none" === n.mode ? (a[h](), i()) : s.call(a[0], n, (function() { a.removeData(d), t.effects.cleanUp(a), "hide" === n.mode && a.hide(), i() })) : (a.is(":hidden") ? "hide" === h : "show" === h) ? (a[h](), i()) : s.call(a[0], n, i) } var n = e.apply(this, arguments), s = t.effects.effect[n.effect], o = s.mode, a = n.queue, r = a || "fx", l = n.complete, h = n.mode, c = [], u = function(e) { var i = t(this), n = t.effects.mode(i, h) || o; i.data(d, !0), c.push(n), o && ("show" === n || n === o && "hide" === n) && i.show(), o && "none" === n || t.effects.saveStyle(i), t.isFunction(e) && e() }; return t.fx.off || !s ? h ? this[h](n.duration, l) : this.each((function() { l && l.call(this) })) : !1 === a ? this.each(u).each(i) : this.queue(r, u).queue(r, i) }, show: function(t) { return function(n) { if (i(n)) return t.apply(this, arguments); var s = e.apply(this, arguments); return s.mode = "show", this.effect.call(this, s) } }(t.fn.show), hide: function(t) { return function(n) { if (i(n)) return t.apply(this, arguments); var s = e.apply(this, arguments); return s.mode = "hide", this.effect.call(this, s) } }(t.fn.hide), toggle: function(t) { return function(n) { if (i(n) || "boolean" == typeof n) return t.apply(this, arguments); var s = e.apply(this, arguments); return s.mode = "toggle", this.effect.call(this, s) } }(t.fn.toggle), cssUnit: function(e) { var i = this.css(e), n = []; return t.each(["em", "px", "%", "pt"], (function(t, e) { i.indexOf(e) > 0 && (n = [parseFloat(i), e]) })), n }, cssClip: function(t) { return t ? this.css("clip", "rect(" + t.top + "px " + t.right + "px " + t.bottom + "px " + t.left + "px)") : n(this.css("clip"), this) }, transfer: function(e, i) { var n = t(this), s = t(e.to), o = "fixed" === s.css("position"), a = t("body"), r = o ? a.scrollTop() : 0, l = o ? a.scrollLeft() : 0, h = s.offset(), c = { top: h.top - r, left: h.left - l, height: s.innerHeight(), width: s.innerWidth() }, u = n.offset(), d = t("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(e.className).css({ top: u.top - r, left: u.left - l, height: n.innerHeight(), width: n.innerWidth(), position: o ? "fixed" : "absolute" }).animate(c, e.duration, e.easing, (function() { d.remove(), t.isFunction(i) && i() })) } }), t.fx.step.clip = function(e) { e.clipInit || (e.start = t(e.elem).cssClip(), "string" == typeof e.end && (e.end = n(e.end, e.elem)), e.clipInit = !0), t(e.elem).cssClip({ top: e.pos * (e.end.top - e.start.top) + e.start.top, right: e.pos * (e.end.right - e.start.right) + e.start.right, bottom: e.pos * (e.end.bottom - e.start.bottom) + e.start.bottom, left: e.pos * (e.end.left - e.start.left) + e.start.left }) } }(), function() { var e = {}; t.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], (function(t, i) { e[i] = function(e) { return Math.pow(e, t + 2) } })), t.extend(e, { Sine: function(t) { return 1 - Math.cos(t * Math.PI / 2) }, Circ: function(t) { return 1 - Math.sqrt(1 - t * t) }, Elastic: function(t) { return 0 === t || 1 === t ? t : -Math.pow(2, 8 * (t - 1)) * Math.sin((80 * (t - 1) - 7.5) * Math.PI / 15) }, Back: function(t) { return t * t * (3 * t - 2) }, Bounce: function(t) { for (var e, i = 4; t < ((e = Math.pow(2, --i)) - 1) / 11;); return 1 / Math.pow(4, 3 - i) - 7.5625 * Math.pow((3 * e - 2) / 22 - t, 2) } }), t.each(e, (function(e, i) { t.easing["easeIn" + e] = i, t.easing["easeOut" + e] = function(t) { return 1 - i(1 - t) }, t.easing["easeInOut" + e] = function(t) { return t < .5 ? i(2 * t) / 2 : 1 - i(-2 * t + 2) / 2 } })) }(); var f = t.effects; t.effects.define("blind", "hide", (function(e, i) { var n = { up: ["bottom", "top"], vertical: ["bottom", "top"], down: ["top", "bottom"], left: ["right", "left"], horizontal: ["right", "left"], right: ["left", "right"] }, s = t(this), o = e.direction || "up", a = s.cssClip(), r = { clip: t.extend({}, a) }, l = t.effects.createPlaceholder(s); r.clip[n[o][0]] = r.clip[n[o][1]], "show" === e.mode && (s.cssClip(r.clip), l && l.css(t.effects.clipToBox(r)), r.clip = a), l && l.animate(t.effects.clipToBox(r), e.duration, e.easing), s.animate(r, { queue: !1, duration: e.duration, easing: e.easing, complete: i }) })), t.effects.define("bounce", (function(e, i) { var n, s, o, a = t(this), r = e.mode, l = "hide" === r, h = "show" === r, c = e.direction || "up", u = e.distance, d = e.times || 5, p = 2 * d + (h || l ? 1 : 0), f = e.duration / p, m = e.easing, g = "up" === c || "down" === c ? "top" : "left", v = "up" === c || "left" === c, b = 0, y = a.queue().length; for (t.effects.createPlaceholder(a), o = a.css(g), u || (u = a["top" === g ? "outerHeight" : "outerWidth"]() / 3), h && ((s = { opacity: 1 })[g] = o, a.css("opacity", 0).css(g, v ? 2 * -u : 2 * u).animate(s, f, m)), l && (u /= Math.pow(2, d - 1)), (s = {})[g] = o; b < d; b++)(n = {})[g] = (v ? "-=" : "+=") + u, a.animate(n, f, m).animate(s, f, m), u = l ? 2 * u : u / 2; l && ((n = { opacity: 0 })[g] = (v ? "-=" : "+=") + u, a.animate(n, f, m)), a.queue(i), t.effects.unshift(a, y, p + 1) })), t.effects.define("clip", "hide", (function(e, i) { var n, s = {}, o = t(this), a = e.direction || "vertical", r = "both" === a, l = r || "horizontal" === a, h = r || "vertical" === a; n = o.cssClip(), s.clip = { top: h ? (n.bottom - n.top) / 2 : n.top, right: l ? (n.right - n.left) / 2 : n.right, bottom: h ? (n.bottom - n.top) / 2 : n.bottom, left: l ? (n.right - n.left) / 2 : n.left }, t.effects.createPlaceholder(o), "show" === e.mode && (o.cssClip(s.clip), s.clip = n), o.animate(s, { queue: !1, duration: e.duration, easing: e.easing, complete: i }) })), t.effects.define("drop", "hide", (function(e, i) { var n, s = t(this), o = "show" === e.mode, a = e.direction || "left", r = "up" === a || "down" === a ? "top" : "left", l = "up" === a || "left" === a ? "-=" : "+=", h = "+=" === l ? "-=" : "+=", c = { opacity: 0 }; t.effects.createPlaceholder(s), n = e.distance || s["top" === r ? "outerHeight" : "outerWidth"](!0) / 2, c[r] = l + n, o && (s.css(c), c[r] = h + n, c.opacity = 1), s.animate(c, { queue: !1, duration: e.duration, easing: e.easing, complete: i }) })), t.effects.define("explode", "hide", (function(e, i) { function n() { g.push(this), g.length === h * c && (u.css({ visibility: "visible" }), t(g).remove(), i()) } for (var s, o, a, r, l, h = e.pieces ? Math.round(Math.sqrt(e.pieces)) : 3, c = h, u = t(this), d = "show" === e.mode, p = u.show().css("visibility", "hidden").offset(), f = Math.ceil(u.outerWidth() / c), m = Math.ceil(u.outerHeight() / h), g = [], v = 0; v < h; v++) for (a = p.top + v * m, l = v - (h - 1) / 2, s = 0; s < c; s++) o = p.left + s * f, r = s - (c - 1) / 2, u.clone().appendTo("body").wrap("<div></div>").css({ position: "absolute", visibility: "visible", left: -s * f, top: -v * m }).parent().addClass("ui-effects-explode").css({ position: "absolute", overflow: "hidden", width: f, height: m, left: o + (d ? r * f : 0), top: a + (d ? l * m : 0), opacity: d ? 0 : 1 }).animate({ left: o + (d ? 0 : r * f), top: a + (d ? 0 : l * m), opacity: d ? 1 : 0 }, e.duration || 500, e.easing, n) })), t.effects.define("fade", "toggle", (function(e, i) { var n = "show" === e.mode; t(this).css("opacity", n ? 0 : 1).animate({ opacity: n ? 1 : 0 }, { queue: !1, duration: e.duration, easing: e.easing, complete: i }) })), t.effects.define("fold", "hide", (function(e, i) { var n = t(this), s = e.mode, o = "show" === s, a = "hide" === s, r = e.size || 15, l = /([0-9]+)%/.exec(r), h = !!e.horizFirst ? ["right", "bottom"] : ["bottom", "right"], c = e.duration / 2, u = t.effects.createPlaceholder(n), d = n.cssClip(), p = { clip: t.extend({}, d) }, f = { clip: t.extend({}, d) }, m = [d[h[0]], d[h[1]]], g = n.queue().length; l && (r = parseInt(l[1], 10) / 100 * m[a ? 0 : 1]), p.clip[h[0]] = r, f.clip[h[0]] = r, f.clip[h[1]] = 0, o && (n.cssClip(f.clip), u && u.css(t.effects.clipToBox(f)), f.clip = d), n.queue((function(i) { u && u.animate(t.effects.clipToBox(p), c, e.easing).animate(t.effects.clipToBox(f), c, e.easing), i() })).animate(p, c, e.easing).animate(f, c, e.easing).queue(i), t.effects.unshift(n, g, 4) })), t.effects.define("highlight", "show", (function(e, i) { var n = t(this), s = { backgroundColor: n.css("backgroundColor") }; "hide" === e.mode && (s.opacity = 0), t.effects.saveStyle(n), n.css({ backgroundImage: "none", backgroundColor: e.color || "#ffff99" }).animate(s, { queue: !1, duration: e.duration, easing: e.easing, complete: i }) })), t.effects.define("size", (function(e, i) { var n, s, o, a = t(this), r = ["fontSize"], l = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"], h = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"], c = e.mode, u = "effect" !== c, d = e.scale || "both", p = e.origin || ["middle", "center"], f = a.css("position"), m = a.position(), g = t.effects.scaledDimensions(a), v = e.from || g, b = e.to || t.effects.scaledDimensions(a, 0); t.effects.createPlaceholder(a), "show" === c && (o = v, v = b, b = o), s = { from: { y: v.height / g.height, x: v.width / g.width }, to: { y: b.height / g.height, x: b.width / g.width } }, ("box" === d || "both" === d) && (s.from.y !== s.to.y && (v = t.effects.setTransition(a, l, s.from.y, v), b = t.effects.setTransition(a, l, s.to.y, b)), s.from.x !== s.to.x && (v = t.effects.setTransition(a, h, s.from.x, v), b = t.effects.setTransition(a, h, s.to.x, b))), ("content" === d || "both" === d) && s.from.y !== s.to.y && (v = t.effects.setTransition(a, r, s.from.y, v), b = t.effects.setTransition(a, r, s.to.y, b)), p && (n = t.effects.getBaseline(p, g), v.top = (g.outerHeight - v.outerHeight) * n.y + m.top, v.left = (g.outerWidth - v.outerWidth) * n.x + m.left, b.top = (g.outerHeight - b.outerHeight) * n.y + m.top, b.left = (g.outerWidth - b.outerWidth) * n.x + m.left), a.css(v), ("content" === d || "both" === d) && (l = l.concat(["marginTop", "marginBottom"]).concat(r), h = h.concat(["marginLeft", "marginRight"]), a.find("*[width]").each((function() { var i = t(this), n = t.effects.scaledDimensions(i), o = { height: n.height * s.from.y, width: n.width * s.from.x, outerHeight: n.outerHeight * s.from.y, outerWidth: n.outerWidth * s.from.x }, a = { height: n.height * s.to.y, width: n.width * s.to.x, outerHeight: n.height * s.to.y, outerWidth: n.width * s.to.x }; s.from.y !== s.to.y && (o = t.effects.setTransition(i, l, s.from.y, o), a = t.effects.setTransition(i, l, s.to.y, a)), s.from.x !== s.to.x && (o = t.effects.setTransition(i, h, s.from.x, o), a = t.effects.setTransition(i, h, s.to.x, a)), u && t.effects.saveStyle(i), i.css(o), i.animate(a, e.duration, e.easing, (function() { u && t.effects.restoreStyle(i) })) }))), a.animate(b, { queue: !1, duration: e.duration, easing: e.easing, complete: function() { var e = a.offset(); 0 === b.opacity && a.css("opacity", v.opacity), u || (a.css("position", "static" === f ? "relative" : f).offset(e), t.effects.saveStyle(a)), i() } }) })), t.effects.define("scale", (function(e, i) { var n = t(this), s = e.mode, o = parseInt(e.percent, 10) || (0 === parseInt(e.percent, 10) || "effect" !== s ? 0 : 100), a = t.extend(!0, { from: t.effects.scaledDimensions(n), to: t.effects.scaledDimensions(n, o, e.direction || "both"), origin: e.origin || ["middle", "center"] }, e); e.fade && (a.from.opacity = 1, a.to.opacity = 0), t.effects.effect.size.call(this, a, i) })), t.effects.define("puff", "hide", (function(e, i) { var n = t.extend(!0, {}, e, { fade: !0, percent: parseInt(e.percent, 10) || 150 }); t.effects.effect.scale.call(this, n, i) })), t.effects.define("pulsate", "show", (function(e, i) { var n = t(this), s = e.mode, o = "show" === s, a = o || "hide" === s, r = 2 * (e.times || 5) + (a ? 1 : 0), l = e.duration / r, h = 0, c = 1, u = n.queue().length; for ((o || !n.is(":visible")) && (n.css("opacity", 0).show(), h = 1); c < r; c++) n.animate({ opacity: h }, l, e.easing), h = 1 - h; n.animate({ opacity: h }, l, e.easing), n.queue(i), t.effects.unshift(n, u, r + 1) })), t.effects.define("shake", (function(e, i) { var n = 1, s = t(this), o = e.direction || "left", a = e.distance || 20, r = e.times || 3, l = 2 * r + 1, h = Math.round(e.duration / l), c = "up" === o || "down" === o ? "top" : "left", u = "up" === o || "left" === o, d = {}, p = {}, f = {}, m = s.queue().length; for (t.effects.createPlaceholder(s), d[c] = (u ? "-=" : "+=") + a, p[c] = (u ? "+=" : "-=") + 2 * a, f[c] = (u ? "-=" : "+=") + 2 * a, s.animate(d, h, e.easing); n < r; n++) s.animate(p, h, e.easing).animate(f, h, e.easing); s.animate(p, h, e.easing).animate(d, h / 2, e.easing).queue(i), t.effects.unshift(s, m, l + 1) })), t.effects.define("slide", "show", (function(e, i) { var n, s, o = t(this), a = { up: ["bottom", "top"], down: ["top", "bottom"], left: ["right", "left"], right: ["left", "right"] }, r = e.mode, l = e.direction || "left", h = "up" === l || "down" === l ? "top" : "left", c = "up" === l || "left" === l, u = e.distance || o["top" === h ? "outerHeight" : "outerWidth"](!0), d = {}; t.effects.createPlaceholder(o), n = o.cssClip(), s = o.position()[h], d[h] = (c ? -1 : 1) * u + s, d.clip = o.cssClip(), d.clip[a[l][1]] = d.clip[a[l][0]], "show" === r && (o.cssClip(d.clip), o.css(h, d[h]), d.clip = n, d[h] = s), o.animate(d, { queue: !1, duration: e.duration, easing: e.easing, complete: i }) })); !1 !== t.uiBackCompat && (f = t.effects.define("transfer", (function(e, i) { t(this).transfer(e, i) }))), t.ui.focusable = function(e, i) { var n, s, o, a, r, l = e.nodeName.toLowerCase(); return "area" === l ? (s = (n = e.parentNode).name, !(!e.href || !s || "map" !== n.nodeName.toLowerCase()) && ((o = t("img[usemap='#" + s + "']")).length > 0 && o.is(":visible"))) : (/^(input|select|textarea|button|object)$/.test(l) ? (a = !e.disabled) && ((r = t(e).closest("fieldset")[0]) && (a = !r.disabled)) : a = "a" === l && e.href || i, a && t(e).is(":visible") && function(t) { for (var e = t.css("visibility"); "inherit" === e;) e = (t = t.parent()).css("visibility"); return "hidden" !== e }(t(e))) }, t.extend(t.expr[":"], { focusable: function(e) { return t.ui.focusable(e, null != t.attr(e, "tabindex")) } }); t.ui.focusable, t.fn.form = function() { return "string" == typeof this[0].form ? this.closest("form") : t(this[0].form) }, t.ui.formResetMixin = { _formResetHandler: function() { var e = t(this); setTimeout((function() { var i = e.data("ui-form-reset-instances"); t.each(i, (function() { this.refresh() })) })) }, _bindFormResetHandler: function() { if (this.form = this.element.form(), this.form.length) { var t = this.form.data("ui-form-reset-instances") || []; t.length || this.form.on("reset.ui-form-reset", this._formResetHandler), t.push(this), this.form.data("ui-form-reset-instances", t) } }, _unbindFormResetHandler: function() { if (this.form.length) { var e = this.form.data("ui-form-reset-instances"); e.splice(t.inArray(this, e), 1), e.length ? this.form.data("ui-form-reset-instances", e) : this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset") } } }; "1.7" === t.fn.jquery.substring(0, 3) && (t.each(["Width", "Height"], (function(e, i) { function n(e, i, n, o) { return t.each(s, (function() { i -= parseFloat(t.css(e, "padding" + this)) || 0, n && (i -= parseFloat(t.css(e, "border" + this + "Width")) || 0), o && (i -= parseFloat(t.css(e, "margin" + this)) || 0) })), i } var s = "Width" === i ? ["Left", "Right"] : ["Top", "Bottom"], o = i.toLowerCase(), a = { innerWidth: t.fn.innerWidth, innerHeight: t.fn.innerHeight, outerWidth: t.fn.outerWidth, outerHeight: t.fn.outerHeight }; t.fn["inner" + i] = function(e) { return void 0 === e ? a["inner" + i].call(this) : this.each((function() { t(this).css(o, n(this, e) + "px") })) }, t.fn["outer" + i] = function(e, s) { return "number" != typeof e ? a["outer" + i].call(this, e) : this.each((function() { t(this).css(o, n(this, e, !0, s) + "px") })) } })), t.fn.addBack = function(t) { return this.add(null == t ? this.prevObject : this.prevObject.filter(t)) }); t.ui.keyCode = { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 }, t.ui.escapeSelector = function() { var t = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g; return function(e) { return e.replace(t, "\\$1") } }(), t.fn.labels = function() { var e, i, n, s, o; return this[0].labels && this[0].labels.length ? this.pushStack(this[0].labels) : (s = this.eq(0).parents("label"), (n = this.attr("id")) && (o = (e = this.eq(0).parents().last()).add(e.length ? e.siblings() : this.siblings()), i = "label[for='" + t.ui.escapeSelector(n) + "']", s = s.add(o.find(i).addBack(i))), this.pushStack(s)) }, t.fn.scrollParent = function(e) { var i = this.css("position"), n = "absolute" === i, s = e ? /(auto|scroll|hidden)/ : /(auto|scroll)/, o = this.parents().filter((function() { var e = t(this); return (!n || "static" !== e.css("position")) && s.test(e.css("overflow") + e.css("overflow-y") + e.css("overflow-x")) })).eq(0); return "fixed" !== i && o.length ? o : t(this[0].ownerDocument || document) }, t.extend(t.expr[":"], { tabbable: function(e) { var i = t.attr(e, "tabindex"), n = null != i; return (!n || i >= 0) && t.ui.focusable(e, n) } }), t.fn.extend({ uniqueId: function() { var t = 0; return function() { return this.each((function() { this.id || (this.id = "ui-id-" + ++t) })) } }(), removeUniqueId: function() { return this.each((function() { /^ui-id-\d+$/.test(this.id) && t(this).removeAttr("id") })) } }), t.widget("ui.accordion", { version: "1.12.1", options: { active: 0, animate: {}, classes: { "ui-accordion-header": "ui-corner-top", "ui-accordion-header-collapsed": "ui-corner-all", "ui-accordion-content": "ui-corner-bottom" }, collapsible: !1, event: "click", header: "> li > :first-child, > :not(li):even", heightStyle: "auto", icons: { activeHeader: "ui-icon-triangle-1-s", header: "ui-icon-triangle-1-e" }, activate: null, beforeActivate: null }, hideProps: { borderTopWidth: "hide", borderBottomWidth: "hide", paddingTop: "hide", paddingBottom: "hide", height: "hide" }, showProps: { borderTopWidth: "show", borderBottomWidth: "show", paddingTop: "show", paddingBottom: "show", height: "show" }, _create: function() { var e = this.options; this.prevShow = this.prevHide = t(), this._addClass("ui-accordion", "ui-widget ui-helper-reset"), this.element.attr("role", "tablist"), e.collapsible || !1 !== e.active && null != e.active || (e.active = 0), this._processPanels(), e.active < 0 && (e.active += this.headers.length), this._refresh() }, _getCreateEventData: function() { return { header: this.active, panel: this.active.length ? this.active.next() : t() } }, _createIcons: function() { var e, i, n = this.options.icons; n && (e = t("<span>"), this._addClass(e, "ui-accordion-header-icon", "ui-icon " + n.header), e.prependTo(this.headers), i = this.active.children(".ui-accordion-header-icon"), this._removeClass(i, n.header)._addClass(i, null, n.activeHeader)._addClass(this.headers, "ui-accordion-icons")) }, _destroyIcons: function() { this._removeClass(this.headers, "ui-accordion-icons"), this.headers.children(".ui-accordion-header-icon").remove() }, _destroy: function() { var t; this.element.removeAttr("role"), this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(), this._destroyIcons(), t = this.headers.next().css("display", "").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(), "content" !== this.options.heightStyle && t.css("height", "") }, _setOption: function(t, e) { "active" !== t ? ("event" === t && (this.options.event && this._off(this.headers, this.options.event), this._setupEvents(e)), this._super(t, e), "collapsible" !== t || e || !1 !== this.options.active || this._activate(0), "icons" === t && (this._destroyIcons(), e && this._createIcons())) : this._activate(e) }, _setOptionDisabled: function(t) { this._super(t), this.element.attr("aria-disabled", t), this._toggleClass(null, "ui-state-disabled", !!t), this._toggleClass(this.headers.add(this.headers.next()), null, "ui-state-disabled", !!t) }, _keydown: function(e) { if (!e.altKey && !e.ctrlKey) { var i = t.ui.keyCode, n = this.headers.length, s = this.headers.index(e.target), o = !1; switch (e.keyCode) { case i.RIGHT: case i.DOWN: o = this.headers[(s + 1) % n]; break; case i.LEFT: case i.UP: o = this.headers[(s - 1 + n) % n]; break; case i.SPACE: case i.ENTER: this._eventHandler(e); break; case i.HOME: o = this.headers[0]; break; case i.END: o = this.headers[n - 1] } o && (t(e.target).attr("tabIndex", -1), t(o).attr("tabIndex", 0), t(o).trigger("focus"), e.preventDefault()) } }, _panelKeyDown: function(e) { e.keyCode === t.ui.keyCode.UP && e.ctrlKey && t(e.currentTarget).prev().trigger("focus") }, refresh: function() { var e = this.options; this._processPanels(), !1 === e.active && !0 === e.collapsible || !this.headers.length ? (e.active = !1, this.active = t()) : !1 === e.active ? this._activate(0) : this.active.length && !t.contains(this.element[0], this.active[0]) ? this.headers.length === this.headers.find(".ui-state-disabled").length ? (e.active = !1, this.active = t()) : this._activate(Math.max(0, e.active - 1)) : e.active = this.headers.index(this.active), this._destroyIcons(), this._refresh() }, _processPanels: function() { var t = this.headers, e = this.panels; this.headers = this.element.find(this.options.header), this._addClass(this.headers, "ui-accordion-header ui-accordion-header-collapsed", "ui-state-default"), this.panels = this.headers.next().filter(":not(.ui-accordion-content-active)").hide(), this._addClass(this.panels, "ui-accordion-content", "ui-helper-reset ui-widget-content"), e && (this._off(t.not(this.headers)), this._off(e.not(this.panels))) }, _refresh: function() { var e, i = this.options, n = i.heightStyle, s = this.element.parent(); this.active = this._findActive(i.active), this._addClass(this.active, "ui-accordion-header-active", "ui-state-active")._removeClass(this.active, "ui-accordion-header-collapsed"), this._addClass(this.active.next(), "ui-accordion-content-active"), this.active.next().show(), this.headers.attr("role", "tab").each((function() { var e = t(this), i = e.uniqueId().attr("id"), n = e.next(), s = n.uniqueId().attr("id"); e.attr("aria-controls", s), n.attr("aria-labelledby", i) })).next().attr("role", "tabpanel"), this.headers.not(this.active).attr({ "aria-selected": "false", "aria-expanded": "false", tabIndex: -1 }).next().attr({ "aria-hidden": "true" }).hide(), this.active.length ? this.active.attr({ "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 }).next().attr({ "aria-hidden": "false" }) : this.headers.eq(0).attr("tabIndex", 0), this._createIcons(), this._setupEvents(i.event), "fill" === n ? (e = s.height(), this.element.siblings(":visible").each((function() { var i = t(this), n = i.css("position"); "absolute" !== n && "fixed" !== n && (e -= i.outerHeight(!0)) })), this.headers.each((function() { e -= t(this).outerHeight(!0) })), this.headers.next().each((function() { t(this).height(Math.max(0, e - t(this).innerHeight() + t(this).height())) })).css("overflow", "auto")) : "auto" === n && (e = 0, this.headers.next().each((function() { var i = t(this).is(":visible"); i || t(this).show(), e = Math.max(e, t(this).css("height", "").height()), i || t(this).hide() })).height(e)) }, _activate: function(e) { var i = this._findActive(e)[0]; i !== this.active[0] && (i = i || this.active[0], this._eventHandler({ target: i, currentTarget: i, preventDefault: t.noop })) }, _findActive: function(e) { return "number" == typeof e ? this.headers.eq(e) : t() }, _setupEvents: function(e) { var i = { keydown: "_keydown" }; e && t.each(e.split(" "), (function(t, e) { i[e] = "_eventHandler" })), this._off(this.headers.add(this.headers.next())), this._on(this.headers, i), this._on(this.headers.next(), { keydown: "_panelKeyDown" }), this._hoverable(this.headers), this._focusable(this.headers) }, _eventHandler: function(e) { var i, n, s = this.options, o = this.active, a = t(e.currentTarget), r = a[0] === o[0], l = r && s.collapsible, h = l ? t() : a.next(), c = o.next(), u = { oldHeader: o, oldPanel: c, newHeader: l ? t() : a, newPanel: h }; e.preventDefault(), (!r || s.collapsible) && !1 !== this._trigger("beforeActivate", e, u) && (s.active = !l && this.headers.index(a), this.active = r ? t() : a, this._toggle(u), this._removeClass(o, "ui-accordion-header-active", "ui-state-active"), s.icons && (i = o.children(".ui-accordion-header-icon"), this._removeClass(i, null, s.icons.activeHeader)._addClass(i, null, s.icons.header)), r || (this._removeClass(a, "ui-accordion-header-collapsed")._addClass(a, "ui-accordion-header-active", "ui-state-active"), s.icons && (n = a.children(".ui-accordion-header-icon"), this._removeClass(n, null, s.icons.header)._addClass(n, null, s.icons.activeHeader)), this._addClass(a.next(), "ui-accordion-content-active"))) }, _toggle: function(e) { var i = e.newPanel, n = this.prevShow.length ? this.prevShow : e.oldPanel; this.prevShow.add(this.prevHide).stop(!0, !0), this.prevShow = i, this.prevHide = n, this.options.animate ? this._animate(i, n, e) : (n.hide(), i.show(), this._toggleComplete(e)), n.attr({ "aria-hidden": "true" }), n.prev().attr({ "aria-selected": "false", "aria-expanded": "false" }), i.length && n.length ? n.prev().attr({ tabIndex: -1, "aria-expanded": "false" }) : i.length && this.headers.filter((function() { return 0 === parseInt(t(this).attr("tabIndex"), 10) })).attr("tabIndex", -1), i.attr("aria-hidden", "false").prev().attr({ "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 }) }, _animate: function(t, e, i) { var n, s, o, a = this, r = 0, l = t.css("box-sizing"), h = t.length && (!e.length || t.index() < e.index()), c = this.options.animate || {}, u = h && c.down || c, d = function() { a._toggleComplete(i) }; return "number" == typeof u && (o = u), "string" == typeof u && (s = u), s = s || u.easing || c.easing, o = o || u.duration || c.duration, e.length ? t.length ? (n = t.show().outerHeight(), e.animate(this.hideProps, { duration: o, easing: s, step: function(t, e) { e.now = Math.round(t) } }), void t.hide().animate(this.showProps, { duration: o, easing: s, complete: d, step: function(t, i) { i.now = Math.round(t), "height" !== i.prop ? "content-box" === l && (r += i.now) : "content" !== a.options.heightStyle && (i.now = Math.round(n - e.outerHeight() - r), r = 0) } })) : e.animate(this.hideProps, o, s, d) : t.animate(this.showProps, o, s, d) }, _toggleComplete: function(t) { var e = t.oldPanel, i = e.prev(); this._removeClass(e, "ui-accordion-content-active"), this._removeClass(i, "ui-accordion-header-active")._addClass(i, "ui-accordion-header-collapsed"), e.length && (e.parent()[0].className = e.parent()[0].className), this._trigger("activate", null, t) } }), t.ui.safeActiveElement = function(t) { var e; try { e = t.activeElement } catch (i) { e = t.body } return e || (e = t.body), e.nodeName || (e = t.body), e }, t.widget("ui.menu", { version: "1.12.1", defaultElement: "<ul>", delay: 300, options: { icons: { submenu: "ui-icon-caret-1-e" }, items: "> *", menus: "ul", position: { my: "left top", at: "right top" }, role: "menu", blur: null, focus: null, select: null }, _create: function() { this.activeMenu = this.element, this.mouseHandled = !1, this.element.uniqueId().attr({ role: this.options.role, tabIndex: 0 }), this._addClass("ui-menu", "ui-widget ui-widget-content"), this._on({ "mousedown .ui-menu-item": function(t) { t.preventDefault() }, "click .ui-menu-item": function(e) { var i = t(e.target), n = t(t.ui.safeActiveElement(this.document[0])); !this.mouseHandled && i.not(".ui-state-disabled").length && (this.select(e), e.isPropagationStopped() || (this.mouseHandled = !0), i.has(".ui-menu").length ? this.expand(e) : !this.element.is(":focus") && n.closest(".ui-menu").length && (this.element.trigger("focus", [!0]), this.active && 1 === this.active.parents(".ui-menu").length && clearTimeout(this.timer))) }, "mouseenter .ui-menu-item": function(e) { if (!this.previousFilter) { var i = t(e.target).closest(".ui-menu-item"), n = t(e.currentTarget); i[0] === n[0] && (this._removeClass(n.siblings().children(".ui-state-active"), null, "ui-state-active"), this.focus(e, n)) } }, mouseleave: "collapseAll", "mouseleave .ui-menu": "collapseAll", focus: function(t, e) { var i = this.active || this.element.find(this.options.items).eq(0); e || this.focus(t, i) }, blur: function(e) { this._delay((function() { !t.contains(this.element[0], t.ui.safeActiveElement(this.document[0])) && this.collapseAll(e) })) }, keydown: "_keydown" }), this.refresh(), this._on(this.document, { click: function(t) { this._closeOnDocumentClick(t) && this.collapseAll(t), this.mouseHandled = !1 } }) }, _destroy: function() { var e = this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup"); this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(), e.children().each((function() { var e = t(this); e.data("ui-menu-submenu-caret") && e.remove() })) }, _keydown: function(e) { var i, n, s, o, a = !0; switch (e.keyCode) { case t.ui.keyCode.PAGE_UP: this.previousPage(e); break; case t.ui.keyCode.PAGE_DOWN: this.nextPage(e); break; case t.ui.keyCode.HOME: this._move("first", "first", e); break; case t.ui.keyCode.END: this._move("last", "last", e); break; case t.ui.keyCode.UP: this.previous(e); break; case t.ui.keyCode.DOWN: this.next(e); break; case t.ui.keyCode.LEFT: this.collapse(e); break; case t.ui.keyCode.RIGHT: this.active && !this.active.is(".ui-state-disabled") && this.expand(e); break; case t.ui.keyCode.ENTER: case t.ui.keyCode.SPACE: this._activate(e); break; case t.ui.keyCode.ESCAPE: this.collapse(e); break; default: a = !1, n = this.previousFilter || "", o = !1, s = e.keyCode >= 96 && e.keyCode <= 105 ? (e.keyCode - 96).toString() : String.fromCharCode(e.keyCode), clearTimeout(this.filterTimer), s === n ? o = !0 : s = n + s, i = this._filterMenuItems(s), (i = o && -1 !== i.index(this.active.next()) ? this.active.nextAll(".ui-menu-item") : i).length || (s = String.fromCharCode(e.keyCode), i = this._filterMenuItems(s)), i.length ? (this.focus(e, i), this.previousFilter = s, this.filterTimer = this._delay((function() { delete this.previousFilter }), 1e3)) : delete this.previousFilter } a && e.preventDefault() }, _activate: function(t) { this.active && !this.active.is(".ui-state-disabled") && (this.active.children("[aria-haspopup='true']").length ? this.expand(t) : this.select(t)) }, refresh: function() { var e, i, n, s, o = this, a = this.options.icons.submenu, r = this.element.find(this.options.menus); this._toggleClass("ui-menu-icons", null, !!this.element.find(".ui-icon").length), i = r.filter(":not(.ui-menu)").hide().attr({ role: this.options.role, "aria-hidden": "true", "aria-expanded": "false" }).each((function() { var e = t(this), i = e.prev(), n = t("<span>").data("ui-menu-submenu-caret", !0); o._addClass(n, "ui-menu-icon", "ui-icon " + a), i.attr("aria-haspopup", "true").prepend(n), e.attr("aria-labelledby", i.attr("id")) })), this._addClass(i, "ui-menu", "ui-widget ui-widget-content ui-front"), (e = r.add(this.element).find(this.options.items)).not(".ui-menu-item").each((function() { var e = t(this); o._isDivider(e) && o._addClass(e, "ui-menu-divider", "ui-widget-content") })), s = (n = e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({ tabIndex: -1, role: this._itemRole() }), this._addClass(n, "ui-menu-item")._addClass(s, "ui-menu-item-wrapper"), e.filter(".ui-state-disabled").attr("aria-disabled", "true"), this.active && !t.contains(this.element[0], this.active[0]) && this.blur() }, _itemRole: function() { return { menu: "menuitem", listbox: "option" } [this.options.role] }, _setOption: function(t, e) { if ("icons" === t) { var i = this.element.find(".ui-menu-icon"); this._removeClass(i, null, this.options.icons.submenu)._addClass(i, null, e.submenu) } this._super(t, e) }, _setOptionDisabled: function(t) { this._super(t), this.element.attr("aria-disabled", String(t)), this._toggleClass(null, "ui-state-disabled", !!t) }, focus: function(t, e) { var i, n, s; this.blur(t, t && "focus" === t.type), this._scrollIntoView(e), this.active = e.first(), n = this.active.children(".ui-menu-item-wrapper"), this._addClass(n, null, "ui-state-active"), this.options.role && this.element.attr("aria-activedescendant", n.attr("id")), s = this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"), this._addClass(s, null, "ui-state-active"), t && "keydown" === t.type ? this._close() : this.timer = this._delay((function() { this._close() }), this.delay), (i = e.children(".ui-menu")).length && t && /^mouse/.test(t.type) && this._startOpening(i), this.activeMenu = e.parent(), this._trigger("focus", t, { item: e }) }, _scrollIntoView: function(e) { var i, n, s, o, a, r; this._hasScroll() && (i = parseFloat(t.css(this.activeMenu[0], "borderTopWidth")) || 0, n = parseFloat(t.css(this.activeMenu[0], "paddingTop")) || 0, s = e.offset().top - this.activeMenu.offset().top - i - n, o = this.activeMenu.scrollTop(), a = this.activeMenu.height(), r = e.outerHeight(), s < 0 ? this.activeMenu.scrollTop(o + s) : s + r > a && this.activeMenu.scrollTop(o + s - a + r)) }, blur: function(t, e) { e || clearTimeout(this.timer), this.active && (this._removeClass(this.active.children(".ui-menu-item-wrapper"), null, "ui-state-active"), this._trigger("blur", t, { item: this.active }), this.active = null) }, _startOpening: function(t) { clearTimeout(this.timer), "true" === t.attr("aria-hidden") && (this.timer = this._delay((function() { this._close(), this._open(t) }), this.delay)) }, _open: function(e) { var i = t.extend({ of: this.active }, this.options.position); clearTimeout(this.timer), this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden", "true"), e.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(i) }, collapseAll: function(e, i) { clearTimeout(this.timer), this.timer = this._delay((function() { var n = i ? this.element : t(e && e.target).closest(this.element.find(".ui-menu")); n.length || (n = this.element), this._close(n), this.blur(e), this._removeClass(n.find(".ui-state-active"), null, "ui-state-active"), this.activeMenu = n }), this.delay) }, _close: function(t) { t || (t = this.active ? this.active.parent() : this.element), t.find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false") }, _closeOnDocumentClick: function(e) { return !t(e.target).closest(".ui-menu").length }, _isDivider: function(t) { return !/[^\-\u2014\u2013\s]/.test(t.text()) }, collapse: function(t) { var e = this.active && this.active.parent().closest(".ui-menu-item", this.element); e && e.length && (this._close(), this.focus(t, e)) }, expand: function(t) { var e = this.active && this.active.children(".ui-menu ").find(this.options.items).first(); e && e.length && (this._open(e.parent()), this._delay((function() { this.focus(t, e) }))) }, next: function(t) { this._move("next", "first", t) }, previous: function(t) { this._move("prev", "last", t) }, isFirstItem: function() { return this.active && !this.active.prevAll(".ui-menu-item").length }, isLastItem: function() { return this.active && !this.active.nextAll(".ui-menu-item").length }, _move: function(t, e, i) { var n; this.active && (n = "first" === t || "last" === t ? this.active["first" === t ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1) : this.active[t + "All"](".ui-menu-item").eq(0)), n && n.length && this.active || (n = this.activeMenu.find(this.options.items)[e]()), this.focus(i, n) }, nextPage: function(e) { var i, n, s; this.active ? this.isLastItem() || (this._hasScroll() ? (n = this.active.offset().top, s = this.element.height(), this.active.nextAll(".ui-menu-item").each((function() { return (i = t(this)).offset().top - n - s < 0 })), this.focus(e, i)) : this.focus(e, this.activeMenu.find(this.options.items)[this.active ? "last" : "first"]())) : this.next(e) }, previousPage: function(e) { var i, n, s; this.active ? this.isFirstItem() || (this._hasScroll() ? (n = this.active.offset().top, s = this.element.height(), this.active.prevAll(".ui-menu-item").each((function() { return (i = t(this)).offset().top - n + s > 0 })), this.focus(e, i)) : this.focus(e, this.activeMenu.find(this.options.items).first())) : this.next(e) }, _hasScroll: function() { return this.element.outerHeight() < this.element.prop("scrollHeight") }, select: function(e) { this.active = this.active || t(e.target).closest(".ui-menu-item"); var i = { item: this.active }; this.active.has(".ui-menu").length || this.collapseAll(e, !0), this._trigger("select", e, i) }, _filterMenuItems: function(e) { var i = e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"), n = new RegExp("^" + i, "i"); return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter((function() { return n.test(t.trim(t(this).children(".ui-menu-item-wrapper").text())) })) } }); t.widget("ui.autocomplete", { version: "1.12.1", defaultElement: "<input>", options: { appendTo: null, autoFocus: !1, delay: 300, minLength: 1, position: { my: "left top", at: "left bottom", collision: "none" }, source: null, change: null, close: null, focus: null, open: null, response: null, search: null, select: null }, requestIndex: 0, pending: 0, _create: function() { var e, i, n, s = this.element[0].nodeName.toLowerCase(), o = "textarea" === s, a = "input" === s; this.isMultiLine = o || !a && this._isContentEditable(this.element), this.valueMethod = this.element[o || a ? "val" : "text"], this.isNewMenu = !0, this._addClass("ui-autocomplete-input"), this.element.attr("autocomplete", "off"), this._on(this.element, { keydown: function(s) { if (this.element.prop("readOnly")) return e = !0, n = !0, void(i = !0); e = !1, n = !1, i = !1; var o = t.ui.keyCode; switch (s.keyCode) { case o.PAGE_UP: e = !0, this._move("previousPage", s); break; case o.PAGE_DOWN: e = !0, this._move("nextPage", s); break; case o.UP: e = !0, this._keyEvent("previous", s); break; case o.DOWN: e = !0, this._keyEvent("next", s); break; case o.ENTER: this.menu.active && (e = !0, s.preventDefault(), this.menu.select(s)); break; case o.TAB: this.menu.active && this.menu.select(s); break; case o.ESCAPE: this.menu.element.is(":visible") && (this.isMultiLine || this._value(this.term), this.close(s), s.preventDefault()); break; default: i = !0, this._searchTimeout(s) } }, keypress: function(n) { if (e) return e = !1, void((!this.isMultiLine || this.menu.element.is(":visible")) && n.preventDefault()); if (!i) { var s = t.ui.keyCode; switch (n.keyCode) { case s.PAGE_UP: this._move("previousPage", n); break; case s.PAGE_DOWN: this._move("nextPage", n); break; case s.UP: this._keyEvent("previous", n); break; case s.DOWN: this._keyEvent("next", n) } } }, input: function(t) { if (n) return n = !1, void t.preventDefault(); this._searchTimeout(t) }, focus: function() { this.selectedItem = null, this.previous = this._value() }, blur: function(t) { this.cancelBlur ? delete this.cancelBlur : (clearTimeout(this.searching), this.close(t), this._change(t)) } }), this._initSource(), this.menu = t("<ul>").appendTo(this._appendTo()).menu({ role: null }).hide().menu("instance"), this._addClass(this.menu.element, "ui-autocomplete", "ui-front"), this._on(this.menu.element, { mousedown: function(e) { e.preventDefault(), this.cancelBlur = !0, this._delay((function() { delete this.cancelBlur, this.element[0] !== t.ui.safeActiveElement(this.document[0]) && this.element.trigger("focus") })) }, menufocus: function(e, i) { var n, s; if (this.isNewMenu && (this.isNewMenu = !1, e.originalEvent && /^mouse/.test(e.originalEvent.type))) return this.menu.blur(), void this.document.one("mousemove", (function() { t(e.target).trigger(e.originalEvent) })); s = i.item.data("ui-autocomplete-item"), !1 !== this._trigger("focus", e, { item: s }) && e.originalEvent && /^key/.test(e.originalEvent.type) && this._value(s.value), (n = i.item.attr("aria-label") || s.value) && t.trim(n).length && (this.liveRegion.children().hide(), t("<div>").text(n).appendTo(this.liveRegion)) }, menuselect: function(e, i) { var n = i.item.data("ui-autocomplete-item"), s = this.previous; this.element[0] !== t.ui.safeActiveElement(this.document[0]) && (this.element.trigger("focus"), this.previous = s, this._delay((function() { this.previous = s, this.selectedItem = n }))), !1 !== this._trigger("select", e, { item: n }) && this._value(n.value), this.term = this._value(), this.close(e), this.selectedItem = n } }), this.liveRegion = t("<div>", { role: "status", "aria-live": "assertive", "aria-relevant": "additions" }).appendTo(this.document[0].body), this._addClass(this.liveRegion, null, "ui-helper-hidden-accessible"), this._on(this.window, { beforeunload: function() { this.element.removeAttr("autocomplete") } }) }, _destroy: function() { clearTimeout(this.searching), this.element.removeAttr("autocomplete"), this.menu.element.remove(), this.liveRegion.remove() }, _setOption: function(t, e) { this._super(t, e), "source" === t && this._initSource(), "appendTo" === t && this.menu.element.appendTo(this._appendTo()), "disabled" === t && e && this.xhr && this.xhr.abort() }, _isEventTargetInWidget: function(e) { var i = this.menu.element[0]; return e.target === this.element[0] || e.target === i || t.contains(i, e.target) }, _closeOnClickOutside: function(t) { this._isEventTargetInWidget(t) || this.close() }, _appendTo: function() { var e = this.options.appendTo; return e && (e = e.jquery || e.nodeType ? t(e) : this.document.find(e).eq(0)), e && e[0] || (e = this.element.closest(".ui-front, dialog")), e.length || (e = this.document[0].body), e }, _initSource: function() { var e, i, n = this; t.isArray(this.options.source) ? (e = this.options.source, this.source = function(i, n) { n(t.ui.autocomplete.filter(e, i.term)) }) : "string" == typeof this.options.source ? (i = this.options.source, this.source = function(e, s) { n.xhr && n.xhr.abort(), n.xhr = t.ajax({ url: i, data: e, dataType: "json", success: function(t) { s(t) }, error: function() { s([]) } }) }) : this.source = this.options.source }, _searchTimeout: function(t) { clearTimeout(this.searching), this.searching = this._delay((function() { var e = this.term === this._value(), i = this.menu.element.is(":visible"), n = t.altKey || t.ctrlKey || t.metaKey || t.shiftKey; e && (!e || i || n) || (this.selectedItem = null, this.search(null, t)) }), this.options.delay) }, search: function(t, e) { return t = null != t ? t : this._value(), this.term = this._value(), t.length < this.options.minLength ? this.close(e) : !1 === this._trigger("search", e) ? void 0 : this._search(t) }, _search: function(t) { this.pending++, this._addClass("ui-autocomplete-loading"), this.cancelSearch = !1, this.source({ term: t }, this._response()) }, _response: function() { var e = ++this.requestIndex; return t.proxy((function(t) { e === this.requestIndex && this.__response(t), this.pending--, this.pending || this._removeClass("ui-autocomplete-loading") }), this) }, __response: function(t) { t && (t = this._normalize(t)), this._trigger("response", null, { content: t }), !this.options.disabled && t && t.length && !this.cancelSearch ? (this._suggest(t), this._trigger("open")) : this._close() }, close: function(t) { this.cancelSearch = !0, this._close(t) }, _close: function(t) { this._off(this.document, "mousedown"), this.menu.element.is(":visible") && (this.menu.element.hide(), this.menu.blur(), this.isNewMenu = !0, this._trigger("close", t)) }, _change: function(t) { this.previous !== this._value() && this._trigger("change", t, { item: this.selectedItem }) }, _normalize: function(e) { return e.length && e[0].label && e[0].value ? e : t.map(e, (function(e) { return "string" == typeof e ? { label: e, value: e } : t.extend({}, e, { label: e.label || e.value, value: e.value || e.label }) })) }, _suggest: function(e) { var i = this.menu.element.empty(); this._renderMenu(i, e), this.isNewMenu = !0, this.menu.refresh(), i.show(), this._resizeMenu(), i.position(t.extend({ of: this.element }, this.options.position)), this.options.autoFocus && this.menu.next(), this._on(this.document, { mousedown: "_closeOnClickOutside" }) }, _resizeMenu: function() { var t = this.menu.element; t.outerWidth(Math.max(t.width("").outerWidth() + 1, this.element.outerWidth())) }, _renderMenu: function(e, i) { var n = this; t.each(i, (function(t, i) { n._renderItemData(e, i) })) }, _renderItemData: function(t, e) { return this._renderItem(t, e).data("ui-autocomplete-item", e) }, _renderItem: function(e, i) { return t("<li>").append(t("<div>").text(i.label)).appendTo(e) }, _move: function(t, e) { if (this.menu.element.is(":visible")) return this.menu.isFirstItem() && /^previous/.test(t) || this.menu.isLastItem() && /^next/.test(t) ? (this.isMultiLine || this._value(this.term), void this.menu.blur()) : void this.menu[t](e); this.search(null, e) }, widget: function() { return this.menu.element }, _value: function() { return this.valueMethod.apply(this.element, arguments) }, _keyEvent: function(t, e) { (!this.isMultiLine || this.menu.element.is(":visible")) && (this._move(t, e), e.preventDefault()) }, _isContentEditable: function(t) { if (!t.length) return !1; var e = t.prop("contentEditable"); return "inherit" === e ? this._isContentEditable(t.parent()) : "true" === e } }), t.extend(t.ui.autocomplete, { escapeRegex: function(t) { return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&") }, filter: function(e, i) { var n = new RegExp(t.ui.autocomplete.escapeRegex(i), "i"); return t.grep(e, (function(t) { return n.test(t.label || t.value || t) })) } }), t.widget("ui.autocomplete", t.ui.autocomplete, { options: { messages: { noResults: "No search results.", results: function(t) { return t + (t > 1 ? " results are" : " result is") + " available, use up and down arrow keys to navigate." } } }, __response: function(e) { var i; this._superApply(arguments), this.options.disabled || this.cancelSearch || (i = e && e.length ? this.options.messages.results(e.length) : this.options.messages.noResults, this.liveRegion.children().hide(), t("<div>").text(i).appendTo(this.liveRegion)) } }); t.ui.autocomplete; var m = /ui-corner-([a-z]){2,6}/g; t.widget("ui.controlgroup", { version: "1.12.1", defaultElement: "<div>", options: { direction: "horizontal", disabled: null, onlyVisible: !0, items: { button: "input[type=button], input[type=submit], input[type=reset], button, a", controlgroupLabel: ".ui-controlgroup-label", checkboxradio: "input[type='checkbox'], input[type='radio']", selectmenu: "select", spinner: ".ui-spinner-input" } }, _create: function() { this._enhance() }, _enhance: function() { this.element.attr("role", "toolbar"), this.refresh() }, _destroy: function() { this._callChildMethod("destroy"), this.childWidgets.removeData("ui-controlgroup-data"), this.element.removeAttr("role"), this.options.items.controlgroupLabel && this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap() }, _initWidgets: function() { var e = this, i = []; t.each(this.options.items, (function(n, s) { var o, a = {}; if (s) { if ("controlgroupLabel" === n) return (o = e.element.find(s)).each((function() { var e = t(this); e.children(".ui-controlgroup-label-contents").length || e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>") })), e._addClass(o, null, "ui-widget ui-widget-content ui-state-default"), void(i = i.concat(o.get())); t.fn[n] && (a = e["_" + n + "Options"] ? e["_" + n + "Options"]("middle") : { classes: {} }, e.element.find(s).each((function() { var s, o = t(this), r = o[n]("instance"), l = t.widget.extend({}, a); "button" === n && o.parent(".ui-spinner").length || (r || (r = o[n]()[n]("instance")), r && (l.classes = e._resolveClassesValues(l.classes, r)), o[n](l), s = o[n]("widget"), t.data(s[0], "ui-controlgroup-data", r || o[n]("instance")), i.push(s[0])) }))) } })), this.childWidgets = t(t.unique(i)), this._addClass(this.childWidgets, "ui-controlgroup-item") }, _callChildMethod: function(e) { this.childWidgets.each((function() { var i = t(this).data("ui-controlgroup-data"); i && i[e] && i[e]() })) }, _updateCornerClass: function(t, e) { var i = this._buildSimpleOptions(e, "label").classes.label; this._removeClass(t, null, "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"), this._addClass(t, null, i) }, _buildSimpleOptions: function(t, e) { var i = "vertical" === this.options.direction, n = { classes: {} }; return n.classes[e] = { middle: "", first: "ui-corner-" + (i ? "top" : "left"), last: "ui-corner-" + (i ? "bottom" : "right"), only: "ui-corner-all" } [t], n }, _spinnerOptions: function(t) { var e = this._buildSimpleOptions(t, "ui-spinner"); return e.classes["ui-spinner-up"] = "", e.classes["ui-spinner-down"] = "", e }, _buttonOptions: function(t) { return this._buildSimpleOptions(t, "ui-button") }, _checkboxradioOptions: function(t) { return this._buildSimpleOptions(t, "ui-checkboxradio-label") }, _selectmenuOptions: function(t) { var e = "vertical" === this.options.direction; return { width: !!e && "auto", classes: { middle: { "ui-selectmenu-button-open": "", "ui-selectmenu-button-closed": "" }, first: { "ui-selectmenu-button-open": "ui-corner-" + (e ? "top" : "tl"), "ui-selectmenu-button-closed": "ui-corner-" + (e ? "top" : "left") }, last: { "ui-selectmenu-button-open": e ? "" : "ui-corner-tr", "ui-selectmenu-button-closed": "ui-corner-" + (e ? "bottom" : "right") }, only: { "ui-selectmenu-button-open": "ui-corner-top", "ui-selectmenu-button-closed": "ui-corner-all" } } [t] } }, _resolveClassesValues: function(e, i) { var n = {}; return t.each(e, (function(s) { var o = i.options.classes[s] || ""; o = t.trim(o.replace(m, "")), n[s] = (o + " " + e[s]).replace(/\s+/g, " ") })), n }, _setOption: function(t, e) { "direction" === t && this._removeClass("ui-controlgroup-" + this.options.direction), this._super(t, e), "disabled" !== t ? this.refresh() : this._callChildMethod(e ? "disable" : "enable") }, refresh: function() { var e, i = this; this._addClass("ui-controlgroup ui-controlgroup-" + this.options.direction), "horizontal" === this.options.direction && this._addClass(null, "ui-helper-clearfix"), this._initWidgets(), e = this.childWidgets, this.options.onlyVisible && (e = e.filter(":visible")), e.length && (t.each(["first", "last"], (function(t, n) { var s, o = e[n]().data("ui-controlgroup-data"); o && i["_" + o.widgetName + "Options"] ? ((s = i["_" + o.widgetName + "Options"](1 === e.length ? "only" : n)).classes = i._resolveClassesValues(s.classes, o), o.element[o.widgetName](s)) : i._updateCornerClass(e[n](), n) })), this._callChildMethod("refresh")) } }); t.widget("ui.checkboxradio", [t.ui.formResetMixin, { version: "1.12.1", options: { disabled: null, label: null, icon: !0, classes: { "ui-checkboxradio-label": "ui-corner-all", "ui-checkboxradio-icon": "ui-corner-all" } }, _getCreateOptions: function() { var e, i, n = this, s = this._super() || {}; return this._readType(), i = this.element.labels(), this.label = t(i[i.length - 1]), this.label.length || t.error("No label found for checkboxradio widget"), this.originalLabel = "", this.label.contents().not(this.element[0]).each((function() { n.originalLabel += 3 === this.nodeType ? t(this).text() : this.outerHTML })), this.originalLabel && (s.label = this.originalLabel), null != (e = this.element[0].disabled) && (s.disabled = e), s }, _create: function() { var t = this.element[0].checked; this._bindFormResetHandler(), null == this.options.disabled && (this.options.disabled = this.element[0].disabled), this._setOption("disabled", this.options.disabled), this._addClass("ui-checkboxradio", "ui-helper-hidden-accessible"), this._addClass(this.label, "ui-checkboxradio-label", "ui-button ui-widget"), "radio" === this.type && this._addClass(this.label, "ui-checkboxradio-radio-label"), this.options.label && this.options.label !== this.originalLabel ? this._updateLabel() : this.originalLabel && (this.options.label = this.originalLabel), this._enhance(), t && (this._addClass(this.label, "ui-checkboxradio-checked", "ui-state-active"), this.icon && this._addClass(this.icon, null, "ui-state-hover")), this._on({ change: "_toggleClasses", focus: function() { this._addClass(this.label, null, "ui-state-focus ui-visual-focus") }, blur: function() { this._removeClass(this.label, null, "ui-state-focus ui-visual-focus") } }) }, _readType: function() { var e = this.element[0].nodeName.toLowerCase(); this.type = this.element[0].type, "input" === e && /radio|checkbox/.test(this.type) || t.error("Can't create checkboxradio on element.nodeName=" + e + " and element.type=" + this.type) }, _enhance: function() { this._updateIcon(this.element[0].checked) }, widget: function() { return this.label }, _getRadioGroup: function() { var e = this.element[0].name, i = "input[name='" + t.ui.escapeSelector(e) + "']"; return e ? (this.form.length ? t(this.form[0].elements).filter(i) : t(i).filter((function() { return 0 === t(this).form().length }))).not(this.element) : t([]) }, _toggleClasses: function() { var e = this.element[0].checked; this._toggleClass(this.label, "ui-checkboxradio-checked", "ui-state-active", e), this.options.icon && "checkbox" === this.type && this._toggleClass(this.icon, null, "ui-icon-check ui-state-checked", e)._toggleClass(this.icon, null, "ui-icon-blank", !e), "radio" === this.type && this._getRadioGroup().each((function() { var e = t(this).checkboxradio("instance"); e && e._removeClass(e.label, "ui-checkboxradio-checked", "ui-state-active") })) }, _destroy: function() { this._unbindFormResetHandler(), this.icon && (this.icon.remove(), this.iconSpace.remove()) }, _setOption: function(t, e) { if ("label" !== t || e) { if (this._super(t, e), "disabled" === t) return this._toggleClass(this.label, null, "ui-state-disabled", e), void(this.element[0].disabled = e); this.refresh() } }, _updateIcon: function(e) { var i = "ui-icon ui-icon-background "; this.options.icon ? (this.icon || (this.icon = t("<span>"), this.iconSpace = t("<span> </span>"), this._addClass(this.iconSpace, "ui-checkboxradio-icon-space")), "checkbox" === this.type ? (i += e ? "ui-icon-check ui-state-checked" : "ui-icon-blank", this._removeClass(this.icon, null, e ? "ui-icon-blank" : "ui-icon-check")) : i += "ui-icon-blank", this._addClass(this.icon, "ui-checkboxradio-icon", i), e || this._removeClass(this.icon, null, "ui-icon-check ui-state-checked"), this.icon.prependTo(this.label).after(this.iconSpace)) : void 0 !== this.icon && (this.icon.remove(), this.iconSpace.remove(), delete this.icon) }, _updateLabel: function() { var t = this.label.contents().not(this.element[0]); this.icon && (t = t.not(this.icon[0])), this.iconSpace && (t = t.not(this.iconSpace[0])), t.remove(), this.label.append(this.options.label) }, refresh: function() { var t = this.element[0].checked, e = this.element[0].disabled; this._updateIcon(t), this._toggleClass(this.label, "ui-checkboxradio-checked", "ui-state-active", t), null !== this.options.label && this._updateLabel(), e !== this.options.disabled && this._setOptions({ disabled: e }) } }]), t.ui.checkboxradio, t.widget("ui.button", { version: "1.12.1", defaultElement: "<button>", options: { classes: { "ui-button": "ui-corner-all" }, disabled: null, icon: null, iconPosition: "beginning", label: null, showLabel: !0 }, _getCreateOptions: function() { var t, e = this._super() || {}; return this.isInput = this.element.is("input"), null != (t = this.element[0].disabled) && (e.disabled = t), this.originalLabel = this.isInput ? this.element.val() : this.element.html(), this.originalLabel && (e.label = this.originalLabel), e }, _create: function() { !this.option.showLabel & !this.options.icon && (this.options.showLabel = !0), null == this.options.disabled && (this.options.disabled = this.element[0].disabled || !1), this.hasTitle = !!this.element.attr("title"), this.options.label && this.options.label !== this.originalLabel && (this.isInput ? this.element.val(this.options.label) : this.element.html(this.options.label)), this._addClass("ui-button", "ui-widget"), this._setOption("disabled", this.options.disabled), this._enhance(), this.element.is("a") && this._on({ keyup: function(e) { e.keyCode === t.ui.keyCode.SPACE && (e.preventDefault(), this.element[0].click ? this.element[0].click() : this.element.trigger("click")) } }) }, _enhance: function() { this.element.is("button") || this.element.attr("role", "button"), this.options.icon && (this._updateIcon("icon", this.options.icon), this._updateTooltip()) }, _updateTooltip: function() { this.title = this.element.attr("title"), this.options.showLabel || this.title || this.element.attr("title", this.options.label) }, _updateIcon: function(e, i) { var n = "iconPosition" !== e, s = n ? this.options.iconPosition : i, o = "top" === s || "bottom" === s; this.icon ? n && this._removeClass(this.icon, null, this.options.icon) : (this.icon = t("<span>"), this._addClass(this.icon, "ui-button-icon", "ui-icon"), this.options.showLabel || this._addClass("ui-button-icon-only")), n && this._addClass(this.icon, null, i), this._attachIcon(s), o ? (this._addClass(this.icon, null, "ui-widget-icon-block"), this.iconSpace && this.iconSpace.remove()) : (this.iconSpace || (this.iconSpace = t("<span> </span>"), this._addClass(this.iconSpace, "ui-button-icon-space")), this._removeClass(this.icon, null, "ui-wiget-icon-block"), this._attachIconSpace(s)) }, _destroy: function() { this.element.removeAttr("role"), this.icon && this.icon.remove(), this.iconSpace && this.iconSpace.remove(), this.hasTitle || this.element.removeAttr("title") }, _attachIconSpace: function(t) { this.icon[/^(?:end|bottom)/.test(t) ? "before" : "after"](this.iconSpace) }, _attachIcon: function(t) { this.element[/^(?:end|bottom)/.test(t) ? "append" : "prepend"](this.icon) }, _setOptions: function(t) { var e = void 0 === t.showLabel ? this.options.showLabel : t.showLabel, i = void 0 === t.icon ? this.options.icon : t.icon; e || i || (t.showLabel = !0), this._super(t) }, _setOption: function(t, e) { "icon" === t && (e ? this._updateIcon(t, e) : this.icon && (this.icon.remove(), this.iconSpace && this.iconSpace.remove())), "iconPosition" === t && this._updateIcon(t, e), "showLabel" === t && (this._toggleClass("ui-button-icon-only", null, !e), this._updateTooltip()), "label" === t && (this.isInput ? this.element.val(e) : (this.element.html(e), this.icon && (this._attachIcon(this.options.iconPosition), this._attachIconSpace(this.options.iconPosition)))), this._super(t, e), "disabled" === t && (this._toggleClass(null, "ui-state-disabled", e), this.element[0].disabled = e, e && this.element.blur()) }, refresh: function() { var t = this.element.is("input, button") ? this.element[0].disabled : this.element.hasClass("ui-button-disabled"); t !== this.options.disabled && this._setOptions({ disabled: t }), this._updateTooltip() } }), !1 !== t.uiBackCompat && (t.widget("ui.button", t.ui.button, { options: { text: !0, icons: { primary: null, secondary: null } }, _create: function() { this.options.showLabel && !this.options.text && (this.options.showLabel = this.options.text), !this.options.showLabel && this.options.text && (this.options.text = this.options.showLabel), this.options.icon || !this.options.icons.primary && !this.options.icons.secondary ? this.options.icon && (this.options.icons.primary = this.options.icon) : this.options.icons.primary ? this.options.icon = this.options.icons.primary : (this.options.icon = this.options.icons.secondary, this.options.iconPosition = "end"), this._super() }, _setOption: function(t, e) { "text" !== t ? ("showLabel" === t && (this.options.text = e), "icon" === t && (this.options.icons.primary = e), "icons" === t && (e.primary ? (this._super("icon", e.primary), this._super("iconPosition", "beginning")) : e.secondary && (this._super("icon", e.secondary), this._super("iconPosition", "end"))), this._superApply(arguments)) : this._super("showLabel", e) } }), t.fn.button = function(e) { return function() { return !this.length || this.length && "INPUT" !== this[0].tagName || this.length && "INPUT" === this[0].tagName && "checkbox" !== this.attr("type") && "radio" !== this.attr("type") ? e.apply(this, arguments) : (t.ui.checkboxradio || t.error("Checkboxradio widget missing"), 0 === arguments.length ? this.checkboxradio({ icon: !1 }) : this.checkboxradio.apply(this, arguments)) } }(t.fn.button), t.fn.buttonset = function() { return t.ui.controlgroup || t.error("Controlgroup widget missing"), "option" === arguments[0] && "items" === arguments[1] && arguments[2] ? this.controlgroup.apply(this, [arguments[0], "items.button", arguments[2]]) : "option" === arguments[0] && "items" === arguments[1] ? this.controlgroup.apply(this, [arguments[0], "items.button"]) : ("object" == typeof arguments[0] && arguments[0].items && (arguments[0].items = { button: arguments[0].items }), this.controlgroup.apply(this, arguments)) }), t.ui.button, t.extend(t.ui, { datepicker: { version: "1.12.1" } }), t.extend(e.prototype, { markerClassName: "hasDatepicker", maxRows: 4, _widgetDatepicker: function() { return this.dpDiv }, setDefaults: function(t) { return s(this._defaults, t || {}), this }, _attachDatepicker: function(e, i) { var n, s, o; s = "div" === (n = e.nodeName.toLowerCase()) || "span" === n, e.id || (this.uuid += 1, e.id = "dp" + this.uuid), (o = this._newInst(t(e), s)).settings = t.extend({}, i || {}), "input" === n ? this._connectDatepicker(e, o) : s && this._inlineDatepicker(e, o) }, _newInst: function(e, n) { return { id: e[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"), input: e, selectedDay: 0, selectedMonth: 0, selectedYear: 0, drawMonth: 0, drawYear: 0, inline: n, dpDiv: n ? i(t("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")) : this.dpDiv } }, _connectDatepicker: function(e, i) { var n = t(e); i.append = t([]), i.trigger = t([]), n.hasClass(this.markerClassName) || (this._attachments(n, i), n.addClass(this.markerClassName).on("keydown", this._doKeyDown).on("keypress", this._doKeyPress).on("keyup", this._doKeyUp), this._autoSize(i), t.data(e, "datepicker", i), i.settings.disabled && this._disableDatepicker(e)) }, _attachments: function(e, i) { var n, s, o, a = this._get(i, "appendText"), r = this._get(i, "isRTL"); i.append && i.append.remove(), a && (i.append = t("<span class='" + this._appendClass + "'>" + a + "</span>"), e[r ? "before" : "after"](i.append)), e.off("focus", this._showDatepicker), i.trigger && i.trigger.remove(), ("focus" === (n = this._get(i, "showOn")) || "both" === n) && e.on("focus", this._showDatepicker), "button" !== n && "both" !== n || (s = this._get(i, "buttonText"), o = this._get(i, "buttonImage"), i.trigger = t(this._get(i, "buttonImageOnly") ? t("<img/>").addClass(this._triggerClass).attr({ src: o, alt: s, title: s }) : t("<button type='button'></button>").addClass(this._triggerClass).html(o ? t("<img/>").attr({ src: o, alt: s, title: s }) : s)), e[r ? "before" : "after"](i.trigger), i.trigger.on("click", (function() { return t.datepicker._datepickerShowing && t.datepicker._lastInput === e[0] ? t.datepicker._hideDatepicker() : t.datepicker._datepickerShowing && t.datepicker._lastInput !== e[0] ? (t.datepicker._hideDatepicker(), t.datepicker._showDatepicker(e[0])) : t.datepicker._showDatepicker(e[0]), !1 }))) }, _autoSize: function(t) { if (this._get(t, "autoSize") && !t.inline) { var e, i, n, s, o = new Date(2009, 11, 20), a = this._get(t, "dateFormat"); a.match(/[DM]/) && (e = function(t) { for (i = 0, n = 0, s = 0; s < t.length; s++) t[s].length > i && (i = t[s].length, n = s); return n }, o.setMonth(e(this._get(t, a.match(/MM/) ? "monthNames" : "monthNamesShort"))), o.setDate(e(this._get(t, a.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - o.getDay())), t.input.attr("size", this._formatDate(t, o).length) } }, _inlineDatepicker: function(e, i) { var n = t(e); n.hasClass(this.markerClassName) || (n.addClass(this.markerClassName).append(i.dpDiv), t.data(e, "datepicker", i), this._setDate(i, this._getDefaultDate(i), !0), this._updateDatepicker(i), this._updateAlternate(i), i.settings.disabled && this._disableDatepicker(e), i.dpDiv.css("display", "block")) }, _dialogDatepicker: function(e, i, n, o, a) { var r, l, h, c, u, d = this._dialogInst; return d || (this.uuid += 1, r = "dp" + this.uuid, this._dialogInput = t("<input type='text' id='" + r + "' style='position: absolute; top: -100px; width: 0px;'/>"), this._dialogInput.on("keydown", this._doKeyDown), t("body").append(this._dialogInput), (d = this._dialogInst = this._newInst(this._dialogInput, !1)).settings = {}, t.data(this._dialogInput[0], "datepicker", d)), s(d.settings, o || {}), i = i && i.constructor === Date ? this._formatDate(d, i) : i, this._dialogInput.val(i), this._pos = a ? a.length ? a : [a.pageX, a.pageY] : null, this._pos || (l = document.documentElement.clientWidth, h = document.documentElement.clientHeight, c = document.documentElement.scrollLeft || document.body.scrollLeft, u = document.documentElement.scrollTop || document.body.scrollTop, this._pos = [l / 2 - 100 + c, h / 2 - 150 + u]), this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"), d.settings.onSelect = n, this._inDialog = !0, this.dpDiv.addClass(this._dialogClass), this._showDatepicker(this._dialogInput[0]), t.blockUI && t.blockUI(this.dpDiv), t.data(this._dialogInput[0], "datepicker", d), this }, _destroyDatepicker: function(e) { var i, n = t(e), s = t.data(e, "datepicker"); n.hasClass(this.markerClassName) && (i = e.nodeName.toLowerCase(), t.removeData(e, "datepicker"), "input" === i ? (s.append.remove(), s.trigger.remove(), n.removeClass(this.markerClassName).off("focus", this._showDatepicker).off("keydown", this._doKeyDown).off("keypress", this._doKeyPress).off("keyup", this._doKeyUp)) : ("div" === i || "span" === i) && n.removeClass(this.markerClassName).empty(), a === s && (a = null)) }, _enableDatepicker: function(e) { var i, n, s = t(e), o = t.data(e, "datepicker"); s.hasClass(this.markerClassName) && ("input" === (i = e.nodeName.toLowerCase()) ? (e.disabled = !1, o.trigger.filter("button").each((function() { this.disabled = !1 })).end().filter("img").css({ opacity: "1.0", cursor: "" })) : ("div" === i || "span" === i) && ((n = s.children("." + this._inlineClass)).children().removeClass("ui-state-disabled"), n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !1)), this._disabledInputs = t.map(this._disabledInputs, (function(t) { return t === e ? null : t }))) }, _disableDatepicker: function(e) { var i, n, s = t(e), o = t.data(e, "datepicker"); s.hasClass(this.markerClassName) && ("input" === (i = e.nodeName.toLowerCase()) ? (e.disabled = !0, o.trigger.filter("button").each((function() { this.disabled = !0 })).end().filter("img").css({ opacity: "0.5", cursor: "default" })) : ("div" === i || "span" === i) && ((n = s.children("." + this._inlineClass)).children().addClass("ui-state-disabled"), n.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !0)), this._disabledInputs = t.map(this._disabledInputs, (function(t) { return t === e ? null : t })), this._disabledInputs[this._disabledInputs.length] = e) }, _isDisabledDatepicker: function(t) { if (!t) return !1; for (var e = 0; e < this._disabledInputs.length; e++) if (this._disabledInputs[e] === t) return !0; return !1 }, _getInst: function(e) { try { return t.data(e, "datepicker") } catch (t) { throw "Missing instance data for this datepicker" } }, _optionDatepicker: function(e, i, n) { var o, a, r, l, h = this._getInst(e); if (2 === arguments.length && "string" == typeof i) return "defaults" === i ? t.extend({}, t.datepicker._defaults) : h ? "all" === i ? t.extend({}, h.settings) : this._get(h, i) : null; o = i || {}, "string" == typeof i && ((o = {})[i] = n), h && (this._curInst === h && this._hideDatepicker(), a = this._getDateDatepicker(e, !0), r = this._getMinMaxDate(h, "min"), l = this._getMinMaxDate(h, "max"), s(h.settings, o), null !== r && void 0 !== o.dateFormat && void 0 === o.minDate && (h.settings.minDate = this._formatDate(h, r)), null !== l && void 0 !== o.dateFormat && void 0 === o.maxDate && (h.settings.maxDate = this._formatDate(h, l)), "disabled" in o && (o.disabled ? this._disableDatepicker(e) : this._enableDatepicker(e)), this._attachments(t(e), h), this._autoSize(h), this._setDate(h, a), this._updateAlternate(h), this._updateDatepicker(h)) }, _changeDatepicker: function(t, e, i) { this._optionDatepicker(t, e, i) }, _refreshDatepicker: function(t) { var e = this._getInst(t); e && this._updateDatepicker(e) }, _setDateDatepicker: function(t, e) { var i = this._getInst(t); i && (this._setDate(i, e), this._updateDatepicker(i), this._updateAlternate(i)) }, _getDateDatepicker: function(t, e) { var i = this._getInst(t); return i && !i.inline && this._setDateFromField(i, e), i ? this._getDate(i) : null }, _doKeyDown: function(e) { var i, n, s, o = t.datepicker._getInst(e.target), a = !0, r = o.dpDiv.is(".ui-datepicker-rtl"); if (o._keyEvent = !0, t.datepicker._datepickerShowing) switch (e.keyCode) { case 9: t.datepicker._hideDatepicker(), a = !1; break; case 13: return (s = t("td." + t.datepicker._dayOverClass + ":not(." + t.datepicker._currentClass + ")", o.dpDiv))[0] && t.datepicker._selectDay(e.target, o.selectedMonth, o.selectedYear, s[0]), (i = t.datepicker._get(o, "onSelect")) ? (n = t.datepicker._formatDate(o), i.apply(o.input ? o.input[0] : null, [n, o])) : t.datepicker._hideDatepicker(), !1; case 27: t.datepicker._hideDatepicker(); break; case 33: t.datepicker._adjustDate(e.target, e.ctrlKey ? -t.datepicker._get(o, "stepBigMonths") : -t.datepicker._get(o, "stepMonths"), "M"); break; case 34: t.datepicker._adjustDate(e.target, e.ctrlKey ? +t.datepicker._get(o, "stepBigMonths") : +t.datepicker._get(o, "stepMonths"), "M"); break; case 35: (e.ctrlKey || e.metaKey) && t.datepicker._clearDate(e.target), a = e.ctrlKey || e.metaKey; break; case 36: (e.ctrlKey || e.metaKey) && t.datepicker._gotoToday(e.target), a = e.ctrlKey || e.metaKey; break; case 37: (e.ctrlKey || e.metaKey) && t.datepicker._adjustDate(e.target, r ? 1 : -1, "D"), a = e.ctrlKey || e.metaKey, e.originalEvent.altKey && t.datepicker._adjustDate(e.target, e.ctrlKey ? -t.datepicker._get(o, "stepBigMonths") : -t.datepicker._get(o, "stepMonths"), "M"); break; case 38: (e.ctrlKey || e.metaKey) && t.datepicker._adjustDate(e.target, -7, "D"), a = e.ctrlKey || e.metaKey; break; case 39: (e.ctrlKey || e.metaKey) && t.datepicker._adjustDate(e.target, r ? -1 : 1, "D"), a = e.ctrlKey || e.metaKey, e.originalEvent.altKey && t.datepicker._adjustDate(e.target, e.ctrlKey ? +t.datepicker._get(o, "stepBigMonths") : +t.datepicker._get(o, "stepMonths"), "M"); break; case 40: (e.ctrlKey || e.metaKey) && t.datepicker._adjustDate(e.target, 7, "D"), a = e.ctrlKey || e.metaKey; break; default: a = !1 } else 36 === e.keyCode && e.ctrlKey ? t.datepicker._showDatepicker(this) : a = !1; a && (e.preventDefault(), e.stopPropagation()) }, _doKeyPress: function(e) { var i, n, s = t.datepicker._getInst(e.target); if (t.datepicker._get(s, "constrainInput")) return i = t.datepicker._possibleChars(t.datepicker._get(s, "dateFormat")), n = String.fromCharCode(null == e.charCode ? e.keyCode : e.charCode), e.ctrlKey || e.metaKey || n < " " || !i || i.indexOf(n) > -1 }, _doKeyUp: function(e) { var i = t.datepicker._getInst(e.target); if (i.input.val() !== i.lastVal) try { t.datepicker.parseDate(t.datepicker._get(i, "dateFormat"), i.input ? i.input.val() : null, t.datepicker._getFormatConfig(i)) && (t.datepicker._setDateFromField(i), t.datepicker._updateAlternate(i), t.datepicker._updateDatepicker(i)) } catch (t) {} return !0 }, _showDatepicker: function(e) { var i, n, o, a, r, l, h; ("input" !== (e = e.target || e).nodeName.toLowerCase() && (e = t("input", e.parentNode)[0]), t.datepicker._isDisabledDatepicker(e) || t.datepicker._lastInput === e) || (i = t.datepicker._getInst(e), t.datepicker._curInst && t.datepicker._curInst !== i && (t.datepicker._curInst.dpDiv.stop(!0, !0), i && t.datepicker._datepickerShowing && t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])), !1 !== (o = (n = t.datepicker._get(i, "beforeShow")) ? n.apply(e, [e, i]) : {}) && (s(i.settings, o), i.lastVal = null, t.datepicker._lastInput = e, t.datepicker._setDateFromField(i), t.datepicker._inDialog && (e.value = ""), t.datepicker._pos || (t.datepicker._pos = t.datepicker._findPos(e), t.datepicker._pos[1] += e.offsetHeight), a = !1, t(e).parents().each((function() { return !(a |= "fixed" === t(this).css("position")) })), r = { left: t.datepicker._pos[0], top: t.datepicker._pos[1] }, t.datepicker._pos = null, i.dpDiv.empty(), i.dpDiv.css({ position: "absolute", display: "block", top: "-1000px" }), t.datepicker._updateDatepicker(i), r = t.datepicker._checkOffset(i, r, a), i.dpDiv.css({ position: t.datepicker._inDialog && t.blockUI ? "static" : a ? "fixed" : "absolute", display: "none", left: r.left + "px", top: r.top + "px" }), i.inline || (l = t.datepicker._get(i, "showAnim"), h = t.datepicker._get(i, "duration"), i.dpDiv.css("z-index", function(t) { for (var e, i; t.length && t[0] !== document;) { if (("absolute" === (e = t.css("position")) || "relative" === e || "fixed" === e) && (i = parseInt(t.css("zIndex"), 10), !isNaN(i) && 0 !== i)) return i; t = t.parent() } return 0 }(t(e)) + 1), t.datepicker._datepickerShowing = !0, t.effects && t.effects.effect[l] ? i.dpDiv.show(l, t.datepicker._get(i, "showOptions"), h) : i.dpDiv[l || "show"](l ? h : null), t.datepicker._shouldFocusInput(i) && i.input.trigger("focus"), t.datepicker._curInst = i))) }, _updateDatepicker: function(e) { this.maxRows = 4, a = e, e.dpDiv.empty().append(this._generateHTML(e)), this._attachHandlers(e); var i, s = this._getNumberOfMonths(e), o = s[1], r = e.dpDiv.find("." + this._dayOverClass + " a"); r.length > 0 && n.apply(r.get(0)), e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""), o > 1 && e.dpDiv.addClass("ui-datepicker-multi-" + o).css("width", 17 * o + "em"), e.dpDiv[(1 !== s[0] || 1 !== s[1] ? "add" : "remove") + "Class"]("ui-datepicker-multi"), e.dpDiv[(this._get(e, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"), e === t.datepicker._curInst && t.datepicker._datepickerShowing && t.datepicker._shouldFocusInput(e) && e.input.trigger("focus"), e.yearshtml && (i = e.yearshtml, setTimeout((function() { i === e.yearshtml && e.yearshtml && e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml), i = e.yearshtml = null }), 0)) }, _shouldFocusInput: function(t) { return t.input && t.input.is(":visible") && !t.input.is(":disabled") && !t.input.is(":focus") }, _checkOffset: function(e, i, n) { var s = e.dpDiv.outerWidth(), o = e.dpDiv.outerHeight(), a = e.input ? e.input.outerWidth() : 0, r = e.input ? e.input.outerHeight() : 0, l = document.documentElement.clientWidth + (n ? 0 : t(document).scrollLeft()), h = document.documentElement.clientHeight + (n ? 0 : t(document).scrollTop()); return i.left -= this._get(e, "isRTL") ? s - a : 0, i.left -= n && i.left === e.input.offset().left ? t(document).scrollLeft() : 0, i.top -= n && i.top === e.input.offset().top + r ? t(document).scrollTop() : 0, i.left -= Math.min(i.left, i.left + s > l && l > s ? Math.abs(i.left + s - l) : 0), i.top -= Math.min(i.top, i.top + o > h && h > o ? Math.abs(o + r) : 0), i }, _findPos: function(e) { for (var i, n = this._getInst(e), s = this._get(n, "isRTL"); e && ("hidden" === e.type || 1 !== e.nodeType || t.expr.filters.hidden(e));) e = e[s ? "previousSibling" : "nextSibling"]; return [(i = t(e).offset()).left, i.top] }, _hideDatepicker: function(e) { var i, n, s, o, a = this._curInst; a && (!e || a === t.data(e, "datepicker")) && this._datepickerShowing && (i = this._get(a, "showAnim"), n = this._get(a, "duration"), s = function() { t.datepicker._tidyDialog(a) }, t.effects && (t.effects.effect[i] || t.effects[i]) ? a.dpDiv.hide(i, t.datepicker._get(a, "showOptions"), n, s) : a.dpDiv["slideDown" === i ? "slideUp" : "fadeIn" === i ? "fadeOut" : "hide"](i ? n : null, s), i || s(), this._datepickerShowing = !1, (o = this._get(a, "onClose")) && o.apply(a.input ? a.input[0] : null, [a.input ? a.input.val() : "", a]), this._lastInput = null, this._inDialog && (this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }), t.blockUI && (t.unblockUI(), t("body").append(this.dpDiv))), this._inDialog = !1) }, _tidyDialog: function(t) { t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar") }, _checkExternalClick: function(e) { if (t.datepicker._curInst) { var i = t(e.target), n = t.datepicker._getInst(i[0]); (i[0].id === t.datepicker._mainDivId || 0 !== i.parents("#" + t.datepicker._mainDivId).length || i.hasClass(t.datepicker.markerClassName) || i.closest("." + t.datepicker._triggerClass).length || !t.datepicker._datepickerShowing || t.datepicker._inDialog && t.blockUI) && (!i.hasClass(t.datepicker.markerClassName) || t.datepicker._curInst === n) || t.datepicker._hideDatepicker() } }, _adjustDate: function(e, i, n) { var s = t(e), o = this._getInst(s[0]); this._isDisabledDatepicker(s[0]) || (this._adjustInstDate(o, i + ("M" === n ? this._get(o, "showCurrentAtPos") : 0), n), this._updateDatepicker(o)) }, _gotoToday: function(e) { var i, n = t(e), s = this._getInst(n[0]); this._get(s, "gotoCurrent") && s.currentDay ? (s.selectedDay = s.currentDay, s.drawMonth = s.selectedMonth = s.currentMonth, s.drawYear = s.selectedYear = s.currentYear) : (i = new Date, s.selectedDay = i.getDate(), s.drawMonth = s.selectedMonth = i.getMonth(), s.drawYear = s.selectedYear = i.getFullYear()), this._notifyChange(s), this._adjustDate(n) }, _selectMonthYear: function(e, i, n) { var s = t(e), o = this._getInst(s[0]); o["selected" + ("M" === n ? "Month" : "Year")] = o["draw" + ("M" === n ? "Month" : "Year")] = parseInt(i.options[i.selectedIndex].value, 10), this._notifyChange(o), this._adjustDate(s) }, _selectDay: function(e, i, n, s) { var o, a = t(e); t(s).hasClass(this._unselectableClass) || this._isDisabledDatepicker(a[0]) || ((o = this._getInst(a[0])).selectedDay = o.currentDay = t("a", s).html(), o.selectedMonth = o.currentMonth = i, o.selectedYear = o.currentYear = n, this._selectDate(e, this._formatDate(o, o.currentDay, o.currentMonth, o.currentYear))) }, _clearDate: function(e) { var i = t(e); this._selectDate(i, "") }, _selectDate: function(e, i) { var n, s = t(e), o = this._getInst(s[0]); i = null != i ? i : this._formatDate(o), o.input && o.input.val(i), this._updateAlternate(o), (n = this._get(o, "onSelect")) ? n.apply(o.input ? o.input[0] : null, [i, o]) : o.input && o.input.trigger("change"), o.inline ? this._updateDatepicker(o) : (this._hideDatepicker(), this._lastInput = o.input[0], "object" != typeof o.input[0] && o.input.trigger("focus"), this._lastInput = null) }, _updateAlternate: function(e) { var i, n, s, o = this._get(e, "altField"); o && (i = this._get(e, "altFormat") || this._get(e, "dateFormat"), n = this._getDate(e), s = this.formatDate(i, n, this._getFormatConfig(e)), t(o).val(s)) }, noWeekends: function(t) { var e = t.getDay(); return [e > 0 && e < 6, ""] }, iso8601Week: function(t) { var e, i = new Date(t.getTime()); return i.setDate(i.getDate() + 4 - (i.getDay() || 7)), e = i.getTime(), i.setMonth(0), i.setDate(1), Math.floor(Math.round((e - i) / 864e5) / 7) + 1 }, parseDate: function(e, i, n) { if (null == e || null == i) throw "Invalid arguments"; if ("" === (i = "object" == typeof i ? i.toString() : i + "")) return null; for (var s, o, a, r = 0, l = (n ? n.shortYearCutoff : null) || this._defaults.shortYearCutoff, h = "string" != typeof l ? l : (new Date).getFullYear() % 100 + parseInt(l, 10), c = (n ? n.dayNamesShort : null) || this._defaults.dayNamesShort, u = (n ? n.dayNames : null) || this._defaults.dayNames, d = (n ? n.monthNamesShort : null) || this._defaults.monthNamesShort, p = (n ? n.monthNames : null) || this._defaults.monthNames, f = -1, m = -1, g = -1, v = -1, b = !1, y = function(t) { var i = C + 1 < e.length && e.charAt(C + 1) === t; return i && C++, i }, _ = function(t) { var e = y(t), n = "@" === t ? 14 : "!" === t ? 20 : "y" === t && e ? 4 : "o" === t ? 3 : 2, s = new RegExp("^\\d{" + ("y" === t ? n : 1) + "," + n + "}"), o = i.substring(r).match(s); if (!o) throw "Missing number at position " + r; return r += o[0].length, parseInt(o[0], 10) }, w = function(e, n, s) { var o = -1, a = t.map(y(e) ? s : n, (function(t, e) { return [ [e, t] ] })).sort((function(t, e) { return -(t[1].length - e[1].length) })); if (t.each(a, (function(t, e) { var n = e[1]; if (i.substr(r, n.length).toLowerCase() === n.toLowerCase()) return o = e[0], r += n.length, !1 })), -1 !== o) return o + 1; throw "Unknown name at position " + r }, x = function() { if (i.charAt(r) !== e.charAt(C)) throw "Unexpected literal at position " + r; r++ }, C = 0; C < e.length; C++) if (b) "'" !== e.charAt(C) || y("'") ? x() : b = !1; else switch (e.charAt(C)) { case "d": g = _("d"); break; case "D": w("D", c, u); break; case "o": v = _("o"); break; case "m": m = _("m"); break; case "M": m = w("M", d, p); break; case "y": f = _("y"); break; case "@": f = (a = new Date(_("@"))).getFullYear(), m = a.getMonth() + 1, g = a.getDate(); break; case "!": f = (a = new Date((_("!") - this._ticksTo1970) / 1e4)).getFullYear(), m = a.getMonth() + 1, g = a.getDate(); break; case "'": y("'") ? x() : b = !0; break; default: x() } if (r < i.length && (o = i.substr(r), !/^\s+/.test(o))) throw "Extra/unparsed characters found in date: " + o; if (-1 === f ? f = (new Date).getFullYear() : f < 100 && (f += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (f <= h ? 0 : -100)), v > -1) for (m = 1, g = v;;) { if (g <= (s = this._getDaysInMonth(f, m - 1))) break; m++, g -= s } if ((a = this._daylightSavingAdjust(new Date(f, m - 1, g))).getFullYear() !== f || a.getMonth() + 1 !== m || a.getDate() !== g) throw "Invalid date"; return a }, ATOM: "yy-mm-dd", COOKIE: "D, dd M yy", ISO_8601: "yy-mm-dd", RFC_822: "D, d M y", RFC_850: "DD, dd-M-y", RFC_1036: "D, d M y", RFC_1123: "D, d M yy", RFC_2822: "D, d M yy", RSS: "D, d M y", TICKS: "!", TIMESTAMP: "@", W3C: "yy-mm-dd", _ticksTo1970: 864e9 * (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)), formatDate: function(t, e, i) { if (!e) return ""; var n, s = (i ? i.dayNamesShort : null) || this._defaults.dayNamesShort, o = (i ? i.dayNames : null) || this._defaults.dayNames, a = (i ? i.monthNamesShort : null) || this._defaults.monthNamesShort, r = (i ? i.monthNames : null) || this._defaults.monthNames, l = function(e) { var i = n + 1 < t.length && t.charAt(n + 1) === e; return i && n++, i }, h = function(t, e, i) { var n = "" + e; if (l(t)) for (; n.length < i;) n = "0" + n; return n }, c = function(t, e, i, n) { return l(t) ? n[e] : i[e] }, u = "", d = !1; if (e) for (n = 0; n < t.length; n++) if (d) "'" !== t.charAt(n) || l("'") ? u += t.charAt(n) : d = !1; else switch (t.charAt(n)) { case "d": u += h("d", e.getDate(), 2); break; case "D": u += c("D", e.getDay(), s, o); break; case "o": u += h("o", Math.round((new Date(e.getFullYear(), e.getMonth(), e.getDate()).getTime() - new Date(e.getFullYear(), 0, 0).getTime()) / 864e5), 3); break; case "m": u += h("m", e.getMonth() + 1, 2); break; case "M": u += c("M", e.getMonth(), a, r); break; case "y": u += l("y") ? e.getFullYear() : (e.getFullYear() % 100 < 10 ? "0" : "") + e.getFullYear() % 100; break; case "@": u += e.getTime(); break; case "!": u += 1e4 * e.getTime() + this._ticksTo1970; break; case "'": l("'") ? u += "'" : d = !0; break; default: u += t.charAt(n) } return u }, _possibleChars: function(t) { for (var e = "", i = !1, n = function(e) { var i = s + 1 < t.length && t.charAt(s + 1) === e; return i && s++, i }, s = 0; s < t.length; s++) if (i) "'" !== t.charAt(s) || n("'") ? e += t.charAt(s) : i = !1; else switch (t.charAt(s)) { case "d": case "m": case "y": case "@": e += "0123456789"; break; case "D": case "M": return null; case "'": n("'") ? e += "'" : i = !0; break; default: e += t.charAt(s) } return e }, _get: function(t, e) { return void 0 !== t.settings[e] ? t.settings[e] : this._defaults[e] }, _setDateFromField: function(t, e) { if (t.input.val() !== t.lastVal) { var i = this._get(t, "dateFormat"), n = t.lastVal = t.input ? t.input.val() : null, s = this._getDefaultDate(t), o = s, a = this._getFormatConfig(t); try { o = this.parseDate(i, n, a) || s } catch (t) { n = e ? "" : n } t.selectedDay = o.getDate(), t.drawMonth = t.selectedMonth = o.getMonth(), t.drawYear = t.selectedYear = o.getFullYear(), t.currentDay = n ? o.getDate() : 0, t.currentMonth = n ? o.getMonth() : 0, t.currentYear = n ? o.getFullYear() : 0, this._adjustInstDate(t) } }, _getDefaultDate: function(t) { return this._restrictMinMax(t, this._determineDate(t, this._get(t, "defaultDate"), new Date)) }, _determineDate: function(e, i, n) { var s = null == i || "" === i ? n : "string" == typeof i ? function(i) { try { return t.datepicker.parseDate(t.datepicker._get(e, "dateFormat"), i, t.datepicker._getFormatConfig(e)) } catch (t) {} for (var n = (i.toLowerCase().match(/^c/) ? t.datepicker._getDate(e) : null) || new Date, s = n.getFullYear(), o = n.getMonth(), a = n.getDate(), r = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, l = r.exec(i); l;) { switch (l[2] || "d") { case "d": case "D": a += parseInt(l[1], 10); break; case "w": case "W": a += 7 * parseInt(l[1], 10); break; case "m": case "M": o += parseInt(l[1], 10), a = Math.min(a, t.datepicker._getDaysInMonth(s, o)); break; case "y": case "Y": s += parseInt(l[1], 10), a = Math.min(a, t.datepicker._getDaysInMonth(s, o)) } l = r.exec(i) } return new Date(s, o, a) }(i) : "number" == typeof i ? isNaN(i) ? n : function(t) { var e = new Date; return e.setDate(e.getDate() + t), e }(i) : new Date(i.getTime()); return (s = s && "Invalid Date" === s.toString() ? n : s) && (s.setHours(0), s.setMinutes(0), s.setSeconds(0), s.setMilliseconds(0)), this._daylightSavingAdjust(s) }, _daylightSavingAdjust: function(t) { return t ? (t.setHours(t.getHours() > 12 ? t.getHours() + 2 : 0), t) : null }, _setDate: function(t, e, i) { var n = !e, s = t.selectedMonth, o = t.selectedYear, a = this._restrictMinMax(t, this._determineDate(t, e, new Date)); t.selectedDay = t.currentDay = a.getDate(), t.drawMonth = t.selectedMonth = t.currentMonth = a.getMonth(), t.drawYear = t.selectedYear = t.currentYear = a.getFullYear(), s === t.selectedMonth && o === t.selectedYear || i || this._notifyChange(t), this._adjustInstDate(t), t.input && t.input.val(n ? "" : this._formatDate(t)) }, _getDate: function(t) { return !t.currentYear || t.input && "" === t.input.val() ? null : this._daylightSavingAdjust(new Date(t.currentYear, t.currentMonth, t.currentDay)) }, _attachHandlers: function(e) { var i = this._get(e, "stepMonths"), n = "#" + e.id.replace(/\\\\/g, "\\"); e.dpDiv.find("[data-handler]").map((function() { var e = { prev: function() { t.datepicker._adjustDate(n, -i, "M") }, next: function() { t.datepicker._adjustDate(n, +i, "M") }, hide: function() { t.datepicker._hideDatepicker() }, today: function() { t.datepicker._gotoToday(n) }, selectDay: function() { return t.datepicker._selectDay(n, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this), !1 }, selectMonth: function() { return t.datepicker._selectMonthYear(n, this, "M"), !1 }, selectYear: function() { return t.datepicker._selectMonthYear(n, this, "Y"), !1 } }; t(this).on(this.getAttribute("data-event"), e[this.getAttribute("data-handler")]) })) }, _generateHTML: function(t) { var e, i, n, s, o, a, r, l, h, c, u, d, p, f, m, g, v, b, y, _, w, x, C, k, T, D, I, S, P, E, A, M, N, O, $, H, z, W, F, L = new Date, R = this._daylightSavingAdjust(new Date(L.getFullYear(), L.getMonth(), L.getDate())), j = this._get(t, "isRTL"), B = this._get(t, "showButtonPanel"), q = this._get(t, "hideIfNoPrevNext"), Y = this._get(t, "navigationAsDateFormat"), U = this._getNumberOfMonths(t), V = this._get(t, "showCurrentAtPos"), K = this._get(t, "stepMonths"), X = 1 !== U[0] || 1 !== U[1], G = this._daylightSavingAdjust(t.currentDay ? new Date(t.currentYear, t.currentMonth, t.currentDay) : new Date(9999, 9, 9)), Q = this._getMinMaxDate(t, "min"), Z = this._getMinMaxDate(t, "max"), J = t.drawMonth - V, tt = t.drawYear; if (J < 0 && (J += 12, tt--), Z) for (e = this._daylightSavingAdjust(new Date(Z.getFullYear(), Z.getMonth() - U[0] * U[1] + 1, Z.getDate())), e = Q && e < Q ? Q : e; this._daylightSavingAdjust(new Date(tt, J, 1)) > e;) --J < 0 && (J = 11, tt--); for (t.drawMonth = J, t.drawYear = tt, i = this._get(t, "prevText"), i = Y ? this.formatDate(i, this._daylightSavingAdjust(new Date(tt, J - K, 1)), this._getFormatConfig(t)) : i, n = this._canAdjustMonth(t, -1, tt, J) ? "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='" + i + "'><span class='ui-icon ui-icon-circle-triangle-" + (j ? "e" : "w") + "'>" + i + "</span></a>" : q ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='" + i + "'><span class='ui-icon ui-icon-circle-triangle-" + (j ? "e" : "w") + "'>" + i + "</span></a>", s = this._get(t, "nextText"), s = Y ? this.formatDate(s, this._daylightSavingAdjust(new Date(tt, J + K, 1)), this._getFormatConfig(t)) : s, o = this._canAdjustMonth(t, 1, tt, J) ? "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='" + s + "'><span class='ui-icon ui-icon-circle-triangle-" + (j ? "w" : "e") + "'>" + s + "</span></a>" : q ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='" + s + "'><span class='ui-icon ui-icon-circle-triangle-" + (j ? "w" : "e") + "'>" + s + "</span></a>", a = this._get(t, "currentText"), r = this._get(t, "gotoCurrent") && t.currentDay ? G : R, a = Y ? this.formatDate(a, r, this._getFormatConfig(t)) : a, l = t.inline ? "" : "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" + this._get(t, "closeText") + "</button>", h = B ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (j ? l : "") + (this._isInRange(t, r) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>" + a + "</button>" : "") + (j ? "" : l) + "</div>" : "", c = parseInt(this._get(t, "firstDay"), 10), c = isNaN(c) ? 0 : c, u = this._get(t, "showWeek"), d = this._get(t, "dayNames"), p = this._get(t, "dayNamesMin"), f = this._get(t, "monthNames"), m = this._get(t, "monthNamesShort"), g = this._get(t, "beforeShowDay"), v = this._get(t, "showOtherMonths"), b = this._get(t, "selectOtherMonths"), y = this._getDefaultDate(t), _ = "", x = 0; x < U[0]; x++) { for (C = "", this.maxRows = 4, k = 0; k < U[1]; k++) { if (T = this._daylightSavingAdjust(new Date(tt, J, t.selectedDay)), D = " ui-corner-all", I = "", X) { if (I += "<div class='ui-datepicker-group", U[1] > 1) switch (k) { case 0: I += " ui-datepicker-group-first", D = " ui-corner-" + (j ? "right" : "left"); break; case U[1] - 1: I += " ui-datepicker-group-last", D = " ui-corner-" + (j ? "left" : "right"); break; default: I += " ui-datepicker-group-middle", D = "" } I += "'>" } for (I += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + D + "'>" + (/all|left/.test(D) && 0 === x ? j ? o : n : "") + (/all|right/.test(D) && 0 === x ? j ? n : o : "") + this._generateMonthYearHeader(t, J, tt, Q, Z, x > 0 || k > 0, f, m) + "</div><table class='ui-datepicker-calendar'><thead><tr>", S = u ? "<th class='ui-datepicker-week-col'>" + this._get(t, "weekHeader") + "</th>" : "", w = 0; w < 7; w++) S += "<th scope='col'" + ((w + c + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + "><span title='" + d[P = (w + c) % 7] + "'>" + p[P] + "</span></th>"; for (I += S + "</tr></thead><tbody>", E = this._getDaysInMonth(tt, J), tt === t.selectedYear && J === t.selectedMonth && (t.selectedDay = Math.min(t.selectedDay, E)), A = (this._getFirstDayOfMonth(tt, J) - c + 7) % 7, M = Math.ceil((A + E) / 7), N = X && this.maxRows > M ? this.maxRows : M, this.maxRows = N, O = this._daylightSavingAdjust(new Date(tt, J, 1 - A)), $ = 0; $ < N; $++) { for (I += "<tr>", H = u ? "<td class='ui-datepicker-week-col'>" + this._get(t, "calculateWeek")(O) + "</td>" : "", w = 0; w < 7; w++) z = g ? g.apply(t.input ? t.input[0] : null, [O]) : [!0, ""], F = (W = O.getMonth() !== J) && !b || !z[0] || Q && O < Q || Z && O > Z, H += "<td class='" + ((w + c + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (W ? " ui-datepicker-other-month" : "") + (O.getTime() === T.getTime() && J === t.selectedMonth && t._keyEvent || y.getTime() === O.getTime() && y.getTime() === T.getTime() ? " " + this._dayOverClass : "") + (F ? " " + this._unselectableClass + " ui-state-disabled" : "") + (W && !v ? "" : " " + z[1] + (O.getTime() === G.getTime() ? " " + this._currentClass : "") + (O.getTime() === R.getTime() ? " ui-datepicker-today" : "")) + "'" + (W && !v || !z[2] ? "" : " title='" + z[2].replace(/'/g, "'") + "'") + (F ? "" : " data-handler='selectDay' data-event='click' data-month='" + O.getMonth() + "' data-year='" + O.getFullYear() + "'") + ">" + (W && !v ? " " : F ? "<span class='ui-state-default'>" + O.getDate() + "</span>" : "<a class='ui-state-default" + (O.getTime() === R.getTime() ? " ui-state-highlight" : "") + (O.getTime() === G.getTime() ? " ui-state-active" : "") + (W ? " ui-priority-secondary" : "") + "' href='#'>" + O.getDate() + "</a>") + "</td>", O.setDate(O.getDate() + 1), O = this._daylightSavingAdjust(O); I += H + "</tr>" }++J > 11 && (J = 0, tt++), C += I += "</tbody></table>" + (X ? "</div>" + (U[0] > 0 && k === U[1] - 1 ? "<div class='ui-datepicker-row-break'></div>" : "") : "") } _ += C } return _ += h, t._keyEvent = !1, _ }, _generateMonthYearHeader: function(t, e, i, n, s, o, a, r) { var l, h, c, u, d, p, f, m, g = this._get(t, "changeMonth"), v = this._get(t, "changeYear"), b = this._get(t, "showMonthAfterYear"), y = "<div class='ui-datepicker-title'>", _ = ""; if (o || !g) _ += "<span class='ui-datepicker-month'>" + a[e] + "</span>"; else { for (l = n && n.getFullYear() === i, h = s && s.getFullYear() === i, _ += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>", c = 0; c < 12; c++)(!l || c >= n.getMonth()) && (!h || c <= s.getMonth()) && (_ += "<option value='" + c + "'" + (c === e ? " selected='selected'" : "") + ">" + r[c] + "</option>"); _ += "</select>" } if (b || (y += _ + (!o && g && v ? "" : " ")), !t.yearshtml) if (t.yearshtml = "", o || !v) y += "<span class='ui-datepicker-year'>" + i + "</span>"; else { for (u = this._get(t, "yearRange").split(":"), d = (new Date).getFullYear(), p = function(t) { var e = t.match(/c[+\-].*/) ? i + parseInt(t.substring(1), 10) : t.match(/[+\-].*/) ? d + parseInt(t, 10) : parseInt(t, 10); return isNaN(e) ? d : e }, f = p(u[0]), m = Math.max(f, p(u[1] || "")), f = n ? Math.max(f, n.getFullYear()) : f, m = s ? Math.min(m, s.getFullYear()) : m, t.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; f <= m; f++) t.yearshtml += "<option value='" + f + "'" + (f === i ? " selected='selected'" : "") + ">" + f + "</option>"; t.yearshtml += "</select>", y += t.yearshtml, t.yearshtml = null } return y += this._get(t, "yearSuffix"), b && (y += (!o && g && v ? "" : " ") + _), y + "</div>" }, _adjustInstDate: function(t, e, i) { var n = t.selectedYear + ("Y" === i ? e : 0), s = t.selectedMonth + ("M" === i ? e : 0), o = Math.min(t.selectedDay, this._getDaysInMonth(n, s)) + ("D" === i ? e : 0), a = this._restrictMinMax(t, this._daylightSavingAdjust(new Date(n, s, o))); t.selectedDay = a.getDate(), t.drawMonth = t.selectedMonth = a.getMonth(), t.drawYear = t.selectedYear = a.getFullYear(), ("M" === i || "Y" === i) && this._notifyChange(t) }, _restrictMinMax: function(t, e) { var i = this._getMinMaxDate(t, "min"), n = this._getMinMaxDate(t, "max"), s = i && e < i ? i : e; return n && s > n ? n : s }, _notifyChange: function(t) { var e = this._get(t, "onChangeMonthYear"); e && e.apply(t.input ? t.input[0] : null, [t.selectedYear, t.selectedMonth + 1, t]) }, _getNumberOfMonths: function(t) { var e = this._get(t, "numberOfMonths"); return null == e ? [1, 1] : "number" == typeof e ? [1, e] : e }, _getMinMaxDate: function(t, e) { return this._determineDate(t, this._get(t, e + "Date"), null) }, _getDaysInMonth: function(t, e) { return 32 - this._daylightSavingAdjust(new Date(t, e, 32)).getDate() }, _getFirstDayOfMonth: function(t, e) { return new Date(t, e, 1).getDay() }, _canAdjustMonth: function(t, e, i, n) { var s = this._getNumberOfMonths(t), o = this._daylightSavingAdjust(new Date(i, n + (e < 0 ? e : s[0] * s[1]), 1)); return e < 0 && o.setDate(this._getDaysInMonth(o.getFullYear(), o.getMonth())), this._isInRange(t, o) }, _isInRange: function(t, e) { var i, n, s = this._getMinMaxDate(t, "min"), o = this._getMinMaxDate(t, "max"), a = null, r = null, l = this._get(t, "yearRange"); return l && (i = l.split(":"), n = (new Date).getFullYear(), a = parseInt(i[0], 10), r = parseInt(i[1], 10), i[0].match(/[+\-].*/) && (a += n), i[1].match(/[+\-].*/) && (r += n)), (!s || e.getTime() >= s.getTime()) && (!o || e.getTime() <= o.getTime()) && (!a || e.getFullYear() >= a) && (!r || e.getFullYear() <= r) }, _getFormatConfig: function(t) { var e = this._get(t, "shortYearCutoff"); return { shortYearCutoff: e = "string" != typeof e ? e : (new Date).getFullYear() % 100 + parseInt(e, 10), dayNamesShort: this._get(t, "dayNamesShort"), dayNames: this._get(t, "dayNames"), monthNamesShort: this._get(t, "monthNamesShort"), monthNames: this._get(t, "monthNames") } }, _formatDate: function(t, e, i, n) { e || (t.currentDay = t.selectedDay, t.currentMonth = t.selectedMonth, t.currentYear = t.selectedYear); var s = e ? "object" == typeof e ? e : this._daylightSavingAdjust(new Date(n, i, e)) : this._daylightSavingAdjust(new Date(t.currentYear, t.currentMonth, t.currentDay)); return this.formatDate(this._get(t, "dateFormat"), s, this._getFormatConfig(t)) } }), t.fn.datepicker = function(e) { if (!this.length) return this; t.datepicker.initialized || (t(document).on("mousedown", t.datepicker._checkExternalClick), t.datepicker.initialized = !0), 0 === t("#" + t.datepicker._mainDivId).length && t("body").append(t.datepicker.dpDiv); var i = Array.prototype.slice.call(arguments, 1); return "string" != typeof e || "isDisabled" !== e && "getDate" !== e && "widget" !== e ? "option" === e && 2 === arguments.length && "string" == typeof arguments[1] ? t.datepicker["_" + e + "Datepicker"].apply(t.datepicker, [this[0]].concat(i)) : this.each((function() { "string" == typeof e ? t.datepicker["_" + e + "Datepicker"].apply(t.datepicker, [this].concat(i)) : t.datepicker._attachDatepicker(this, e) })) : t.datepicker["_" + e + "Datepicker"].apply(t.datepicker, [this[0]].concat(i)) }, t.datepicker = new e, t.datepicker.initialized = !1, t.datepicker.uuid = (new Date).getTime(), t.datepicker.version = "1.12.1"; t.datepicker, t.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()); var g = !1; t(document).on("mouseup", (function() { g = !1 })); t.widget("ui.mouse", { version: "1.12.1", options: { cancel: "input, textarea, button, select, option", distance: 1, delay: 0 }, _mouseInit: function() { var e = this; this.element.on("mousedown." + this.widgetName, (function(t) { return e._mouseDown(t) })).on("click." + this.widgetName, (function(i) { if (!0 === t.data(i.target, e.widgetName + ".preventClickEvent")) return t.removeData(i.target, e.widgetName + ".preventClickEvent"), i.stopImmediatePropagation(), !1 })), this.started = !1 }, _mouseDestroy: function() { this.element.off("." + this.widgetName), this._mouseMoveDelegate && this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate) }, _mouseDown: function(e) { if (!g) { this._mouseMoved = !1, this._mouseStarted && this._mouseUp(e), this._mouseDownEvent = e; var i = this, n = 1 === e.which, s = !("string" != typeof this.options.cancel || !e.target.nodeName) && t(e.target).closest(this.options.cancel).length; return !(n && !s && this._mouseCapture(e)) || (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout((function() { i.mouseDelayMet = !0 }), this.options.delay)), this._mouseDistanceMet(e) && this._mouseDelayMet(e) && (this._mouseStarted = !1 !== this._mouseStart(e), !this._mouseStarted) ? (e.preventDefault(), !0) : (!0 === t.data(e.target, this.widgetName + ".preventClickEvent") && t.removeData(e.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function(t) { return i._mouseMove(t) }, this._mouseUpDelegate = function(t) { return i._mouseUp(t) }, this.document.on("mousemove." + this.widgetName, this._mouseMoveDelegate).on("mouseup." + this.widgetName, this._mouseUpDelegate), e.preventDefault(), g = !0, !0)) } }, _mouseMove: function(e) { if (this._mouseMoved) { if (t.ui.ie && (!document.documentMode || document.documentMode < 9) && !e.button) return this._mouseUp(e); if (!e.which) if (e.originalEvent.altKey || e.originalEvent.ctrlKey || e.originalEvent.metaKey || e.originalEvent.shiftKey) this.ignoreMissingWhich = !0; else if (!this.ignoreMissingWhich) return this._mouseUp(e) } return (e.which || e.button) && (this._mouseMoved = !0), this._mouseStarted ? (this._mouseDrag(e), e.preventDefault()) : (this._mouseDistanceMet(e) && this._mouseDelayMet(e) && (this._mouseStarted = !1 !== this._mouseStart(this._mouseDownEvent, e), this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e)), !this._mouseStarted) }, _mouseUp: function(e) { this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, e.target === this._mouseDownEvent.target && t.data(e.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(e)), this._mouseDelayTimer && (clearTimeout(this._mouseDelayTimer), delete this._mouseDelayTimer), this.ignoreMissingWhich = !1, g = !1, e.preventDefault() }, _mouseDistanceMet: function(t) { return Math.max(Math.abs(this._mouseDownEvent.pageX - t.pageX), Math.abs(this._mouseDownEvent.pageY - t.pageY)) >= this.options.distance }, _mouseDelayMet: function() { return this.mouseDelayMet }, _mouseStart: function() {}, _mouseDrag: function() {}, _mouseStop: function() {}, _mouseCapture: function() { return !0 } }), t.ui.plugin = { add: function(e, i, n) { var s, o = t.ui[e].prototype; for (s in n) o.plugins[s] = o.plugins[s] || [], o.plugins[s].push([i, n[s]]) }, call: function(t, e, i, n) { var s, o = t.plugins[e]; if (o && (n || t.element[0].parentNode && 11 !== t.element[0].parentNode.nodeType)) for (s = 0; s < o.length; s++) t.options[o[s][0]] && o[s][1].apply(t.element, i) } }, t.ui.safeBlur = function(e) { e && "body" !== e.nodeName.toLowerCase() && t(e).trigger("blur") }; t.widget("ui.draggable", t.ui.mouse, { version: "1.12.1", widgetEventPrefix: "drag", options: { addClasses: !0, appendTo: "parent", axis: !1, connectToSortable: !1, containment: !1, cursor: "auto", cursorAt: !1, grid: !1, handle: !1, helper: "original", iframeFix: !1, opacity: !1, refreshPositions: !1, revert: !1, revertDuration: 500, scope: "default", scroll: !0, scrollSensitivity: 20, scrollSpeed: 20, snap: !1, snapMode: "both", snapTolerance: 20, stack: !1, zIndex: !1, drag: null, start: null, stop: null }, _create: function() { "original" === this.options.helper && this._setPositionRelative(), this.options.addClasses && this._addClass("ui-draggable"), this._setHandleClassName(), this._mouseInit() }, _setOption: function(t, e) { this._super(t, e), "handle" === t && (this._removeHandleClassName(), this._setHandleClassName()) }, _destroy: function() { (this.helper || this.element).is(".ui-draggable-dragging") ? this.destroyOnClear = !0 : (this._removeHandleClassName(), this._mouseDestroy()) }, _mouseCapture: function(e) { var i = this.options; return !(this.helper || i.disabled || t(e.target).closest(".ui-resizable-handle").length > 0) && (this.handle = this._getHandle(e), !!this.handle && (this._blurActiveElement(e), this._blockFrames(!0 === i.iframeFix ? "iframe" : i.iframeFix), !0)) }, _blockFrames: function(e) { this.iframeBlocks = this.document.find(e).map((function() { var e = t(this); return t("<div>").css("position", "absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0] })) }, _unblockFrames: function() { this.iframeBlocks && (this.iframeBlocks.remove(), delete this.iframeBlocks) }, _blurActiveElement: function(e) { var i = t.ui.safeActiveElement(this.document[0]); t(e.target).closest(i).length || t.ui.safeBlur(i) }, _mouseStart: function(e) { var i = this.options; return this.helper = this._createHelper(e), this._addClass(this.helper, "ui-draggable-dragging"), this._cacheHelperProportions(), t.ui.ddmanager && (t.ui.ddmanager.current = this), this._cacheMargins(), this.cssPosition = this.helper.css("position"), this.scrollParent = this.helper.scrollParent(!0), this.offsetParent = this.helper.offsetParent(), this.hasFixedAncestor = this.helper.parents().filter((function() { return "fixed" === t(this).css("position") })).length > 0, this.positionAbs = this.element.offset(), this._refreshOffsets(e), this.originalPosition = this.position = this._generatePosition(e, !1), this.originalPageX = e.pageX, this.originalPageY = e.pageY, i.cursorAt && this._adjustOffsetFromHelper(i.cursorAt), this._setContainment(), !1 === this._trigger("start", e) ? (this._clear(), !1) : (this._cacheHelperProportions(), t.ui.ddmanager && !i.dropBehaviour && t.ui.ddmanager.prepareOffsets(this, e), this._mouseDrag(e, !0), t.ui.ddmanager && t.ui.ddmanager.dragStart(this, e), !0) }, _refreshOffsets: function(t) { this.offset = { top: this.positionAbs.top - this.margins.top, left: this.positionAbs.left - this.margins.left, scroll: !1, parent: this._getParentOffset(), relative: this._getRelativeOffset() }, this.offset.click = { left: t.pageX - this.offset.left, top: t.pageY - this.offset.top } }, _mouseDrag: function(e, i) { if (this.hasFixedAncestor && (this.offset.parent = this._getParentOffset()), this.position = this._generatePosition(e, !0), this.positionAbs = this._convertPositionTo("absolute"), !i) { var n = this._uiHash(); if (!1 === this._trigger("drag", e, n)) return this._mouseUp(new t.Event("mouseup", e)), !1; this.position = n.position } return this.helper[0].style.left = this.position.left + "px", this.helper[0].style.top = this.position.top + "px", t.ui.ddmanager && t.ui.ddmanager.drag(this, e), !1 }, _setContainment: function() { var e, i, n, s = this.options, o = this.document[0]; this.relativeContainer = null, s.containment ? "window" !== s.containment ? "document" !== s.containment ? s.containment.constructor !== Array ? ("parent" === s.containment && (s.containment = this.helper[0].parentNode), (n = (i = t(s.containment))[0]) && (e = /(scroll|auto)/.test(i.css("overflow")), this.containment = [(parseInt(i.css("borderLeftWidth"), 10) || 0) + (parseInt(i.css("paddingLeft"), 10) || 0), (parseInt(i.css("borderTopWidth"), 10) || 0) + (parseInt(i.css("paddingTop"), 10) || 0), (e ? Math.max(n.scrollWidth, n.offsetWidth) : n.offsetWidth) - (parseInt(i.css("borderRightWidth"), 10) || 0) - (parseInt(i.css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (e ? Math.max(n.scrollHeight, n.offsetHeight) : n.offsetHeight) - (parseInt(i.css("borderBottomWidth"), 10) || 0) - (parseInt(i.css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom], this.relativeContainer = i)) : this.containment = s.containment : this.containment = [0, 0, t(o).width() - this.helperProportions.width - this.margins.left, (t(o).height() || o.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top] : this.containment = [t(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, t(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, t(window).scrollLeft() + t(window).width() - this.helperProportions.width - this.margins.left, t(window).scrollTop() + (t(window).height() || o.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top] : this.containment = null }, _convertPositionTo: function(t, e) { e || (e = this.position); var i = "absolute" === t ? 1 : -1, n = this._isRootNode(this.scrollParent[0]); return { top: e.top + this.offset.relative.top * i + this.offset.parent.top * i - ("fixed" === this.cssPosition ? -this.offset.scroll.top : n ? 0 : this.offset.scroll.top) * i, left: e.left + this.offset.relative.left * i + this.offset.parent.left * i - ("fixed" === this.cssPosition ? -this.offset.scroll.left : n ? 0 : this.offset.scroll.left) * i } }, _generatePosition: function(t, e) { var i, n, s, o, a = this.options, r = this._isRootNode(this.scrollParent[0]), l = t.pageX, h = t.pageY; return r && this.offset.scroll || (this.offset.scroll = { top: this.scrollParent.scrollTop(), left: this.scrollParent.scrollLeft() }), e && (this.containment && (this.relativeContainer ? (n = this.relativeContainer.offset(), i = [this.containment[0] + n.left, this.containment[1] + n.top, this.containment[2] + n.left, this.containment[3] + n.top]) : i = this.containment, t.pageX - this.offset.click.left < i[0] && (l = i[0] + this.offset.click.left), t.pageY - this.offset.click.top < i[1] && (h = i[1] + this.offset.click.top), t.pageX - this.offset.click.left > i[2] && (l = i[2] + this.offset.click.left), t.pageY - this.offset.click.top > i[3] && (h = i[3] + this.offset.click.top)), a.grid && (s = a.grid[1] ? this.originalPageY + Math.round((h - this.originalPageY) / a.grid[1]) * a.grid[1] : this.originalPageY, h = i ? s - this.offset.click.top >= i[1] || s - this.offset.click.top > i[3] ? s : s - this.offset.click.top >= i[1] ? s - a.grid[1] : s + a.grid[1] : s, o = a.grid[0] ? this.originalPageX + Math.round((l - this.originalPageX) / a.grid[0]) * a.grid[0] : this.originalPageX, l = i ? o - this.offset.click.left >= i[0] || o - this.offset.click.left > i[2] ? o : o - this.offset.click.left >= i[0] ? o - a.grid[0] : o + a.grid[0] : o), "y" === a.axis && (l = this.originalPageX), "x" === a.axis && (h = this.originalPageY)), { top: h - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" === this.cssPosition ? -this.offset.scroll.top : r ? 0 : this.offset.scroll.top), left: l - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" === this.cssPosition ? -this.offset.scroll.left : r ? 0 : this.offset.scroll.left) } }, _clear: function() { this._removeClass(this.helper, "ui-draggable-dragging"), this.helper[0] === this.element[0] || this.cancelHelperRemoval || this.helper.remove(), this.helper = null, this.cancelHelperRemoval = !1, this.destroyOnClear && this.destroy() }, _trigger: function(e, i, n) { return n = n || this._uiHash(), t.ui.plugin.call(this, e, [i, n, this], !0), /^(drag|start|stop)/.test(e) && (this.positionAbs = this._convertPositionTo("absolute"), n.offset = this.positionAbs), t.Widget.prototype._trigger.call(this, e, i, n) }, plugins: {}, _uiHash: function() { return { helper: this.helper, position: this.position, originalPosition: this.originalPosition, offset: this.positionAbs } } }), t.ui.plugin.add("draggable", "connectToSortable", { start: function(e, i, n) { var s = t.extend({}, i, { item: n.element }); n.sortables = [], t(n.options.connectToSortable).each((function() { var i = t(this).sortable("instance"); i && !i.options.disabled && (n.sortables.push(i), i.refreshPositions(), i._trigger("activate", e, s)) })) }, stop: function(e, i, n) { var s = t.extend({}, i, { item: n.element }); n.cancelHelperRemoval = !1, t.each(n.sortables, (function() { var t = this; t.isOver ? (t.isOver = 0, n.cancelHelperRemoval = !0, t.cancelHelperRemoval = !1, t._storedCSS = { position: t.placeholder.css("position"), top: t.placeholder.css("top"), left: t.placeholder.css("left") }, t._mouseStop(e), t.options.helper = t.options._helper) : (t.cancelHelperRemoval = !0, t._trigger("deactivate", e, s)) })) }, drag: function(e, i, n) { t.each(n.sortables, (function() { var s = !1, o = this; o.positionAbs = n.positionAbs, o.helperProportions = n.helperProportions, o.offset.click = n.offset.click, o._intersectsWith(o.containerCache) && (s = !0, t.each(n.sortables, (function() { return this.positionAbs = n.positionAbs, this.helperProportions = n.helperProportions, this.offset.click = n.offset.click, this !== o && this._intersectsWith(this.containerCache) && t.contains(o.element[0], this.element[0]) && (s = !1), s }))), s ? (o.isOver || (o.isOver = 1, n._parent = i.helper.parent(), o.currentItem = i.helper.appendTo(o.element).data("ui-sortable-item", !0), o.options._helper = o.options.helper, o.options.helper = function() { return i.helper[0] }, e.target = o.currentItem[0], o._mouseCapture(e, !0), o._mouseStart(e, !0, !0), o.offset.click.top = n.offset.click.top, o.offset.click.left = n.offset.click.left, o.offset.parent.left -= n.offset.parent.left - o.offset.parent.left, o.offset.parent.top -= n.offset.parent.top - o.offset.parent.top, n._trigger("toSortable", e), n.dropped = o.element, t.each(n.sortables, (function() { this.refreshPositions() })), n.currentItem = n.element, o.fromOutside = n), o.currentItem && (o._mouseDrag(e), i.position = o.position)) : o.isOver && (o.isOver = 0, o.cancelHelperRemoval = !0, o.options._revert = o.options.revert, o.options.revert = !1, o._trigger("out", e, o._uiHash(o)), o._mouseStop(e, !0), o.options.revert = o.options._revert, o.options.helper = o.options._helper, o.placeholder && o.placeholder.remove(), i.helper.appendTo(n._parent), n._refreshOffsets(e), i.position = n._generatePosition(e, !0), n._trigger("fromSortable", e), n.dropped = !1, t.each(n.sortables, (function() { this.refreshPositions() }))) })) } }), t.ui.plugin.add("draggable", "cursor", { start: function(e, i, n) { var s = t("body"), o = n.options; s.css("cursor") && (o._cursor = s.css("cursor")), s.css("cursor", o.cursor) }, stop: function(e, i, n) { var s = n.options; s._cursor && t("body").css("cursor", s._cursor) } }), t.ui.plugin.add("draggable", "opacity", { start: function(e, i, n) { var s = t(i.helper), o = n.options; s.css("opacity") && (o._opacity = s.css("opacity")), s.css("opacity", o.opacity) }, stop: function(e, i, n) { var s = n.options; s._opacity && t(i.helper).css("opacity", s._opacity) } }), t.ui.plugin.add("draggable", "scroll", { start: function(t, e, i) { i.scrollParentNotHidden || (i.scrollParentNotHidden = i.helper.scrollParent(!1)), i.scrollParentNotHidden[0] !== i.document[0] && "HTML" !== i.scrollParentNotHidden[0].tagName && (i.overflowOffset = i.scrollParentNotHidden.offset()) }, drag: function(e, i, n) { var s = n.options, o = !1, a = n.scrollParentNotHidden[0], r = n.document[0]; a !== r && "HTML" !== a.tagName ? (s.axis && "x" === s.axis || (n.overflowOffset.top + a.offsetHeight - e.pageY < s.scrollSensitivity ? a.scrollTop = o = a.scrollTop + s.scrollSpeed : e.pageY - n.overflowOffset.top < s.scrollSensitivity && (a.scrollTop = o = a.scrollTop - s.scrollSpeed)), s.axis && "y" === s.axis || (n.overflowOffset.left + a.offsetWidth - e.pageX < s.scrollSensitivity ? a.scrollLeft = o = a.scrollLeft + s.scrollSpeed : e.pageX - n.overflowOffset.left < s.scrollSensitivity && (a.scrollLeft = o = a.scrollLeft - s.scrollSpeed))) : (s.axis && "x" === s.axis || (e.pageY - t(r).scrollTop() < s.scrollSensitivity ? o = t(r).scrollTop(t(r).scrollTop() - s.scrollSpeed) : t(window).height() - (e.pageY - t(r).scrollTop()) < s.scrollSensitivity && (o = t(r).scrollTop(t(r).scrollTop() + s.scrollSpeed))), s.axis && "y" === s.axis || (e.pageX - t(r).scrollLeft() < s.scrollSensitivity ? o = t(r).scrollLeft(t(r).scrollLeft() - s.scrollSpeed) : t(window).width() - (e.pageX - t(r).scrollLeft()) < s.scrollSensitivity && (o = t(r).scrollLeft(t(r).scrollLeft() + s.scrollSpeed)))), !1 !== o && t.ui.ddmanager && !s.dropBehaviour && t.ui.ddmanager.prepareOffsets(n, e) } }), t.ui.plugin.add("draggable", "snap", { start: function(e, i, n) { var s = n.options; n.snapElements = [], t(s.snap.constructor !== String ? s.snap.items || ":data(ui-draggable)" : s.snap).each((function() { var e = t(this), i = e.offset(); this !== n.element[0] && n.snapElements.push({ item: this, width: e.outerWidth(), height: e.outerHeight(), top: i.top, left: i.left }) })) }, drag: function(e, i, n) { for (var s, o, a, r, l, h, c, u, d, p = n.options, f = p.snapTolerance, m = i.offset.left, g = m + n.helperProportions.width, v = i.offset.top, b = v + n.helperProportions.height, y = n.snapElements.length - 1; y >= 0; y--) h = (l = n.snapElements[y].left - n.margins.left) + n.snapElements[y].width, u = (c = n.snapElements[y].top - n.margins.top) + n.snapElements[y].height, g < l - f || m > h + f || b < c - f || v > u + f || !t.contains(n.snapElements[y].item.ownerDocument, n.snapElements[y].item) ? (n.snapElements[y].snapping && n.options.snap.release && n.options.snap.release.call(n.element, e, t.extend(n._uiHash(), { snapItem: n.snapElements[y].item })), n.snapElements[y].snapping = !1) : ("inner" !== p.snapMode && (s = Math.abs(c - b) <= f, o = Math.abs(u - v) <= f, a = Math.abs(l - g) <= f, r = Math.abs(h - m) <= f, s && (i.position.top = n._convertPositionTo("relative", { top: c - n.helperProportions.height, left: 0 }).top), o && (i.position.top = n._convertPositionTo("relative", { top: u, left: 0 }).top), a && (i.position.left = n._convertPositionTo("relative", { top: 0, left: l - n.helperProportions.width }).left), r && (i.position.left = n._convertPositionTo("relative", { top: 0, left: h }).left)), d = s || o || a || r, "outer" !== p.snapMode && (s = Math.abs(c - v) <= f, o = Math.abs(u - b) <= f, a = Math.abs(l - m) <= f, r = Math.abs(h - g) <= f, s && (i.position.top = n._convertPositionTo("relative", { top: c, left: 0 }).top), o && (i.position.top = n._convertPositionTo("relative", { top: u - n.helperProportions.height, left: 0 }).top), a && (i.position.left = n._convertPositionTo("relative", { top: 0, left: l }).left), r && (i.position.left = n._convertPositionTo("relative", { top: 0, left: h - n.helperProportions.width }).left)), !n.snapElements[y].snapping && (s || o || a || r || d) && n.options.snap.snap && n.options.snap.snap.call(n.element, e, t.extend(n._uiHash(), { snapItem: n.snapElements[y].item })), n.snapElements[y].snapping = s || o || a || r || d) } }), t.ui.plugin.add("draggable", "stack", { start: function(e, i, n) { var s, o = n.options, a = t.makeArray(t(o.stack)).sort((function(e, i) { return (parseInt(t(e).css("zIndex"), 10) || 0) - (parseInt(t(i).css("zIndex"), 10) || 0) })); a.length && (s = parseInt(t(a[0]).css("zIndex"), 10) || 0, t(a).each((function(e) { t(this).css("zIndex", s + e) })), this.css("zIndex", s + a.length)) } }), t.ui.plugin.add("draggable", "zIndex", { start: function(e, i, n) { var s = t(i.helper), o = n.options; s.css("zIndex") && (o._zIndex = s.css("zIndex")), s.css("zIndex", o.zIndex) }, stop: function(e, i, n) { var s = n.options; s._zIndex && t(i.helper).css("zIndex", s._zIndex) } }), t.ui.draggable, t.widget("ui.resizable", t.ui.mouse, { version: "1.12.1", widgetEventPrefix: "resize", options: { alsoResize: !1, animate: !1, animateDuration: "slow", animateEasing: "swing", aspectRatio: !1, autoHide: !1, classes: { "ui-resizable-se": "ui-icon ui-icon-gripsmall-diagonal-se" }, containment: !1, ghost: !1, grid: !1, handles: "e,s,se", helper: !1, maxHeight: null, maxWidth: null, minHeight: 10, minWidth: 10, zIndex: 90, resize: null, start: null, stop: null }, _num: function(t) { return parseFloat(t) || 0 }, _isNumber: function(t) { return !isNaN(parseFloat(t)) }, _hasScroll: function(e, i) { if ("hidden" === t(e).css("overflow")) return !1; var n = i && "left" === i ? "scrollLeft" : "scrollTop", s = !1; return e[n] > 0 || (e[n] = 1, s = e[n] > 0, e[n] = 0, s) }, _create: function() { var e, i = this.options, n = this; this._addClass("ui-resizable"), t.extend(this, { _aspectRatio: !!i.aspectRatio, aspectRatio: i.aspectRatio, originalElement: this.element, _proportionallyResizeElements: [], _helper: i.helper || i.ghost || i.animate ? i.helper || "ui-resizable-helper" : null }), this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i) && (this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({ position: this.element.css("position"), width: this.element.outerWidth(), height: this.element.outerHeight(), top: this.element.css("top"), left: this.element.css("left") })), this.element = this.element.parent().data("ui-resizable", this.element.resizable("instance")), this.elementIsWrapper = !0, e = { marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom"), marginLeft: this.originalElement.css("marginLeft") }, this.element.css(e), this.originalElement.css("margin", 0), this.originalResizeStyle = this.originalElement.css("resize"), this.originalElement.css("resize", "none"), this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" })), this.originalElement.css(e), this._proportionallyResize()), this._setupHandles(), i.autoHide && t(this.element).on("mouseenter", (function() { i.disabled || (n._removeClass("ui-resizable-autohide"), n._handles.show()) })).on("mouseleave", (function() { i.disabled || n.resizing || (n._addClass("ui-resizable-autohide"), n._handles.hide()) })), this._mouseInit() }, _destroy: function() { this._mouseDestroy(); var e, i = function(e) { t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove() }; return this.elementIsWrapper && (i(this.element), e = this.element, this.originalElement.css({ position: e.css("position"), width: e.outerWidth(), height: e.outerHeight(), top: e.css("top"), left: e.css("left") }).insertAfter(e), e.remove()), this.originalElement.css("resize", this.originalResizeStyle), i(this.originalElement), this }, _setOption: function(t, e) { if (this._super(t, e), "handles" === t) this._removeHandles(), this._setupHandles() }, _setupHandles: function() { var e, i, n, s, o, a = this.options, r = this; if (this.handles = a.handles || (t(".ui-resizable-handle", this.element).length ? { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne", nw: ".ui-resizable-nw" } : "e,s,se"), this._handles = t(), this.handles.constructor === String) for ("all" === this.handles && (this.handles = "n,e,s,w,se,sw,ne,nw"), n = this.handles.split(","), this.handles = {}, i = 0; i < n.length; i++) s = "ui-resizable-" + (e = t.trim(n[i])), o = t("<div>"), this._addClass(o, "ui-resizable-handle " + s), o.css({ zIndex: a.zIndex }), this.handles[e] = ".ui-resizable-" + e, this.element.append(o); this._renderAxis = function(e) { var i, n, s, o; for (i in e = e || this.element, this.handles) this.handles[i].constructor === String ? this.handles[i] = this.element.children(this.handles[i]).first().show() : (this.handles[i].jquery || this.handles[i].nodeType) && (this.handles[i] = t(this.handles[i]), this._on(this.handles[i], { mousedown: r._mouseDown })), this.elementIsWrapper && this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i) && (n = t(this.handles[i], this.element), o = /sw|ne|nw|se|n|s/.test(i) ? n.outerHeight() : n.outerWidth(), s = ["padding", /ne|nw|n/.test(i) ? "Top" : /se|sw|s/.test(i) ? "Bottom" : /^e$/.test(i) ? "Right" : "Left"].join(""), e.css(s, o), this._proportionallyResize()), this._handles = this._handles.add(this.handles[i]) }, this._renderAxis(this.element), this._handles = this._handles.add(this.element.find(".ui-resizable-handle")), this._handles.disableSelection(), this._handles.on("mouseover", (function() { r.resizing || (this.className && (o = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)), r.axis = o && o[1] ? o[1] : "se") })), a.autoHide && (this._handles.hide(), this._addClass("ui-resizable-autohide")) }, _removeHandles: function() { this._handles.remove() }, _mouseCapture: function(e) { var i, n, s = !1; for (i in this.handles)((n = t(this.handles[i])[0]) === e.target || t.contains(n, e.target)) && (s = !0); return !this.options.disabled && s }, _mouseStart: function(e) { var i, n, s, o = this.options, a = this.element; return this.resizing = !0, this._renderProxy(), i = this._num(this.helper.css("left")), n = this._num(this.helper.css("top")), o.containment && (i += t(o.containment).scrollLeft() || 0, n += t(o.containment).scrollTop() || 0), this.offset = this.helper.offset(), this.position = { left: i, top: n }, this.size = this._helper ? { width: this.helper.width(), height: this.helper.height() } : { width: a.width(), height: a.height() }, this.originalSize = this._helper ? { width: a.outerWidth(), height: a.outerHeight() } : { width: a.width(), height: a.height() }, this.sizeDiff = { width: a.outerWidth() - a.width(), height: a.outerHeight() - a.height() }, this.originalPosition = { left: i, top: n }, this.originalMousePosition = { left: e.pageX, top: e.pageY }, this.aspectRatio = "number" == typeof o.aspectRatio ? o.aspectRatio : this.originalSize.width / this.originalSize.height || 1, s = t(".ui-resizable-" + this.axis).css("cursor"), t("body").css("cursor", "auto" === s ? this.axis + "-resize" : s), this._addClass("ui-resizable-resizing"), this._propagate("start", e), !0 }, _mouseDrag: function(e) { var i, n, s = this.originalMousePosition, o = this.axis, a = e.pageX - s.left || 0, r = e.pageY - s.top || 0, l = this._change[o]; return this._updatePrevProperties(), !!l && (i = l.apply(this, [e, a, r]), this._updateVirtualBoundaries(e.shiftKey), (this._aspectRatio || e.shiftKey) && (i = this._updateRatio(i, e)), i = this._respectSize(i, e), this._updateCache(i), this._propagate("resize", e), n = this._applyChanges(), !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(), t.isEmptyObject(n) || (this._updatePrevProperties(), this._trigger("resize", e, this.ui()), this._applyChanges()), !1) }, _mouseStop: function(e) { this.resizing = !1; var i, n, s, o, a, r, l, h = this.options, c = this; return this._helper && (s = (n = (i = this._proportionallyResizeElements).length && /textarea/i.test(i[0].nodeName)) && this._hasScroll(i[0], "left") ? 0 : c.sizeDiff.height, o = n ? 0 : c.sizeDiff.width, a = { width: c.helper.width() - o, height: c.helper.height() - s }, r = parseFloat(c.element.css("left")) + (c.position.left - c.originalPosition.left) || null, l = parseFloat(c.element.css("top")) + (c.position.top - c.originalPosition.top) || null, h.animate || this.element.css(t.extend(a, { top: l, left: r })), c.helper.height(c.size.height), c.helper.width(c.size.width), this._helper && !h.animate && this._proportionallyResize()), t("body").css("cursor", "auto"), this._removeClass("ui-resizable-resizing"), this._propagate("stop", e), this._helper && this.helper.remove(), !1 }, _updatePrevProperties: function() { this.prevPosition = { top: this.position.top, left: this.position.left }, this.prevSize = { width: this.size.width, height: this.size.height } }, _applyChanges: function() { var t = {}; return this.position.top !== this.prevPosition.top && (t.top = this.position.top + "px"), this.position.left !== this.prevPosition.left && (t.left = this.position.left + "px"), this.size.width !== this.prevSize.width && (t.width = this.size.width + "px"), this.size.height !== this.prevSize.height && (t.height = this.size.height + "px"), this.helper.css(t), t }, _updateVirtualBoundaries: function(t) { var e, i, n, s, o, a = this.options; o = { minWidth: this._isNumber(a.minWidth) ? a.minWidth : 0, maxWidth: this._isNumber(a.maxWidth) ? a.maxWidth : 1 / 0, minHeight: this._isNumber(a.minHeight) ? a.minHeight : 0, maxHeight: this._isNumber(a.maxHeight) ? a.maxHeight : 1 / 0 }, (this._aspectRatio || t) && (e = o.minHeight * this.aspectRatio, n = o.minWidth / this.aspectRatio, i = o.maxHeight * this.aspectRatio, s = o.maxWidth / this.aspectRatio, e > o.minWidth && (o.minWidth = e), n > o.minHeight && (o.minHeight = n), i < o.maxWidth && (o.maxWidth = i), s < o.maxHeight && (o.maxHeight = s)), this._vBoundaries = o }, _updateCache: function(t) { this.offset = this.helper.offset(), this._isNumber(t.left) && (this.position.left = t.left), this._isNumber(t.top) && (this.position.top = t.top), this._isNumber(t.height) && (this.size.height = t.height), this._isNumber(t.width) && (this.size.width = t.width) }, _updateRatio: function(t) { var e = this.position, i = this.size, n = this.axis; return this._isNumber(t.height) ? t.width = t.height * this.aspectRatio : this._isNumber(t.width) && (t.height = t.width / this.aspectRatio), "sw" === n && (t.left = e.left + (i.width - t.width), t.top = null), "nw" === n && (t.top = e.top + (i.height - t.height), t.left = e.left + (i.width - t.width)), t }, _respectSize: function(t) { var e = this._vBoundaries, i = this.axis, n = this._isNumber(t.width) && e.maxWidth && e.maxWidth < t.width, s = this._isNumber(t.height) && e.maxHeight && e.maxHeight < t.height, o = this._isNumber(t.width) && e.minWidth && e.minWidth > t.width, a = this._isNumber(t.height) && e.minHeight && e.minHeight > t.height, r = this.originalPosition.left + this.originalSize.width, l = this.originalPosition.top + this.originalSize.height, h = /sw|nw|w/.test(i), c = /nw|ne|n/.test(i); return o && (t.width = e.minWidth), a && (t.height = e.minHeight), n && (t.width = e.maxWidth), s && (t.height = e.maxHeight), o && h && (t.left = r - e.minWidth), n && h && (t.left = r - e.maxWidth), a && c && (t.top = l - e.minHeight), s && c && (t.top = l - e.maxHeight), t.width || t.height || t.left || !t.top ? t.width || t.height || t.top || !t.left || (t.left = null) : t.top = null, t }, _getPaddingPlusBorderDimensions: function(t) { for (var e = 0, i = [], n = [t.css("borderTopWidth"), t.css("borderRightWidth"), t.css("borderBottomWidth"), t.css("borderLeftWidth")], s = [t.css("paddingTop"), t.css("paddingRight"), t.css("paddingBottom"), t.css("paddingLeft")]; e < 4; e++) i[e] = parseFloat(n[e]) || 0, i[e] += parseFloat(s[e]) || 0; return { height: i[0] + i[2], width: i[1] + i[3] } }, _proportionallyResize: function() { if (this._proportionallyResizeElements.length) for (var t, e = 0, i = this.helper || this.element; e < this._proportionallyResizeElements.length; e++) t = this._proportionallyResizeElements[e], this.outerDimensions || (this.outerDimensions = this._getPaddingPlusBorderDimensions(t)), t.css({ height: i.height() - this.outerDimensions.height || 0, width: i.width() - this.outerDimensions.width || 0 }) }, _renderProxy: function() { var e = this.element, i = this.options; this.elementOffset = e.offset(), this._helper ? (this.helper = this.helper || t("<div style='overflow:hidden;'></div>"), this._addClass(this.helper, this._helper), this.helper.css({ width: this.element.outerWidth(), height: this.element.outerHeight(), position: "absolute", left: this.elementOffset.left + "px", top: this.elementOffset.top + "px", zIndex: ++i.zIndex }), this.helper.appendTo("body").disableSelection()) : this.helper = this.element }, _change: { e: function(t, e) { return { width: this.originalSize.width + e } }, w: function(t, e) { var i = this.originalSize; return { left: this.originalPosition.left + e, width: i.width - e } }, n: function(t, e, i) { var n = this.originalSize; return { top: this.originalPosition.top + i, height: n.height - i } }, s: function(t, e, i) { return { height: this.originalSize.height + i } }, se: function(e, i, n) { return t.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [e, i, n])) }, sw: function(e, i, n) { return t.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [e, i, n])) }, ne: function(e, i, n) { return t.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [e, i, n])) }, nw: function(e, i, n) { return t.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [e, i, n])) } }, _propagate: function(e, i) { t.ui.plugin.call(this, e, [i, this.ui()]), "resize" !== e && this._trigger(e, i, this.ui()) }, plugins: {}, ui: function() { return { originalElement: this.originalElement, element: this.element, helper: this.helper, position: this.position, size: this.size, originalSize: this.originalSize, originalPosition: this.originalPosition } } }), t.ui.plugin.add("resizable", "animate", { stop: function(e) { var i = t(this).resizable("instance"), n = i.options, s = i._proportionallyResizeElements, o = s.length && /textarea/i.test(s[0].nodeName), a = o && i._hasScroll(s[0], "left") ? 0 : i.sizeDiff.height, r = o ? 0 : i.sizeDiff.width, l = { width: i.size.width - r, height: i.size.height - a }, h = parseFloat(i.element.css("left")) + (i.position.left - i.originalPosition.left) || null, c = parseFloat(i.element.css("top")) + (i.position.top - i.originalPosition.top) || null; i.element.animate(t.extend(l, c && h ? { top: c, left: h } : {}), { duration: n.animateDuration, easing: n.animateEasing, step: function() { var n = { width: parseFloat(i.element.css("width")), height: parseFloat(i.element.css("height")), top: parseFloat(i.element.css("top")), left: parseFloat(i.element.css("left")) }; s && s.length && t(s[0]).css({ width: n.width, height: n.height }), i._updateCache(n), i._propagate("resize", e) } }) } }), t.ui.plugin.add("resizable", "containment", { start: function() { var e, i, n, s, o, a, r, l = t(this).resizable("instance"), h = l.options, c = l.element, u = h.containment, d = u instanceof t ? u.get(0) : /parent/.test(u) ? c.parent().get(0) : u; d && (l.containerElement = t(d), /document/.test(u) || u === document ? (l.containerOffset = { left: 0, top: 0 }, l.containerPosition = { left: 0, top: 0 }, l.parentData = { element: t(document), left: 0, top: 0, width: t(document).width(), height: t(document).height() || document.body.parentNode.scrollHeight }) : (e = t(d), i = [], t(["Top", "Right", "Left", "Bottom"]).each((function(t, n) { i[t] = l._num(e.css("padding" + n)) })), l.containerOffset = e.offset(), l.containerPosition = e.position(), l.containerSize = { height: e.innerHeight() - i[3], width: e.innerWidth() - i[1] }, n = l.containerOffset, s = l.containerSize.height, o = l.containerSize.width, a = l._hasScroll(d, "left") ? d.scrollWidth : o, r = l._hasScroll(d) ? d.scrollHeight : s, l.parentData = { element: d, left: n.left, top: n.top, width: a, height: r })) }, resize: function(e) { var i, n, s, o, a = t(this).resizable("instance"), r = a.options, l = a.containerOffset, h = a.position, c = a._aspectRatio || e.shiftKey, u = { top: 0, left: 0 }, d = a.containerElement, p = !0; d[0] !== document && /static/.test(d.css("position")) && (u = l), h.left < (a._helper ? l.left : 0) && (a.size.width = a.size.width + (a._helper ? a.position.left - l.left : a.position.left - u.left), c && (a.size.height = a.size.width / a.aspectRatio, p = !1), a.position.left = r.helper ? l.left : 0), h.top < (a._helper ? l.top : 0) && (a.size.height = a.size.height + (a._helper ? a.position.top - l.top : a.position.top), c && (a.size.width = a.size.height * a.aspectRatio, p = !1), a.position.top = a._helper ? l.top : 0), s = a.containerElement.get(0) === a.element.parent().get(0), o = /relative|absolute/.test(a.containerElement.css("position")), s && o ? (a.offset.left = a.parentData.left + a.position.left, a.offset.top = a.parentData.top + a.position.top) : (a.offset.left = a.element.offset().left, a.offset.top = a.element.offset().top), i = Math.abs(a.sizeDiff.width + (a._helper ? a.offset.left - u.left : a.offset.left - l.left)), n = Math.abs(a.sizeDiff.height + (a._helper ? a.offset.top - u.top : a.offset.top - l.top)), i + a.size.width >= a.parentData.width && (a.size.width = a.parentData.width - i, c && (a.size.height = a.size.width / a.aspectRatio, p = !1)), n + a.size.height >= a.parentData.height && (a.size.height = a.parentData.height - n, c && (a.size.width = a.size.height * a.aspectRatio, p = !1)), p || (a.position.left = a.prevPosition.left, a.position.top = a.prevPosition.top, a.size.width = a.prevSize.width, a.size.height = a.prevSize.height) }, stop: function() { var e = t(this).resizable("instance"), i = e.options, n = e.containerOffset, s = e.containerPosition, o = e.containerElement, a = t(e.helper), r = a.offset(), l = a.outerWidth() - e.sizeDiff.width, h = a.outerHeight() - e.sizeDiff.height; e._helper && !i.animate && /relative/.test(o.css("position")) && t(this).css({ left: r.left - s.left - n.left, width: l, height: h }), e._helper && !i.animate && /static/.test(o.css("position")) && t(this).css({ left: r.left - s.left - n.left, width: l, height: h }) } }), t.ui.plugin.add("resizable", "alsoResize", { start: function() { var e = t(this).resizable("instance").options; t(e.alsoResize).each((function() { var e = t(this); e.data("ui-resizable-alsoresize", { width: parseFloat(e.width()), height: parseFloat(e.height()), left: parseFloat(e.css("left")), top: parseFloat(e.css("top")) }) })) }, resize: function(e, i) { var n = t(this).resizable("instance"), s = n.options, o = n.originalSize, a = n.originalPosition, r = { height: n.size.height - o.height || 0, width: n.size.width - o.width || 0, top: n.position.top - a.top || 0, left: n.position.left - a.left || 0 }; t(s.alsoResize).each((function() { var e = t(this), n = t(this).data("ui-resizable-alsoresize"), s = {}, o = e.parents(i.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"]; t.each(o, (function(t, e) { var i = (n[e] || 0) + (r[e] || 0); i && i >= 0 && (s[e] = i || null) })), e.css(s) })) }, stop: function() { t(this).removeData("ui-resizable-alsoresize") } }), t.ui.plugin.add("resizable", "ghost", { start: function() { var e = t(this).resizable("instance"), i = e.size; e.ghost = e.originalElement.clone(), e.ghost.css({ opacity: .25, display: "block", position: "relative", height: i.height, width: i.width, margin: 0, left: 0, top: 0 }), e._addClass(e.ghost, "ui-resizable-ghost"), !1 !== t.uiBackCompat && "string" == typeof e.options.ghost && e.ghost.addClass(this.options.ghost), e.ghost.appendTo(e.helper) }, resize: function() { var e = t(this).resizable("instance"); e.ghost && e.ghost.css({ position: "relative", height: e.size.height, width: e.size.width }) }, stop: function() { var e = t(this).resizable("instance"); e.ghost && e.helper && e.helper.get(0).removeChild(e.ghost.get(0)) } }), t.ui.plugin.add("resizable", "grid", { resize: function() { var e, i = t(this).resizable("instance"), n = i.options, s = i.size, o = i.originalSize, a = i.originalPosition, r = i.axis, l = "number" == typeof n.grid ? [n.grid, n.grid] : n.grid, h = l[0] || 1, c = l[1] || 1, u = Math.round((s.width - o.width) / h) * h, d = Math.round((s.height - o.height) / c) * c, p = o.width + u, f = o.height + d, m = n.maxWidth && n.maxWidth < p, g = n.maxHeight && n.maxHeight < f, v = n.minWidth && n.minWidth > p, b = n.minHeight && n.minHeight > f; n.grid = l, v && (p += h), b && (f += c), m && (p -= h), g && (f -= c), /^(se|s|e)$/.test(r) ? (i.size.width = p, i.size.height = f) : /^(ne)$/.test(r) ? (i.size.width = p, i.size.height = f, i.position.top = a.top - d) : /^(sw)$/.test(r) ? (i.size.width = p, i.size.height = f, i.position.left = a.left - u) : ((f - c <= 0 || p - h <= 0) && (e = i._getPaddingPlusBorderDimensions(this)), f - c > 0 ? (i.size.height = f, i.position.top = a.top - d) : (f = c - e.height, i.size.height = f, i.position.top = a.top + o.height - f), p - h > 0 ? (i.size.width = p, i.position.left = a.left - u) : (p = h - e.width, i.size.width = p, i.position.left = a.left + o.width - p)) } }), t.ui.resizable, t.widget("ui.dialog", { version: "1.12.1", options: { appendTo: "body", autoOpen: !0, buttons: [], classes: { "ui-dialog": "ui-corner-all", "ui-dialog-titlebar": "ui-corner-all" }, closeOnEscape: !0, closeText: "Close", draggable: !0, hide: null, height: "auto", maxHeight: null, maxWidth: null, minHeight: 150, minWidth: 150, modal: !1, position: { my: "center", at: "center", of: window, collision: "fit", using: function(e) { var i = t(this).css(e).offset().top; i < 0 && t(this).css("top", e.top - i) } }, resizable: !0, show: null, title: null, width: 300, beforeClose: null, close: null, drag: null, dragStart: null, dragStop: null, focus: null, open: null, resize: null, resizeStart: null, resizeStop: null }, sizeRelatedOptions: { buttons: !0, height: !0, maxHeight: !0, maxWidth: !0, minHeight: !0, minWidth: !0, width: !0 }, resizableRelatedOptions: { maxHeight: !0, maxWidth: !0, minHeight: !0, minWidth: !0 }, _create: function() { this.originalCss = { display: this.element[0].style.display, width: this.element[0].style.width, minHeight: this.element[0].style.minHeight, maxHeight: this.element[0].style.maxHeight, height: this.element[0].style.height }, this.originalPosition = { parent: this.element.parent(), index: this.element.parent().children().index(this.element) }, this.originalTitle = this.element.attr("title"), null == this.options.title && null != this.originalTitle && (this.options.title = this.originalTitle), this.options.disabled && (this.options.disabled = !1), this._createWrapper(), this.element.show().removeAttr("title").appendTo(this.uiDialog), this._addClass("ui-dialog-content", "ui-widget-content"), this._createTitlebar(), this._createButtonPane(), this.options.draggable && t.fn.draggable && this._makeDraggable(), this.options.resizable && t.fn.resizable && this._makeResizable(), this._isOpen = !1, this._trackFocus() }, _init: function() { this.options.autoOpen && this.open() }, _appendTo: function() { var e = this.options.appendTo; return e && (e.jquery || e.nodeType) ? t(e) : this.document.find(e || "body").eq(0) }, _destroy: function() { var t, e = this.originalPosition; this._untrackInstance(), this._destroyOverlay(), this.element.removeUniqueId().css(this.originalCss).detach(), this.uiDialog.remove(), this.originalTitle && this.element.attr("title", this.originalTitle), (t = e.parent.children().eq(e.index)).length && t[0] !== this.element[0] ? t.before(this.element) : e.parent.append(this.element) }, widget: function() { return this.uiDialog }, disable: t.noop, enable: t.noop, close: function(e) { var i = this; this._isOpen && !1 !== this._trigger("beforeClose", e) && (this._isOpen = !1, this._focusedElement = null, this._destroyOverlay(), this._untrackInstance(), this.opener.filter(":focusable").trigger("focus").length || t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])), this._hide(this.uiDialog, this.options.hide, (function() { i._trigger("close", e) }))) }, isOpen: function() { return this._isOpen }, moveToTop: function() { this._moveToTop() }, _moveToTop: function(e, i) { var n = !1, s = this.uiDialog.siblings(".ui-front:visible").map((function() { return +t(this).css("z-index") })).get(), o = Math.max.apply(null, s); return o >= +this.uiDialog.css("z-index") && (this.uiDialog.css("z-index", o + 1), n = !0), n && !i && this._trigger("focus", e), n }, open: function() { var e = this; this._isOpen ? this._moveToTop() && this._focusTabbable() : (this._isOpen = !0, this.opener = t(t.ui.safeActiveElement(this.document[0])), this._size(), this._position(), this._createOverlay(), this._moveToTop(null, !0), this.overlay && this.overlay.css("z-index", this.uiDialog.css("z-index") - 1), this._show(this.uiDialog, this.options.show, (function() { e._focusTabbable(), e._trigger("focus") })), this._makeFocusTarget(), this._trigger("open")) }, _focusTabbable: function() { var t = this._focusedElement; t || (t = this.element.find("[autofocus]")), t.length || (t = this.element.find(":tabbable")), t.length || (t = this.uiDialogButtonPane.find(":tabbable")), t.length || (t = this.uiDialogTitlebarClose.filter(":tabbable")), t.length || (t = this.uiDialog), t.eq(0).trigger("focus") }, _keepFocus: function(e) { function i() { var e = t.ui.safeActiveElement(this.document[0]); this.uiDialog[0] === e || t.contains(this.uiDialog[0], e) || this._focusTabbable() } e.preventDefault(), i.call(this), this._delay(i) }, _createWrapper: function() { this.uiDialog = t("<div>").hide().attr({ tabIndex: -1, role: "dialog" }).appendTo(this._appendTo()), this._addClass(this.uiDialog, "ui-dialog", "ui-widget ui-widget-content ui-front"), this._on(this.uiDialog, { keydown: function(e) { if (this.options.closeOnEscape && !e.isDefaultPrevented() && e.keyCode && e.keyCode === t.ui.keyCode.ESCAPE) return e.preventDefault(), void this.close(e); if (e.keyCode === t.ui.keyCode.TAB && !e.isDefaultPrevented()) { var i = this.uiDialog.find(":tabbable"), n = i.filter(":first"), s = i.filter(":last"); e.target !== s[0] && e.target !== this.uiDialog[0] || e.shiftKey ? (e.target === n[0] || e.target === this.uiDialog[0]) && e.shiftKey && (this._delay((function() { s.trigger("focus") })), e.preventDefault()) : (this._delay((function() { n.trigger("focus") })), e.preventDefault()) } }, mousedown: function(t) { this._moveToTop(t) && this._focusTabbable() } }), this.element.find("[aria-describedby]").length || this.uiDialog.attr({ "aria-describedby": this.element.uniqueId().attr("id") }) }, _createTitlebar: function() { var e; this.uiDialogTitlebar = t("<div>"), this._addClass(this.uiDialogTitlebar, "ui-dialog-titlebar", "ui-widget-header ui-helper-clearfix"), this._on(this.uiDialogTitlebar, { mousedown: function(e) { t(e.target).closest(".ui-dialog-titlebar-close") || this.uiDialog.trigger("focus") } }), this.uiDialogTitlebarClose = t("<button type='button'></button>").button({ label: t("<a>").text(this.options.closeText).html(), icon: "ui-icon-closethick", showLabel: !1 }).appendTo(this.uiDialogTitlebar), this._addClass(this.uiDialogTitlebarClose, "ui-dialog-titlebar-close"), this._on(this.uiDialogTitlebarClose, { click: function(t) { t.preventDefault(), this.close(t) } }), e = t("<span>").uniqueId().prependTo(this.uiDialogTitlebar), this._addClass(e, "ui-dialog-title"), this._title(e), this.uiDialogTitlebar.prependTo(this.uiDialog), this.uiDialog.attr({ "aria-labelledby": e.attr("id") }) }, _title: function(t) { this.options.title ? t.text(this.options.title) : t.html(" ") }, _createButtonPane: function() { this.uiDialogButtonPane = t("<div>"), this._addClass(this.uiDialogButtonPane, "ui-dialog-buttonpane", "ui-widget-content ui-helper-clearfix"), this.uiButtonSet = t("<div>").appendTo(this.uiDialogButtonPane), this._addClass(this.uiButtonSet, "ui-dialog-buttonset"), this._createButtons() }, _createButtons: function() { var e = this, i = this.options.buttons; this.uiDialogButtonPane.remove(), this.uiButtonSet.empty(), t.isEmptyObject(i) || t.isArray(i) && !i.length ? this._removeClass(this.uiDialog, "ui-dialog-buttons") : (t.each(i, (function(i, n) { var s, o; n = t.isFunction(n) ? { click: n, text: i } : n, n = t.extend({ type: "button" }, n), s = n.click, o = { icon: n.icon, iconPosition: n.iconPosition, showLabel: n.showLabel, icons: n.icons, text: n.text }, delete n.click, delete n.icon, delete n.iconPosition, delete n.showLabel, delete n.icons, "boolean" == typeof n.text && delete n.text, t("<button></button>", n).button(o).appendTo(e.uiButtonSet).on("click", (function() { s.apply(e.element[0], arguments) })) })), this._addClass(this.uiDialog, "ui-dialog-buttons"), this.uiDialogButtonPane.appendTo(this.uiDialog)) }, _makeDraggable: function() { function e(t) { return { position: t.position, offset: t.offset } } var i = this, n = this.options; this.uiDialog.draggable({ cancel: ".ui-dialog-content, .ui-dialog-titlebar-close", handle: ".ui-dialog-titlebar", containment: "document", start: function(n, s) { i._addClass(t(this), "ui-dialog-dragging"), i._blockFrames(), i._trigger("dragStart", n, e(s)) }, drag: function(t, n) { i._trigger("drag", t, e(n)) }, stop: function(s, o) { var a = o.offset.left - i.document.scrollLeft(), r = o.offset.top - i.document.scrollTop(); n.position = { my: "left top", at: "left" + (a >= 0 ? "+" : "") + a + " top" + (r >= 0 ? "+" : "") + r, of: i.window }, i._removeClass(t(this), "ui-dialog-dragging"), i._unblockFrames(), i._trigger("dragStop", s, e(o)) } }) }, _makeResizable: function() { function e(t) { return { originalPosition: t.originalPosition, originalSize: t.originalSize, position: t.position, size: t.size } } var i = this, n = this.options, s = n.resizable, o = this.uiDialog.css("position"), a = "string" == typeof s ? s : "n,e,s,w,se,sw,ne,nw"; this.uiDialog.resizable({ cancel: ".ui-dialog-content", containment: "document", alsoResize: this.element, maxWidth: n.maxWidth, maxHeight: n.maxHeight, minWidth: n.minWidth, minHeight: this._minHeight(), handles: a, start: function(n, s) { i._addClass(t(this), "ui-dialog-resizing"), i._blockFrames(), i._trigger("resizeStart", n, e(s)) }, resize: function(t, n) { i._trigger("resize", t, e(n)) }, stop: function(s, o) { var a = i.uiDialog.offset(), r = a.left - i.document.scrollLeft(), l = a.top - i.document.scrollTop(); n.height = i.uiDialog.height(), n.width = i.uiDialog.width(), n.position = { my: "left top", at: "left" + (r >= 0 ? "+" : "") + r + " top" + (l >= 0 ? "+" : "") + l, of: i.window }, i._removeClass(t(this), "ui-dialog-resizing"), i._unblockFrames(), i._trigger("resizeStop", s, e(o)) } }).css("position", o) }, _trackFocus: function() { this._on(this.widget(), { focusin: function(e) { this._makeFocusTarget(), this._focusedElement = t(e.target) } }) }, _makeFocusTarget: function() { this._untrackInstance(), this._trackingInstances().unshift(this) }, _untrackInstance: function() { var e = this._trackingInstances(), i = t.inArray(this, e); - 1 !== i && e.splice(i, 1) }, _trackingInstances: function() { var t = this.document.data("ui-dialog-instances"); return t || (t = [], this.document.data("ui-dialog-instances", t)), t }, _minHeight: function() { var t = this.options; return "auto" === t.height ? t.minHeight : Math.min(t.minHeight, t.height) }, _position: function() { var t = this.uiDialog.is(":visible"); t || this.uiDialog.show(), this.uiDialog.position(this.options.position), t || this.uiDialog.hide() }, _setOptions: function(e) { var i = this, n = !1, s = {}; t.each(e, (function(t, e) { i._setOption(t, e), t in i.sizeRelatedOptions && (n = !0), t in i.resizableRelatedOptions && (s[t] = e) })), n && (this._size(), this._position()), this.uiDialog.is(":data(ui-resizable)") && this.uiDialog.resizable("option", s) }, _setOption: function(e, i) { var n, s, o = this.uiDialog; "disabled" !== e && (this._super(e, i), "appendTo" === e && this.uiDialog.appendTo(this._appendTo()), "buttons" === e && this._createButtons(), "closeText" === e && this.uiDialogTitlebarClose.button({ label: t("<a>").text("" + this.options.closeText).html() }), "draggable" === e && ((n = o.is(":data(ui-draggable)")) && !i && o.draggable("destroy"), !n && i && this._makeDraggable()), "position" === e && this._position(), "resizable" === e && ((s = o.is(":data(ui-resizable)")) && !i && o.resizable("destroy"), s && "string" == typeof i && o.resizable("option", "handles", i), s || !1 === i || this._makeResizable()), "title" === e && this._title(this.uiDialogTitlebar.find(".ui-dialog-title"))) }, _size: function() { var t, e, i, n = this.options; this.element.show().css({ width: "auto", minHeight: 0, maxHeight: "none", height: 0 }), n.minWidth > n.width && (n.width = n.minWidth), t = this.uiDialog.css({ height: "auto", width: n.width }).outerHeight(), e = Math.max(0, n.minHeight - t), i = "number" == typeof n.maxHeight ? Math.max(0, n.maxHeight - t) : "none", "auto" === n.height ? this.element.css({ minHeight: e, maxHeight: i, height: "auto" }) : this.element.height(Math.max(0, n.height - t)), this.uiDialog.is(":data(ui-resizable)") && this.uiDialog.resizable("option", "minHeight", this._minHeight()) }, _blockFrames: function() { this.iframeBlocks = this.document.find("iframe").map((function() { var e = t(this); return t("<div>").css({ position: "absolute", width: e.outerWidth(), height: e.outerHeight() }).appendTo(e.parent()).offset(e.offset())[0] })) }, _unblockFrames: function() { this.iframeBlocks && (this.iframeBlocks.remove(), delete this.iframeBlocks) }, _allowInteraction: function(e) { return !!t(e.target).closest(".ui-dialog").length || !!t(e.target).closest(".ui-datepicker").length }, _createOverlay: function() { if (this.options.modal) { var e = !0; this._delay((function() { e = !1 })), this.document.data("ui-dialog-overlays") || this._on(this.document, { focusin: function(t) { e || this._allowInteraction(t) || (t.preventDefault(), this._trackingInstances()[0]._focusTabbable()) } }), this.overlay = t("<div>").appendTo(this._appendTo()), this._addClass(this.overlay, null, "ui-widget-overlay ui-front"), this._on(this.overlay, { mousedown: "_keepFocus" }), this.document.data("ui-dialog-overlays", (this.document.data("ui-dialog-overlays") || 0) + 1) } }, _destroyOverlay: function() { if (this.options.modal && this.overlay) { var t = this.document.data("ui-dialog-overlays") - 1; t ? this.document.data("ui-dialog-overlays", t) : (this._off(this.document, "focusin"), this.document.removeData("ui-dialog-overlays")), this.overlay.remove(), this.overlay = null } } }), !1 !== t.uiBackCompat && t.widget("ui.dialog", t.ui.dialog, { options: { dialogClass: "" }, _createWrapper: function() { this._super(), this.uiDialog.addClass(this.options.dialogClass) }, _setOption: function(t, e) { "dialogClass" === t && this.uiDialog.removeClass(this.options.dialogClass).addClass(e), this._superApply(arguments) } }), t.ui.dialog, t.widget("ui.droppable", { version: "1.12.1", widgetEventPrefix: "drop", options: { accept: "*", addClasses: !0, greedy: !1, scope: "default", tolerance: "intersect", activate: null, deactivate: null, drop: null, out: null, over: null }, _create: function() { var e, i = this.options, n = i.accept; this.isover = !1, this.isout = !0, this.accept = t.isFunction(n) ? n : function(t) { return t.is(n) }, this.proportions = function() { if (!arguments.length) return e || (e = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }); e = arguments[0] }, this._addToManager(i.scope), i.addClasses && this._addClass("ui-droppable") }, _addToManager: function(e) { t.ui.ddmanager.droppables[e] = t.ui.ddmanager.droppables[e] || [], t.ui.ddmanager.droppables[e].push(this) }, _splice: function(t) { for (var e = 0; e < t.length; e++) t[e] === this && t.splice(e, 1) }, _destroy: function() { var e = t.ui.ddmanager.droppables[this.options.scope]; this._splice(e) }, _setOption: function(e, i) { if ("accept" === e) this.accept = t.isFunction(i) ? i : function(t) { return t.is(i) }; else if ("scope" === e) { var n = t.ui.ddmanager.droppables[this.options.scope]; this._splice(n), this._addToManager(i) } this._super(e, i) }, _activate: function(e) { var i = t.ui.ddmanager.current; this._addActiveClass(), i && this._trigger("activate", e, this.ui(i)) }, _deactivate: function(e) { var i = t.ui.ddmanager.current; this._removeActiveClass(), i && this._trigger("deactivate", e, this.ui(i)) }, _over: function(e) { var i = t.ui.ddmanager.current; i && (i.currentItem || i.element)[0] !== this.element[0] && this.accept.call(this.element[0], i.currentItem || i.element) && (this._addHoverClass(), this._trigger("over", e, this.ui(i))) }, _out: function(e) { var i = t.ui.ddmanager.current; i && (i.currentItem || i.element)[0] !== this.element[0] && this.accept.call(this.element[0], i.currentItem || i.element) && (this._removeHoverClass(), this._trigger("out", e, this.ui(i))) }, _drop: function(e, i) { var n = i || t.ui.ddmanager.current, s = !1; return !(!n || (n.currentItem || n.element)[0] === this.element[0]) && (this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each((function() { var i = t(this).droppable("instance"); if (i.options.greedy && !i.options.disabled && i.options.scope === n.options.scope && i.accept.call(i.element[0], n.currentItem || n.element) && r(n, t.extend(i, { offset: i.element.offset() }), i.options.tolerance, e)) return s = !0, !1 })), !s && (!!this.accept.call(this.element[0], n.currentItem || n.element) && (this._removeActiveClass(), this._removeHoverClass(), this._trigger("drop", e, this.ui(n)), this.element))) }, ui: function(t) { return { draggable: t.currentItem || t.element, helper: t.helper, position: t.position, offset: t.positionAbs } }, _addHoverClass: function() { this._addClass("ui-droppable-hover") }, _removeHoverClass: function() { this._removeClass("ui-droppable-hover") }, _addActiveClass: function() { this._addClass("ui-droppable-active") }, _removeActiveClass: function() { this._removeClass("ui-droppable-active") } }), r = t.ui.intersect = function() { function t(t, e, i) { return t >= e && t < e + i } return function(e, i, n, s) { if (!i.offset) return !1; var o = (e.positionAbs || e.position.absolute).left + e.margins.left, a = (e.positionAbs || e.position.absolute).top + e.margins.top, r = o + e.helperProportions.width, l = a + e.helperProportions.height, h = i.offset.left, c = i.offset.top, u = h + i.proportions().width, d = c + i.proportions().height; switch (n) { case "fit": return h <= o && r <= u && c <= a && l <= d; case "intersect": return h < o + e.helperProportions.width / 2 && r - e.helperProportions.width / 2 < u && c < a + e.helperProportions.height / 2 && l - e.helperProportions.height / 2 < d; case "pointer": return t(s.pageY, c, i.proportions().height) && t(s.pageX, h, i.proportions().width); case "touch": return (a >= c && a <= d || l >= c && l <= d || a < c && l > d) && (o >= h && o <= u || r >= h && r <= u || o < h && r > u); default: return !1 } } }(), t.ui.ddmanager = { current: null, droppables: { default: [] }, prepareOffsets: function(e, i) { var n, s, o = t.ui.ddmanager.droppables[e.options.scope] || [], a = i ? i.type : null, r = (e.currentItem || e.element).find(":data(ui-droppable)").addBack(); t: for (n = 0; n < o.length; n++) if (!o[n].options.disabled && (!e || o[n].accept.call(o[n].element[0], e.currentItem || e.element))) { for (s = 0; s < r.length; s++) if (r[s] === o[n].element[0]) { o[n].proportions().height = 0; continue t } o[n].visible = "none" !== o[n].element.css("display"), o[n].visible && ("mousedown" === a && o[n]._activate.call(o[n], i), o[n].offset = o[n].element.offset(), o[n].proportions({ width: o[n].element[0].offsetWidth, height: o[n].element[0].offsetHeight })) } }, drop: function(e, i) { var n = !1; return t.each((t.ui.ddmanager.droppables[e.options.scope] || []).slice(), (function() { this.options && (!this.options.disabled && this.visible && r(e, this, this.options.tolerance, i) && (n = this._drop.call(this, i) || n), !this.options.disabled && this.visible && this.accept.call(this.element[0], e.currentItem || e.element) && (this.isout = !0, this.isover = !1, this._deactivate.call(this, i))) })), n }, dragStart: function(e, i) { e.element.parentsUntil("body").on("scroll.droppable", (function() { e.options.refreshPositions || t.ui.ddmanager.prepareOffsets(e, i) })) }, drag: function(e, i) { e.options.refreshPositions && t.ui.ddmanager.prepareOffsets(e, i), t.each(t.ui.ddmanager.droppables[e.options.scope] || [], (function() { if (!this.options.disabled && !this.greedyChild && this.visible) { var n, s, o, a = r(e, this, this.options.tolerance, i), l = !a && this.isover ? "isout" : a && !this.isover ? "isover" : null; l && (this.options.greedy && (s = this.options.scope, (o = this.element.parents(":data(ui-droppable)").filter((function() { return t(this).droppable("instance").options.scope === s }))).length && ((n = t(o[0]).droppable("instance")).greedyChild = "isover" === l)), n && "isover" === l && (n.isover = !1, n.isout = !0, n._out.call(n, i)), this[l] = !0, this["isout" === l ? "isover" : "isout"] = !1, this["isover" === l ? "_over" : "_out"].call(this, i), n && "isout" === l && (n.isout = !1, n.isover = !0, n._over.call(n, i))) } })) }, dragStop: function(e, i) { e.element.parentsUntil("body").off("scroll.droppable"), e.options.refreshPositions || t.ui.ddmanager.prepareOffsets(e, i) } }, !1 !== t.uiBackCompat && t.widget("ui.droppable", t.ui.droppable, { options: { hoverClass: !1, activeClass: !1 }, _addActiveClass: function() { this._super(), this.options.activeClass && this.element.addClass(this.options.activeClass) }, _removeActiveClass: function() { this._super(), this.options.activeClass && this.element.removeClass(this.options.activeClass) }, _addHoverClass: function() { this._super(), this.options.hoverClass && this.element.addClass(this.options.hoverClass) }, _removeHoverClass: function() { this._super(), this.options.hoverClass && this.element.removeClass(this.options.hoverClass) } }); t.ui.droppable, t.widget("ui.progressbar", { version: "1.12.1", options: { classes: { "ui-progressbar": "ui-corner-all", "ui-progressbar-value": "ui-corner-left", "ui-progressbar-complete": "ui-corner-right" }, max: 100, value: 0, change: null, complete: null }, min: 0, _create: function() { this.oldValue = this.options.value = this._constrainedValue(), this.element.attr({ role: "progressbar", "aria-valuemin": this.min }), this._addClass("ui-progressbar", "ui-widget ui-widget-content"), this.valueDiv = t("<div>").appendTo(this.element), this._addClass(this.valueDiv, "ui-progressbar-value", "ui-widget-header"), this._refreshValue() }, _destroy: function() { this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"), this.valueDiv.remove() }, value: function(t) { if (void 0 === t) return this.options.value; this.options.value = this._constrainedValue(t), this._refreshValue() }, _constrainedValue: function(t) { return void 0 === t && (t = this.options.value), this.indeterminate = !1 === t, "number" != typeof t && (t = 0), !this.indeterminate && Math.min(this.options.max, Math.max(this.min, t)) }, _setOptions: function(t) { var e = t.value; delete t.value, this._super(t), this.options.value = this._constrainedValue(e), this._refreshValue() }, _setOption: function(t, e) { "max" === t && (e = Math.max(this.min, e)), this._super(t, e) }, _setOptionDisabled: function(t) { this._super(t), this.element.attr("aria-disabled", t), this._toggleClass(null, "ui-state-disabled", !!t) }, _percentage: function() { return this.indeterminate ? 100 : 100 * (this.options.value - this.min) / (this.options.max - this.min) }, _refreshValue: function() { var e = this.options.value, i = this._percentage(); this.valueDiv.toggle(this.indeterminate || e > this.min).width(i.toFixed(0) + "%"), this._toggleClass(this.valueDiv, "ui-progressbar-complete", null, e === this.options.max)._toggleClass("ui-progressbar-indeterminate", null, this.indeterminate), this.indeterminate ? (this.element.removeAttr("aria-valuenow"), this.overlayDiv || (this.overlayDiv = t("<div>").appendTo(this.valueDiv), this._addClass(this.overlayDiv, "ui-progressbar-overlay"))) : (this.element.attr({ "aria-valuemax": this.options.max, "aria-valuenow": e }), this.overlayDiv && (this.overlayDiv.remove(), this.overlayDiv = null)), this.oldValue !== e && (this.oldValue = e, this._trigger("change")), e === this.options.max && this._trigger("complete") } }), t.widget("ui.selectable", t.ui.mouse, { version: "1.12.1", options: { appendTo: "body", autoRefresh: !0, distance: 0, filter: "*", tolerance: "touch", selected: null, selecting: null, start: null, stop: null, unselected: null, unselecting: null }, _create: function() { var e = this; this._addClass("ui-selectable"), this.dragged = !1, this.refresh = function() { e.elementPos = t(e.element[0]).offset(), e.selectees = t(e.options.filter, e.element[0]), e._addClass(e.selectees, "ui-selectee"), e.selectees.each((function() { var i = t(this), n = i.offset(), s = { left: n.left - e.elementPos.left, top: n.top - e.elementPos.top }; t.data(this, "selectable-item", { element: this, $element: i, left: s.left, top: s.top, right: s.left + i.outerWidth(), bottom: s.top + i.outerHeight(), startselected: !1, selected: i.hasClass("ui-selected"), selecting: i.hasClass("ui-selecting"), unselecting: i.hasClass("ui-unselecting") }) })) }, this.refresh(), this._mouseInit(), this.helper = t("<div>"), this._addClass(this.helper, "ui-selectable-helper") }, _destroy: function() { this.selectees.removeData("selectable-item"), this._mouseDestroy() }, _mouseStart: function(e) { var i = this, n = this.options; this.opos = [e.pageX, e.pageY], this.elementPos = t(this.element[0]).offset(), this.options.disabled || (this.selectees = t(n.filter, this.element[0]), this._trigger("start", e), t(n.appendTo).append(this.helper), this.helper.css({ left: e.pageX, top: e.pageY, width: 0, height: 0 }), n.autoRefresh && this.refresh(), this.selectees.filter(".ui-selected").each((function() { var n = t.data(this, "selectable-item"); n.startselected = !0, e.metaKey || e.ctrlKey || (i._removeClass(n.$element, "ui-selected"), n.selected = !1, i._addClass(n.$element, "ui-unselecting"), n.unselecting = !0, i._trigger("unselecting", e, { unselecting: n.element })) })), t(e.target).parents().addBack().each((function() { var n, s = t.data(this, "selectable-item"); if (s) return n = !e.metaKey && !e.ctrlKey || !s.$element.hasClass("ui-selected"), i._removeClass(s.$element, n ? "ui-unselecting" : "ui-selected")._addClass(s.$element, n ? "ui-selecting" : "ui-unselecting"), s.unselecting = !n, s.selecting = n, s.selected = n, n ? i._trigger("selecting", e, { selecting: s.element }) : i._trigger("unselecting", e, { unselecting: s.element }), !1 }))) }, _mouseDrag: function(e) { if (this.dragged = !0, !this.options.disabled) { var i, n = this, s = this.options, o = this.opos[0], a = this.opos[1], r = e.pageX, l = e.pageY; return o > r && (i = r, r = o, o = i), a > l && (i = l, l = a, a = i), this.helper.css({ left: o, top: a, width: r - o, height: l - a }), this.selectees.each((function() { var i = t.data(this, "selectable-item"), h = !1, c = {}; i && i.element !== n.element[0] && (c.left = i.left + n.elementPos.left, c.right = i.right + n.elementPos.left, c.top = i.top + n.elementPos.top, c.bottom = i.bottom + n.elementPos.top, "touch" === s.tolerance ? h = !(c.left > r || c.right < o || c.top > l || c.bottom < a) : "fit" === s.tolerance && (h = c.left > o && c.right < r && c.top > a && c.bottom < l), h ? (i.selected && (n._removeClass(i.$element, "ui-selected"), i.selected = !1), i.unselecting && (n._removeClass(i.$element, "ui-unselecting"), i.unselecting = !1), i.selecting || (n._addClass(i.$element, "ui-selecting"), i.selecting = !0, n._trigger("selecting", e, { selecting: i.element }))) : (i.selecting && ((e.metaKey || e.ctrlKey) && i.startselected ? (n._removeClass(i.$element, "ui-selecting"), i.selecting = !1, n._addClass(i.$element, "ui-selected"), i.selected = !0) : (n._removeClass(i.$element, "ui-selecting"), i.selecting = !1, i.startselected && (n._addClass(i.$element, "ui-unselecting"), i.unselecting = !0), n._trigger("unselecting", e, { unselecting: i.element }))), i.selected && (e.metaKey || e.ctrlKey || i.startselected || (n._removeClass(i.$element, "ui-selected"), i.selected = !1, n._addClass(i.$element, "ui-unselecting"), i.unselecting = !0, n._trigger("unselecting", e, { unselecting: i.element }))))) })), !1 } }, _mouseStop: function(e) { var i = this; return this.dragged = !1, t(".ui-unselecting", this.element[0]).each((function() { var n = t.data(this, "selectable-item"); i._removeClass(n.$element, "ui-unselecting"), n.unselecting = !1, n.startselected = !1, i._trigger("unselected", e, { unselected: n.element }) })), t(".ui-selecting", this.element[0]).each((function() { var n = t.data(this, "selectable-item"); i._removeClass(n.$element, "ui-selecting")._addClass(n.$element, "ui-selected"), n.selecting = !1, n.selected = !0, n.startselected = !0, i._trigger("selected", e, { selected: n.element }) })), this._trigger("stop", e), this.helper.remove(), !1 } }), t.widget("ui.selectmenu", [t.ui.formResetMixin, { version: "1.12.1", defaultElement: "<select>", options: { appendTo: null, classes: { "ui-selectmenu-button-open": "ui-corner-top", "ui-selectmenu-button-closed": "ui-corner-all" }, disabled: null, icons: { button: "ui-icon-triangle-1-s" }, position: { my: "left top", at: "left bottom", collision: "none" }, width: !1, change: null, close: null, focus: null, open: null, select: null }, _create: function() { var e = this.element.uniqueId().attr("id"); this.ids = { element: e, button: e + "-button", menu: e + "-menu" }, this._drawButton(), this._drawMenu(), this._bindFormResetHandler(), this._rendered = !1, this.menuItems = t() }, _drawButton: function() { var e, i = this, n = this._parseOption(this.element.find("option:selected"), this.element[0].selectedIndex); this.labels = this.element.labels().attr("for", this.ids.button), this._on(this.labels, { click: function(t) { this.button.focus(), t.preventDefault() } }), this.element.hide(), this.button = t("<span>", { tabindex: this.options.disabled ? -1 : 0, id: this.ids.button, role: "combobox", "aria-expanded": "false", "aria-autocomplete": "list", "aria-owns": this.ids.menu, "aria-haspopup": "true", title: this.element.attr("title") }).insertAfter(this.element), this._addClass(this.button, "ui-selectmenu-button ui-selectmenu-button-closed", "ui-button ui-widget"), e = t("<span>").appendTo(this.button), this._addClass(e, "ui-selectmenu-icon", "ui-icon " + this.options.icons.button), this.buttonItem = this._renderButtonItem(n).appendTo(this.button), !1 !== this.options.width && this._resizeButton(), this._on(this.button, this._buttonEvents), this.button.one("focusin", (function() { i._rendered || i._refreshMenu() })) }, _drawMenu: function() { var e = this; this.menu = t("<ul>", { "aria-hidden": "true", "aria-labelledby": this.ids.button, id: this.ids.menu }), this.menuWrap = t("<div>").append(this.menu), this._addClass(this.menuWrap, "ui-selectmenu-menu", "ui-front"), this.menuWrap.appendTo(this._appendTo()), this.menuInstance = this.menu.menu({ classes: { "ui-menu": "ui-corner-bottom" }, role: "listbox", select: function(t, i) { t.preventDefault(), e._setSelection(), e._select(i.item.data("ui-selectmenu-item"), t) }, focus: function(t, i) { var n = i.item.data("ui-selectmenu-item"); null != e.focusIndex && n.index !== e.focusIndex && (e._trigger("focus", t, { item: n }), e.isOpen || e._select(n, t)), e.focusIndex = n.index, e.button.attr("aria-activedescendant", e.menuItems.eq(n.index).attr("id")) } }).menu("instance"), this.menuInstance._off(this.menu, "mouseleave"), this.menuInstance._closeOnDocumentClick = function() { return !1 }, this.menuInstance._isDivider = function() { return !1 } }, refresh: function() { this._refreshMenu(), this.buttonItem.replaceWith(this.buttonItem = this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item") || {})), null === this.options.width && this._resizeButton() }, _refreshMenu: function() { var t, e = this.element.find("option"); this.menu.empty(), this._parseOptions(e), this._renderMenu(this.menu, this.items), this.menuInstance.refresh(), this.menuItems = this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"), this._rendered = !0, e.length && (t = this._getSelectedItem(), this.menuInstance.focus(null, t), this._setAria(t.data("ui-selectmenu-item")), this._setOption("disabled", this.element.prop("disabled"))) }, open: function(t) { this.options.disabled || (this._rendered ? (this._removeClass(this.menu.find(".ui-state-active"), null, "ui-state-active"), this.menuInstance.focus(null, this._getSelectedItem())) : this._refreshMenu(), this.menuItems.length && (this.isOpen = !0, this._toggleAttr(), this._resizeMenu(), this._position(), this._on(this.document, this._documentClick), this._trigger("open", t))) }, _position: function() { this.menuWrap.position(t.extend({ of: this.button }, this.options.position)) }, close: function(t) { this.isOpen && (this.isOpen = !1, this._toggleAttr(), this.range = null, this._off(this.document), this._trigger("close", t)) }, widget: function() { return this.button }, menuWidget: function() { return this.menu }, _renderButtonItem: function(e) { var i = t("<span>"); return this._setText(i, e.label), this._addClass(i, "ui-selectmenu-text"), i }, _renderMenu: function(e, i) { var n = this, s = ""; t.each(i, (function(i, o) { var a; o.optgroup !== s && (a = t("<li>", { text: o.optgroup }), n._addClass(a, "ui-selectmenu-optgroup", "ui-menu-divider" + (o.element.parent("optgroup").prop("disabled") ? " ui-state-disabled" : "")), a.appendTo(e), s = o.optgroup), n._renderItemData(e, o) })) }, _renderItemData: function(t, e) { return this._renderItem(t, e).data("ui-selectmenu-item", e) }, _renderItem: function(e, i) { var n = t("<li>"), s = t("<div>", { title: i.element.attr("title") }); return i.disabled && this._addClass(n, null, "ui-state-disabled"), this._setText(s, i.label), n.append(s).appendTo(e) }, _setText: function(t, e) { e ? t.text(e) : t.html(" ") }, _move: function(t, e) { var i, n, s = ".ui-menu-item"; this.isOpen ? i = this.menuItems.eq(this.focusIndex).parent("li") : (i = this.menuItems.eq(this.element[0].selectedIndex).parent("li"), s += ":not(.ui-state-disabled)"), (n = "first" === t || "last" === t ? i["first" === t ? "prevAll" : "nextAll"](s).eq(-1) : i[t + "All"](s).eq(0)).length && this.menuInstance.focus(e, n) }, _getSelectedItem: function() { return this.menuItems.eq(this.element[0].selectedIndex).parent("li") }, _toggle: function(t) { this[this.isOpen ? "close" : "open"](t) }, _setSelection: function() { var t; this.range && (window.getSelection ? ((t = window.getSelection()).removeAllRanges(), t.addRange(this.range)) : this.range.select(), this.button.focus()) }, _documentClick: { mousedown: function(e) { this.isOpen && (t(e.target).closest(".ui-selectmenu-menu, #" + t.ui.escapeSelector(this.ids.button)).length || this.close(e)) } }, _buttonEvents: { mousedown: function() { var t; window.getSelection ? (t = window.getSelection()).rangeCount && (this.range = t.getRangeAt(0)) : this.range = document.selection.createRange() }, click: function(t) { this._setSelection(), this._toggle(t) }, keydown: function(e) { var i = !0; switch (e.keyCode) { case t.ui.keyCode.TAB: case t.ui.keyCode.ESCAPE: this.close(e), i = !1; break; case t.ui.keyCode.ENTER: this.isOpen && this._selectFocusedItem(e); break; case t.ui.keyCode.UP: e.altKey ? this._toggle(e) : this._move("prev", e); break; case t.ui.keyCode.DOWN: e.altKey ? this._toggle(e) : this._move("next", e); break; case t.ui.keyCode.SPACE: this.isOpen ? this._selectFocusedItem(e) : this._toggle(e); break; case t.ui.keyCode.LEFT: this._move("prev", e); break; case t.ui.keyCode.RIGHT: this._move("next", e); break; case t.ui.keyCode.HOME: case t.ui.keyCode.PAGE_UP: this._move("first", e); break; case t.ui.keyCode.END: case t.ui.keyCode.PAGE_DOWN: this._move("last", e); break; default: this.menu.trigger(e), i = !1 } i && e.preventDefault() } }, _selectFocusedItem: function(t) { var e = this.menuItems.eq(this.focusIndex).parent("li"); e.hasClass("ui-state-disabled") || this._select(e.data("ui-selectmenu-item"), t) }, _select: function(t, e) { var i = this.element[0].selectedIndex; this.element[0].selectedIndex = t.index, this.buttonItem.replaceWith(this.buttonItem = this._renderButtonItem(t)), this._setAria(t), this._trigger("select", e, { item: t }), t.index !== i && this._trigger("change", e, { item: t }), this.close(e) }, _setAria: function(t) { var e = this.menuItems.eq(t.index).attr("id"); this.button.attr({ "aria-labelledby": e, "aria-activedescendant": e }), this.menu.attr("aria-activedescendant", e) }, _setOption: function(t, e) { if ("icons" === t) { var i = this.button.find("span.ui-icon"); this._removeClass(i, null, this.options.icons.button)._addClass(i, null, e.button) } this._super(t, e), "appendTo" === t && this.menuWrap.appendTo(this._appendTo()), "width" === t && this._resizeButton() }, _setOptionDisabled: function(t) { this._super(t), this.menuInstance.option("disabled", t), this.button.attr("aria-disabled", t), this._toggleClass(this.button, null, "ui-state-disabled", t), this.element.prop("disabled", t), t ? (this.button.attr("tabindex", -1), this.close()) : this.button.attr("tabindex", 0) }, _appendTo: function() { var e = this.options.appendTo; return e && (e = e.jquery || e.nodeType ? t(e) : this.document.find(e).eq(0)), e && e[0] || (e = this.element.closest(".ui-front, dialog")), e.length || (e = this.document[0].body), e }, _toggleAttr: function() { this.button.attr("aria-expanded", this.isOpen), this._removeClass(this.button, "ui-selectmenu-button-" + (this.isOpen ? "closed" : "open"))._addClass(this.button, "ui-selectmenu-button-" + (this.isOpen ? "open" : "closed"))._toggleClass(this.menuWrap, "ui-selectmenu-open", null, this.isOpen), this.menu.attr("aria-hidden", !this.isOpen) }, _resizeButton: function() { var t = this.options.width; !1 !== t ? (null === t && (t = this.element.show().outerWidth(), this.element.hide()), this.button.outerWidth(t)) : this.button.css("width", "") }, _resizeMenu: function() { this.menu.outerWidth(Math.max(this.button.outerWidth(), this.menu.width("").outerWidth() + 1)) }, _getCreateOptions: function() { var t = this._super(); return t.disabled = this.element.prop("disabled"), t }, _parseOptions: function(e) { var i = this, n = []; e.each((function(e, s) { n.push(i._parseOption(t(s), e)) })), this.items = n }, _parseOption: function(t, e) { var i = t.parent("optgroup"); return { element: t, index: e, value: t.val(), label: t.text(), optgroup: i.attr("label") || "", disabled: i.prop("disabled") || t.prop("disabled") } }, _destroy: function() { this._unbindFormResetHandler(), this.menuWrap.remove(), this.button.remove(), this.element.show(), this.element.removeUniqueId(), this.labels.attr("for", this.ids.element) } }]), t.widget("ui.slider", t.ui.mouse, { version: "1.12.1", widgetEventPrefix: "slide", options: { animate: !1, classes: { "ui-slider": "ui-corner-all", "ui-slider-handle": "ui-corner-all", "ui-slider-range": "ui-corner-all ui-widget-header" }, distance: 0, max: 100, min: 0, orientation: "horizontal", range: !1, step: 1, value: 0, values: null, change: null, slide: null, start: null, stop: null }, numPages: 5, _create: function() { this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this._calculateNewMax(), this._addClass("ui-slider ui-slider-" + this.orientation, "ui-widget ui-widget-content"), this._refresh(), this._animateOff = !1 }, _refresh: function() { this._createRange(), this._createHandles(), this._setupEvents(), this._refreshValue() }, _createHandles: function() { var e, i, n = this.options, s = this.element.find(".ui-slider-handle"), o = []; for (i = n.values && n.values.length || 1, s.length > i && (s.slice(i).remove(), s = s.slice(0, i)), e = s.length; e < i; e++) o.push("<span tabindex='0'></span>"); this.handles = s.add(t(o.join("")).appendTo(this.element)), this._addClass(this.handles, "ui-slider-handle", "ui-state-default"), this.handle = this.handles.eq(0), this.handles.each((function(e) { t(this).data("ui-slider-handle-index", e).attr("tabIndex", 0) })) }, _createRange: function() { var e = this.options; e.range ? (!0 === e.range && (e.values ? e.values.length && 2 !== e.values.length ? e.values = [e.values[0], e.values[0]] : t.isArray(e.values) && (e.values = e.values.slice(0)) : e.values = [this._valueMin(), this._valueMin()]), this.range && this.range.length ? (this._removeClass(this.range, "ui-slider-range-min ui-slider-range-max"), this.range.css({ left: "", bottom: "" })) : (this.range = t("<div>").appendTo(this.element), this._addClass(this.range, "ui-slider-range")), ("min" === e.range || "max" === e.range) && this._addClass(this.range, "ui-slider-range-" + e.range)) : (this.range && this.range.remove(), this.range = null) }, _setupEvents: function() { this._off(this.handles), this._on(this.handles, this._handleEvents), this._hoverable(this.handles), this._focusable(this.handles) }, _destroy: function() { this.handles.remove(), this.range && this.range.remove(), this._mouseDestroy() }, _mouseCapture: function(e) { var i, n, s, o, a, r, l, h = this, c = this.options; return !c.disabled && (this.elementSize = { width: this.element.outerWidth(), height: this.element.outerHeight() }, this.elementOffset = this.element.offset(), i = { x: e.pageX, y: e.pageY }, n = this._normValueFromMouse(i), s = this._valueMax() - this._valueMin() + 1, this.handles.each((function(e) { var i = Math.abs(n - h.values(e)); (s > i || s === i && (e === h._lastChangedValue || h.values(e) === c.min)) && (s = i, o = t(this), a = e) })), !1 !== this._start(e, a) && (this._mouseSliding = !0, this._handleIndex = a, this._addClass(o, null, "ui-state-active"), o.trigger("focus"), r = o.offset(), l = !t(e.target).parents().addBack().is(".ui-slider-handle"), this._clickOffset = l ? { left: 0, top: 0 } : { left: e.pageX - r.left - o.width() / 2, top: e.pageY - r.top - o.height() / 2 - (parseInt(o.css("borderTopWidth"), 10) || 0) - (parseInt(o.css("borderBottomWidth"), 10) || 0) + (parseInt(o.css("marginTop"), 10) || 0) }, this.handles.hasClass("ui-state-hover") || this._slide(e, a, n), this._animateOff = !0, !0)) }, _mouseStart: function() { return !0 }, _mouseDrag: function(t) { var e = { x: t.pageX, y: t.pageY }, i = this._normValueFromMouse(e); return this._slide(t, this._handleIndex, i), !1 }, _mouseStop: function(t) { return this._removeClass(this.handles, null, "ui-state-active"), this._mouseSliding = !1, this._stop(t, this._handleIndex), this._change(t, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1 }, _detectOrientation: function() { this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal" }, _normValueFromMouse: function(t) { var e, i, n, s, o; return "horizontal" === this.orientation ? (e = this.elementSize.width, i = t.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (e = this.elementSize.height, i = t.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)), (n = i / e) > 1 && (n = 1), n < 0 && (n = 0), "vertical" === this.orientation && (n = 1 - n), s = this._valueMax() - this._valueMin(), o = this._valueMin() + n * s, this._trimAlignValue(o) }, _uiHash: function(t, e, i) { var n = { handle: this.handles[t], handleIndex: t, value: void 0 !== e ? e : this.value() }; return this._hasMultipleValues() && (n.value = void 0 !== e ? e : this.values(t), n.values = i || this.values()), n }, _hasMultipleValues: function() { return this.options.values && this.options.values.length }, _start: function(t, e) { return this._trigger("start", t, this._uiHash(e)) }, _slide: function(t, e, i) { var n, s = this.value(), o = this.values(); this._hasMultipleValues() && (n = this.values(e ? 0 : 1), s = this.values(e), 2 === this.options.values.length && !0 === this.options.range && (i = 0 === e ? Math.min(n, i) : Math.max(n, i)), o[e] = i), i !== s && !1 !== this._trigger("slide", t, this._uiHash(e, i, o)) && (this._hasMultipleValues() ? this.values(e, i) : this.value(i)) }, _stop: function(t, e) { this._trigger("stop", t, this._uiHash(e)) }, _change: function(t, e) { this._keySliding || this._mouseSliding || (this._lastChangedValue = e, this._trigger("change", t, this._uiHash(e))) }, value: function(t) { return arguments.length ? (this.options.value = this._trimAlignValue(t), this._refreshValue(), void this._change(null, 0)) : this._value() }, values: function(e, i) { var n, s, o; if (arguments.length > 1) return this.options.values[e] = this._trimAlignValue(i), this._refreshValue(), void this._change(null, e); if (!arguments.length) return this._values(); if (!t.isArray(arguments[0])) return this._hasMultipleValues() ? this._values(e) : this.value(); for (n = this.options.values, s = arguments[0], o = 0; o < n.length; o += 1) n[o] = this._trimAlignValue(s[o]), this._change(null, o); this._refreshValue() }, _setOption: function(e, i) { var n, s = 0; switch ("range" === e && !0 === this.options.range && ("min" === i ? (this.options.value = this._values(0), this.options.values = null) : "max" === i && (this.options.value = this._values(this.options.values.length - 1), this.options.values = null)), t.isArray(this.options.values) && (s = this.options.values.length), this._super(e, i), e) { case "orientation": this._detectOrientation(), this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-" + this.orientation), this._refreshValue(), this.options.range && this._refreshRange(i), this.handles.css("horizontal" === i ? "bottom" : "left", ""); break; case "value": this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1; break; case "values": for (this._animateOff = !0, this._refreshValue(), n = s - 1; n >= 0; n--) this._change(null, n); this._animateOff = !1; break; case "step": case "min": case "max": this._animateOff = !0, this._calculateNewMax(), this._refreshValue(), this._animateOff = !1; break; case "range": this._animateOff = !0, this._refresh(), this._animateOff = !1 } }, _setOptionDisabled: function(t) { this._super(t), this._toggleClass(null, "ui-state-disabled", !!t) }, _value: function() { var t = this.options.value; return this._trimAlignValue(t) }, _values: function(t) { var e, i, n; if (arguments.length) return e = this.options.values[t], this._trimAlignValue(e); if (this._hasMultipleValues()) { for (i = this.options.values.slice(), n = 0; n < i.length; n += 1) i[n] = this._trimAlignValue(i[n]); return i } return [] }, _trimAlignValue: function(t) { if (t <= this._valueMin()) return this._valueMin(); if (t >= this._valueMax()) return this._valueMax(); var e = this.options.step > 0 ? this.options.step : 1, i = (t - this._valueMin()) % e, n = t - i; return 2 * Math.abs(i) >= e && (n += i > 0 ? e : -e), parseFloat(n.toFixed(5)) }, _calculateNewMax: function() { var t = this.options.max, e = this._valueMin(), i = this.options.step; (t = Math.round((t - e) / i) * i + e) > this.options.max && (t -= i), this.max = parseFloat(t.toFixed(this._precision())) }, _precision: function() { var t = this._precisionOf(this.options.step); return null !== this.options.min && (t = Math.max(t, this._precisionOf(this.options.min))), t }, _precisionOf: function(t) { var e = t.toString(), i = e.indexOf("."); return -1 === i ? 0 : e.length - i - 1 }, _valueMin: function() { return this.options.min }, _valueMax: function() { return this.max }, _refreshRange: function(t) { "vertical" === t && this.range.css({ width: "", left: "" }), "horizontal" === t && this.range.css({ height: "", bottom: "" }) }, _refreshValue: function() { var e, i, n, s, o, a = this.options.range, r = this.options, l = this, h = !this._animateOff && r.animate, c = {}; this._hasMultipleValues() ? this.handles.each((function(n) { i = (l.values(n) - l._valueMin()) / (l._valueMax() - l._valueMin()) * 100, c["horizontal" === l.orientation ? "left" : "bottom"] = i + "%", t(this).stop(1, 1)[h ? "animate" : "css"](c, r.animate), !0 === l.options.range && ("horizontal" === l.orientation ? (0 === n && l.range.stop(1, 1)[h ? "animate" : "css"]({ left: i + "%" }, r.animate), 1 === n && l.range[h ? "animate" : "css"]({ width: i - e + "%" }, { queue: !1, duration: r.animate })) : (0 === n && l.range.stop(1, 1)[h ? "animate" : "css"]({ bottom: i + "%" }, r.animate), 1 === n && l.range[h ? "animate" : "css"]({ height: i - e + "%" }, { queue: !1, duration: r.animate }))), e = i })) : (n = this.value(), s = this._valueMin(), o = this._valueMax(), i = o !== s ? (n - s) / (o - s) * 100 : 0, c["horizontal" === this.orientation ? "left" : "bottom"] = i + "%", this.handle.stop(1, 1)[h ? "animate" : "css"](c, r.animate), "min" === a && "horizontal" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({ width: i + "%" }, r.animate), "max" === a && "horizontal" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({ width: 100 - i + "%" }, r.animate), "min" === a && "vertical" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({ height: i + "%" }, r.animate), "max" === a && "vertical" === this.orientation && this.range.stop(1, 1)[h ? "animate" : "css"]({ height: 100 - i + "%" }, r.animate)) }, _handleEvents: { keydown: function(e) { var i, n, s, o = t(e.target).data("ui-slider-handle-index"); switch (e.keyCode) { case t.ui.keyCode.HOME: case t.ui.keyCode.END: case t.ui.keyCode.PAGE_UP: case t.ui.keyCode.PAGE_DOWN: case t.ui.keyCode.UP: case t.ui.keyCode.RIGHT: case t.ui.keyCode.DOWN: case t.ui.keyCode.LEFT: if (e.preventDefault(), !this._keySliding && (this._keySliding = !0, this._addClass(t(e.target), null, "ui-state-active"), !1 === this._start(e, o))) return } switch (s = this.options.step, i = n = this._hasMultipleValues() ? this.values(o) : this.value(), e.keyCode) { case t.ui.keyCode.HOME: n = this._valueMin(); break; case t.ui.keyCode.END: n = this._valueMax(); break; case t.ui.keyCode.PAGE_UP: n = this._trimAlignValue(i + (this._valueMax() - this._valueMin()) / this.numPages); break; case t.ui.keyCode.PAGE_DOWN: n = this._trimAlignValue(i - (this._valueMax() - this._valueMin()) / this.numPages); break; case t.ui.keyCode.UP: case t.ui.keyCode.RIGHT: if (i === this._valueMax()) return; n = this._trimAlignValue(i + s); break; case t.ui.keyCode.DOWN: case t.ui.keyCode.LEFT: if (i === this._valueMin()) return; n = this._trimAlignValue(i - s) } this._slide(e, o, n) }, keyup: function(e) { var i = t(e.target).data("ui-slider-handle-index"); this._keySliding && (this._keySliding = !1, this._stop(e, i), this._change(e, i), this._removeClass(t(e.target), null, "ui-state-active")) } } }), t.widget("ui.sortable", t.ui.mouse, { version: "1.12.1", widgetEventPrefix: "sort", ready: !1, options: { appendTo: "parent", axis: !1, connectWith: !1, containment: !1, cursor: "auto", cursorAt: !1, dropOnEmpty: !0, forcePlaceholderSize: !1, forceHelperSize: !1, grid: !1, handle: !1, helper: "original", items: "> *", opacity: !1, placeholder: !1, revert: !1, scroll: !0, scrollSensitivity: 20, scrollSpeed: 20, scope: "default", tolerance: "intersect", zIndex: 1e3, activate: null, beforeStop: null, change: null, deactivate: null, out: null, over: null, receive: null, remove: null, sort: null, start: null, stop: null, update: null }, _isOverAxis: function(t, e, i) { return t >= e && t < e + i }, _isFloating: function(t) { return /left|right/.test(t.css("float")) || /inline|table-cell/.test(t.css("display")) }, _create: function() { this.containerCache = {}, this._addClass("ui-sortable"), this.refresh(), this.offset = this.element.offset(), this._mouseInit(), this._setHandleClassName(), this.ready = !0 }, _setOption: function(t, e) { this._super(t, e), "handle" === t && this._setHandleClassName() }, _setHandleClassName: function() { var e = this; this._removeClass(this.element.find(".ui-sortable-handle"), "ui-sortable-handle"), t.each(this.items, (function() { e._addClass(this.instance.options.handle ? this.item.find(this.instance.options.handle) : this.item, "ui-sortable-handle") })) }, _destroy: function() { this._mouseDestroy(); for (var t = this.items.length - 1; t >= 0; t--) this.items[t].item.removeData(this.widgetName + "-item"); return this }, _mouseCapture: function(e, i) { var n = null, s = !1, o = this; return !this.reverting && (!this.options.disabled && "static" !== this.options.type && (this._refreshItems(e), t(e.target).parents().each((function() { if (t.data(this, o.widgetName + "-item") === o) return n = t(this), !1 })), t.data(e.target, o.widgetName + "-item") === o && (n = t(e.target)), !!n && (!(this.options.handle && !i && (t(this.options.handle, n).find("*").addBack().each((function() { this === e.target && (s = !0) })), !s)) && (this.currentItem = n, this._removeCurrentsFromItems(), !0)))) }, _mouseStart: function(e, i, n) { var s, o, a = this.options; if (this.currentContainer = this, this.refreshPositions(), this.helper = this._createHelper(e), this._cacheHelperProportions(), this._cacheMargins(), this.scrollParent = this.helper.scrollParent(), this.offset = this.currentItem.offset(), this.offset = { top: this.offset.top - this.margins.top, left: this.offset.left - this.margins.left }, t.extend(this.offset, { click: { left: e.pageX - this.offset.left, top: e.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }), this.helper.css("position", "absolute"), this.cssPosition = this.helper.css("position"), this.originalPosition = this._generatePosition(e), this.originalPageX = e.pageX, this.originalPageY = e.pageY, a.cursorAt && this._adjustOffsetFromHelper(a.cursorAt), this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }, this.helper[0] !== this.currentItem[0] && this.currentItem.hide(), this._createPlaceholder(), a.containment && this._setContainment(), a.cursor && "auto" !== a.cursor && (o = this.document.find("body"), this.storedCursor = o.css("cursor"), o.css("cursor", a.cursor), this.storedStylesheet = t("<style>*{ cursor: " + a.cursor + " !important; }</style>").appendTo(o)), a.opacity && (this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")), this.helper.css("opacity", a.opacity)), a.zIndex && (this.helper.css("zIndex") && (this._storedZIndex = this.helper.css("zIndex")), this.helper.css("zIndex", a.zIndex)), this.scrollParent[0] !== this.document[0] && "HTML" !== this.scrollParent[0].tagName && (this.overflowOffset = this.scrollParent.offset()), this._trigger("start", e, this._uiHash()), this._preserveHelperProportions || this._cacheHelperProportions(), !n) for (s = this.containers.length - 1; s >= 0; s--) this.containers[s]._trigger("activate", e, this._uiHash(this)); return t.ui.ddmanager && (t.ui.ddmanager.current = this), t.ui.ddmanager && !a.dropBehaviour && t.ui.ddmanager.prepareOffsets(this, e), this.dragging = !0, this._addClass(this.helper, "ui-sortable-helper"), this._mouseDrag(e), !0 }, _mouseDrag: function(e) { var i, n, s, o, a = this.options, r = !1; for (this.position = this._generatePosition(e), this.positionAbs = this._convertPositionTo("absolute"), this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs), this.options.scroll && (this.scrollParent[0] !== this.document[0] && "HTML" !== this.scrollParent[0].tagName ? (this.overflowOffset.top + this.scrollParent[0].offsetHeight - e.pageY < a.scrollSensitivity ? this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop + a.scrollSpeed : e.pageY - this.overflowOffset.top < a.scrollSensitivity && (this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop - a.scrollSpeed), this.overflowOffset.left + this.scrollParent[0].offsetWidth - e.pageX < a.scrollSensitivity ? this.scrollParent[0].scrollLeft = r = this.scrollParent[0].scrollLeft + a.scrollSpeed : e.pageX - this.overflowOffset.left < a.scrollSensitivity && (this.scrollParent[0].scrollLeft = r = this.scrollParent[0].scrollLeft - a.scrollSpeed)) : (e.pageY - this.document.scrollTop() < a.scrollSensitivity ? r = this.document.scrollTop(this.document.scrollTop() - a.scrollSpeed) : this.window.height() - (e.pageY - this.document.scrollTop()) < a.scrollSensitivity && (r = this.document.scrollTop(this.document.scrollTop() + a.scrollSpeed)), e.pageX - this.document.scrollLeft() < a.scrollSensitivity ? r = this.document.scrollLeft(this.document.scrollLeft() - a.scrollSpeed) : this.window.width() - (e.pageX - this.document.scrollLeft()) < a.scrollSensitivity && (r = this.document.scrollLeft(this.document.scrollLeft() + a.scrollSpeed))), !1 !== r && t.ui.ddmanager && !a.dropBehaviour && t.ui.ddmanager.prepareOffsets(this, e)), this.positionAbs = this._convertPositionTo("absolute"), this.options.axis && "y" === this.options.axis || (this.helper[0].style.left = this.position.left + "px"), this.options.axis && "x" === this.options.axis || (this.helper[0].style.top = this.position.top + "px"), i = this.items.length - 1; i >= 0; i--) if (s = (n = this.items[i]).item[0], (o = this._intersectsWithPointer(n)) && n.instance === this.currentContainer && s !== this.currentItem[0] && this.placeholder[1 === o ? "next" : "prev"]()[0] !== s && !t.contains(this.placeholder[0], s) && ("semi-dynamic" !== this.options.type || !t.contains(this.element[0], s))) { if (this.direction = 1 === o ? "down" : "up", "pointer" !== this.options.tolerance && !this._intersectsWithSides(n)) break; this._rearrange(e, n), this._trigger("change", e, this._uiHash()); break } return this._contactContainers(e), t.ui.ddmanager && t.ui.ddmanager.drag(this, e), this._trigger("sort", e, this._uiHash()), this.lastPositionAbs = this.positionAbs, !1 }, _mouseStop: function(e, i) { if (e) { if (t.ui.ddmanager && !this.options.dropBehaviour && t.ui.ddmanager.drop(this, e), this.options.revert) { var n = this, s = this.placeholder.offset(), o = this.options.axis, a = {}; o && "x" !== o || (a.left = s.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft)), o && "y" !== o || (a.top = s.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop)), this.reverting = !0, t(this.helper).animate(a, parseInt(this.options.revert, 10) || 500, (function() { n._clear(e) })) } else this._clear(e, i); return !1 } }, cancel: function() { if (this.dragging) { this._mouseUp(new t.Event("mouseup", { target: null })), "original" === this.options.helper ? (this.currentItem.css(this._storedCSS), this._removeClass(this.currentItem, "ui-sortable-helper")) : this.currentItem.show(); for (var e = this.containers.length - 1; e >= 0; e--) this.containers[e]._trigger("deactivate", null, this._uiHash(this)), this.containers[e].containerCache.over && (this.containers[e]._trigger("out", null, this._uiHash(this)), this.containers[e].containerCache.over = 0) } return this.placeholder && (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]), "original" !== this.options.helper && this.helper && this.helper[0].parentNode && this.helper.remove(), t.extend(this, { helper: null, dragging: !1, reverting: !1, _noFinalSort: null }), this.domPosition.prev ? t(this.domPosition.prev).after(this.currentItem) : t(this.domPosition.parent).prepend(this.currentItem)), this }, serialize: function(e) { var i = this._getItemsAsjQuery(e && e.connected), n = []; return e = e || {}, t(i).each((function() { var i = (t(e.item || this).attr(e.attribute || "id") || "").match(e.expression || /(.+)[\-=_](.+)/); i && n.push((e.key || i[1] + "[]") + "=" + (e.key && e.expression ? i[1] : i[2])) })), !n.length && e.key && n.push(e.key + "="), n.join("&") }, toArray: function(e) { var i = this._getItemsAsjQuery(e && e.connected), n = []; return e = e || {}, i.each((function() { n.push(t(e.item || this).attr(e.attribute || "id") || "") })), n }, _intersectsWith: function(t) { var e = this.positionAbs.left, i = e + this.helperProportions.width, n = this.positionAbs.top, s = n + this.helperProportions.height, o = t.left, a = o + t.width, r = t.top, l = r + t.height, h = this.offset.click.top, c = this.offset.click.left, u = "x" === this.options.axis || n + h > r && n + h < l, d = "y" === this.options.axis || e + c > o && e + c < a, p = u && d; return "pointer" === this.options.tolerance || this.options.forcePointerForContainers || "pointer" !== this.options.tolerance && this.helperProportions[this.floating ? "width" : "height"] > t[this.floating ? "width" : "height"] ? p : o < e + this.helperProportions.width / 2 && i - this.helperProportions.width / 2 < a && r < n + this.helperProportions.height / 2 && s - this.helperProportions.height / 2 < l }, _intersectsWithPointer: function(t) { var e, i, n = "x" === this.options.axis || this._isOverAxis(this.positionAbs.top + this.offset.click.top, t.top, t.height), s = "y" === this.options.axis || this._isOverAxis(this.positionAbs.left + this.offset.click.left, t.left, t.width); return !!(n && s) && (e = this._getDragVerticalDirection(), i = this._getDragHorizontalDirection(), this.floating ? "right" === i || "down" === e ? 2 : 1 : e && ("down" === e ? 2 : 1)) }, _intersectsWithSides: function(t) { var e = this._isOverAxis(this.positionAbs.top + this.offset.click.top, t.top + t.height / 2, t.height), i = this._isOverAxis(this.positionAbs.left + this.offset.click.left, t.left + t.width / 2, t.width), n = this._getDragVerticalDirection(), s = this._getDragHorizontalDirection(); return this.floating && s ? "right" === s && i || "left" === s && !i : n && ("down" === n && e || "up" === n && !e) }, _getDragVerticalDirection: function() { var t = this.positionAbs.top - this.lastPositionAbs.top; return 0 !== t && (t > 0 ? "down" : "up") }, _getDragHorizontalDirection: function() { var t = this.positionAbs.left - this.lastPositionAbs.left; return 0 !== t && (t > 0 ? "right" : "left") }, refresh: function(t) { return this._refreshItems(t), this._setHandleClassName(), this.refreshPositions(), this }, _connectWith: function() { var t = this.options; return t.connectWith.constructor === String ? [t.connectWith] : t.connectWith }, _getItemsAsjQuery: function(e) { function i() { r.push(this) } var n, s, o, a, r = [], l = [], h = this._connectWith(); if (h && e) for (n = h.length - 1; n >= 0; n--) for (s = (o = t(h[n], this.document[0])).length - 1; s >= 0; s--)(a = t.data(o[s], this.widgetFullName)) && a !== this && !a.options.disabled && l.push([t.isFunction(a.options.items) ? a.options.items.call(a.element) : t(a.options.items, a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), a]); for (l.push([t.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : t(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]), n = l.length - 1; n >= 0; n--) l[n][0].each(i); return t(r) }, _removeCurrentsFromItems: function() { var e = this.currentItem.find(":data(" + this.widgetName + "-item)"); this.items = t.grep(this.items, (function(t) { for (var i = 0; i < e.length; i++) if (e[i] === t.item[0]) return !1; return !0 })) }, _refreshItems: function(e) { this.items = [], this.containers = [this]; var i, n, s, o, a, r, l, h, c = this.items, u = [ [t.isFunction(this.options.items) ? this.options.items.call(this.element[0], e, { item: this.currentItem }) : t(this.options.items, this.element), this] ], d = this._connectWith(); if (d && this.ready) for (i = d.length - 1; i >= 0; i--) for (n = (s = t(d[i], this.document[0])).length - 1; n >= 0; n--)(o = t.data(s[n], this.widgetFullName)) && o !== this && !o.options.disabled && (u.push([t.isFunction(o.options.items) ? o.options.items.call(o.element[0], e, { item: this.currentItem }) : t(o.options.items, o.element), o]), this.containers.push(o)); for (i = u.length - 1; i >= 0; i--) for (a = u[i][1], n = 0, h = (r = u[i][0]).length; n < h; n++)(l = t(r[n])).data(this.widgetName + "-item", a), c.push({ item: l, instance: a, width: 0, height: 0, left: 0, top: 0 }) }, refreshPositions: function(e) { this.floating = !!this.items.length && ("x" === this.options.axis || this._isFloating(this.items[0].item)), this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset()); for (var i, n, s, o = this.items.length - 1; o >= 0; o--)(i = this.items[o]).instance !== this.currentContainer && this.currentContainer && i.item[0] !== this.currentItem[0] || (n = this.options.toleranceElement ? t(this.options.toleranceElement, i.item) : i.item, e || (i.width = n.outerWidth(), i.height = n.outerHeight()), s = n.offset(), i.left = s.left, i.top = s.top); if (this.options.custom && this.options.custom.refreshContainers) this.options.custom.refreshContainers.call(this); else for (o = this.containers.length - 1; o >= 0; o--) s = this.containers[o].element.offset(), this.containers[o].containerCache.left = s.left, this.containers[o].containerCache.top = s.top, this.containers[o].containerCache.width = this.containers[o].element.outerWidth(), this.containers[o].containerCache.height = this.containers[o].element.outerHeight(); return this }, _createPlaceholder: function(e) { var i, n = (e = e || this).options; n.placeholder && n.placeholder.constructor !== String || (i = n.placeholder, n.placeholder = { element: function() { var n = e.currentItem[0].nodeName.toLowerCase(), s = t("<" + n + ">", e.document[0]); return e._addClass(s, "ui-sortable-placeholder", i || e.currentItem[0].className)._removeClass(s, "ui-sortable-helper"), "tbody" === n ? e._createTrPlaceholder(e.currentItem.find("tr").eq(0), t("<tr>", e.document[0]).appendTo(s)) : "tr" === n ? e._createTrPlaceholder(e.currentItem, s) : "img" === n && s.attr("src", e.currentItem.attr("src")), i || s.css("visibility", "hidden"), s }, update: function(t, s) { (!i || n.forcePlaceholderSize) && (s.height() || s.height(e.currentItem.innerHeight() - parseInt(e.currentItem.css("paddingTop") || 0, 10) - parseInt(e.currentItem.css("paddingBottom") || 0, 10)), s.width() || s.width(e.currentItem.innerWidth() - parseInt(e.currentItem.css("paddingLeft") || 0, 10) - parseInt(e.currentItem.css("paddingRight") || 0, 10))) } }), e.placeholder = t(n.placeholder.element.call(e.element, e.currentItem)), e.currentItem.after(e.placeholder), n.placeholder.update(e, e.placeholder) }, _createTrPlaceholder: function(e, i) { var n = this; e.children().each((function() { t("<td> </td>", n.document[0]).attr("colspan", t(this).attr("colspan") || 1).appendTo(i) })) }, _contactContainers: function(e) { for (var i, n, s, o, a, r, l, h, c, u = null, d = null, p = this.containers.length - 1; p >= 0; p--) if (!t.contains(this.currentItem[0], this.containers[p].element[0])) if (this._intersectsWith(this.containers[p].containerCache)) { if (u && t.contains(this.containers[p].element[0], u.element[0])) continue; u = this.containers[p], d = p } else this.containers[p].containerCache.over && (this.containers[p]._trigger("out", e, this._uiHash(this)), this.containers[p].containerCache.over = 0); if (u) if (1 === this.containers.length) this.containers[d].containerCache.over || (this.containers[d]._trigger("over", e, this._uiHash(this)), this.containers[d].containerCache.over = 1); else { for (n = 1e4, s = null, o = (h = u.floating || this._isFloating(this.currentItem)) ? "left" : "top", a = h ? "width" : "height", c = h ? "pageX" : "pageY", i = this.items.length - 1; i >= 0; i--) t.contains(this.containers[d].element[0], this.items[i].item[0]) && this.items[i].item[0] !== this.currentItem[0] && (r = this.items[i].item.offset()[o], l = !1, e[c] - r > this.items[i][a] / 2 && (l = !0), Math.abs(e[c] - r) < n && (n = Math.abs(e[c] - r), s = this.items[i], this.direction = l ? "up" : "down")); if (!s && !this.options.dropOnEmpty) return; if (this.currentContainer === this.containers[d]) return void(this.currentContainer.containerCache.over || (this.containers[d]._trigger("over", e, this._uiHash()), this.currentContainer.containerCache.over = 1)); s ? this._rearrange(e, s, null, !0) : this._rearrange(e, null, this.containers[d].element, !0), this._trigger("change", e, this._uiHash()), this.containers[d]._trigger("change", e, this._uiHash(this)), this.currentContainer = this.containers[d], this.options.placeholder.update(this.currentContainer, this.placeholder), this.containers[d]._trigger("over", e, this._uiHash(this)), this.containers[d].containerCache.over = 1 } }, _createHelper: function(e) { var i = this.options, n = t.isFunction(i.helper) ? t(i.helper.apply(this.element[0], [e, this.currentItem])) : "clone" === i.helper ? this.currentItem.clone() : this.currentItem; return n.parents("body").length || t("parent" !== i.appendTo ? i.appendTo : this.currentItem[0].parentNode)[0].appendChild(n[0]), n[0] === this.currentItem[0] && (this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") }), (!n[0].style.width || i.forceHelperSize) && n.width(this.currentItem.width()), (!n[0].style.height || i.forceHelperSize) && n.height(this.currentItem.height()), n }, _adjustOffsetFromHelper: function(e) { "string" == typeof e && (e = e.split(" ")), t.isArray(e) && (e = { left: +e[0], top: +e[1] || 0 }), "left" in e && (this.offset.click.left = e.left + this.margins.left), "right" in e && (this.offset.click.left = this.helperProportions.width - e.right + this.margins.left), "top" in e && (this.offset.click.top = e.top + this.margins.top), "bottom" in e && (this.offset.click.top = this.helperProportions.height - e.bottom + this.margins.top) }, _getParentOffset: function() { this.offsetParent = this.helper.offsetParent(); var e = this.offsetParent.offset(); return "absolute" === this.cssPosition && this.scrollParent[0] !== this.document[0] && t.contains(this.scrollParent[0], this.offsetParent[0]) && (e.left += this.scrollParent.scrollLeft(), e.top += this.scrollParent.scrollTop()), (this.offsetParent[0] === this.document[0].body || this.offsetParent[0].tagName && "html" === this.offsetParent[0].tagName.toLowerCase() && t.ui.ie) && (e = { top: 0, left: 0 }), { top: e.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: e.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) } }, _getRelativeOffset: function() { if ("relative" === this.cssPosition) { var t = this.currentItem.position(); return { top: t.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: t.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() } } return { top: 0, left: 0 } }, _cacheMargins: function() { this.margins = { left: parseInt(this.currentItem.css("marginLeft"), 10) || 0, top: parseInt(this.currentItem.css("marginTop"), 10) || 0 } }, _cacheHelperProportions: function() { this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() } }, _setContainment: function() { var e, i, n, s = this.options; "parent" === s.containment && (s.containment = this.helper[0].parentNode), ("document" === s.containment || "window" === s.containment) && (this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, "document" === s.containment ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left, ("document" === s.containment ? this.document.height() || document.body.parentNode.scrollHeight : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top]), /^(document|window|parent)$/.test(s.containment) || (e = t(s.containment)[0], i = t(s.containment).offset(), n = "hidden" !== t(e).css("overflow"), this.containment = [i.left + (parseInt(t(e).css("borderLeftWidth"), 10) || 0) + (parseInt(t(e).css("paddingLeft"), 10) || 0) - this.margins.left, i.top + (parseInt(t(e).css("borderTopWidth"), 10) || 0) + (parseInt(t(e).css("paddingTop"), 10) || 0) - this.margins.top, i.left + (n ? Math.max(e.scrollWidth, e.offsetWidth) : e.offsetWidth) - (parseInt(t(e).css("borderLeftWidth"), 10) || 0) - (parseInt(t(e).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, i.top + (n ? Math.max(e.scrollHeight, e.offsetHeight) : e.offsetHeight) - (parseInt(t(e).css("borderTopWidth"), 10) || 0) - (parseInt(t(e).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top]) }, _convertPositionTo: function(e, i) { i || (i = this.position); var n = "absolute" === e ? 1 : -1, s = "absolute" !== this.cssPosition || this.scrollParent[0] !== this.document[0] && t.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent, o = /(html|body)/i.test(s[0].tagName); return { top: i.top + this.offset.relative.top * n + this.offset.parent.top * n - ("fixed" === this.cssPosition ? -this.scrollParent.scrollTop() : o ? 0 : s.scrollTop()) * n, left: i.left + this.offset.relative.left * n + this.offset.parent.left * n - ("fixed" === this.cssPosition ? -this.scrollParent.scrollLeft() : o ? 0 : s.scrollLeft()) * n } }, _generatePosition: function(e) { var i, n, s = this.options, o = e.pageX, a = e.pageY, r = "absolute" !== this.cssPosition || this.scrollParent[0] !== this.document[0] && t.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent, l = /(html|body)/i.test(r[0].tagName); return "relative" !== this.cssPosition || this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0] || (this.offset.relative = this._getRelativeOffset()), this.originalPosition && (this.containment && (e.pageX - this.offset.click.left < this.containment[0] && (o = this.containment[0] + this.offset.click.left), e.pageY - this.offset.click.top < this.containment[1] && (a = this.containment[1] + this.offset.click.top), e.pageX - this.offset.click.left > this.containment[2] && (o = this.containment[2] + this.offset.click.left), e.pageY - this.offset.click.top > this.containment[3] && (a = this.containment[3] + this.offset.click.top)), s.grid && (i = this.originalPageY + Math.round((a - this.originalPageY) / s.grid[1]) * s.grid[1], a = this.containment ? i - this.offset.click.top >= this.containment[1] && i - this.offset.click.top <= this.containment[3] ? i : i - this.offset.click.top >= this.containment[1] ? i - s.grid[1] : i + s.grid[1] : i, n = this.originalPageX + Math.round((o - this.originalPageX) / s.grid[0]) * s.grid[0], o = this.containment ? n - this.offset.click.left >= this.containment[0] && n - this.offset.click.left <= this.containment[2] ? n : n - this.offset.click.left >= this.containment[0] ? n - s.grid[0] : n + s.grid[0] : n)), { top: a - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" === this.cssPosition ? -this.scrollParent.scrollTop() : l ? 0 : r.scrollTop()), left: o - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" === this.cssPosition ? -this.scrollParent.scrollLeft() : l ? 0 : r.scrollLeft()) } }, _rearrange: function(t, e, i, n) { i ? i[0].appendChild(this.placeholder[0]) : e.item[0].parentNode.insertBefore(this.placeholder[0], "down" === this.direction ? e.item[0] : e.item[0].nextSibling), this.counter = this.counter ? ++this.counter : 1; var s = this.counter; this._delay((function() { s === this.counter && this.refreshPositions(!n) })) }, _clear: function(t, e) { function i(t, e, i) { return function(n) { i._trigger(t, n, e._uiHash(e)) } } this.reverting = !1; var n, s = []; if (!this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem), this._noFinalSort = null, this.helper[0] === this.currentItem[0]) { for (n in this._storedCSS)("auto" === this._storedCSS[n] || "static" === this._storedCSS[n]) && (this._storedCSS[n] = ""); this.currentItem.css(this._storedCSS), this._removeClass(this.currentItem, "ui-sortable-helper") } else this.currentItem.show(); for (this.fromOutside && !e && s.push((function(t) { this._trigger("receive", t, this._uiHash(this.fromOutside)) })), (this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !e && s.push((function(t) { this._trigger("update", t, this._uiHash()) })), this !== this.currentContainer && (e || (s.push((function(t) { this._trigger("remove", t, this._uiHash()) })), s.push(function(t) { return function(e) { t._trigger("receive", e, this._uiHash(this)) } }.call(this, this.currentContainer)), s.push(function(t) { return function(e) { t._trigger("update", e, this._uiHash(this)) } }.call(this, this.currentContainer)))), n = this.containers.length - 1; n >= 0; n--) e || s.push(i("deactivate", this, this.containers[n])), this.containers[n].containerCache.over && (s.push(i("out", this, this.containers[n])), this.containers[n].containerCache.over = 0); if (this.storedCursor && (this.document.find("body").css("cursor", this.storedCursor), this.storedStylesheet.remove()), this._storedOpacity && this.helper.css("opacity", this._storedOpacity), this._storedZIndex && this.helper.css("zIndex", "auto" === this._storedZIndex ? "" : this._storedZIndex), this.dragging = !1, e || this._trigger("beforeStop", t, this._uiHash()), this.placeholder[0].parentNode.removeChild(this.placeholder[0]), this.cancelHelperRemoval || (this.helper[0] !== this.currentItem[0] && this.helper.remove(), this.helper = null), !e) { for (n = 0; n < s.length; n++) s[n].call(this, t); this._trigger("stop", t, this._uiHash()) } return this.fromOutside = !1, !this.cancelHelperRemoval }, _trigger: function() { !1 === t.Widget.prototype._trigger.apply(this, arguments) && this.cancel() }, _uiHash: function(e) { var i = e || this; return { helper: i.helper, placeholder: i.placeholder || t([]), position: i.position, originalPosition: i.originalPosition, offset: i.positionAbs, item: i.currentItem, sender: e ? e.element : null } } }); t.widget("ui.spinner", { version: "1.12.1", defaultElement: "<input>", widgetEventPrefix: "spin", options: { classes: { "ui-spinner": "ui-corner-all", "ui-spinner-down": "ui-corner-br", "ui-spinner-up": "ui-corner-tr" }, culture: null, icons: { down: "ui-icon-triangle-1-s", up: "ui-icon-triangle-1-n" }, incremental: !0, max: null, min: null, numberFormat: null, page: 10, step: 1, change: null, spin: null, start: null, stop: null }, _create: function() { this._setOption("max", this.options.max), this._setOption("min", this.options.min), this._setOption("step", this.options.step), "" !== this.value() && this._value(this.element.val(), !0), this._draw(), this._on(this._events), this._refresh(), this._on(this.window, { beforeunload: function() { this.element.removeAttr("autocomplete") } }) }, _getCreateOptions: function() { var e = this._super(), i = this.element; return t.each(["min", "max", "step"], (function(t, n) { var s = i.attr(n); null != s && s.length && (e[n] = s) })), e }, _events: { keydown: function(t) { this._start(t) && this._keydown(t) && t.preventDefault() }, keyup: "_stop", focus: function() { this.previous = this.element.val() }, blur: function(t) { this.cancelBlur ? delete this.cancelBlur : (this._stop(), this._refresh(), this.previous !== this.element.val() && this._trigger("change", t)) }, mousewheel: function(t, e) { if (e) { if (!this.spinning && !this._start(t)) return !1; this._spin((e > 0 ? 1 : -1) * this.options.step, t), clearTimeout(this.mousewheelTimer), this.mousewheelTimer = this._delay((function() { this.spinning && this._stop(t) }), 100), t.preventDefault() } }, "mousedown .ui-spinner-button": function(e) { function i() { this.element[0] === t.ui.safeActiveElement(this.document[0]) || (this.element.trigger("focus"), this.previous = n, this._delay((function() { this.previous = n }))) } var n; n = this.element[0] === t.ui.safeActiveElement(this.document[0]) ? this.previous : this.element.val(), e.preventDefault(), i.call(this), this.cancelBlur = !0, this._delay((function() { delete this.cancelBlur, i.call(this) })), !1 !== this._start(e) && this._repeat(null, t(e.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, e) }, "mouseup .ui-spinner-button": "_stop", "mouseenter .ui-spinner-button": function(e) { if (t(e.currentTarget).hasClass("ui-state-active")) { if (!1 === this._start(e)) return !1; this._repeat(null, t(e.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, e) } }, "mouseleave .ui-spinner-button": "_stop" }, _enhance: function() { this.uiSpinner = this.element.attr("autocomplete", "off").wrap("<span>").parent().append("<a></a><a></a>") }, _draw: function() { this._enhance(), this._addClass(this.uiSpinner, "ui-spinner", "ui-widget ui-widget-content"), this._addClass("ui-spinner-input"), this.element.attr("role", "spinbutton"), this.buttons = this.uiSpinner.children("a").attr("tabIndex", -1).attr("aria-hidden", !0).button({ classes: { "ui-button": "" } }), this._removeClass(this.buttons, "ui-corner-all"), this._addClass(this.buttons.first(), "ui-spinner-button ui-spinner-up"), this._addClass(this.buttons.last(), "ui-spinner-button ui-spinner-down"), this.buttons.first().button({ icon: this.options.icons.up, showLabel: !1 }), this.buttons.last().button({ icon: this.options.icons.down, showLabel: !1 }), this.buttons.height() > Math.ceil(.5 * this.uiSpinner.height()) && this.uiSpinner.height() > 0 && this.uiSpinner.height(this.uiSpinner.height()) }, _keydown: function(e) { var i = this.options, n = t.ui.keyCode; switch (e.keyCode) { case n.UP: return this._repeat(null, 1, e), !0; case n.DOWN: return this._repeat(null, -1, e), !0; case n.PAGE_UP: return this._repeat(null, i.page, e), !0; case n.PAGE_DOWN: return this._repeat(null, -i.page, e), !0 } return !1 }, _start: function(t) { return !(!this.spinning && !1 === this._trigger("start", t)) && (this.counter || (this.counter = 1), this.spinning = !0, !0) }, _repeat: function(t, e, i) { t = t || 500, clearTimeout(this.timer), this.timer = this._delay((function() { this._repeat(40, e, i) }), t), this._spin(e * this.options.step, i) }, _spin: function(t, e) { var i = this.value() || 0; this.counter || (this.counter = 1), i = this._adjustValue(i + t * this._increment(this.counter)), this.spinning && !1 === this._trigger("spin", e, { value: i }) || (this._value(i), this.counter++) }, _increment: function(e) { var i = this.options.incremental; return i ? t.isFunction(i) ? i(e) : Math.floor(e * e * e / 5e4 - e * e / 500 + 17 * e / 200 + 1) : 1 }, _precision: function() { var t = this._precisionOf(this.options.step); return null !== this.options.min && (t = Math.max(t, this._precisionOf(this.options.min))), t }, _precisionOf: function(t) { var e = t.toString(), i = e.indexOf("."); return -1 === i ? 0 : e.length - i - 1 }, _adjustValue: function(t) { var e, i, n = this.options; return i = t - (e = null !== n.min ? n.min : 0), t = e + (i = Math.round(i / n.step) * n.step), t = parseFloat(t.toFixed(this._precision())), null !== n.max && t > n.max ? n.max : null !== n.min && t < n.min ? n.min : t }, _stop: function(t) { this.spinning && (clearTimeout(this.timer), clearTimeout(this.mousewheelTimer), this.counter = 0, this.spinning = !1, this._trigger("stop", t)) }, _setOption: function(t, e) { var i, n, s; if ("culture" === t || "numberFormat" === t) return i = this._parse(this.element.val()), this.options[t] = e, void this.element.val(this._format(i)); ("max" === t || "min" === t || "step" === t) && "string" == typeof e && (e = this._parse(e)), "icons" === t && (n = this.buttons.first().find(".ui-icon"), this._removeClass(n, null, this.options.icons.up), this._addClass(n, null, e.up), s = this.buttons.last().find(".ui-icon"), this._removeClass(s, null, this.options.icons.down), this._addClass(s, null, e.down)), this._super(t, e) }, _setOptionDisabled: function(t) { this._super(t), this._toggleClass(this.uiSpinner, null, "ui-state-disabled", !!t), this.element.prop("disabled", !!t), this.buttons.button(t ? "disable" : "enable") }, _setOptions: o((function(t) { this._super(t) })), _parse: function(t) { return "string" == typeof t && "" !== t && (t = window.Globalize && this.options.numberFormat ? Globalize.parseFloat(t, 10, this.options.culture) : +t), "" === t || isNaN(t) ? null : t }, _format: function(t) { return "" === t ? "" : window.Globalize && this.options.numberFormat ? Globalize.format(t, this.options.numberFormat, this.options.culture) : t }, _refresh: function() { this.element.attr({ "aria-valuemin": this.options.min, "aria-valuemax": this.options.max, "aria-valuenow": this._parse(this.element.val()) }) }, isValid: function() { var t = this.value(); return null !== t && t === this._adjustValue(t) }, _value: function(t, e) { var i; "" !== t && (null !== (i = this._parse(t)) && (e || (i = this._adjustValue(i)), t = this._format(i))), this.element.val(t), this._refresh() }, _destroy: function() { this.element.prop("disabled", !1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"), this.uiSpinner.replaceWith(this.element) }, stepUp: o((function(t) { this._stepUp(t) })), _stepUp: function(t) { this._start() && (this._spin((t || 1) * this.options.step), this._stop()) }, stepDown: o((function(t) { this._stepDown(t) })), _stepDown: function(t) { this._start() && (this._spin((t || 1) * -this.options.step), this._stop()) }, pageUp: o((function(t) { this._stepUp((t || 1) * this.options.page) })), pageDown: o((function(t) { this._stepDown((t || 1) * this.options.page) })), value: function(t) { if (!arguments.length) return this._parse(this.element.val()); o(this._value).call(this, t) }, widget: function() { return this.uiSpinner } }), !1 !== t.uiBackCompat && t.widget("ui.spinner", t.ui.spinner, { _enhance: function() { this.uiSpinner = this.element.attr("autocomplete", "off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml()) }, _uiSpinnerHtml: function() { return "<span>" }, _buttonHtml: function() { return "<a></a><a></a>" } }), t.ui.spinner, t.widget("ui.tabs", { version: "1.12.1", delay: 300, options: { active: null, classes: { "ui-tabs": "ui-corner-all", "ui-tabs-nav": "ui-corner-all", "ui-tabs-panel": "ui-corner-bottom", "ui-tabs-tab": "ui-corner-top" }, collapsible: !1, event: "click", heightStyle: "content", hide: null, show: null, activate: null, beforeActivate: null, beforeLoad: null, load: null }, _isLocal: function() { var t = /#.*$/; return function(e) { var i, n; i = e.href.replace(t, ""), n = location.href.replace(t, ""); try { i = decodeURIComponent(i) } catch (t) {} try { n = decodeURIComponent(n) } catch (t) {} return e.hash.length > 1 && i === n } }(), _create: function() { var e = this, i = this.options; this.running = !1, this._addClass("ui-tabs", "ui-widget ui-widget-content"), this._toggleClass("ui-tabs-collapsible", null, i.collapsible), this._processTabs(), i.active = this._initialActive(), t.isArray(i.disabled) && (i.disabled = t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"), (function(t) { return e.tabs.index(t) })))).sort()), this.active = !1 !== this.options.active && this.anchors.length ? this._findActive(i.active) : t(), this._refresh(), this.active.length && this.load(i.active) }, _initialActive: function() { var e = this.options.active, i = this.options.collapsible, n = location.hash.substring(1); return null === e && (n && this.tabs.each((function(i, s) { if (t(s).attr("aria-controls") === n) return e = i, !1 })), null === e && (e = this.tabs.index(this.tabs.filter(".ui-tabs-active"))), (null === e || -1 === e) && (e = !!this.tabs.length && 0)), !1 !== e && (-1 === (e = this.tabs.index(this.tabs.eq(e))) && (e = !i && 0)), !i && !1 === e && this.anchors.length && (e = 0), e }, _getCreateEventData: function() { return { tab: this.active, panel: this.active.length ? this._getPanelForTab(this.active) : t() } }, _tabKeydown: function(e) { var i = t(t.ui.safeActiveElement(this.document[0])).closest("li"), n = this.tabs.index(i), s = !0; if (!this._handlePageNav(e)) { switch (e.keyCode) { case t.ui.keyCode.RIGHT: case t.ui.keyCode.DOWN: n++; break; case t.ui.keyCode.UP: case t.ui.keyCode.LEFT: s = !1, n--; break; case t.ui.keyCode.END: n = this.anchors.length - 1; break; case t.ui.keyCode.HOME: n = 0; break; case t.ui.keyCode.SPACE: return e.preventDefault(), clearTimeout(this.activating), void this._activate(n); case t.ui.keyCode.ENTER: return e.preventDefault(), clearTimeout(this.activating), void this._activate(n !== this.options.active && n); default: return } e.preventDefault(), clearTimeout(this.activating), n = this._focusNextTab(n, s), e.ctrlKey || e.metaKey || (i.attr("aria-selected", "false"), this.tabs.eq(n).attr("aria-selected", "true"), this.activating = this._delay((function() { this.option("active", n) }), this.delay)) } }, _panelKeydown: function(e) { this._handlePageNav(e) || e.ctrlKey && e.keyCode === t.ui.keyCode.UP && (e.preventDefault(), this.active.trigger("focus")) }, _handlePageNav: function(e) { return e.altKey && e.keyCode === t.ui.keyCode.PAGE_UP ? (this._activate(this._focusNextTab(this.options.active - 1, !1)), !0) : e.altKey && e.keyCode === t.ui.keyCode.PAGE_DOWN ? (this._activate(this._focusNextTab(this.options.active + 1, !0)), !0) : void 0 }, _findNextTab: function(e, i) { for (var n = this.tabs.length - 1; - 1 !== t.inArray((e > n && (e = 0), e < 0 && (e = n), e), this.options.disabled);) e = i ? e + 1 : e - 1; return e }, _focusNextTab: function(t, e) { return t = this._findNextTab(t, e), this.tabs.eq(t).trigger("focus"), t }, _setOption: function(t, e) { "active" !== t ? (this._super(t, e), "collapsible" === t && (this._toggleClass("ui-tabs-collapsible", null, e), e || !1 !== this.options.active || this._activate(0)), "event" === t && this._setupEvents(e), "heightStyle" === t && this._setupHeightStyle(e)) : this._activate(e) }, _sanitizeSelector: function(t) { return t ? t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&") : "" }, refresh: function() { var e = this.options, i = this.tablist.children(":has(a[href])"); e.disabled = t.map(i.filter(".ui-state-disabled"), (function(t) { return i.index(t) })), this._processTabs(), !1 !== e.active && this.anchors.length ? this.active.length && !t.contains(this.tablist[0], this.active[0]) ? this.tabs.length === e.disabled.length ? (e.active = !1, this.active = t()) : this._activate(this._findNextTab(Math.max(0, e.active - 1), !1)) : e.active = this.tabs.index(this.active) : (e.active = !1, this.active = t()), this._refresh() }, _refresh: function() { this._setOptionDisabled(this.options.disabled), this._setupEvents(this.options.event), this._setupHeightStyle(this.options.heightStyle), this.tabs.not(this.active).attr({ "aria-selected": "false", "aria-expanded": "false", tabIndex: -1 }), this.panels.not(this._getPanelForTab(this.active)).hide().attr({ "aria-hidden": "true" }), this.active.length ? (this.active.attr({ "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 }), this._addClass(this.active, "ui-tabs-active", "ui-state-active"), this._getPanelForTab(this.active).show().attr({ "aria-hidden": "false" })) : this.tabs.eq(0).attr("tabIndex", 0) }, _processTabs: function() { var e = this, i = this.tabs, n = this.anchors, s = this.panels; this.tablist = this._getList().attr("role", "tablist"), this._addClass(this.tablist, "ui-tabs-nav", "ui-helper-reset ui-helper-clearfix ui-widget-header"), this.tablist.on("mousedown" + this.eventNamespace, "> li", (function(e) { t(this).is(".ui-state-disabled") && e.preventDefault() })).on("focus" + this.eventNamespace, ".ui-tabs-anchor", (function() { t(this).closest("li").is(".ui-state-disabled") && this.blur() })), this.tabs = this.tablist.find("> li:has(a[href])").attr({ role: "tab", tabIndex: -1 }), this._addClass(this.tabs, "ui-tabs-tab", "ui-state-default"), this.anchors = this.tabs.map((function() { return t("a", this)[0] })).attr({ role: "presentation", tabIndex: -1 }), this._addClass(this.anchors, "ui-tabs-anchor"), this.panels = t(), this.anchors.each((function(i, n) { var s, o, a, r = t(n).uniqueId().attr("id"), l = t(n).closest("li"), h = l.attr("aria-controls"); e._isLocal(n) ? (a = (s = n.hash).substring(1), o = e.element.find(e._sanitizeSelector(s))) : (s = "#" + (a = l.attr("aria-controls") || t({}).uniqueId()[0].id), (o = e.element.find(s)).length || (o = e._createPanel(a)).insertAfter(e.panels[i - 1] || e.tablist), o.attr("aria-live", "polite")), o.length && (e.panels = e.panels.add(o)), h && l.data("ui-tabs-aria-controls", h), l.attr({ "aria-controls": a, "aria-labelledby": r }), o.attr("aria-labelledby", r) })), this.panels.attr("role", "tabpanel"), this._addClass(this.panels, "ui-tabs-panel", "ui-widget-content"), i && (this._off(i.not(this.tabs)), this._off(n.not(this.anchors)), this._off(s.not(this.panels))) }, _getList: function() { return this.tablist || this.element.find("ol, ul").eq(0) }, _createPanel: function(e) { return t("<div>").attr("id", e).data("ui-tabs-destroy", !0) }, _setOptionDisabled: function(e) { var i, n, s; for (t.isArray(e) && (e.length ? e.length === this.anchors.length && (e = !0) : e = !1), s = 0; n = this.tabs[s]; s++) i = t(n), !0 === e || -1 !== t.inArray(s, e) ? (i.attr("aria-disabled", "true"), this._addClass(i, null, "ui-state-disabled")) : (i.removeAttr("aria-disabled"), this._removeClass(i, null, "ui-state-disabled")); this.options.disabled = e, this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !0 === e) }, _setupEvents: function(e) { var i = {}; e && t.each(e.split(" "), (function(t, e) { i[e] = "_eventHandler" })), this._off(this.anchors.add(this.tabs).add(this.panels)), this._on(!0, this.anchors, { click: function(t) { t.preventDefault() } }), this._on(this.anchors, i), this._on(this.tabs, { keydown: "_tabKeydown" }), this._on(this.panels, { keydown: "_panelKeydown" }), this._focusable(this.tabs), this._hoverable(this.tabs) }, _setupHeightStyle: function(e) { var i, n = this.element.parent(); "fill" === e ? (i = n.height(), i -= this.element.outerHeight() - this.element.height(), this.element.siblings(":visible").each((function() { var e = t(this), n = e.css("position"); "absolute" !== n && "fixed" !== n && (i -= e.outerHeight(!0)) })), this.element.children().not(this.panels).each((function() { i -= t(this).outerHeight(!0) })), this.panels.each((function() { t(this).height(Math.max(0, i - t(this).innerHeight() + t(this).height())) })).css("overflow", "auto")) : "auto" === e && (i = 0, this.panels.each((function() { i = Math.max(i, t(this).height("").height()) })).height(i)) }, _eventHandler: function(e) { var i = this.options, n = this.active, s = t(e.currentTarget).closest("li"), o = s[0] === n[0], a = o && i.collapsible, r = a ? t() : this._getPanelForTab(s), l = n.length ? this._getPanelForTab(n) : t(), h = { oldTab: n, oldPanel: l, newTab: a ? t() : s, newPanel: r }; e.preventDefault(), s.hasClass("ui-state-disabled") || s.hasClass("ui-tabs-loading") || this.running || o && !i.collapsible || !1 === this._trigger("beforeActivate", e, h) || (i.active = !a && this.tabs.index(s), this.active = o ? t() : s, this.xhr && this.xhr.abort(), l.length || r.length || t.error("jQuery UI Tabs: Mismatching fragment identifier."), r.length && this.load(this.tabs.index(s), e), this._toggle(e, h)) }, _toggle: function(e, i) { function n() { o.running = !1, o._trigger("activate", e, i) } function s() { o._addClass(i.newTab.closest("li"), "ui-tabs-active", "ui-state-active"), a.length && o.options.show ? o._show(a, o.options.show, n) : (a.show(), n()) } var o = this, a = i.newPanel, r = i.oldPanel; this.running = !0, r.length && this.options.hide ? this._hide(r, this.options.hide, (function() { o._removeClass(i.oldTab.closest("li"), "ui-tabs-active", "ui-state-active"), s() })) : (this._removeClass(i.oldTab.closest("li"), "ui-tabs-active", "ui-state-active"), r.hide(), s()), r.attr("aria-hidden", "true"), i.oldTab.attr({ "aria-selected": "false", "aria-expanded": "false" }), a.length && r.length ? i.oldTab.attr("tabIndex", -1) : a.length && this.tabs.filter((function() { return 0 === t(this).attr("tabIndex") })).attr("tabIndex", -1), a.attr("aria-hidden", "false"), i.newTab.attr({ "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 }) }, _activate: function(e) { var i, n = this._findActive(e); n[0] !== this.active[0] && (n.length || (n = this.active), i = n.find(".ui-tabs-anchor")[0], this._eventHandler({ target: i, currentTarget: i, preventDefault: t.noop })) }, _findActive: function(e) { return !1 === e ? t() : this.tabs.eq(e) }, _getIndex: function(e) { return "string" == typeof e && (e = this.anchors.index(this.anchors.filter("[href$='" + t.ui.escapeSelector(e) + "']"))), e }, _destroy: function() { this.xhr && this.xhr.abort(), this.tablist.removeAttr("role").off(this.eventNamespace), this.anchors.removeAttr("role tabIndex").removeUniqueId(), this.tabs.add(this.panels).each((function() { t.data(this, "ui-tabs-destroy") ? t(this).remove() : t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded") })), this.tabs.each((function() { var e = t(this), i = e.data("ui-tabs-aria-controls"); i ? e.attr("aria-controls", i).removeData("ui-tabs-aria-controls") : e.removeAttr("aria-controls") })), this.panels.show(), "content" !== this.options.heightStyle && this.panels.css("height", "") }, enable: function(e) { var i = this.options.disabled; !1 !== i && (void 0 === e ? i = !1 : (e = this._getIndex(e), i = t.isArray(i) ? t.map(i, (function(t) { return t !== e ? t : null })) : t.map(this.tabs, (function(t, i) { return i !== e ? i : null }))), this._setOptionDisabled(i)) }, disable: function(e) { var i = this.options.disabled; if (!0 !== i) { if (void 0 === e) i = !0; else { if (e = this._getIndex(e), -1 !== t.inArray(e, i)) return; i = t.isArray(i) ? t.merge([e], i).sort() : [e] } this._setOptionDisabled(i) } }, load: function(e, i) { e = this._getIndex(e); var n = this, s = this.tabs.eq(e), o = s.find(".ui-tabs-anchor"), a = this._getPanelForTab(s), r = { tab: s, panel: a }, l = function(t, e) { "abort" === e && n.panels.stop(!1, !0), n._removeClass(s, "ui-tabs-loading"), a.removeAttr("aria-busy"), t === n.xhr && delete n.xhr }; this._isLocal(o[0]) || (this.xhr = t.ajax(this._ajaxSettings(o, i, r)), this.xhr && "canceled" !== this.xhr.statusText && (this._addClass(s, "ui-tabs-loading"), a.attr("aria-busy", "true"), this.xhr.done((function(t, e, s) { setTimeout((function() { a.html(t), n._trigger("load", i, r), l(s, e) }), 1) })).fail((function(t, e) { setTimeout((function() { l(t, e) }), 1) })))) }, _ajaxSettings: function(e, i, n) { var s = this; return { url: e.attr("href").replace(/#.*$/, ""), beforeSend: function(e, o) { return s._trigger("beforeLoad", i, t.extend({ jqXHR: e, ajaxSettings: o }, n)) } } }, _getPanelForTab: function(e) { var i = t(e).attr("aria-controls"); return this.element.find(this._sanitizeSelector("#" + i)) } }), !1 !== t.uiBackCompat && t.widget("ui.tabs", t.ui.tabs, { _processTabs: function() { this._superApply(arguments), this._addClass(this.tabs, "ui-tab") } }), t.ui.tabs, t.widget("ui.tooltip", { version: "1.12.1", options: { classes: { "ui-tooltip": "ui-corner-all ui-widget-shadow" }, content: function() { var e = t(this).attr("title") || ""; return t("<a>").text(e).html() }, hide: !0, items: "[title]:not([disabled])", position: { my: "left top+15", at: "left bottom", collision: "flipfit flip" }, show: !0, track: !1, close: null, open: null }, _addDescribedBy: function(e, i) { var n = (e.attr("aria-describedby") || "").split(/\s+/); n.push(i), e.data("ui-tooltip-id", i).attr("aria-describedby", t.trim(n.join(" "))) }, _removeDescribedBy: function(e) { var i = e.data("ui-tooltip-id"), n = (e.attr("aria-describedby") || "").split(/\s+/), s = t.inArray(i, n); - 1 !== s && n.splice(s, 1), e.removeData("ui-tooltip-id"), (n = t.trim(n.join(" "))) ? e.attr("aria-describedby", n) : e.removeAttr("aria-describedby") }, _create: function() { this._on({ mouseover: "open", focusin: "open" }), this.tooltips = {}, this.parents = {}, this.liveRegion = t("<div>").attr({ role: "log", "aria-live": "assertive", "aria-relevant": "additions" }).appendTo(this.document[0].body), this._addClass(this.liveRegion, null, "ui-helper-hidden-accessible"), this.disabledTitles = t([]) }, _setOption: function(e, i) { var n = this; this._super(e, i), "content" === e && t.each(this.tooltips, (function(t, e) { n._updateContent(e.element) })) }, _setOptionDisabled: function(t) { this[t ? "_disable" : "_enable"]() }, _disable: function() { var e = this; t.each(this.tooltips, (function(i, n) { var s = t.Event("blur"); s.target = s.currentTarget = n.element[0], e.close(s, !0) })), this.disabledTitles = this.disabledTitles.add(this.element.find(this.options.items).addBack().filter((function() { var e = t(this); if (e.is("[title]")) return e.data("ui-tooltip-title", e.attr("title")).removeAttr("title") }))) }, _enable: function() { this.disabledTitles.each((function() { var e = t(this); e.data("ui-tooltip-title") && e.attr("title", e.data("ui-tooltip-title")) })), this.disabledTitles = t([]) }, open: function(e) { var i = this, n = t(e ? e.target : this.element).closest(this.options.items); n.length && !n.data("ui-tooltip-id") && (n.attr("title") && n.data("ui-tooltip-title", n.attr("title")), n.data("ui-tooltip-open", !0), e && "mouseover" === e.type && n.parents().each((function() { var e, n = t(this); n.data("ui-tooltip-open") && ((e = t.Event("blur")).target = e.currentTarget = this, i.close(e, !0)), n.attr("title") && (n.uniqueId(), i.parents[this.id] = { element: this, title: n.attr("title") }, n.attr("title", "")) })), this._registerCloseHandlers(e, n), this._updateContent(n, e)) }, _updateContent: function(t, e) { var i, n = this.options.content, s = this, o = e ? e.type : null; if ("string" == typeof n || n.nodeType || n.jquery) return this._open(e, t, n); (i = n.call(t[0], (function(i) { s._delay((function() { t.data("ui-tooltip-open") && (e && (e.type = o), this._open(e, t, i)) })) }))) && this._open(e, t, i) }, _open: function(e, i, n) { function s(t) { h.of = t, a.is(":hidden") || a.position(h) } var o, a, r, l, h = t.extend({}, this.options.position); if (n) { if (o = this._find(i)) return void o.tooltip.find(".ui-tooltip-content").html(n); i.is("[title]") && (e && "mouseover" === e.type ? i.attr("title", "") : i.removeAttr("title")), o = this._tooltip(i), a = o.tooltip, this._addDescribedBy(i, a.attr("id")), a.find(".ui-tooltip-content").html(n), this.liveRegion.children().hide(), (l = t("<div>").html(a.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"), l.removeAttr("id").find("[id]").removeAttr("id"), l.appendTo(this.liveRegion), this.options.track && e && /^mouse/.test(e.type) ? (this._on(this.document, { mousemove: s }), s(e)) : a.position(t.extend({ of: i }, this.options.position)), a.hide(), this._show(a, this.options.show), this.options.track && this.options.show && this.options.show.delay && (r = this.delayedShow = setInterval((function() { a.is(":visible") && (s(h.of), clearInterval(r)) }), t.fx.interval)), this._trigger("open", e, { tooltip: a }) } }, _registerCloseHandlers: function(e, i) { var n = { keyup: function(e) { if (e.keyCode === t.ui.keyCode.ESCAPE) { var n = t.Event(e); n.currentTarget = i[0], this.close(n, !0) } } }; i[0] !== this.element[0] && (n.remove = function() { this._removeTooltip(this._find(i).tooltip) }), e && "mouseover" !== e.type || (n.mouseleave = "close"), e && "focusin" !== e.type || (n.focusout = "close"), this._on(!0, i, n) }, close: function(e) { var i, n = this, s = t(e ? e.currentTarget : this.element), o = this._find(s); o ? (i = o.tooltip, o.closing || (clearInterval(this.delayedShow), s.data("ui-tooltip-title") && !s.attr("title") && s.attr("title", s.data("ui-tooltip-title")), this._removeDescribedBy(s), o.hiding = !0, i.stop(!0), this._hide(i, this.options.hide, (function() { n._removeTooltip(t(this)) })), s.removeData("ui-tooltip-open"), this._off(s, "mouseleave focusout keyup"), s[0] !== this.element[0] && this._off(s, "remove"), this._off(this.document, "mousemove"), e && "mouseleave" === e.type && t.each(this.parents, (function(e, i) { t(i.element).attr("title", i.title), delete n.parents[e] })), o.closing = !0, this._trigger("close", e, { tooltip: i }), o.hiding || (o.closing = !1))) : s.removeData("ui-tooltip-open") }, _tooltip: function(e) { var i = t("<div>").attr("role", "tooltip"), n = t("<div>").appendTo(i), s = i.uniqueId().attr("id"); return this._addClass(n, "ui-tooltip-content"), this._addClass(i, "ui-tooltip", "ui-widget ui-widget-content"), i.appendTo(this._appendTo(e)), this.tooltips[s] = { element: e, tooltip: i } }, _find: function(t) { var e = t.data("ui-tooltip-id"); return e ? this.tooltips[e] : null }, _removeTooltip: function(t) { t.remove(), delete this.tooltips[t.attr("id")] }, _appendTo: function(t) { var e = t.closest(".ui-front, dialog"); return e.length || (e = this.document[0].body), e }, _destroy: function() { var e = this; t.each(this.tooltips, (function(i, n) { var s = t.Event("blur"), o = n.element; s.target = s.currentTarget = o[0], e.close(s, !0), t("#" + i).remove(), o.data("ui-tooltip-title") && (o.attr("title") || o.attr("title", o.data("ui-tooltip-title")), o.removeData("ui-tooltip-title")) })), this.liveRegion.remove() } }), !1 !== t.uiBackCompat && t.widget("ui.tooltip", t.ui.tooltip, { options: { tooltipClass: null }, _tooltip: function() { var t = this._superApply(arguments); return this.options.tooltipClass && t.tooltip.addClass(this.options.tooltipClass), t } }), t.ui.tooltip })), "undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery"); ! function(t) { "use strict"; var e = jQuery.fn.jquery.split(" ")[0].split("."); if (e[0] < 2 && e[1] < 9 || 1 == e[0] && 9 == e[1] && e[2] < 1 || e[0] > 3) throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4") }(), function(t) { "use strict"; t.fn.emulateTransitionEnd = function(e) { var i = !1, n = this; return t(this).one("bsTransitionEnd", (function() { i = !0 })), setTimeout((function() { i || t(n).trigger(t.support.transition.end) }), e), this }, t((function() { t.support.transition = function() { var t = document.createElement("bootstrap"), e = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend" }; for (var i in e) if (void 0 !== t.style[i]) return { end: e[i] }; return !1 }(), t.support.transition && (t.event.special.bsTransitionEnd = { bindType: t.support.transition.end, delegateType: t.support.transition.end, handle: function(e) { if (t(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) } }) })) }(jQuery), function(t) { "use strict"; var e, i = '[data-dismiss="alert"]', n = function(e) { t(e).on("click", i, this.close) }; n.VERSION = "3.3.7", n.TRANSITION_DURATION = 150, n.prototype.close = function(e) { function i() { s.detach().trigger("closed.bs.alert").remove() } var s, o = t(this), a = o.attr("data-target"); a || (a = (a = o.attr("href")) && a.replace(/.*(?=#[^\s]*$)/, "")), s = t("#" === a ? [] : a), e && e.preventDefault(), s.length || (s = o.closest(".alert")), s.trigger(e = t.Event("close.bs.alert")), e.isDefaultPrevented() || (s.removeClass("in"), t.support.transition && s.hasClass("fade") ? s.one("bsTransitionEnd", i).emulateTransitionEnd(n.TRANSITION_DURATION) : i()) }, e = t.fn.alert, t.fn.alert = function(e) { return this.each((function() { var i = t(this), s = i.data("bs.alert"); s || i.data("bs.alert", s = new n(this)), "string" == typeof e && s[e].call(i) })) }, t.fn.alert.Constructor = n, t.fn.alert.noConflict = function() { return t.fn.alert = e, this }, t(document).on("click.bs.alert.data-api", i, n.prototype.close) }(jQuery), function(t) { "use strict"; function e(e) { return this.each((function() { var i = t(this), s = i.data("bs.button"), o = "object" == typeof e && e; s || i.data("bs.button", s = new n(this, o)), "toggle" == e ? s.toggle() : e && s.setState(e) })) } var i, n = function(e, i) { this.$element = t(e), this.options = t.extend({}, n.DEFAULTS, i), this.isLoading = !1 }; n.VERSION = "3.3.7", n.DEFAULTS = { loadingText: "loading..." }, n.prototype.setState = function(e) { var i = "disabled", n = this.$element, s = n.is("input") ? "val" : "html", o = n.data(); e += "Text", null == o.resetText && n.data("resetText", n[s]()), setTimeout(t.proxy((function() { n[s](null == o[e] ? this.options[e] : o[e]), "loadingText" == e ? (this.isLoading = !0, n.addClass(i).attr(i, i).prop(i, !0)) : this.isLoading && (this.isLoading = !1, n.removeClass(i).removeAttr(i).prop(i, !1)) }), this), 0) }, n.prototype.toggle = function() { var t, e = !0, i = this.$element.closest('[data-toggle="buttons"]'); i.length ? ("radio" == (t = this.$element.find("input")).prop("type") ? (t.prop("checked") && (e = !1), i.find(".active").removeClass("active"), this.$element.addClass("active")) : "checkbox" == t.prop("type") && (t.prop("checked") !== this.$element.hasClass("active") && (e = !1), this.$element.toggleClass("active")), t.prop("checked", this.$element.hasClass("active")), e && t.trigger("change")) : (this.$element.attr("aria-pressed", !this.$element.hasClass("active")), this.$element.toggleClass("active")) }, i = t.fn.button, t.fn.button = e, t.fn.button.Constructor = n, t.fn.button.noConflict = function() { return t.fn.button = i, this }, t(document).on("click.bs.button.data-api", '[data-toggle^="button"]', (function(i) { var n = t(i.target).closest(".btn"); e.call(n, "toggle"), t(i.target).is('input[type="radio"], input[type="checkbox"]') || (i.preventDefault(), n.is("input,button") ? n.trigger("focus") : n.find("input:visible,button:visible").first().trigger("focus")) })).on("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle^="button"]', (function(e) { t(e.target).closest(".btn").toggleClass("focus", /^focus(in)?$/.test(e.type)) })) }(jQuery), function(t) { "use strict"; function e(e) { return this.each((function() { var i = t(this), n = i.data("bs.carousel"), o = t.extend({}, s.DEFAULTS, i.data(), "object" == typeof e && e), a = "string" == typeof e ? e : o.slide; n || i.data("bs.carousel", n = new s(this, o)), "number" == typeof e ? n.to(e) : a ? n[a]() : o.interval && n.pause().cycle() })) } var i, n, s = function(e, i) { this.$element = t(e), this.$indicators = this.$element.find(".carousel-indicators"), this.options = i, this.paused = null, this.sliding = null, this.interval = null, this.$active = null, this.$items = null, this.options.keyboard && this.$element.on("keydown.bs.carousel", t.proxy(this.keydown, this)), "hover" != this.options.pause || "ontouchstart" in document.documentElement || this.$element.on("mouseenter.bs.carousel", t.proxy(this.pause, this)).on("mouseleave.bs.carousel", t.proxy(this.cycle, this)) }; s.VERSION = "3.3.7", s.TRANSITION_DURATION = 600, s.DEFAULTS = { interval: 5e3, pause: "hover", wrap: !0, keyboard: !0 }, s.prototype.keydown = function(t) { if (!/input|textarea/i.test(t.target.tagName)) { switch (t.which) { case 37: this.prev(); break; case 39: this.next(); break; default: return } t.preventDefault() } }, s.prototype.cycle = function(e) { return e || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(t.proxy(this.next, this), this.options.interval)), this }, s.prototype.getItemIndex = function(t) { return this.$items = t.parent().children(".item"), this.$items.index(t || this.$active) }, s.prototype.getItemForDirection = function(t, e) { var i, n = this.getItemIndex(e); return ("prev" == t && 0 === n || "next" == t && n == this.$items.length - 1) && !this.options.wrap ? e : (i = (n + ("prev" == t ? -1 : 1)) % this.$items.length, this.$items.eq(i)) }, s.prototype.to = function(t) { var e = this, i = this.getItemIndex(this.$active = this.$element.find(".item.active")); if (!(t > this.$items.length - 1 || t < 0)) return this.sliding ? this.$element.one("slid.bs.carousel", (function() { e.to(t) })) : i == t ? this.pause().cycle() : this.slide(t > i ? "next" : "prev", this.$items.eq(t)) }, s.prototype.pause = function(e) { return e || (this.paused = !0), this.$element.find(".next, .prev").length && t.support.transition && (this.$element.trigger(t.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this }, s.prototype.next = function() { if (!this.sliding) return this.slide("next") }, s.prototype.prev = function() { if (!this.sliding) return this.slide("prev") }, s.prototype.slide = function(e, i) { var n, o, a, r, l = this.$element.find(".item.active"), h = i || this.getItemForDirection(e, l), c = this.interval, u = "next" == e ? "left" : "right", d = this; return h.hasClass("active") ? this.sliding = !1 : (n = h[0], o = t.Event("slide.bs.carousel", { relatedTarget: n, direction: u }), this.$element.trigger(o), o.isDefaultPrevented() ? void 0 : (this.sliding = !0, c && this.pause(), this.$indicators.length && (this.$indicators.find(".active").removeClass("active"), (a = t(this.$indicators.children()[this.getItemIndex(h)])) && a.addClass("active")), r = t.Event("slid.bs.carousel", { relatedTarget: n, direction: u }), t.support.transition && this.$element.hasClass("slide") ? (h.addClass(e), h[0].offsetWidth, l.addClass(u), h.addClass(u), l.one("bsTransitionEnd", (function() { h.removeClass([e, u].join(" ")).addClass("active"), l.removeClass(["active", u].join(" ")), d.sliding = !1, setTimeout((function() { d.$element.trigger(r) }), 0) })).emulateTransitionEnd(s.TRANSITION_DURATION)) : (l.removeClass("active"), h.addClass("active"), this.sliding = !1, this.$element.trigger(r)), c && this.cycle(), this)) }, i = t.fn.carousel, t.fn.carousel = e, t.fn.carousel.Constructor = s, t.fn.carousel.noConflict = function() { return t.fn.carousel = i, this }, n = function(i) { var n, s, o, a = t(this), r = t(a.attr("data-target") || (n = a.attr("href")) && n.replace(/.*(?=#[^\s]+$)/, "")); r.hasClass("carousel") && (s = t.extend({}, r.data(), a.data()), (o = a.attr("data-slide-to")) && (s.interval = !1), e.call(r, s), o && r.data("bs.carousel").to(o), i.preventDefault()) }, t(document).on("click.bs.carousel.data-api", "[data-slide]", n).on("click.bs.carousel.data-api", "[data-slide-to]", n), t(window).on("load", (function() { t('[data-ride="carousel"]').each((function() { var i = t(this); e.call(i, i.data()) })) })) }(jQuery), function(t) { "use strict"; function e(e) { var i, n = e.attr("data-target") || (i = e.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, ""); return t(n) } function i(e) { return this.each((function() { var i = t(this), n = i.data("bs.collapse"), o = t.extend({}, s.DEFAULTS, i.data(), "object" == typeof e && e); !n && o.toggle && /show|hide/.test(e) && (o.toggle = !1), n || i.data("bs.collapse", n = new s(this, o)), "string" == typeof e && n[e]() })) } var n, s = function(e, i) { this.$element = t(e), this.options = t.extend({}, s.DEFAULTS, i), this.$trigger = t('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle() }; s.VERSION = "3.3.7", s.TRANSITION_DURATION = 350, s.DEFAULTS = { toggle: !0 }, s.prototype.dimension = function() { return this.$element.hasClass("width") ? "width" : "height" }, s.prototype.show = function() { var e, n, o, a, r, l; if (!(this.transitioning || this.$element.hasClass("in") || (n = this.$parent && this.$parent.children(".panel").children(".in, .collapsing"), n && n.length && (e = n.data("bs.collapse"), e && e.transitioning)) || (o = t.Event("show.bs.collapse"), this.$element.trigger(o), o.isDefaultPrevented()))) { if (n && n.length && (i.call(n, "hide"), e || n.data("bs.collapse", null)), a = this.dimension(), this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1, r = function() { this.$element.removeClass("collapsing").addClass("collapse in")[a](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") }, !t.support.transition) return r.call(this); l = t.camelCase(["scroll", a].join("-")), this.$element.one("bsTransitionEnd", t.proxy(r, this)).emulateTransitionEnd(s.TRANSITION_DURATION)[a](this.$element[0][l]) } }, s.prototype.hide = function() { var e, i, n; if (!this.transitioning && this.$element.hasClass("in") && (e = t.Event("hide.bs.collapse"), this.$element.trigger(e), !e.isDefaultPrevented())) { if (i = this.dimension(), this.$element[i](this.$element[i]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1, n = function() { this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse") }, !t.support.transition) return n.call(this); this.$element[i](0).one("bsTransitionEnd", t.proxy(n, this)).emulateTransitionEnd(s.TRANSITION_DURATION) } }, s.prototype.toggle = function() { this[this.$element.hasClass("in") ? "hide" : "show"]() }, s.prototype.getParent = function() { return t(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(t.proxy((function(i, n) { var s = t(n); this.addAriaAndCollapsedClass(e(s), s) }), this)).end() }, s.prototype.addAriaAndCollapsedClass = function(t, e) { var i = t.hasClass("in"); t.attr("aria-expanded", i), e.toggleClass("collapsed", !i).attr("aria-expanded", i) }, n = t.fn.collapse, t.fn.collapse = i, t.fn.collapse.Constructor = s, t.fn.collapse.noConflict = function() { return t.fn.collapse = n, this }, t(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', (function(n) { var s = t(this); s.attr("data-target") || n.preventDefault(); var o = e(s), a = o.data("bs.collapse") ? "toggle" : s.data(); i.call(o, a) })) }(jQuery), function(t) { "use strict"; function e(e) { var i, n = e.attr("data-target"); return n || (n = (n = e.attr("href")) && /#[A-Za-z]/.test(n) && n.replace(/.*(?=#[^\s]*$)/, "")), (i = n && t(n)) && i.length ? i : e.parent() } function i(i) { i && 3 === i.which || (t(s).remove(), t(o).each((function() { var n = t(this), s = e(n), o = { relatedTarget: this }; s.hasClass("open") && (i && "click" == i.type && /input|textarea/i.test(i.target.tagName) && t.contains(s[0], i.target) || (s.trigger(i = t.Event("hide.bs.dropdown", o)), i.isDefaultPrevented()) || (n.attr("aria-expanded", "false"), s.removeClass("open").trigger(t.Event("hidden.bs.dropdown", o)))) }))) } var n, s = ".dropdown-backdrop", o = '[data-toggle="dropdown"]', a = function(e) { t(e).on("click.bs.dropdown", this.toggle) }; a.VERSION = "3.3.7", a.prototype.toggle = function(n) { var s, o, a, r = t(this); if (!r.is(".disabled, :disabled")) { if (o = (s = e(r)).hasClass("open"), i(), !o) { if ("ontouchstart" in document.documentElement && !s.closest(".navbar-nav").length && t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click", i), a = { relatedTarget: this }, s.trigger(n = t.Event("show.bs.dropdown", a)), n.isDefaultPrevented()) return; r.trigger("focus").attr("aria-expanded", "true"), s.toggleClass("open").trigger(t.Event("shown.bs.dropdown", a)) } return !1 } }, a.prototype.keydown = function(i) { var n, s, a, r, l; if (/(38|40|27|32)/.test(i.which) && !/input|textarea/i.test(i.target.tagName) && (n = t(this), i.preventDefault(), i.stopPropagation(), !n.is(".disabled, :disabled"))) { if (!(a = (s = e(n)).hasClass("open")) && 27 != i.which || a && 27 == i.which) return 27 == i.which && s.find(o).trigger("focus"), n.trigger("click"); " li:not(.disabled):visible a", (r = s.find(".dropdown-menu li:not(.disabled):visible a")).length && (l = r.index(i.target), 38 == i.which && l > 0 && l--, 40 == i.which && l < r.length - 1 && l++, ~l || (l = 0), r.eq(l).trigger("focus")) } }, n = t.fn.dropdown, t.fn.dropdown = function(e) { return this.each((function() { var i = t(this), n = i.data("bs.dropdown"); n || i.data("bs.dropdown", n = new a(this)), "string" == typeof e && n[e].call(i) })) }, t.fn.dropdown.Constructor = a, t.fn.dropdown.noConflict = function() { return t.fn.dropdown = n, this }, t(document).on("click.bs.dropdown.data-api", i).on("click.bs.dropdown.data-api", ".dropdown form", (function(t) { t.stopPropagation() })).on("click.bs.dropdown.data-api", o, a.prototype.toggle).on("keydown.bs.dropdown.data-api", o, a.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", a.prototype.keydown) }(jQuery), function(t) { "use strict"; function e(e, i) { return this.each((function() { var s = t(this), o = s.data("bs.modal"), a = t.extend({}, n.DEFAULTS, s.data(), "object" == typeof e && e); o || s.data("bs.modal", o = new n(this, a)), "string" == typeof e ? o[e](i) : a.show && o.show(i) })) } var i, n = function(e, i) { this.options = i, this.$body = t(document.body), this.$element = t(e), this.$dialog = this.$element.find(".modal-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.options.remote && this.$element.find(".modal-content").load(this.options.remote, t.proxy((function() { this.$element.trigger("loaded.bs.modal") }), this)) }; n.VERSION = "3.3.7", n.TRANSITION_DURATION = 300, n.BACKDROP_TRANSITION_DURATION = 150, n.DEFAULTS = { backdrop: !0, keyboard: !0, show: !0 }, n.prototype.toggle = function(t) { return this.isShown ? this.hide() : this.show(t) }, n.prototype.show = function(e) { var i = this, s = t.Event("show.bs.modal", { relatedTarget: e }); this.$element.trigger(s), this.isShown || s.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.setScrollbar(), this.$body.addClass("modal-open"), this.escape(), this.resize(), this.$element.on("click.dismiss.bs.modal", '[data-dismiss="modal"]', t.proxy(this.hide, this)), this.$dialog.on("mousedown.dismiss.bs.modal", (function() { i.$element.one("mouseup.dismiss.bs.modal", (function(e) { t(e.target).is(i.$element) && (i.ignoreBackdropClick = !0) })) })), this.backdrop((function() { var s, o = t.support.transition && i.$element.hasClass("fade"); i.$element.parent().length || i.$element.appendTo(i.$body), i.$element.show().scrollTop(0), i.adjustDialog(), o && i.$element[0].offsetWidth, i.$element.addClass("in"), i.enforceFocus(), s = t.Event("shown.bs.modal", { relatedTarget: e }), o ? i.$dialog.one("bsTransitionEnd", (function() { i.$element.trigger("focus").trigger(s) })).emulateTransitionEnd(n.TRANSITION_DURATION) : i.$element.trigger("focus").trigger(s) }))) }, n.prototype.hide = function(e) { e && e.preventDefault(), e = t.Event("hide.bs.modal"), this.$element.trigger(e), this.isShown && !e.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), t(document).off("focusin.bs.modal"), this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"), this.$dialog.off("mousedown.dismiss.bs.modal"), t.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", t.proxy(this.hideModal, this)).emulateTransitionEnd(n.TRANSITION_DURATION) : this.hideModal()) }, n.prototype.enforceFocus = function() { t(document).off("focusin.bs.modal").on("focusin.bs.modal", t.proxy((function(t) { document === t.target || this.$element[0] === t.target || this.$element.has(t.target).length || this.$element.trigger("focus") }), this)) }, n.prototype.escape = function() { this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", t.proxy((function(t) { 27 == t.which && this.hide() }), this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal") }, n.prototype.resize = function() { this.isShown ? t(window).on("resize.bs.modal", t.proxy(this.handleUpdate, this)) : t(window).off("resize.bs.modal") }, n.prototype.hideModal = function() { var t = this; this.$element.hide(), this.backdrop((function() { t.$body.removeClass("modal-open"), t.resetAdjustments(), t.resetScrollbar(), t.$element.trigger("hidden.bs.modal") })) }, n.prototype.removeBackdrop = function() { this.$backdrop && this.$backdrop.remove(), this.$backdrop = null }, n.prototype.backdrop = function(e) { var i, s, o = this, a = this.$element.hasClass("fade") ? "fade" : ""; if (this.isShown && this.options.backdrop) { if (i = t.support.transition && a, this.$backdrop = t(document.createElement("div")).addClass("modal-backdrop " + a).appendTo(this.$body), this.$element.on("click.dismiss.bs.modal", t.proxy((function(t) { this.ignoreBackdropClick ? this.ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide()) }), this)), i && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !e) return; i ? this.$backdrop.one("bsTransitionEnd", e).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION) : e() } else !this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), s = function() { o.removeBackdrop(), e && e() }, t.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", s).emulateTransitionEnd(n.BACKDROP_TRANSITION_DURATION) : s()) : e && e() }, n.prototype.handleUpdate = function() { this.adjustDialog() }, n.prototype.adjustDialog = function() { var t = this.$element[0].scrollHeight > document.documentElement.clientHeight; this.$element.css({ paddingLeft: !this.bodyIsOverflowing && t ? this.scrollbarWidth : "", paddingRight: this.bodyIsOverflowing && !t ? this.scrollbarWidth : "" }) }, n.prototype.resetAdjustments = function() { this.$element.css({ paddingLeft: "", paddingRight: "" }) }, n.prototype.checkScrollbar = function() { var t, e = window.innerWidth; e || (e = (t = document.documentElement.getBoundingClientRect()).right - Math.abs(t.left)), this.bodyIsOverflowing = document.body.clientWidth < e, this.scrollbarWidth = this.measureScrollbar() }, n.prototype.setScrollbar = function() { var t = parseInt(this.$body.css("padding-right") || 0, 10); this.originalBodyPad = document.body.style.paddingRight || "", this.bodyIsOverflowing && this.$body.css("padding-right", t + this.scrollbarWidth) }, n.prototype.resetScrollbar = function() { this.$body.css("padding-right", this.originalBodyPad) }, n.prototype.measureScrollbar = function() { var t, e = document.createElement("div"); return e.className = "modal-scrollbar-measure", this.$body.append(e), t = e.offsetWidth - e.clientWidth, this.$body[0].removeChild(e), t }, i = t.fn.modal, t.fn.modal = e, t.fn.modal.Constructor = n, t.fn.modal.noConflict = function() { return t.fn.modal = i, this }, t(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', (function(i) { var n = t(this), s = n.attr("href"), o = t(n.attr("data-target") || s && s.replace(/.*(?=#[^\s]+$)/, "")), a = o.data("bs.modal") ? "toggle" : t.extend({ remote: !/#/.test(s) && s }, o.data(), n.data()); n.is("a") && i.preventDefault(), o.one("show.bs.modal", (function(t) { t.isDefaultPrevented() || o.one("hidden.bs.modal", (function() { n.is(":visible") && n.trigger("focus") })) })), e.call(o, a, this) })) }(jQuery), function(t) { "use strict"; var e, i = function(t, e) { this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", t, e) }; i.VERSION = "3.3.7", i.TRANSITION_DURATION = 150, i.DEFAULTS = { animation: !0, placement: "top", selector: !1, template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1, viewport: { selector: "body", padding: 0 } }, i.prototype.init = function(e, i, n) { var s, o, a, r, l; if (this.enabled = !0, this.type = e, this.$element = t(i), this.options = this.getOptions(n), this.$viewport = this.options.viewport && t(t.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = { click: !1, hover: !1, focus: !1 }, this.$element[0] instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!"); for (o = (s = this.options.trigger.split(" ")).length; o--;) "click" == (a = s[o]) ? this.$element.on("click." + this.type, this.options.selector, t.proxy(this.toggle, this)) : "manual" != a && (r = "hover" == a ? "mouseenter" : "focusin", l = "hover" == a ? "mouseleave" : "focusout", this.$element.on(r + "." + this.type, this.options.selector, t.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, t.proxy(this.leave, this))); this.options.selector ? this._options = t.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle() }, i.prototype.getDefaults = function() { return i.DEFAULTS }, i.prototype.getOptions = function(e) { return (e = t.extend({}, this.getDefaults(), this.$element.data(), e)).delay && "number" == typeof e.delay && (e.delay = { show: e.delay, hide: e.delay }), e }, i.prototype.getDelegateOptions = function() { var e = {}, i = this.getDefaults(); return this._options && t.each(this._options, (function(t, n) { i[t] != n && (e[t] = n) })), e }, i.prototype.enter = function(e) { var i = e instanceof this.constructor ? e : t(e.currentTarget).data("bs." + this.type); if (i || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i)), e instanceof t.Event && (i.inState["focusin" == e.type ? "focus" : "hover"] = !0), !i.tip().hasClass("in") && "in" != i.hoverState) return clearTimeout(i.timeout), i.hoverState = "in", i.options.delay && i.options.delay.show ? void(i.timeout = setTimeout((function() { "in" == i.hoverState && i.show() }), i.options.delay.show)) : i.show(); i.hoverState = "in" }, i.prototype.isInStateTrue = function() { for (var t in this.inState) if (this.inState[t]) return !0; return !1 }, i.prototype.leave = function(e) { var i = e instanceof this.constructor ? e : t(e.currentTarget).data("bs." + this.type); if (i || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i)), e instanceof t.Event && (i.inState["focusout" == e.type ? "focus" : "hover"] = !1), !i.isInStateTrue()) { if (clearTimeout(i.timeout), i.hoverState = "out", !i.options.delay || !i.options.delay.hide) return i.hide(); i.timeout = setTimeout((function() { "out" == i.hoverState && i.hide() }), i.options.delay.hide) } }, i.prototype.show = function() { var e, n, s, o, a, r = t.Event("show.bs." + this.type); if (this.hasContent() && this.enabled) { if (this.$element.trigger(r), e = t.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]), r.isDefaultPrevented() || !e) return; var l = this, h = this.tip(), c = this.getUID(this.type); this.setContent(), h.attr("id", c), this.$element.attr("aria-describedby", c), this.options.animation && h.addClass("fade"); var u = "function" == typeof this.options.placement ? this.options.placement.call(this, h[0], this.$element[0]) : this.options.placement, d = /\s?auto?\s?/i, p = d.test(u); p && (u = u.replace(d, "") || "top"), h.detach().css({ top: 0, left: 0, display: "block" }).addClass(u).data("bs." + this.type, this), this.options.container ? h.appendTo(this.options.container) : h.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type); var f = this.getPosition(), m = h[0].offsetWidth, g = h[0].offsetHeight; p && (n = u, s = this.getPosition(this.$viewport), u = "bottom" == u && f.bottom + g > s.bottom ? "top" : "top" == u && f.top - g < s.top ? "bottom" : "right" == u && f.right + m > s.width ? "left" : "left" == u && f.left - m < s.left ? "right" : u, h.removeClass(n).addClass(u)), o = this.getCalculatedOffset(u, f, m, g), this.applyPlacement(o, u), a = function() { var t = l.hoverState; l.$element.trigger("shown.bs." + l.type), l.hoverState = null, "out" == t && l.leave(l) }, t.support.transition && this.$tip.hasClass("fade") ? h.one("bsTransitionEnd", a).emulateTransitionEnd(i.TRANSITION_DURATION) : a() } }, i.prototype.applyPlacement = function(e, i) { var n, s, o, a = this.tip(), r = a[0].offsetWidth, l = a[0].offsetHeight, h = parseInt(a.css("margin-top"), 10), c = parseInt(a.css("margin-left"), 10); isNaN(h) && (h = 0), isNaN(c) && (c = 0), e.top += h, e.left += c, t.offset.setOffset(a[0], t.extend({ using: function(t) { a.css({ top: Math.round(t.top), left: Math.round(t.left) }) } }, e), 0), a.addClass("in"), n = a[0].offsetWidth, s = a[0].offsetHeight, "top" == i && s != l && (e.top = e.top + l - s), (o = this.getViewportAdjustedDelta(i, e, n, s)).left ? e.left += o.left : e.top += o.top; var u = /top|bottom/.test(i), d = u ? 2 * o.left - r + n : 2 * o.top - l + s, p = u ? "offsetWidth" : "offsetHeight"; a.offset(e), this.replaceArrow(d, a[0][p], u) }, i.prototype.replaceArrow = function(t, e, i) { this.arrow().css(i ? "left" : "top", 50 * (1 - t / e) + "%").css(i ? "top" : "left", "") }, i.prototype.setContent = function() { var t = this.tip(), e = this.getTitle(); t.find(".tooltip-inner")[this.options.html ? "html" : "text"](e), t.removeClass("fade in top bottom left right") }, i.prototype.hide = function(e) { function n() { "in" != s.hoverState && o.detach(), s.$element && s.$element.removeAttr("aria-describedby").trigger("hidden.bs." + s.type), e && e() } var s = this, o = t(this.$tip), a = t.Event("hide.bs." + this.type); if (this.$element.trigger(a), !a.isDefaultPrevented()) return o.removeClass("in"), t.support.transition && o.hasClass("fade") ? o.one("bsTransitionEnd", n).emulateTransitionEnd(i.TRANSITION_DURATION) : n(), this.hoverState = null, this }, i.prototype.fixTitle = function() { var t = this.$element; (t.attr("title") || "string" != typeof t.attr("data-original-title")) && t.attr("data-original-title", t.attr("title") || "").attr("title", "") }, i.prototype.hasContent = function() { return this.getTitle() }, i.prototype.getPosition = function(e) { var i = (e = e || this.$element)[0], n = "BODY" == i.tagName, s = i.getBoundingClientRect(); null == s.width && (s = t.extend({}, s, { width: s.right - s.left, height: s.bottom - s.top })); var o = window.SVGElement && i instanceof window.SVGElement, a = n ? { top: 0, left: 0 } : o ? null : e.offset(), r = { scroll: n ? document.documentElement.scrollTop || document.body.scrollTop : e.scrollTop() }, l = n ? { width: t(window).width(), height: t(window).height() } : null; return t.extend({}, s, r, l, a) }, i.prototype.getCalculatedOffset = function(t, e, i, n) { return "bottom" == t ? { top: e.top + e.height, left: e.left + e.width / 2 - i / 2 } : "top" == t ? { top: e.top - n, left: e.left + e.width / 2 - i / 2 } : "left" == t ? { top: e.top + e.height / 2 - n / 2, left: e.left - i } : { top: e.top + e.height / 2 - n / 2, left: e.left + e.width } }, i.prototype.getViewportAdjustedDelta = function(t, e, i, n) { var s, o, a, r, l, h, c = { top: 0, left: 0 }; return this.$viewport ? (s = this.options.viewport && this.options.viewport.padding || 0, o = this.getPosition(this.$viewport), /right|left/.test(t) ? (a = e.top - s - o.scroll, r = e.top + s - o.scroll + n, a < o.top ? c.top = o.top - a : r > o.top + o.height && (c.top = o.top + o.height - r)) : (l = e.left - s, h = e.left + s + i, l < o.left ? c.left = o.left - l : h > o.right && (c.left = o.left + o.width - h)), c) : c }, i.prototype.getTitle = function() { var t = this.$element, e = this.options; return t.attr("data-original-title") || ("function" == typeof e.title ? e.title.call(t[0]) : e.title) }, i.prototype.getUID = function(t) { do { t += ~~(1e6 * Math.random()) } while (document.getElementById(t)); return t }, i.prototype.tip = function() { if (!this.$tip && (this.$tip = t(this.options.template), 1 != this.$tip.length)) throw new Error(this.type + " `template` option must consist of exactly 1 top-level element!"); return this.$tip }, i.prototype.arrow = function() { return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") }, i.prototype.enable = function() { this.enabled = !0 }, i.prototype.disable = function() { this.enabled = !1 }, i.prototype.toggleEnabled = function() { this.enabled = !this.enabled }, i.prototype.toggle = function(e) { var i = this; e && ((i = t(e.currentTarget).data("bs." + this.type)) || (i = new this.constructor(e.currentTarget, this.getDelegateOptions()), t(e.currentTarget).data("bs." + this.type, i))), e ? (i.inState.click = !i.inState.click, i.isInStateTrue() ? i.enter(i) : i.leave(i)) : i.tip().hasClass("in") ? i.leave(i) : i.enter(i) }, i.prototype.destroy = function() { var t = this; clearTimeout(this.timeout), this.hide((function() { t.$element.off("." + t.type).removeData("bs." + t.type), t.$tip && t.$tip.detach(), t.$tip = null, t.$arrow = null, t.$viewport = null, t.$element = null })) }, e = t.fn.tooltip, t.fn.tooltip = function(e) { return this.each((function() { var n = t(this), s = n.data("bs.tooltip"), o = "object" == typeof e && e; (s || !/destroy|hide/.test(e)) && (s || n.data("bs.tooltip", s = new i(this, o)), "string" == typeof e && s[e]()) })) }, t.fn.tooltip.Constructor = i, t.fn.tooltip.noConflict = function() { return t.fn.tooltip = e, this } }(jQuery), function(t) { "use strict"; var e, i = function(t, e) { this.init("popover", t, e) }; if (!t.fn.tooltip) throw new Error("Popover requires tooltip.js"); i.VERSION = "3.3.7", i.DEFAULTS = t.extend({}, t.fn.tooltip.Constructor.DEFAULTS, { placement: "right", trigger: "click", content: "", template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' }), i.prototype = t.extend({}, t.fn.tooltip.Constructor.prototype), i.prototype.constructor = i, i.prototype.getDefaults = function() { return i.DEFAULTS }, i.prototype.setContent = function() { var t = this.tip(), e = this.getTitle(), i = this.getContent(); t.find(".popover-title")[this.options.html ? "html" : "text"](e), t.find(".popover-content").children().detach().end()[this.options.html ? "string" == typeof i ? "html" : "append" : "text"](i), t.removeClass("fade top bottom left right in"), t.find(".popover-title").html() || t.find(".popover-title").hide() }, i.prototype.hasContent = function() { return this.getTitle() || this.getContent() }, i.prototype.getContent = function() { var t = this.$element, e = this.options; return t.attr("data-content") || ("function" == typeof e.content ? e.content.call(t[0]) : e.content) }, i.prototype.arrow = function() { return this.$arrow = this.$arrow || this.tip().find(".arrow") }, e = t.fn.popover, t.fn.popover = function(e) { return this.each((function() { var n = t(this), s = n.data("bs.popover"), o = "object" == typeof e && e; (s || !/destroy|hide/.test(e)) && (s || n.data("bs.popover", s = new i(this, o)), "string" == typeof e && s[e]()) })) }, t.fn.popover.Constructor = i, t.fn.popover.noConflict = function() { return t.fn.popover = e, this } }(jQuery), function(t) { "use strict"; function e(i, n) { this.$body = t(document.body), this.$scrollElement = t(i).is(document.body) ? t(window) : t(i), this.options = t.extend({}, e.DEFAULTS, n), this.selector = (this.options.target || "") + " .nav li > a", this.offsets = [], this.targets = [], this.activeTarget = null, this.scrollHeight = 0, this.$scrollElement.on("scroll.bs.scrollspy", t.proxy(this.process, this)), this.refresh(), this.process() } function i(i) { return this.each((function() { var n = t(this), s = n.data("bs.scrollspy"), o = "object" == typeof i && i; s || n.data("bs.scrollspy", s = new e(this, o)), "string" == typeof i && s[i]() })) } e.VERSION = "3.3.7", e.DEFAULTS = { offset: 10 }, e.prototype.getScrollHeight = function() { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) }, e.prototype.refresh = function() { var e = this, i = "offset", n = 0; this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight(), t.isWindow(this.$scrollElement[0]) || (i = "position", n = this.$scrollElement.scrollTop()), this.$body.find(this.selector).map((function() { var e = t(this), s = e.data("target") || e.attr("href"), o = /^#./.test(s) && t(s); return o && o.length && o.is(":visible") && [ [o[i]().top + n, s] ] || null })).sort((function(t, e) { return t[0] - e[0] })).each((function() { e.offsets.push(this[0]), e.targets.push(this[1]) })) }, e.prototype.process = function() { var t, e = this.$scrollElement.scrollTop() + this.options.offset, i = this.getScrollHeight(), n = this.options.offset + i - this.$scrollElement.height(), s = this.offsets, o = this.targets, a = this.activeTarget; if (this.scrollHeight != i && this.refresh(), e >= n) return a != (t = o[o.length - 1]) && this.activate(t); if (a && e < s[0]) return this.activeTarget = null, this.clear(); for (t = s.length; t--;) a != o[t] && e >= s[t] && (void 0 === s[t + 1] || e < s[t + 1]) && this.activate(o[t]) }, e.prototype.activate = function(e) { this.activeTarget = e, this.clear(); var i = this.selector + '[data-target="' + e + '"],' + this.selector + '[href="' + e + '"]', n = t(i).parents("li").addClass("active"); n.parent(".dropdown-menu").length && (n = n.closest("li.dropdown").addClass("active")), n.trigger("activate.bs.scrollspy") }, e.prototype.clear = function() { t(this.selector).parentsUntil(this.options.target, ".active").removeClass("active") }; var n = t.fn.scrollspy; t.fn.scrollspy = i, t.fn.scrollspy.Constructor = e, t.fn.scrollspy.noConflict = function() { return t.fn.scrollspy = n, this }, t(window).on("load.bs.scrollspy.data-api", (function() { t('[data-spy="scroll"]').each((function() { var e = t(this); i.call(e, e.data()) })) })) }(jQuery), function(t) { "use strict"; function e(e) { return this.each((function() { var i = t(this), n = i.data("bs.tab"); n || i.data("bs.tab", n = new s(this)), "string" == typeof e && n[e]() })) } var i, n, s = function(e) { this.element = t(e) }; s.VERSION = "3.3.7", s.TRANSITION_DURATION = 150, s.prototype.show = function() { var e, i = this.element, n = i.closest("ul:not(.dropdown-menu)"), s = i.data("target"); if (s || (s = (s = i.attr("href")) && s.replace(/.*(?=#[^\s]*$)/, "")), !i.parent("li").hasClass("active")) { var o = n.find(".active:last a"), a = t.Event("hide.bs.tab", { relatedTarget: i[0] }), r = t.Event("show.bs.tab", { relatedTarget: o[0] }); o.trigger(a), i.trigger(r), r.isDefaultPrevented() || a.isDefaultPrevented() || (e = t(s), this.activate(i.closest("li"), n), this.activate(e, e.parent(), (function() { o.trigger({ type: "hidden.bs.tab", relatedTarget: i[0] }), i.trigger({ type: "shown.bs.tab", relatedTarget: o[0] }) }))) } }, s.prototype.activate = function(e, i, n) { function o() { a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1), e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0), r ? (e[0].offsetWidth, e.addClass("in")) : e.removeClass("fade"), e.parent(".dropdown-menu").length && e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0), n && n() } var a = i.find("> .active"), r = n && t.support.transition && (a.length && a.hasClass("fade") || !!i.find("> .fade").length); a.length && r ? a.one("bsTransitionEnd", o).emulateTransitionEnd(s.TRANSITION_DURATION) : o(), a.removeClass("in") }, i = t.fn.tab, t.fn.tab = e, t.fn.tab.Constructor = s, t.fn.tab.noConflict = function() { return t.fn.tab = i, this }, n = function(i) { i.preventDefault(), e.call(t(this), "show") }, t(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', n).on("click.bs.tab.data-api", '[data-toggle="pill"]', n) }(jQuery), function(t) { "use strict"; function e(e) { return this.each((function() { var i = t(this), s = i.data("bs.affix"), o = "object" == typeof e && e; s || i.data("bs.affix", s = new n(this, o)), "string" == typeof e && s[e]() })) } var i, n = function(e, i) { this.options = t.extend({}, n.DEFAULTS, i), this.$target = t(this.options.target).on("scroll.bs.affix.data-api", t.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", t.proxy(this.checkPositionWithEventLoop, this)), this.$element = t(e), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition() }; n.VERSION = "3.3.7", n.RESET = "affix affix-top affix-bottom", n.DEFAULTS = { offset: 0, target: window }, n.prototype.getState = function(t, e, i, n) { var s = this.$target.scrollTop(), o = this.$element.offset(), a = this.$target.height(); if (null != i && "top" == this.affixed) return s < i && "top"; if ("bottom" == this.affixed) return null != i ? !(s + this.unpin <= o.top) && "bottom" : !(s + a <= t - n) && "bottom"; var r = null == this.affixed, l = r ? s : o.top; return null != i && s <= i ? "top" : null != n && l + (r ? a : e) >= t - n && "bottom" }, n.prototype.getPinnedOffset = function() { if (this.pinnedOffset) return this.pinnedOffset; this.$element.removeClass(n.RESET).addClass("affix"); var t = this.$target.scrollTop(), e = this.$element.offset(); return this.pinnedOffset = e.top - t }, n.prototype.checkPositionWithEventLoop = function() { setTimeout(t.proxy(this.checkPosition, this), 1) }, n.prototype.checkPosition = function() { var e, i, s; if (this.$element.is(":visible")) { var o = this.$element.height(), a = this.options.offset, r = a.top, l = a.bottom, h = Math.max(t(document).height(), t(document.body).height()); if ("object" != typeof a && (l = r = a), "function" == typeof r && (r = a.top(this.$element)), "function" == typeof l && (l = a.bottom(this.$element)), e = this.getState(h, o, r, l), this.affixed != e) { if (null != this.unpin && this.$element.css("top", ""), i = "affix" + (e ? "-" + e : ""), s = t.Event(i + ".bs.affix"), this.$element.trigger(s), s.isDefaultPrevented()) return; this.affixed = e, this.unpin = "bottom" == e ? this.getPinnedOffset() : null, this.$element.removeClass(n.RESET).addClass(i).trigger(i.replace("affix", "affixed") + ".bs.affix") } "bottom" == e && this.$element.offset({ top: h - o - l }) } }, i = t.fn.affix, t.fn.affix = e, t.fn.affix.Constructor = n, t.fn.affix.noConflict = function() { return t.fn.affix = i, this }, t(window).on("load", (function() { t('[data-spy="affix"]').each((function() { var i = t(this), n = i.data(); n.offset = n.offset || {}, null != n.offsetBottom && (n.offset.bottom = n.offsetBottom), null != n.offsetTop && (n.offset.top = n.offsetTop), e.call(i, n) })) })) }(jQuery), function(t) { t.fn.tabzy = function(e) { var i = t.extend({ fullScreen: !1, event: "hover", color: "white" }, e); return this.each((function() { var e, n, s = t(this), o = s.find(".tabzy-item"); t(document.createElement("div")).addClass("tabzy-gallery").appendTo(s), (e = t(".tabzy-gallery")).css("background-image", "url(" + o.find("img").attr("src") + ")"), t.each(o, (function(n, s) { var a = t(s), r = n + 1; if (t(s).attr("id-img", "img" + r), e.append(t(document.createElement("div")).css("background-image", "url(" + a.find("img").attr("src") + ")").attr("id", "img" + r)), "hover" === i.event && a.bind({ mouseenter: function() { var e = t(this); e.addClass("current"), e.closest(".tabzy").find("#" + e.attr("id-img")).addClass("current") }, mouseleave: function() { var e = t(this); e.removeClass("current"), e.closest(".tabzy").find("#" + e.attr("id-img")).removeClass("current") } }), "click" === i.event) { function l() { o.removeClass("current"), e.find("div").removeClass("current") } a.on("click", (function(e) { var i = t(this); e.stopPropagation(), l(), i.addClass("current"), i.closest(".tabzy").find("#" + i.attr("id-img")).addClass("current") })), t(document).on("click", (function() { l() })) } })), 1 == i.fullScreen && (n = t(window).height(), s.height(n)), i.color && t(this).css("color", i.color) })) } }(jQuery), function(t) { "function" == typeof define && define.amd ? define(["jquery"], t) : "object" == typeof exports ? t(require("jquery")) : t(window.jQuery || window.Zepto) }((function(t) { var e, i, n, s, o, a, r, l, h, c, u, d, p, f, m, g, v, b, y = "Close", _ = "BeforeClose", w = "MarkupParse", x = "Open", C = "Change", k = "mfp", T = ".mfp", D = "mfp-ready", I = "mfp-removing", S = "mfp-prevent-close", P = function() {}, E = !!window.jQuery, A = t(window), M = function(t, i) { e.ev.on(k + t + T, i) }, N = function(e, i, n, s) { var o = document.createElement("div"); return o.className = "mfp-" + e, n && (o.innerHTML = n), s ? i && i.appendChild(o) : (o = t(o), i && o.appendTo(i)), o }, O = function(i, n) { e.ev.triggerHandler(k + i, n), e.st.callbacks && (i = i.charAt(0).toLowerCase() + i.slice(1), e.st.callbacks[i] && e.st.callbacks[i].apply(e, t.isArray(n) ? n : [n])) }, $ = function(i) { return i === a && e.currTemplate.closeBtn || (e.currTemplate.closeBtn = t(e.st.closeMarkup.replace("%title%", e.st.tClose)), a = i), e.currTemplate.closeBtn }, H = function() { t.magnificPopup.instance || ((e = new P).init(), t.magnificPopup.instance = e) }; P.prototype = { constructor: P, init: function() { var i = navigator.appVersion; e.isIE7 = -1 !== i.indexOf("MSIE 7."), e.isIE8 = -1 !== i.indexOf("MSIE 8."), e.isLowIE = e.isIE7 || e.isIE8, e.isAndroid = /android/gi.test(i), e.isIOS = /iphone|ipad|ipod/gi.test(i), e.supportsTransition = function() { var t = document.createElement("p").style, e = ["ms", "O", "Moz", "Webkit"]; if (void 0 !== t.transition) return !0; for (; e.length;) if (e.pop() + "Transition" in t) return !0; return !1 }(), e.probablyMobile = e.isAndroid || e.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), n = t(document), e.popupsCache = {} }, open: function(i) { var s, a, r, l, h, c, u, d, p; if (!1 === i.isObj) { for (e.items = i.items.toArray(), e.index = 0, a = i.items, s = 0; s < a.length; s++) if ((r = a[s]).parsed && (r = r.el[0]), r === i.el[0]) { e.index = s; break } } else e.items = t.isArray(i.items) ? i.items : [i.items], e.index = i.index || 0; if (!e.isOpen) { for (e.types = [], o = "", e.ev = i.mainEl && i.mainEl.length ? i.mainEl.eq(0) : n, i.key ? (e.popupsCache[i.key] || (e.popupsCache[i.key] = {}), e.currTemplate = e.popupsCache[i.key]) : e.currTemplate = {}, e.st = t.extend(!0, {}, t.magnificPopup.defaults, i), e.fixedContentPos = "auto" === e.st.fixedContentPos ? !e.probablyMobile : e.st.fixedContentPos, e.st.modal && (e.st.closeOnContentClick = !1, e.st.closeOnBgClick = !1, e.st.showCloseBtn = !1, e.st.enableEscapeKey = !1), e.bgOverlay || (e.bgOverlay = N("bg").on("click" + T, (function() { e.close() })), e.wrap = N("wrap").attr("tabindex", -1).on("click" + T, (function(t) { e._checkIfClose(t.target) && e.close() })), e.container = N("container", e.wrap)), e.contentContainer = N("content"), e.st.preloader && (e.preloader = N("preloader", e.container, e.st.tLoading)), l = t.magnificPopup.modules, s = 0; s < l.length; s++) h = (h = l[s]).charAt(0).toUpperCase() + h.slice(1), e["init" + h].call(e); return O("BeforeOpen"), e.st.showCloseBtn && (e.st.closeBtnInside ? (M(w, (function(t, e, i, n) { i.close_replaceWith = $(n.type) })), o += " mfp-close-btn-in") : e.wrap.append($())), e.st.alignTop && (o += " mfp-align-top"), e.fixedContentPos ? e.wrap.css({ overflow: e.st.overflowY, overflowX: "hidden", overflowY: e.st.overflowY }) : e.wrap.css({ top: A.scrollTop(), position: "absolute" }), !1 !== e.st.fixedBgPos && ("auto" !== e.st.fixedBgPos || e.fixedContentPos) || e.bgOverlay.css({ height: n.height(), position: "absolute" }), e.st.enableEscapeKey && n.on("keyup" + T, (function(t) { 27 === t.keyCode && e.close() })), A.on("resize" + T, (function() { e.updateSize() })), e.st.closeOnContentClick || (o += " mfp-auto-cursor"), o && e.wrap.addClass(o), c = e.wH = A.height(), u = {}, e.fixedContentPos && e._hasScrollBar(c) && ((d = e._getScrollbarSize()) && (u.marginRight = d)), e.fixedContentPos && (e.isIE7 ? t("body, html").css("overflow", "hidden") : u.overflow = "hidden"), p = e.st.mainClass, e.isIE7 && (p += " mfp-ie7"), p && e._addClassToMFP(p), e.updateItemHTML(), O("BuildControls"), t("html").css(u), e.bgOverlay.add(e.wrap).prependTo(e.st.prependTo || t(document.body)), e._lastFocusedEl = document.activeElement, setTimeout((function() { e.content ? (e._addClassToMFP(D), e._setFocus()) : e.bgOverlay.addClass(D), n.on("focusin" + T, e._onFocusIn) }), 16), e.isOpen = !0, e.updateSize(c), O(x), i } e.updateItemHTML() }, close: function() { e.isOpen && (O(_), e.isOpen = !1, e.st.removalDelay && !e.isLowIE && e.supportsTransition ? (e._addClassToMFP(I), setTimeout((function() { e._close() }), e.st.removalDelay)) : e._close()) }, _close: function() { var i, s; O(y), i = I + " " + D + " ", e.bgOverlay.detach(), e.wrap.detach(), e.container.empty(), e.st.mainClass && (i += e.st.mainClass + " "), e._removeClassFromMFP(i), e.fixedContentPos && (s = { marginRight: "" }, e.isIE7 ? t("body, html").css("overflow", "") : s.overflow = "", t("html").css(s)), n.off("keyup.mfp focusin" + T), e.ev.off(T), e.wrap.attr("class", "mfp-wrap").removeAttr("style"), e.bgOverlay.attr("class", "mfp-bg"), e.container.attr("class", "mfp-container"), e.st.showCloseBtn && (!e.st.closeBtnInside || !0 === e.currTemplate[e.currItem.type]) && e.currTemplate.closeBtn && e.currTemplate.closeBtn.detach(), e._lastFocusedEl && t(e._lastFocusedEl).focus(), e.currItem = null, e.content = null, e.currTemplate = null, e.prevHeight = 0, O("AfterClose") }, updateSize: function(t) { if (e.isIOS) { var i = document.documentElement.clientWidth / window.innerWidth, n = window.innerHeight * i; e.wrap.css("height", n), e.wH = n } else e.wH = t || A.height(); e.fixedContentPos || e.wrap.css("height", e.wH), O("Resize") }, updateItemHTML: function() { var i, n, o, a = e.items[e.index]; e.contentContainer.detach(), e.content && e.content.detach(), a.parsed || (a = e.parseEl(e.index)), i = a.type, O("BeforeChange", [e.currItem ? e.currItem.type : "", i]), e.currItem = a, e.currTemplate[i] || (n = !!e.st[i] && e.st[i].markup, O("FirstMarkupParse", n), e.currTemplate[i] = !n || t(n)), s && s !== a.type && e.container.removeClass("mfp-" + s + "-holder"), o = e["get" + i.charAt(0).toUpperCase() + i.slice(1)](a, e.currTemplate[i]), e.appendContent(o, i), a.preloaded = !0, O(C, a), s = a.type, e.container.prepend(e.contentContainer), O("AfterChange") }, appendContent: function(t, i) { e.content = t, t ? e.st.showCloseBtn && e.st.closeBtnInside && !0 === e.currTemplate[i] ? e.content.find(".mfp-close").length || e.content.append($()) : e.content = t : e.content = "", O("BeforeAppend"), e.container.addClass("mfp-" + i + "-holder"), e.contentContainer.append(e.content) }, parseEl: function(i) { var n, s, o, a = e.items[i]; if (a.tagName ? a = { el: t(a) } : (n = a.type, a = { data: a, src: a.src }), a.el) { for (s = e.types, o = 0; o < s.length; o++) if (a.el.hasClass("mfp-" + s[o])) { n = s[o]; break } a.src = a.el.attr("data-mfp-src"), a.src || (a.src = a.el.attr("href")) } return a.type = n || e.st.type || "inline", a.index = i, a.parsed = !0, e.items[i] = a, O("ElementParse", a), e.items[i] }, addGroup: function(t, i) { var n, s = function(n) { n.mfpEl = this, e._openClick(n, t, i) }; i || (i = {}), n = "click.magnificPopup", i.mainEl = t, i.items ? (i.isObj = !0, t.off(n).on(n, s)) : (i.isObj = !1, i.delegate ? t.off(n).on(n, i.delegate, s) : (i.items = t, t.off(n).on(n, s))) }, _openClick: function(i, n, s) { var o; if ((void 0 !== s.midClick ? s.midClick : t.magnificPopup.defaults.midClick) || !(2 === i.which || i.ctrlKey || i.metaKey || i.altKey || i.shiftKey)) { if (o = void 0 !== s.disableOn ? s.disableOn : t.magnificPopup.defaults.disableOn) if (t.isFunction(o)) { if (!o.call(e)) return !0 } else if (A.width() < o) return !0; i.type && (i.preventDefault(), e.isOpen && i.stopPropagation()), s.el = t(i.mfpEl), s.delegate && (s.items = n.find(s.delegate)), e.open(s) } }, updateStatus: function(t, n) { if (e.preloader) { i !== t && e.container.removeClass("mfp-s-" + i), n || "loading" !== t || (n = e.st.tLoading); var s = { status: t, text: n }; O("UpdateStatus", s), t = s.status, n = s.text, e.preloader.html(n), e.preloader.find("a").on("click", (function(t) { t.stopImmediatePropagation() })), e.container.addClass("mfp-s-" + t), i = t } }, _checkIfClose: function(i) { if (!t(i).hasClass(S)) { var n = e.st.closeOnContentClick, s = e.st.closeOnBgClick; if (n && s || !e.content || t(i).hasClass("mfp-close") || e.preloader && i === e.preloader[0]) return !0; if (i === e.content[0] || t.contains(e.content[0], i)) { if (n) return !0 } else if (s && t.contains(document, i)) return !0; return !1 } }, _addClassToMFP: function(t) { e.bgOverlay.addClass(t), e.wrap.addClass(t) }, _removeClassFromMFP: function(t) { this.bgOverlay.removeClass(t), e.wrap.removeClass(t) }, _hasScrollBar: function(t) { return (e.isIE7 ? n.height() : document.body.scrollHeight) > (t || A.height()) }, _setFocus: function() { (e.st.focus ? e.content.find(e.st.focus).eq(0) : e.wrap).focus() }, _onFocusIn: function(i) { if (i.target !== e.wrap[0] && !t.contains(e.wrap[0], i.target)) return e._setFocus(), !1 }, _parseMarkup: function(e, i, n) { var s; n.data && (i = t.extend(n.data, i)), O(w, [e, i, n]), t.each(i, (function(t, i) { var n, o; if (void 0 === i || !1 === i) return !0; (s = t.split("_")).length > 1 ? (n = e.find(T + "-" + s[0])).length > 0 && ("replaceWith" === (o = s[1]) ? n[0] !== i[0] && n.replaceWith(i) : "img" === o ? n.is("img") ? n.attr("src", i) : n.replaceWith('<img src="' + i + '" class="' + n.attr("class") + '" />') : n.attr(s[1], i)) : e.find(T + "-" + t).html(i) })) }, _getScrollbarSize: function() { if (void 0 === e.scrollbarSize) { var t = document.createElement("div"); t.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(t), e.scrollbarSize = t.offsetWidth - t.clientWidth, document.body.removeChild(t) } return e.scrollbarSize } }, t.magnificPopup = { instance: null, proto: P.prototype, modules: [], open: function(e, i) { return H(), (e = e ? t.extend(!0, {}, e) : {}).isObj = !0, e.index = i || 0, this.instance.open(e) }, close: function() { return t.magnificPopup.instance && t.magnificPopup.instance.close() }, registerModule: function(e, i) { i.options && (t.magnificPopup.defaults[e] = i.options), t.extend(this.proto, i.proto), this.modules.push(e) }, defaults: { disableOn: 0, key: null, midClick: !1, mainClass: "", preloader: !0, focus: "", closeOnContentClick: !1, closeOnBgClick: !0, closeBtnInside: !0, showCloseBtn: !0, enableEscapeKey: !0, modal: !1, alignTop: !1, removalDelay: 0, prependTo: null, fixedContentPos: "auto", fixedBgPos: "auto", overflowY: "auto", closeMarkup: '<button title="%title%" type="button" class="mfp-close">×</button>', tClose: "Close (Esc)", tLoading: "Loading..." } }, t.fn.magnificPopup = function(i) { var n, s, o, a; return H(), n = t(this), "string" == typeof i ? "open" === i ? (o = E ? n.data("magnificPopup") : n[0].magnificPopup, a = parseInt(arguments[1], 10) || 0, o.items ? s = o.items[a] : (s = n, o.delegate && (s = s.find(o.delegate)), s = s.eq(a)), e._openClick({ mfpEl: s }, n, o)) : e.isOpen && e[i].apply(e, Array.prototype.slice.call(arguments, 1)) : (i = t.extend(!0, {}, i), E ? n.data("magnificPopup", i) : n[0].magnificPopup = i, e.addGroup(n, i)), n }, r = "inline", u = function() { c && (h.after(c.addClass(l)).detach(), c = null) }, t.magnificPopup.registerModule(r, { options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" }, proto: { initInline: function() { e.types.push(r), M(y + "." + r, (function() { u() })) }, getInline: function(i, n) { var s, o, a; return u(), i.src ? (s = e.st.inline, (o = t(i.src)).length ? ((a = o[0].parentNode) && a.tagName && (h || (l = s.hiddenClass, h = N(l), l = "mfp-" + l), c = o.after(h).detach().removeClass(l)), e.updateStatus("ready")) : (e.updateStatus("error", s.tNotFound), o = t("<div>")), i.inlineElement = o, o) : (e.updateStatus("ready"), e._parseMarkup(n, {}, i), n) } } }); var z, W = "ajax", F = function() { z && t(document.body).removeClass(z) }, L = function() { F(), e.req && e.req.abort() }; t.magnificPopup.registerModule(W, { options: { settings: null, cursor: "mfp-ajax-cur", tError: '<a href="%url%">The content</a> could not be loaded.' }, proto: { initAjax: function() { e.types.push(W), z = e.st.ajax.cursor, M(y + "." + W, L), M("BeforeChange." + W, L) }, getAjax: function(i) { z && t(document.body).addClass(z), e.updateStatus("loading"); var n = t.extend({ url: i.src, success: function(n, s, o) { var a = { data: n, xhr: o }; O("ParseAjax", a), e.appendContent(t(a.data), W), i.finished = !0, F(), e._setFocus(), setTimeout((function() { e.wrap.addClass(D) }), 16), e.updateStatus("ready"), O("AjaxContentAdded") }, error: function() { F(), i.finished = i.loadError = !0, e.updateStatus("error", e.st.ajax.tError.replace("%url%", i.src)) } }, e.st.ajax.settings); return e.req = t.ajax(n), "" } } }), p = function(i) { if (i.data && void 0 !== i.data.title) return i.data.title; var n = e.st.image.titleSrc; if (n) { if (t.isFunction(n)) return n.call(e, i); if (i.el) return i.el.attr(n) || "" } return "" }, t.magnificPopup.registerModule("image", { options: { markup: '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>', cursor: "mfp-zoom-out-cur", titleSrc: "title", verticalFit: !0, tError: '<a href="%url%">The image</a> could not be loaded.' }, proto: { initImage: function() { var i = e.st.image, n = ".image"; e.types.push("image"), M(x + n, (function() { "image" === e.currItem.type && i.cursor && t(document.body).addClass(i.cursor) })), M(y + n, (function() { i.cursor && t(document.body).removeClass(i.cursor), A.off("resize" + T) })), M("Resize" + n, e.resizeImage), e.isLowIE && M("AfterChange", e.resizeImage) }, resizeImage: function() { var t, i = e.currItem; i && i.img && e.st.image.verticalFit && (t = 0, e.isLowIE && (t = parseInt(i.img.css("padding-top"), 10) + parseInt(i.img.css("padding-bottom"), 10)), i.img.css("max-height", e.wH - t)) }, _onImageHasSize: function(t) { t.img && (t.hasSize = !0, d && clearInterval(d), t.isCheckingImgSize = !1, O("ImageHasSize", t), t.imgHidden && (e.content && e.content.removeClass("mfp-loading"), t.imgHidden = !1)) }, findImageSize: function(t) { var i = 0, n = t.img[0], s = function(o) { d && clearInterval(d), d = setInterval((function() { n.naturalWidth > 0 ? e._onImageHasSize(t) : (i > 200 && clearInterval(d), 3 === ++i ? s(10) : 40 === i ? s(50) : 100 === i && s(500)) }), o) }; s(1) }, getImage: function(i, n) { var s, o = 0, a = function() { i && (i.img[0].complete ? (i.img.off(".mfploader"), i === e.currItem && (e._onImageHasSize(i), e.updateStatus("ready")), i.hasSize = !0, i.loaded = !0, O("ImageLoadComplete")) : ++o < 200 ? setTimeout(a, 100) : r()) }, r = function() { i && (i.img.off(".mfploader"), i === e.currItem && (e._onImageHasSize(i), e.updateStatus("error", l.tError.replace("%url%", i.src))), i.hasSize = !0, i.loaded = !0, i.loadError = !0) }, l = e.st.image, h = n.find(".mfp-img"); return h.length && ((s = document.createElement("img")).className = "mfp-img", i.el && i.el.find("img").length && (s.alt = i.el.find("img").attr("alt")), i.img = t(s).on("load.mfploader", a).on("error.mfploader", r), s.src = i.src, h.is("img") && (i.img = i.img.clone()), (s = i.img[0]).naturalWidth > 0 ? i.hasSize = !0 : s.width || (i.hasSize = !1)), e._parseMarkup(n, { title: p(i), img_replaceWith: i.img }, i), e.resizeImage(), i.hasSize ? (d && clearInterval(d), i.loadError ? (n.addClass("mfp-loading"), e.updateStatus("error", l.tError.replace("%url%", i.src))) : (n.removeClass("mfp-loading"), e.updateStatus("ready")), n) : (e.updateStatus("loading"), i.loading = !0, i.hasSize || (i.imgHidden = !0, n.addClass("mfp-loading"), e.findImageSize(i)), n) } } }), m = function() { return void 0 === f && (f = void 0 !== document.createElement("p").style.MozTransform), f }, t.magnificPopup.registerModule("zoom", { options: { enabled: !1, easing: "ease-in-out", duration: 300, opener: function(t) { return t.is("img") ? t : t.find("img") } }, proto: { initZoom: function() { var t, i = e.st.zoom, n = ".zoom"; if (i.enabled && e.supportsTransition) { var s, o, a = i.duration, r = function(t) { var e = t.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"), n = "all " + i.duration / 1e3 + "s " + i.easing, s = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" }, o = "transition"; return s["-webkit-" + o] = s["-moz-" + o] = s["-o-" + o] = s[o] = n, e.css(s), e }, l = function() { e.content.css("visibility", "visible") }; M("BuildControls" + n, (function() { if (e._allowZoom()) { if (clearTimeout(s), e.content.css("visibility", "hidden"), !(t = e._getItemToZoom())) return void l(); (o = r(t)).css(e._getOffset()), e.wrap.append(o), s = setTimeout((function() { o.css(e._getOffset(!0)), s = setTimeout((function() { l(), setTimeout((function() { o.remove(), t = o = null, O("ZoomAnimationEnded") }), 16) }), a) }), 16) } })), M(_ + n, (function() { if (e._allowZoom()) { if (clearTimeout(s), e.st.removalDelay = a, !t) { if (!(t = e._getItemToZoom())) return; o = r(t) } o.css(e._getOffset(!0)), e.wrap.append(o), e.content.css("visibility", "hidden"), setTimeout((function() { o.css(e._getOffset()) }), 16) } })), M(y + n, (function() { e._allowZoom() && (l(), o && o.remove(), t = null) })) } }, _allowZoom: function() { return "image" === e.currItem.type }, _getItemToZoom: function() { return !!e.currItem.hasSize && e.currItem.img }, _getOffset: function(i) { var n, s, o = (n = i ? e.currItem.img : e.st.zoom.opener(e.currItem.el || e.currItem)).offset(), a = parseInt(n.css("padding-top"), 10), r = parseInt(n.css("padding-bottom"), 10); return o.top -= t(window).scrollTop() - a, s = { width: n.width(), height: (E ? n.innerHeight() : n[0].offsetHeight) - r - a }, m() ? s["-moz-transform"] = s.transform = "translate(" + o.left + "px," + o.top + "px)" : (s.left = o.left, s.top = o.top), s } } }); var R = "iframe", j = function(t) { if (e.currTemplate[R]) { var i = e.currTemplate[R].find("iframe"); i.length && (t || (i[0].src = "//about:blank"), e.isIE8 && i.css("display", t ? "block" : "none")) } }; t.magnificPopup.registerModule(R, { options: { markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>', srcAction: "iframe_src", patterns: { youtube: { index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1" }, vimeo: { index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1" }, gmaps: { index: "//maps.google.", src: "%id%&output=embed" } } }, proto: { initIframe: function() { e.types.push(R), M("BeforeChange", (function(t, e, i) { e !== i && (e === R ? j() : i === R && j(!0)) })), M(y + "." + R, (function() { j() })) }, getIframe: function(i, n) { var s, o = i.src, a = e.st.iframe; return t.each(a.patterns, (function() { if (o.indexOf(this.index) > -1) return this.id && (o = "string" == typeof this.id ? o.substr(o.lastIndexOf(this.id) + this.id.length, o.length) : this.id.call(this, o)), o = this.src.replace("%id%", o), !1 })), s = {}, a.srcAction && (s[a.srcAction] = o), e._parseMarkup(n, s, i), e.updateStatus("ready"), n } } }), g = function(t) { var i = e.items.length; return t > i - 1 ? t - i : t < 0 ? i + t : t }, v = function(t, e, i) { return t.replace(/%curr%/gi, e + 1).replace(/%total%/gi, i) }, t.magnificPopup.registerModule("gallery", { options: { enabled: !1, arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', preload: [0, 2], navigateByImgClick: !0, arrows: !0, tPrev: "Previous (Left arrow key)", tNext: "Next (Right arrow key)", tCounter: "%curr% of %total%" }, proto: { initGallery: function() { var i = e.st.gallery, s = ".mfp-gallery", a = Boolean(t.fn.mfpFastClick); if (e.direction = !0, !i || !i.enabled) return !1; o += " mfp-gallery", M(x + s, (function() { i.navigateByImgClick && e.wrap.on("click" + s, ".mfp-img", (function() { if (e.items.length > 1) return e.next(), !1 })), n.on("keydown" + s, (function(t) { 37 === t.keyCode ? e.prev() : 39 === t.keyCode && e.next() })) })), M("UpdateStatus" + s, (function(t, i) { i.text && (i.text = v(i.text, e.currItem.index, e.items.length)) })), M(w + s, (function(t, n, s, o) { var a = e.items.length; s.counter = a > 1 ? v(i.tCounter, o.index, a) : "" })), M("BuildControls" + s, (function() { if (e.items.length > 1 && i.arrows && !e.arrowLeft) { var n = i.arrowMarkup, s = e.arrowLeft = t(n.replace(/%title%/gi, i.tPrev).replace(/%dir%/gi, "left")).addClass(S), o = e.arrowRight = t(n.replace(/%title%/gi, i.tNext).replace(/%dir%/gi, "right")).addClass(S), r = a ? "mfpFastClick" : "click"; s[r]((function() { e.prev() })), o[r]((function() { e.next() })), e.isIE7 && (N("b", s[0], !1, !0), N("a", s[0], !1, !0), N("b", o[0], !1, !0), N("a", o[0], !1, !0)), e.container.append(s.add(o)) } })), M(C + s, (function() { e._preloadTimeout && clearTimeout(e._preloadTimeout), e._preloadTimeout = setTimeout((function() { e.preloadNearbyImages(), e._preloadTimeout = null }), 16) })), M(y + s, (function() { n.off(s), e.wrap.off("click" + s), e.arrowLeft && a && e.arrowLeft.add(e.arrowRight).destroyMfpFastClick(), e.arrowRight = e.arrowLeft = null })) }, next: function() { e.direction = !0, e.index = g(e.index + 1), e.updateItemHTML() }, prev: function() { e.direction = !1, e.index = g(e.index - 1), e.updateItemHTML() }, goTo: function(t) { e.direction = t >= e.index, e.index = t, e.updateItemHTML() }, preloadNearbyImages: function() { for (var t = e.st.gallery.preload, i = Math.min(t[0], e.items.length), n = Math.min(t[1], e.items.length), s = 1; s <= (e.direction ? n : i); s++) e._preloadItem(e.index + s); for (s = 1; s <= (e.direction ? i : n); s++) e._preloadItem(e.index - s) }, _preloadItem: function(i) { if (i = g(i), !e.items[i].preloaded) { var n = e.items[i]; n.parsed || (n = e.parseEl(i)), O("LazyLoad", n), "image" === n.type && (n.img = t('<img class="mfp-img" />').on("load.mfploader", (function() { n.hasSize = !0 })).on("error.mfploader", (function() { n.hasSize = !0, n.loadError = !0, O("LazyLoadError", n) })).attr("src", n.src)), n.preloaded = !0 } } } }), b = "retina", t.magnificPopup.registerModule(b, { options: { replaceSrc: function(t) { return t.src.replace(/\.\w+$/, (function(t) { return "@2x" + t })) }, ratio: 1 }, proto: { initRetina: function() { if (window.devicePixelRatio > 1) { var t = e.st.retina, i = t.ratio; (i = isNaN(i) ? i() : i) > 1 && (M("ImageHasSize." + b, (function(t, e) { e.img.css({ "max-width": e.img[0].naturalWidth / i, width: "100%" }) })), M("ElementParse." + b, (function(e, n) { n.src = t.replaceSrc(n, i) }))) } } } }), function() { var e = "ontouchstart" in window, i = function() { A.off("touchmove" + n + " touchend" + n) }, n = ".mfpFastClick"; t.fn.mfpFastClick = function(s) { return t(this).each((function() { var o, a, r, l, h, c, u, d = t(this); e && d.on("touchstart" + n, (function(t) { h = !1, u = 1, c = t.originalEvent ? t.originalEvent.touches[0] : t.touches[0], r = c.clientX, l = c.clientY, A.on("touchmove" + n, (function(t) { c = t.originalEvent ? t.originalEvent.touches : t.touches, u = c.length, c = c[0], (Math.abs(c.clientX - r) > 10 || Math.abs(c.clientY - l) > 10) && (h = !0, i()) })).on("touchend" + n, (function(t) { i(), h || u > 1 || (o = !0, t.preventDefault(), clearTimeout(a), a = setTimeout((function() { o = !1 }), 1e3), s()) })) })), d.on("click" + n, (function() { o || s() })) })) }, t.fn.destroyMfpFastClick = function() { t(this).off("touchstart" + n + " click" + n), e && A.off("touchmove" + n + " touchend" + n) } }(), H() })), "function" != typeof Object.create && (Object.create = function(t) { function e() {} return e.prototype = t, new e }), function(t, e, i) { var n = { init: function(e, i) { var n = this; n.$elem = t(i), n.options = t.extend({}, t.fn.owlCarousel.options, n.$elem.data(), e), n.userOptions = e, n.loadContent() }, loadContent: function() { var e, i = this; "function" == typeof i.options.beforeInit && i.options.beforeInit.apply(this, [i.$elem]), "string" == typeof i.options.jsonPath ? (e = i.options.jsonPath, t.getJSON(e, (function(t) { var e, n = ""; if ("function" == typeof i.options.jsonSuccess) i.options.jsonSuccess.apply(this, [t]); else { for (e in t.owl) t.owl.hasOwnProperty(e) && (n += t.owl[e].item); i.$elem.html(n) } i.logIn() }))) : i.logIn() }, logIn: function() { var t = this; t.$elem.data("owl-originalStyles", t.$elem.attr("style")), t.$elem.data("owl-originalClasses", t.$elem.attr("class")), t.$elem.css({ opacity: 0 }), t.orignalItems = t.options.items, t.checkBrowser(), t.wrapperWidth = 0, t.checkVisible = null, t.setVars() }, setVars: function() { var t = this; if (0 === t.$elem.children().length) return !1; t.baseClass(), t.eventTypes(), t.$userItems = t.$elem.children(), t.itemsAmount = t.$userItems.length, t.wrapItems(), t.$owlItems = t.$elem.find(".owl-item"), t.$owlWrapper = t.$elem.find(".owl-wrapper"), t.playDirection = "next", t.prevItem = 0, t.prevArr = [0], t.currentItem = 0, t.customEvents(), t.onStartup() }, onStartup: function() { var t = this; t.updateItems(), t.calculateAll(), t.buildControls(), t.updateControls(), t.response(), t.moveEvents(), t.stopOnHover(), t.owlStatus(), !1 !== t.options.transitionStyle && t.transitionTypes(t.options.transitionStyle), !0 === t.options.autoPlay && (t.options.autoPlay = 5e3), t.play(), t.$elem.find(".owl-wrapper").css("display", "block"), t.$elem.is(":visible") ? t.$elem.css("opacity", 1) : t.watchVisibility(), t.onstartup = !1, t.eachMoveUpdate(), "function" == typeof t.options.afterInit && t.options.afterInit.apply(this, [t.$elem]) }, eachMoveUpdate: function() { var t = this; !0 === t.options.lazyLoad && t.lazyLoad(), !0 === t.options.autoHeight && t.autoHeight(), t.onVisibleItems(), "function" == typeof t.options.afterAction && t.options.afterAction.apply(this, [t.$elem]) }, updateVars: function() { var t = this; "function" == typeof t.options.beforeUpdate && t.options.beforeUpdate.apply(this, [t.$elem]), t.watchVisibility(), t.updateItems(), t.calculateAll(), t.updatePosition(), t.updateControls(), t.eachMoveUpdate(), "function" == typeof t.options.afterUpdate && t.options.afterUpdate.apply(this, [t.$elem]) }, reload: function() { var t = this; e.setTimeout((function() { t.updateVars() }), 0) }, watchVisibility: function() { var t = this; if (!1 !== t.$elem.is(":visible")) return !1; t.$elem.css({ opacity: 0 }), e.clearInterval(t.autoPlayInterval), e.clearInterval(t.checkVisible), t.checkVisible = e.setInterval((function() { t.$elem.is(":visible") && (t.reload(), t.$elem.animate({ opacity: 1 }, 200), e.clearInterval(t.checkVisible)) }), 500) }, wrapItems: function() { var t = this; t.$userItems.wrapAll('<div class="owl-wrapper">').wrap('<div class="owl-item"></div>'), t.$elem.find(".owl-wrapper").wrap('<div class="owl-wrapper-outer">'), t.wrapperOuter = t.$elem.find(".owl-wrapper-outer"), t.$elem.css("display", "block") }, baseClass: function() { var t = this, e = t.$elem.hasClass(t.options.baseClass), i = t.$elem.hasClass(t.options.theme); e || t.$elem.addClass(t.options.baseClass), i || t.$elem.addClass(t.options.theme) }, updateItems: function() { var e, i, n = this; if (!1 === n.options.responsive) return !1; if (!0 === n.options.singleItem) return n.options.items = n.orignalItems = 1, n.options.itemsCustom = !1, n.options.itemsDesktop = !1, n.options.itemsDesktopSmall = !1, n.options.itemsTablet = !1, n.options.itemsTabletSmall = !1, n.options.itemsMobile = !1, !1; if ((e = t(n.options.responsiveBaseWidth).width()) > (n.options.itemsDesktop[0] || n.orignalItems) && (n.options.items = n.orignalItems), !1 !== n.options.itemsCustom) for (n.options.itemsCustom.sort((function(t, e) { return t[0] - e[0] })), i = 0; i < n.options.itemsCustom.length; i += 1) n.options.itemsCustom[i][0] <= e && (n.options.items = n.options.itemsCustom[i][1]); else e <= n.options.itemsDesktop[0] && !1 !== n.options.itemsDesktop && (n.options.items = n.options.itemsDesktop[1]), e <= n.options.itemsDesktopSmall[0] && !1 !== n.options.itemsDesktopSmall && (n.options.items = n.options.itemsDesktopSmall[1]), e <= n.options.itemsTablet[0] && !1 !== n.options.itemsTablet && (n.options.items = n.options.itemsTablet[1]), e <= n.options.itemsTabletSmall[0] && !1 !== n.options.itemsTabletSmall && (n.options.items = n.options.itemsTabletSmall[1]), e <= n.options.itemsMobile[0] && !1 !== n.options.itemsMobile && (n.options.items = n.options.itemsMobile[1]); n.options.items > n.itemsAmount && !0 === n.options.itemsScaleUp && (n.options.items = n.itemsAmount) }, response: function() { var i, n, s = this; if (!0 !== s.options.responsive) return !1; n = t(e).width(), s.resizer = function() { t(e).width() !== n && (!1 !== s.options.autoPlay && e.clearInterval(s.autoPlayInterval), e.clearTimeout(i), i = e.setTimeout((function() { n = t(e).width(), s.updateVars() }), s.options.responsiveRefreshRate)) }, t(e).resize(s.resizer) }, updatePosition: function() { var t = this; t.jumpTo(t.currentItem), !1 !== t.options.autoPlay && t.checkAp() }, appendItemsSizes: function() { var e = this, i = 0, n = e.itemsAmount - e.options.items; e.$owlItems.each((function(s) { var o = t(this); o.css({ width: e.itemWidth }).data("owl-item", Number(s)), (s % e.options.items == 0 || s === n) && (s > n || (i += 1)), o.data("owl-roundPages", i) })) }, appendWrapperSizes: function() { var t = this, e = t.$owlItems.length * t.itemWidth; t.$owlWrapper.css({ width: 2 * e, left: 0 }), t.appendItemsSizes() }, calculateAll: function() { var t = this; t.calculateWidth(), t.appendWrapperSizes(), t.loops(), t.max() }, calculateWidth: function() { var t = this; t.itemWidth = Math.round(t.$elem.width() / t.options.items) }, max: function() { var t = this, e = -1 * (t.itemsAmount * t.itemWidth - t.options.items * t.itemWidth); return t.options.items > t.itemsAmount ? (t.maximumItem = 0, e = 0, t.maximumPixels = 0) : (t.maximumItem = t.itemsAmount - t.options.items, t.maximumPixels = e), e }, min: function() { return 0 }, loops: function() { var e, i, n = this, s = 0, o = 0; for (n.positionsInArray = [0], n.pagesInArray = [], e = 0; e < n.itemsAmount; e += 1) o += n.itemWidth, n.positionsInArray.push(-o), !0 === n.options.scrollPerPage && ((i = t(n.$owlItems[e]).data("owl-roundPages")) !== s && (n.pagesInArray[s] = n.positionsInArray[e], s = i)) }, buildControls: function() { var e = this; (!0 === e.options.navigation || !0 === e.options.pagination) && (e.owlControls = t('<div class="owl-controls"/>').toggleClass("clickable", !e.browser.isTouch).appendTo(e.$elem)), !0 === e.options.pagination && e.buildPagination(), !0 === e.options.navigation && e.buildButtons() }, buildButtons: function() { var e = this, i = t('<div class="owl-buttons"/>'); e.owlControls.append(i), e.buttonPrev = t("<div/>", { class: "owl-prev", html: e.options.navigationText[0] || "" }), e.buttonNext = t("<div/>", { class: "owl-next", html: e.options.navigationText[1] || "" }), i.append(e.buttonPrev).append(e.buttonNext), i.on("touchstart.owlControls mousedown.owlControls", 'div[class^="owl"]', (function(t) { t.preventDefault() })), i.on("touchend.owlControls mouseup.owlControls", 'div[class^="owl"]', (function(i) { i.preventDefault(), t(this).hasClass("owl-next") ? e.next() : e.prev() })) }, buildPagination: function() { var e = this; e.paginationWrapper = t('<div class="owl-pagination"/>'), e.owlControls.append(e.paginationWrapper), e.paginationWrapper.on("touchend.owlControls mouseup.owlControls", ".owl-page", (function(i) { i.preventDefault(), Number(t(this).data("owl-page")) !== e.currentItem && e.goTo(Number(t(this).data("owl-page")), !0) })) }, updatePagination: function() { var e, i, n, s, o, a, r = this; if (!1 === r.options.pagination) return !1; for (r.paginationWrapper.html(""), e = 0, i = r.itemsAmount - r.itemsAmount % r.options.items, s = 0; s < r.itemsAmount; s += 1) s % r.options.items == 0 && (e += 1, i === s && (n = r.itemsAmount - r.options.items), o = t("<div/>", { class: "owl-page" }), a = t("<span></span>", { text: !0 === r.options.paginationNumbers ? e : "", class: !0 === r.options.paginationNumbers ? "owl-numbers" : "" }), o.append(a), o.data("owl-page", i === s ? n : s), o.data("owl-roundPages", e), r.paginationWrapper.append(o)); r.checkPagination() }, checkPagination: function() { var e = this; if (!1 === e.options.pagination) return !1; e.paginationWrapper.find(".owl-page").each((function() { t(this).data("owl-roundPages") === t(e.$owlItems[e.currentItem]).data("owl-roundPages") && (e.paginationWrapper.find(".owl-page").removeClass("active"), t(this).addClass("active")) })) }, checkNavigation: function() { var t = this; if (!1 === t.options.navigation) return !1; !1 === t.options.rewindNav && (0 === t.currentItem && 0 === t.maximumItem ? (t.buttonPrev.addClass("disabled"), t.buttonNext.addClass("disabled")) : 0 === t.currentItem && 0 !== t.maximumItem ? (t.buttonPrev.addClass("disabled"), t.buttonNext.removeClass("disabled")) : t.currentItem === t.maximumItem ? (t.buttonPrev.removeClass("disabled"), t.buttonNext.addClass("disabled")) : 0 !== t.currentItem && t.currentItem !== t.maximumItem && (t.buttonPrev.removeClass("disabled"), t.buttonNext.removeClass("disabled"))) }, updateControls: function() { var t = this; t.updatePagination(), t.checkNavigation(), t.owlControls && (t.options.items >= t.itemsAmount ? t.owlControls.hide() : t.owlControls.show()) }, destroyControls: function() { this.owlControls && this.owlControls.remove() }, next: function(t) { var e = this; if (e.isTransition) return !1; if (e.currentItem += !0 === e.options.scrollPerPage ? e.options.items : 1, e.currentItem > e.maximumItem + (!0 === e.options.scrollPerPage ? e.options.items - 1 : 0)) { if (!0 !== e.options.rewindNav) return e.currentItem = e.maximumItem, !1; e.currentItem = 0, t = "rewind" } e.goTo(e.currentItem, t) }, prev: function(t) { var e = this; if (e.isTransition) return !1; if (!0 === e.options.scrollPerPage && e.currentItem > 0 && e.currentItem < e.options.items ? e.currentItem = 0 : e.currentItem -= !0 === e.options.scrollPerPage ? e.options.items : 1, e.currentItem < 0) { if (!0 !== e.options.rewindNav) return e.currentItem = 0, !1; e.currentItem = e.maximumItem, t = "rewind" } e.goTo(e.currentItem, t) }, goTo: function(t, i, n) { var s, o = this; return !o.isTransition && ("function" == typeof o.options.beforeMove && o.options.beforeMove.apply(this, [o.$elem]), t >= o.maximumItem ? t = o.maximumItem : t <= 0 && (t = 0), o.currentItem = o.owl.currentItem = t, !1 !== o.options.transitionStyle && "drag" !== n && 1 === o.options.items && !0 === o.browser.support3d ? (o.swapSpeed(0), !0 === o.browser.support3d ? o.transition3d(o.positionsInArray[t]) : o.css2slide(o.positionsInArray[t], 1), o.afterGo(), o.singleItemTransition(), !1) : (s = o.positionsInArray[t], !0 === o.browser.support3d ? (o.isCss3Finish = !1, !0 === i ? (o.swapSpeed("paginationSpeed"), e.setTimeout((function() { o.isCss3Finish = !0 }), o.options.paginationSpeed)) : "rewind" === i ? (o.swapSpeed(o.options.rewindSpeed), e.setTimeout((function() { o.isCss3Finish = !0 }), o.options.rewindSpeed)) : (o.swapSpeed("slideSpeed"), e.setTimeout((function() { o.isCss3Finish = !0 }), o.options.slideSpeed)), o.transition3d(s)) : !0 === i ? o.css2slide(s, o.options.paginationSpeed) : "rewind" === i ? o.css2slide(s, o.options.rewindSpeed) : o.css2slide(s, o.options.slideSpeed), void o.afterGo())) }, jumpTo: function(t) { var e = this; "function" == typeof e.options.beforeMove && e.options.beforeMove.apply(this, [e.$elem]), t >= e.maximumItem || -1 === t ? t = e.maximumItem : t <= 0 && (t = 0), e.swapSpeed(0), !0 === e.browser.support3d ? e.transition3d(e.positionsInArray[t]) : e.css2slide(e.positionsInArray[t], 1), e.currentItem = e.owl.currentItem = t, e.afterGo() }, afterGo: function() { var t = this; t.prevArr.push(t.currentItem), t.prevItem = t.owl.prevItem = t.prevArr[t.prevArr.length - 2], t.prevArr.shift(0), t.prevItem !== t.currentItem && (t.checkPagination(), t.checkNavigation(), t.eachMoveUpdate(), !1 !== t.options.autoPlay && t.checkAp()), "function" == typeof t.options.afterMove && t.prevItem !== t.currentItem && t.options.afterMove.apply(this, [t.$elem]) }, stop: function() { this.apStatus = "stop", e.clearInterval(this.autoPlayInterval) }, checkAp: function() { "stop" !== this.apStatus && this.play() }, play: function() { var t = this; if (t.apStatus = "play", !1 === t.options.autoPlay) return !1; e.clearInterval(t.autoPlayInterval), t.autoPlayInterval = e.setInterval((function() { t.next(!0) }), t.options.autoPlay) }, swapSpeed: function(t) { var e = this; "slideSpeed" === t ? e.$owlWrapper.css(e.addCssSpeed(e.options.slideSpeed)) : "paginationSpeed" === t ? e.$owlWrapper.css(e.addCssSpeed(e.options.paginationSpeed)) : "string" != typeof t && e.$owlWrapper.css(e.addCssSpeed(t)) }, addCssSpeed: function(t) { return { "-webkit-transition": "all " + t + "ms ease", "-moz-transition": "all " + t + "ms ease", "-o-transition": "all " + t + "ms ease", transition: "all " + t + "ms ease" } }, removeTransition: function() { return { "-webkit-transition": "", "-moz-transition": "", "-o-transition": "", transition: "" } }, doTranslate: function(t) { return { "-webkit-transform": "translate3d(" + t + "px, 0px, 0px)", "-moz-transform": "translate3d(" + t + "px, 0px, 0px)", "-o-transform": "translate3d(" + t + "px, 0px, 0px)", "-ms-transform": "translate3d(" + t + "px, 0px, 0px)", transform: "translate3d(" + t + "px, 0px,0px)" } }, transition3d: function(t) { this.$owlWrapper.css(this.doTranslate(t)) }, css2move: function(t) { this.$owlWrapper.css({ left: t }) }, css2slide: function(t, e) { var i = this; i.isCssFinish = !1, i.$owlWrapper.stop(!0, !0).animate({ left: t }, { duration: e || i.options.slideSpeed, complete: function() { i.isCssFinish = !0 } }) }, checkBrowser: function() { var t, n, s, o, a = "translate3d(0px, 0px, 0px)", r = i.createElement("div"); r.style.cssText = " -moz-transform:" + a + "; -ms-transform:" + a + "; -o-transform:" + a + "; -webkit-transform:" + a + "; transform:" + a, t = /translate3d\(0px, 0px, 0px\)/g, s = null !== (n = r.style.cssText.match(t)) && 1 === n.length, o = "ontouchstart" in e || e.navigator.msMaxTouchPoints, this.browser = { support3d: s, isTouch: o } }, moveEvents: function() { var t = this; (!1 !== t.options.mouseDrag || !1 !== t.options.touchDrag) && (t.gestures(), t.disabledEvents()) }, eventTypes: function() { var t = this, e = ["s", "e", "x"]; t.ev_types = {}, !0 === t.options.mouseDrag && !0 === t.options.touchDrag ? e = ["touchstart.owl mousedown.owl", "touchmove.owl mousemove.owl", "touchend.owl touchcancel.owl mouseup.owl"] : !1 === t.options.mouseDrag && !0 === t.options.touchDrag ? e = ["touchstart.owl", "touchmove.owl", "touchend.owl touchcancel.owl"] : !0 === t.options.mouseDrag && !1 === t.options.touchDrag && (e = ["mousedown.owl", "mousemove.owl", "mouseup.owl"]), t.ev_types.start = e[0], t.ev_types.move = e[1], t.ev_types.end = e[2] }, disabledEvents: function() { this.$elem.on("dragstart.owl", (function(t) { t.preventDefault() })), this.$elem.on("mousedown.disableTextSelect", (function(e) { return t(e.target).is("input, textarea, select, option") })) }, gestures: function() { function n(t) { if (void 0 !== t.touches) return { x: t.touches[0].pageX, y: t.touches[0].pageY }; if (void 0 === t.touches) { if (void 0 !== t.pageX) return { x: t.pageX, y: t.pageY }; if (void 0 === t.pageX) return { x: t.clientX, y: t.clientY } } } function s(e) { "on" === e ? (t(i).on(r.ev_types.move, o), t(i).on(r.ev_types.end, a)) : "off" === e && (t(i).off(r.ev_types.move), t(i).off(r.ev_types.end)) } function o(s) { var o, a, h = s.originalEvent || s || e.event; r.newPosX = n(h).x - l.offsetX, r.newPosY = n(h).y - l.offsetY, r.newRelativeX = r.newPosX - l.relativePos, "function" == typeof r.options.startDragging && !0 !== l.dragging && 0 !== r.newRelativeX && (l.dragging = !0, r.options.startDragging.apply(r, [r.$elem])), (r.newRelativeX > 8 || r.newRelativeX < -8) && !0 === r.browser.isTouch && (void 0 !== h.preventDefault ? h.preventDefault() : h.returnValue = !1, l.sliding = !0), (r.newPosY > 10 || r.newPosY < -10) && !1 === l.sliding && t(i).off("touchmove.owl"), o = function() { return r.newRelativeX / 5 }, a = function() { return r.maximumPixels + r.newRelativeX / 5 }, r.newPosX = Math.max(Math.min(r.newPosX, o()), a()), !0 === r.browser.support3d ? r.transition3d(r.newPosX) : r.css2move(r.newPosX) } function a(i) { var n, o, a, h = i.originalEvent || i || e.event; h.target = h.target || h.srcElement, l.dragging = !1, !0 !== r.browser.isTouch && r.$owlWrapper.removeClass("grabbing"), r.dragDirection = r.newRelativeX < 0 ? r.owl.dragDirection = "left" : r.owl.dragDirection = "right", 0 !== r.newRelativeX && (n = r.getNewPosition(), r.goTo(n, !1, "drag"), l.targetElement === h.target && !0 !== r.browser.isTouch) && (t(h.target).on("click.disable", (function(e) { e.stopImmediatePropagation(), e.stopPropagation(), e.preventDefault(), t(e.target).off("click.disable") })), a = (o = t._data(h.target, "events").click).pop(), o.splice(0, 0, a)), s("off") } var r = this, l = { offsetX: 0, offsetY: 0, baseElWidth: 0, relativePos: 0, position: null, minSwipe: null, maxSwipe: null, sliding: null, dargging: null, targetElement: null }; r.isCssFinish = !0, r.$elem.on(r.ev_types.start, ".owl-wrapper", (function(i) { var o, a = i.originalEvent || i || e.event; if (3 === a.which) return !1; if (!(r.itemsAmount <= r.options.items)) { if (!1 === r.isCssFinish && !r.options.dragBeforeAnimFinish || !1 === r.isCss3Finish && !r.options.dragBeforeAnimFinish) return !1; !1 !== r.options.autoPlay && e.clearInterval(r.autoPlayInterval), !0 === r.browser.isTouch || r.$owlWrapper.hasClass("grabbing") || r.$owlWrapper.addClass("grabbing"), r.newPosX = 0, r.newRelativeX = 0, t(this).css(r.removeTransition()), o = t(this).position(), l.relativePos = o.left, l.offsetX = n(a).x - o.left, l.offsetY = n(a).y - o.top, s("on"), l.sliding = !1, l.targetElement = a.target || a.srcElement } })) }, getNewPosition: function() { var t = this, e = t.closestItem(); return e > t.maximumItem ? (t.currentItem = t.maximumItem, e = t.maximumItem) : t.newPosX >= 0 && (e = 0, t.currentItem = 0), e }, closestItem: function() { var e = this, i = !0 === e.options.scrollPerPage ? e.pagesInArray : e.positionsInArray, n = e.newPosX, s = null; return t.each(i, (function(o, a) { n - e.itemWidth / 20 > i[o + 1] && n - e.itemWidth / 20 < a && "left" === e.moveDirection() ? (s = a, e.currentItem = !0 === e.options.scrollPerPage ? t.inArray(s, e.positionsInArray) : o) : n + e.itemWidth / 20 < a && n + e.itemWidth / 20 > (i[o + 1] || i[o] - e.itemWidth) && "right" === e.moveDirection() && (!0 === e.options.scrollPerPage ? (s = i[o + 1] || i[i.length - 1], e.currentItem = t.inArray(s, e.positionsInArray)) : (s = i[o + 1], e.currentItem = o + 1)) })), e.currentItem }, moveDirection: function() { var t, e = this; return e.newRelativeX < 0 ? (t = "right", e.playDirection = "next") : (t = "left", e.playDirection = "prev"), t }, customEvents: function() { var t = this; t.$elem.on("owl.next", (function() { t.next() })), t.$elem.on("owl.prev", (function() { t.prev() })), t.$elem.on("owl.play", (function(e, i) { t.options.autoPlay = i, t.play(), t.hoverStatus = "play" })), t.$elem.on("owl.stop", (function() { t.stop(), t.hoverStatus = "stop" })), t.$elem.on("owl.goTo", (function(e, i) { t.goTo(i) })), t.$elem.on("owl.jumpTo", (function(e, i) { t.jumpTo(i) })) }, stopOnHover: function() { var t = this; !0 === t.options.stopOnHover && !0 !== t.browser.isTouch && !1 !== t.options.autoPlay && (t.$elem.on("mouseover", (function() { t.stop() })), t.$elem.on("mouseout", (function() { "stop" !== t.hoverStatus && t.play() }))) }, lazyLoad: function() { var e, i, n, s, o = this; if (!1 === o.options.lazyLoad) return !1; for (e = 0; e < o.itemsAmount; e += 1) if ("loaded" !== (i = t(o.$owlItems[e])).data("owl-loaded")) { if (n = i.data("owl-item"), "string" != typeof(s = i.find(".lazyOwl")).data("src")) { i.data("owl-loaded", "loaded"); continue } void 0 === i.data("owl-loaded") && (s.hide(), i.addClass("loading").data("owl-loaded", "checked")), (!0 !== o.options.lazyFollow || n >= o.currentItem) && n < o.currentItem + o.options.items && s.length && o.lazyPreload(i, s) } }, lazyPreload: function(t, i) { function n() { t.data("owl-loaded", "loaded").removeClass("loading"), i.removeAttr("data-src"), "fade" === o.options.lazyEffect ? i.fadeIn(400) : i.show(), "function" == typeof o.options.afterLazyLoad && o.options.afterLazyLoad.apply(this, [o.$elem]) } var s, o = this, a = 0; "DIV" === i.prop("tagName") ? (i.css("background-image", "url(" + i.data("src") + ")"), s = !0) : i[0].src = i.data("src"), function t() { a += 1, o.completeImg(i.get(0)) || !0 === s ? n() : a <= 100 ? e.setTimeout(t, 100) : n() }() }, autoHeight: function() { function i() { var i = t(s.$owlItems[s.currentItem]).height(); s.wrapperOuter.css("height", i + "px"), s.wrapperOuter.hasClass("autoHeight") || e.setTimeout((function() { s.wrapperOuter.addClass("autoHeight") }), 0) } var n, s = this, o = t(s.$owlItems[s.currentItem]).find("img"); void 0 !== o.get(0) ? (n = 0, function t() { n += 1, s.completeImg(o.get(0)) ? i() : n <= 100 ? e.setTimeout(t, 100) : s.wrapperOuter.css("height", "") }()) : i() }, completeImg: function(t) { return !!t.complete && ("undefined" === typeof t.naturalWidth || 0 !== t.naturalWidth) }, onVisibleItems: function() { var e, i = this; for (!0 === i.options.addClassActive && i.$owlItems.removeClass("active"), i.visibleItems = [], e = i.currentItem; e < i.currentItem + i.options.items; e += 1) i.visibleItems.push(e), !0 === i.options.addClassActive && t(i.$owlItems[e]).addClass("active"); i.owl.visibleItems = i.visibleItems }, transitionTypes: function(t) { this.outClass = "owl-" + t + "-out", this.inClass = "owl-" + t + "-in" }, singleItemTransition: function() { var t = this, e = t.outClass, i = t.inClass, n = t.$owlItems.eq(t.currentItem), s = t.$owlItems.eq(t.prevItem), o = Math.abs(t.positionsInArray[t.currentItem]) + t.positionsInArray[t.prevItem], a = Math.abs(t.positionsInArray[t.currentItem]) + t.itemWidth / 2, r = "webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend"; t.isTransition = !0, t.$owlWrapper.addClass("owl-origin").css({ "-webkit-transform-origin": a + "px", "-moz-perspective-origin": a + "px", "perspective-origin": a + "px" }), s.css(function(t) { return { position: "relative", left: t + "px" } }(o)).addClass(e).on(r, (function() { t.endPrev = !0, s.off(r), t.clearTransStyle(s, e) })), n.addClass(i).on(r, (function() { t.endCurrent = !0, n.off(r), t.clearTransStyle(n, i) })) }, clearTransStyle: function(t, e) { var i = this; t.css({ position: "", left: "" }).removeClass(e), i.endPrev && i.endCurrent && (i.$owlWrapper.removeClass("owl-origin"), i.endPrev = !1, i.endCurrent = !1, i.isTransition = !1) }, owlStatus: function() { var t = this; t.owl = { userOptions: t.userOptions, baseElement: t.$elem, userItems: t.$userItems, owlItems: t.$owlItems, currentItem: t.currentItem, prevItem: t.prevItem, visibleItems: t.visibleItems, isTouch: t.browser.isTouch, browser: t.browser, dragDirection: t.dragDirection } }, clearEvents: function() { this.$elem.off(".owl owl mousedown.disableTextSelect"), t(i).off(".owl owl"), t(e).off("resize", this.resizer) }, unWrap: function() { var t = this; 0 !== t.$elem.children().length && (t.$owlWrapper.unwrap(), t.$userItems.unwrap().unwrap(), t.owlControls && t.owlControls.remove()), t.clearEvents(), t.$elem.attr("style", t.$elem.data("owl-originalStyles") || "").attr("class", t.$elem.data("owl-originalClasses")) }, destroy: function() { var t = this; t.stop(), e.clearInterval(t.checkVisible), t.unWrap(), t.$elem.removeData() }, reinit: function(e) { var i = this, n = t.extend({}, i.userOptions, e); i.unWrap(), i.init(n, i.$elem) }, addItem: function(t, e) { var i, n = this; return !!t && (0 === n.$elem.children().length ? (n.$elem.append(t), n.setVars(), !1) : (n.unWrap(), (i = void 0 === e || -1 === e ? -1 : e) >= n.$userItems.length || -1 === i ? n.$userItems.eq(-1).after(t) : n.$userItems.eq(i).before(t), void n.setVars())) }, removeItem: function(t) { var e, i = this; if (0 === i.$elem.children().length) return !1; e = void 0 === t || -1 === t ? -1 : t, i.unWrap(), i.$userItems.eq(e).remove(), i.setVars() } }; t.fn.owlCarousel = function(e) { return this.each((function() { if (!0 === t(this).data("owl-init")) return !1; t(this).data("owl-init", !0); var i = Object.create(n); i.init(e, this), t.data(this, "owlCarousel", i) })) }, t.fn.owlCarousel.options = { items: 5, itemsCustom: !1, itemsDesktop: [1199, 4], itemsDesktopSmall: [979, 3], itemsTablet: [768, 2], itemsTabletSmall: !1, itemsMobile: [479, 1], singleItem: !1, itemsScaleUp: !1, slideSpeed: 200, paginationSpeed: 800, rewindSpeed: 1e3, autoPlay: !1, stopOnHover: !1, navigation: !1, navigationText: ["prev", "next"], rewindNav: !0, scrollPerPage: !1, pagination: !0, paginationNumbers: !1, responsive: !0, responsiveRefreshRate: 200, responsiveBaseWidth: e, baseClass: "owl-carousel", theme: "owl-theme", lazyLoad: !1, lazyFollow: !0, lazyEffect: "fade", autoHeight: !1, jsonPath: !1, jsonSuccess: !1, dragBeforeAnimFinish: !0, mouseDrag: !0, touchDrag: !0, addClassActive: !1, transitionStyle: !1, beforeUpdate: !1, afterUpdate: !1, beforeInit: !1, afterInit: !1, beforeMove: !1, afterMove: !1, afterAction: !1, startDragging: !1, afterLazyLoad: !1 } }(jQuery, window, document), function(t) { t.fn.inc = function(e, i, n, s) { return this.length && e ? this.each((function() { s = t(this), t.ajax({ url: e, success: function(o, a, r) { s.html(t.isFunction(i) ? i(o, e) : o), t.isFunction(n) && n(e, a, r) } }) })) : this }, t((function() { t('[class*="inc:"]').each((function() { var e = /inc:(\S+)/.exec(this.className || ""); e && t(this).inc(unescape(e[1])) })) })) }(jQuery), $((function() { "use strict"; function t() { var t = $("#ticket-adult").val(), e = $("#ticket-children").val(), i = $("#ticket-infants").val(), n = $("#qty-result"); n.val(parseInt(t, 10) + parseInt(e, 10) + parseInt(i, 10)), $("#qty-result-text").text(n.val()) } var e, i, n, s, o, a; $(".toggle-menu").on("click", (function() { $(this).toggleClass("open"), $("header").toggleClass("sticked"), $(this).parent().find(".navigation-block").toggleClass("open") })), $(".options-content .options .box").click((function() { var t = $(this), e = t.closest(".box-wrapper"); t.hasClass("active") ? (e.removeClass("box-wrapper-selected"), t.removeClass("active")) : (e.addClass("box-wrapper-selected"), t.closest(".options-content").find(".box").removeClass("active"), t.addClass("active")) })), $(".open-dropdown").on("click", (function(t) { if (t.preventDefault(), $(document).width() >= 992) return !1; var e = $(this).closest("li"), i = e.find("ul"); e.toggleClass("expanded"), e.hasClass("expanded") ? i.slideDown() : i.slideUp() })), $(".navigation-block > ul > li").on({ mouseenter: function() { if ($(document).width() < 992) return !1; $(this).addClass("hovered") }, mouseleave: function() { if ($(document).width() < 992) return !1; $(this).removeClass("hovered").removeAttr("class") } }), $(".section-header .title").each((function() { var t = $(this); t.html(t.html().replace(/^(\w+)/, "<span>$1</span>")) })), $('[data-toggle="tooltip"]').tooltip(), $(".mfp-open").magnificPopup({ type: "inline", fixedContentPos: !1, fixedBgPos: !0, overflowY: "auto", closeBtnInside: !0, preloader: !1, midClick: !0, removalDelay: 300, mainClass: "my-mfp-zoom-in", callbacks: { open: function() { $(".popup-main .owl-carousel").hide(), setTimeout((function() { $(".popup-main .owl-carousel").slideDown() }), 500) } } }), $(".open-popup-gallery").magnificPopup({ delegate: "a", type: "image", tLoading: "Loading image #%curr%...", gallery: { enabled: !0, navigateByImgClick: !0, preload: [0, 1] }, fixedContentPos: !1, fixedBgPos: !0, overflowY: "auto", closeBtnInside: !0, preloader: !1, midClick: !0, removalDelay: 300, mainClass: "my-mfp-zoom-in" }), e = ['<span class="icon icon-chevron-left"></span>', '<span class="icon icon-chevron-right"></span>'], $.each($(".owl-rooms"), (function(t, i) { $(i).owlCarousel({ autoHeight: !1, pagination: !0, navigation: !0, navigationText: e, items: 3, itemsDesktop: [1199, 3], itemsDesktopSmall: [979, 2], itemsTablet: [768, 2], itemsTabletSmall: !0, itemsMobile: [479, 1], addClassActive: !0, autoPlay: true, loop:true }) })), $.each($(".owl-slider"), (function(t, i) { function n() { var t = $(i).find(".owl-item.active"), e = 100; $.each(t.find(".animated"), (function(t, i) { var n = $(i); n.css("animation-delay", e + "ms"), e += 180, n.addClass(n.data("animation")), setTimeout((function() { n.removeClass(n.data("animation")) }), 2e3) })) } $(i).owlCarousel({ autoHeight: !1, navigation: !0, navigationText: e, items: 1, singleItem: !0, addClassActive: !0, transitionStyle: "fadeUp", afterMove: n, autoPlay: 5e3, loop: !0 }), n(), $(i).hasClass("owl-slider-fullscreen") && $(".owl-slider-fullscreen .item").height($(window).height()) })), $.each($(".quote-carousel"), (function(t, i) { $(i).owlCarousel({ navigation: !0, slideSpeed: 300, items: 1, paginationSpeed: 400, singleItem: !1, navigationText: e, autoPlay: 8e3 }) })), $(".wrapper").append($("<div class='scroll-top'><i class='icon icon-chevron-up'></i></div>")), i = $(".scroll-top"), $(document).on("ready scroll", (function() { var t = $(document).scrollTop(), e = $(window).scrollTop() + $(window).height() === $(document).height(); t >= 150 ? i.addClass("visible") : i.removeClass("visible"), e ? i.addClass("active") : i.removeClass("active") })), i.on("click", (function() { return $("html,body").animate({ scrollTop: $("body").offset().top }, 1e3), !1 })), $(".stretcher-item").on({ mouseenter: function() { $(this).addClass("active"), $(this).siblings().addClass("inactive") }, mouseleave: function() { $(this).removeClass("active"), $(this).siblings().removeClass("inactive") } }), n = $("header"), $(document).scrollTop() > 94 && n.addClass("sticked"), $(document).on("bind ready scroll", (function() { $(document).scrollTop() >= 10 ? n.addClass("sticked") : n.removeAttr("class") })), $("#paymentCart").on("click", (function() { $(this).is(":checked") && ($(".payment").removeClass("active"), $(".payment-cart").addClass("active")) })), $("#paymentPayPal").on("click", (function() { $(this).is(":checked") && ($(".payment").removeClass("active"), $(".payment-paypal").addClass("active")) })), $(".about .text-block .text img").each((function() { var t, e = $(this); e.wrap('<span class="image"></span>'), e.attr("alt") && (t = this.alt, e.attr("data"), e.after('<span class="caption">' + t + "</span>")) })), $(".form-coupon").hide(), $("#couponCodeID").on("click", (function() { $(this).is(":checked") ? $(".form-coupon").fadeIn() : $(".form-coupon").fadeOut() })); var r = $(".login-wrapper"), l = r.find(".btn-login"), h = r.find(".btn-register"), c = r.find(".login-block-signup"), u = r.find(".login-block-signin"); l.on("click", (function() { u.show(), c.hide() })), h.on("click", (function() { u.hide(), c.show() })), (s = $(".team article")).on({ mouseenter: function() { s.addClass("inactive"), $(this).addClass("active") }, mouseleave: function() { s.removeClass("inactive"), $(this).removeClass("active") } }), $(".cards figure").on({ mouseenter: function() { $(this).addClass("active") }, mouseleave: function() { $(this).removeClass("active") } }), $(".open-form").on("click", (function() { var t = $(this), e = t.parent(); e.toggleClass("active"), e.hasClass("active") ? (t.text(t.data("text-close")), $(".contact-form").slideDown()) : (t.text(t.data("text-open")), $(".contact-form").slideUp()) })); var d = "<span class='day'>d</span> <span class='month'>M</span> <span class='year'>yy</span>", p = "#dateArrival input", f = "#dateDeparture input", m = "#dateArrival .date-value", g = "#dateDeparture .date-value"; $(p).datepicker({ minDate: "D", dateFormat: d, onSelect: function(t) { $(m).html($(p).val()), $(g).html(t); var e = $(g).find(".day"), i = e.html(); e.html(parseInt(i) + 1) }, onClose: function() { var t = $(this).datepicker("getDate"); t.setDate(t.getDate() + 1), $(f).datepicker("option", "minDate", t) } }), $(f).datepicker({ minDate: "D+1", dateFormat: d, onSelect: function(t) { $(g).html(t), $(g).html($(f).val()) } }), $(".datepicker").datepicker("setDate", "today"), $(m).html($(p).val()), $(g).html($(f).val()), t(), o = $(".guests"), a = $(".guests .guest-list"), $(".guests .result").on("click", (function(t) { t.stopPropagation(), o.toggleClass("show"), o.hasClass("show") ? a.fadeIn() : a.fadeOut() })), $(".qty-apply").on("click", (function() { a.fadeOut(), o.removeClass("show") })), $(".qty-plus").add(".qty-minus").on("click", (function(e) { var i, n; e.preventDefault(); var s = $(this), o = s.attr("data-field"), a = $("input#" + o), r = parseInt(a.data("value"), 10), l = a.data("tickettype"); isNaN(r) || (i = !1, n = 0, s.hasClass("qty-plus") && r < 12 && (n = r + 1, i = !0), s.hasClass("qty-minus") && r > 0 && (n = r - 1, i = !0), i && (a.data("value", n), $(l).val(l + "-" + n), a.val(n), t())) })) })), $(window).on("load", (function() { setTimeout((function() { $(".page-loader").addClass("loaded") }), 1e3) }));
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.04 |
proxy
|
phpinfo
|
Settings