D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home3
/
encodto1
/
northstarmusic.in
/
js
/
Filename :
libs.min.js
back
Copy
/*! * jQuery JavaScript Library v3.7.1 * https://jquery.com/ * * Copyright OpenJS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * * Date: 2023-08-28T13:37Z */ ! function(e, t) { "use strict"; "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return t(e) } : t(e) }("undefined" != typeof window ? window : this, (function(e, t) { "use strict"; var n = [], i = Object.getPrototypeOf, r = n.slice, o = n.flat ? function(e) { return n.flat.call(e) } : function(e) { return n.concat.apply([], e) }, a = n.push, s = n.indexOf, l = {}, u = l.toString, c = l.hasOwnProperty, d = c.toString, p = d.call(Object), f = {}, h = function(e) { return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item }, m = function(e) { return null != e && e === e.window }, g = e.document, v = { type: !0, src: !0, nonce: !0, noModule: !0 }; function y(e, t, n) { var i, r, o = (n = n || g).createElement("script"); if (o.text = e, t) for (i in v)(r = t[i] || t.getAttribute && t.getAttribute(i)) && o.setAttribute(i, r); n.head.appendChild(o).parentNode.removeChild(o) } function x(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? l[u.call(e)] || "object" : typeof e } var b = "3.7.1", w = /HTML$/i, C = function(e, t) { return new C.fn.init(e, t) }; function T(e) { var t = !!e && "length" in e && e.length, n = x(e); return !h(e) && !m(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e) } function _(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() } C.fn = C.prototype = { jquery: b, constructor: C, length: 0, toArray: function() { return r.call(this) }, get: function(e) { return null == e ? r.call(this) : e < 0 ? this[e + this.length] : this[e] }, pushStack: function(e) { var t = C.merge(this.constructor(), e); return t.prevObject = this, t }, each: function(e) { return C.each(this, e) }, map: function(e) { return this.pushStack(C.map(this, (function(t, n) { return e.call(t, n, t) }))) }, slice: function() { return this.pushStack(r.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, even: function() { return this.pushStack(C.grep(this, (function(e, t) { return (t + 1) % 2 }))) }, odd: function() { return this.pushStack(C.grep(this, (function(e, t) { return t % 2 }))) }, eq: function(e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(n >= 0 && n < t ? [this[n]] : []) }, end: function() { return this.prevObject || this.constructor() }, push: a, sort: n.sort, splice: n.splice }, C.extend = C.fn.extend = function() { var e, t, n, i, r, o, a = arguments[0] || {}, s = 1, l = arguments.length, u = !1; for ("boolean" == typeof a && (u = a, a = arguments[s] || {}, s++), "object" == typeof a || h(a) || (a = {}), s === l && (a = this, s--); s < l; s++) if (null != (e = arguments[s])) for (t in e) i = e[t], "__proto__" !== t && a !== i && (u && i && (C.isPlainObject(i) || (r = Array.isArray(i))) ? (n = a[t], o = r && !Array.isArray(n) ? [] : r || C.isPlainObject(n) ? n : {}, r = !1, a[t] = C.extend(u, o, i)) : void 0 !== i && (a[t] = i)); return a }, C.extend({ expando: "jQuery" + (b + Math.random()).replace(/\D/g, ""), isReady: !0, error: function(e) { throw new Error(e) }, noop: function() {}, isPlainObject: function(e) { var t, n; return !(!e || "[object Object]" !== u.call(e) || (t = i(e)) && ("function" != typeof(n = c.call(t, "constructor") && t.constructor) || d.call(n) !== p)) }, isEmptyObject: function(e) { var t; for (t in e) return !1; return !0 }, globalEval: function(e, t, n) { y(e, { nonce: t && t.nonce }, n) }, each: function(e, t) { var n, i = 0; if (T(e)) for (n = e.length; i < n && !1 !== t.call(e[i], i, e[i]); i++); else for (i in e) if (!1 === t.call(e[i], i, e[i])) break; return e }, text: function(e) { var t, n = "", i = 0, r = e.nodeType; if (!r) for (; t = e[i++];) n += C.text(t); return 1 === r || 11 === r ? e.textContent : 9 === r ? e.documentElement.textContent : 3 === r || 4 === r ? e.nodeValue : n }, makeArray: function(e, t) { var n = t || []; return null != e && (T(Object(e)) ? C.merge(n, "string" == typeof e ? [e] : e) : a.call(n, e)), n }, inArray: function(e, t, n) { return null == t ? -1 : s.call(t, e, n) }, isXMLDoc: function(e) { var t = e && e.namespaceURI, n = e && (e.ownerDocument || e).documentElement; return !w.test(t || n && n.nodeName || "HTML") }, merge: function(e, t) { for (var n = +t.length, i = 0, r = e.length; i < n; i++) e[r++] = t[i]; return e.length = r, e }, grep: function(e, t, n) { for (var i = [], r = 0, o = e.length, a = !n; r < o; r++) !t(e[r], r) !== a && i.push(e[r]); return i }, map: function(e, t, n) { var i, r, a = 0, s = []; if (T(e)) for (i = e.length; a < i; a++) null != (r = t(e[a], a, n)) && s.push(r); else for (a in e) null != (r = t(e[a], a, n)) && s.push(r); return o(s) }, guid: 1, support: f }), "function" == typeof Symbol && (C.fn[Symbol.iterator] = n[Symbol.iterator]), C.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), (function(e, t) { l["[object " + t + "]"] = t.toLowerCase() })); var k = n.pop, S = n.sort, E = n.splice, D = "[\\x20\\t\\r\\n\\f]", I = new RegExp("^" + D + "+|((?:^|[^\\\\])(?:\\\\.)*)" + D + "+$", "g"); C.contains = function(e, t) { var n = t && t.parentNode; return e === n || !(!n || 1 !== n.nodeType || !(e.contains ? e.contains(n) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(n))) }; var M = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; function A(e, t) { return t ? "\0" === e ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e } C.escapeSelector = function(e) { return (e + "").replace(M, A) }; var O = g, P = a; ! function() { var t, i, o, a, l, u, d, p, h, m, g = P, v = C.expando, y = 0, x = 0, b = ee(), w = ee(), T = ee(), M = ee(), A = function(e, t) { return e === t && (l = !0), 0 }, L = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", j = "(?:\\\\[\\da-fA-F]{1,6}" + D + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", N = "\\[" + D + "*(" + j + ")(?:" + D + "*([*^$|!~]?=)" + D + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + j + "))|)" + D + "*\\]", F = ":(" + j + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + N + ")*)|.*)\\)|)", R = new RegExp(D + "+", "g"), $ = new RegExp("^" + D + "*," + D + "*"), H = new RegExp("^" + D + "*([>+~]|" + D + ")" + D + "*"), q = new RegExp(D + "|>"), z = new RegExp(F), B = new RegExp("^" + j + "$"), W = { ID: new RegExp("^#(" + j + ")"), CLASS: new RegExp("^\\.(" + j + ")"), TAG: new RegExp("^(" + j + "|[*])"), ATTR: new RegExp("^" + N), PSEUDO: new RegExp("^" + F), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + D + "*(even|odd|(([+-]|)(\\d*)n|)" + D + "*(?:([+-]|)" + D + "*(\\d+)|))" + D + "*\\)|)", "i"), bool: new RegExp("^(?:" + L + ")$", "i"), needsContext: new RegExp("^" + D + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + D + "*((?:-\\d)?\\d*)" + D + "*\\)|)(?=[^-]|$)", "i") }, U = /^(?:input|select|textarea|button)$/i, Z = /^h\d$/i, Y = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, V = /[+~]/, K = new RegExp("\\\\[\\da-fA-F]{1,6}" + D + "?|\\\\([^\\r\\n\\f])", "g"), X = function(e, t) { var n = "0x" + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)) }, G = function() { le() }, Q = pe((function(e) { return !0 === e.disabled && _(e, "fieldset") }), { dir: "parentNode", next: "legend" }); try { g.apply(n = r.call(O.childNodes), O.childNodes), n[O.childNodes.length].nodeType } catch (e) { g = { apply: function(e, t) { P.apply(e, r.call(t)) }, call: function(e) { P.apply(e, r.call(arguments, 1)) } } } function J(e, t, n, i) { var r, o, a, s, l, c, d, m = t && t.ownerDocument, y = t ? t.nodeType : 9; if (n = n || [], "string" != typeof e || !e || 1 !== y && 9 !== y && 11 !== y) return n; if (!i && (le(t), t = t || u, p)) { if (11 !== y && (l = Y.exec(e))) if (r = l[1]) { if (9 === y) { if (!(a = t.getElementById(r))) return n; if (a.id === r) return g.call(n, a), n } else if (m && (a = m.getElementById(r)) && J.contains(t, a) && a.id === r) return g.call(n, a), n } else { if (l[2]) return g.apply(n, t.getElementsByTagName(e)), n; if ((r = l[3]) && t.getElementsByClassName) return g.apply(n, t.getElementsByClassName(r)), n } if (!(M[e + " "] || h && h.test(e))) { if (d = e, m = t, 1 === y && (q.test(e) || H.test(e))) { for ((m = V.test(e) && se(t.parentNode) || t) == t && f.scope || ((s = t.getAttribute("id")) ? s = C.escapeSelector(s) : t.setAttribute("id", s = v)), o = (c = ce(e)).length; o--;) c[o] = (s ? "#" + s : ":scope") + " " + de(c[o]); d = c.join(",") } try { return g.apply(n, m.querySelectorAll(d)), n } catch (t) { M(e, !0) } finally { s === v && t.removeAttribute("id") } } } return ye(e.replace(I, "$1"), t, n, i) } function ee() { var e = []; return function t(n, r) { return e.push(n + " ") > i.cacheLength && delete t[e.shift()], t[n + " "] = r } } function te(e) { return e[v] = !0, e } function ne(e) { var t = u.createElement("fieldset"); try { return !!e(t) } catch (e) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function ie(e) { return function(t) { return _(t, "input") && t.type === e } } function re(e) { return function(t) { return (_(t, "input") || _(t, "button")) && t.type === e } } function oe(e) { return function(t) { return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && Q(t) === e : t.disabled === e : "label" in t && t.disabled === e } } function ae(e) { return te((function(t) { return t = +t, te((function(n, i) { for (var r, o = e([], n.length, t), a = o.length; a--;) n[r = o[a]] && (n[r] = !(i[r] = n[r])) })) })) } function se(e) { return e && void 0 !== e.getElementsByTagName && e } function le(e) { var t, n = e ? e.ownerDocument || e : O; return n != u && 9 === n.nodeType && n.documentElement ? (d = (u = n).documentElement, p = !C.isXMLDoc(u), m = d.matches || d.webkitMatchesSelector || d.msMatchesSelector, d.msMatchesSelector && O != u && (t = u.defaultView) && t.top !== t && t.addEventListener("unload", G), f.getById = ne((function(e) { return d.appendChild(e).id = C.expando, !u.getElementsByName || !u.getElementsByName(C.expando).length })), f.disconnectedMatch = ne((function(e) { return m.call(e, "*") })), f.scope = ne((function() { return u.querySelectorAll(":scope") })), f.cssHas = ne((function() { try { return u.querySelector(":has(*,:jqfake)"), !1 } catch (e) { return !0 } })), f.getById ? (i.filter.ID = function(e) { var t = e.replace(K, X); return function(e) { return e.getAttribute("id") === t } }, i.find.ID = function(e, t) { if (void 0 !== t.getElementById && p) { var n = t.getElementById(e); return n ? [n] : [] } }) : (i.filter.ID = function(e) { var t = e.replace(K, X); return function(e) { var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id"); return n && n.value === t } }, i.find.ID = function(e, t) { if (void 0 !== t.getElementById && p) { var n, i, r, o = t.getElementById(e); if (o) { if ((n = o.getAttributeNode("id")) && n.value === e) return [o]; for (r = t.getElementsByName(e), i = 0; o = r[i++];) if ((n = o.getAttributeNode("id")) && n.value === e) return [o] } return [] } }), i.find.TAG = function(e, t) { return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : t.querySelectorAll(e) }, i.find.CLASS = function(e, t) { if (void 0 !== t.getElementsByClassName && p) return t.getElementsByClassName(e) }, h = [], ne((function(e) { var t; d.appendChild(e).innerHTML = "<a id='" + v + "' href='' disabled='disabled'></a><select id='" + v + "-\r\\' disabled='disabled'><option selected=''></option></select>", e.querySelectorAll("[selected]").length || h.push("\\[" + D + "*(?:value|" + L + ")"), e.querySelectorAll("[id~=" + v + "-]").length || h.push("~="), e.querySelectorAll("a#" + v + "+*").length || h.push(".#.+[+~]"), e.querySelectorAll(":checked").length || h.push(":checked"), (t = u.createElement("input")).setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), d.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && h.push(":enabled", ":disabled"), (t = u.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || h.push("\\[" + D + "*name" + D + "*=" + D + "*(?:''|\"\")") })), f.cssHas || h.push(":has"), h = h.length && new RegExp(h.join("|")), A = function(e, t) { if (e === t) return l = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !f.sortDetached && t.compareDocumentPosition(e) === n ? e === u || e.ownerDocument == O && J.contains(O, e) ? -1 : t === u || t.ownerDocument == O && J.contains(O, t) ? 1 : a ? s.call(a, e) - s.call(a, t) : 0 : 4 & n ? -1 : 1) }, u) : u } for (t in J.matches = function(e, t) { return J(e, null, null, t) }, J.matchesSelector = function(e, t) { if (le(e), p && !M[t + " "] && (!h || !h.test(t))) try { var n = m.call(e, t); if (n || f.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n } catch (e) { M(t, !0) } return J(t, u, null, [e]).length > 0 }, J.contains = function(e, t) { return (e.ownerDocument || e) != u && le(e), C.contains(e, t) }, J.attr = function(e, t) { (e.ownerDocument || e) != u && le(e); var n = i.attrHandle[t.toLowerCase()], r = n && c.call(i.attrHandle, t.toLowerCase()) ? n(e, t, !p) : void 0; return void 0 !== r ? r : e.getAttribute(t) }, J.error = function(e) { throw new Error("Syntax error, unrecognized expression: " + e) }, C.uniqueSort = function(e) { var t, n = [], i = 0, o = 0; if (l = !f.sortStable, a = !f.sortStable && r.call(e, 0), S.call(e, A), l) { for (; t = e[o++];) t === e[o] && (i = n.push(o)); for (; i--;) E.call(e, n[i], 1) } return a = null, e }, C.fn.uniqueSort = function() { return this.pushStack(C.uniqueSort(r.apply(this))) }, i = C.expr = { cacheLength: 50, createPseudo: te, match: W, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(e) { return e[1] = e[1].replace(K, X), e[3] = (e[3] || e[4] || e[5] || "").replace(K, X), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function(e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || J.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && J.error(e[0]), e }, PSEUDO: function(e) { var t, n = !e[6] && e[2]; return W.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && z.test(n) && (t = ce(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function(e) { var t = e.replace(K, X).toLowerCase(); return "*" === e ? function() { return !0 } : function(e) { return _(e, t) } }, CLASS: function(e) { var t = b[e + " "]; return t || (t = new RegExp("(^|" + D + ")" + e + "(" + D + "|$)")) && b(e, (function(e) { return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "") })) }, ATTR: function(e, t, n) { return function(i) { var r = J.attr(i, e); return null == r ? "!=" === t : !t || (r += "", "=" === t ? r === n : "!=" === t ? r !== n : "^=" === t ? n && 0 === r.indexOf(n) : "*=" === t ? n && r.indexOf(n) > -1 : "$=" === t ? n && r.slice(-n.length) === n : "~=" === t ? (" " + r.replace(R, " ") + " ").indexOf(n) > -1 : "|=" === t && (r === n || r.slice(0, n.length + 1) === n + "-")) } }, CHILD: function(e, t, n, i, r) { var o = "nth" !== e.slice(0, 3), a = "last" !== e.slice(-4), s = "of-type" === t; return 1 === i && 0 === r ? function(e) { return !!e.parentNode } : function(t, n, l) { var u, c, d, p, f, h = o !== a ? "nextSibling" : "previousSibling", m = t.parentNode, g = s && t.nodeName.toLowerCase(), x = !l && !s, b = !1; if (m) { if (o) { for (; h;) { for (d = t; d = d[h];) if (s ? _(d, g) : 1 === d.nodeType) return !1; f = h = "only" === e && !f && "nextSibling" } return !0 } if (f = [a ? m.firstChild : m.lastChild], a && x) { for (b = (p = (u = (c = m[v] || (m[v] = {}))[e] || [])[0] === y && u[1]) && u[2], d = p && m.childNodes[p]; d = ++p && d && d[h] || (b = p = 0) || f.pop();) if (1 === d.nodeType && ++b && d === t) { c[e] = [y, p, b]; break } } else if (x && (b = p = (u = (c = t[v] || (t[v] = {}))[e] || [])[0] === y && u[1]), !1 === b) for (; (d = ++p && d && d[h] || (b = p = 0) || f.pop()) && (!(s ? _(d, g) : 1 === d.nodeType) || !++b || (x && ((c = d[v] || (d[v] = {}))[e] = [y, b]), d !== t));); return (b -= r) === i || b % i == 0 && b / i >= 0 } } }, PSEUDO: function(e, t) { var n, r = i.pseudos[e] || i.setFilters[e.toLowerCase()] || J.error("unsupported pseudo: " + e); return r[v] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? te((function(e, n) { for (var i, o = r(e, t), a = o.length; a--;) e[i = s.call(e, o[a])] = !(n[i] = o[a]) })) : function(e) { return r(e, 0, n) }) : r } }, pseudos: { not: te((function(e) { var t = [], n = [], i = ve(e.replace(I, "$1")); return i[v] ? te((function(e, t, n, r) { for (var o, a = i(e, null, r, []), s = e.length; s--;)(o = a[s]) && (e[s] = !(t[s] = o)) })) : function(e, r, o) { return t[0] = e, i(t, null, o, n), t[0] = null, !n.pop() } })), has: te((function(e) { return function(t) { return J(e, t).length > 0 } })), contains: te((function(e) { return e = e.replace(K, X), function(t) { return (t.textContent || C.text(t)).indexOf(e) > -1 } })), lang: te((function(e) { return B.test(e || "") || J.error("unsupported lang: " + e), e = e.replace(K, X).toLowerCase(), function(t) { var n; do { if (n = p ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-") } while ((t = t.parentNode) && 1 === t.nodeType); return !1 } })), target: function(t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id }, root: function(e) { return e === d }, focus: function(e) { return e === function() { try { return u.activeElement } catch (e) {} }() && u.hasFocus() && !!(e.type || e.href || ~e.tabIndex) }, enabled: oe(!1), disabled: oe(!0), checked: function(e) { return _(e, "input") && !!e.checked || _(e, "option") && !!e.selected }, selected: function(e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected }, empty: function(e) { for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; return !0 }, parent: function(e) { return !i.pseudos.empty(e) }, header: function(e) { return Z.test(e.nodeName) }, input: function(e) { return U.test(e.nodeName) }, button: function(e) { return _(e, "input") && "button" === e.type || _(e, "button") }, text: function(e) { var t; return _(e, "input") && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: ae((function() { return [0] })), last: ae((function(e, t) { return [t - 1] })), eq: ae((function(e, t, n) { return [n < 0 ? n + t : n] })), even: ae((function(e, t) { for (var n = 0; n < t; n += 2) e.push(n); return e })), odd: ae((function(e, t) { for (var n = 1; n < t; n += 2) e.push(n); return e })), lt: ae((function(e, t, n) { var i; for (i = n < 0 ? n + t : n > t ? t : n; --i >= 0;) e.push(i); return e })), gt: ae((function(e, t, n) { for (var i = n < 0 ? n + t : n; ++i < t;) e.push(i); return e })) } }, i.pseudos.nth = i.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) i.pseudos[t] = ie(t); for (t in { submit: !0, reset: !0 }) i.pseudos[t] = re(t); function ue() {} function ce(e, t) { var n, r, o, a, s, l, u, c = w[e + " "]; if (c) return t ? 0 : c.slice(0); for (s = e, l = [], u = i.preFilter; s;) { for (a in n && !(r = $.exec(s)) || (r && (s = s.slice(r[0].length) || s), l.push(o = [])), n = !1, (r = H.exec(s)) && (n = r.shift(), o.push({ value: n, type: r[0].replace(I, " ") }), s = s.slice(n.length)), i.filter) !(r = W[a].exec(s)) || u[a] && !(r = u[a](r)) || (n = r.shift(), o.push({ value: n, type: a, matches: r }), s = s.slice(n.length)); if (!n) break } return t ? s.length : s ? J.error(e) : w(e, l).slice(0) } function de(e) { for (var t = 0, n = e.length, i = ""; t < n; t++) i += e[t].value; return i } function pe(e, t, n) { var i = t.dir, r = t.next, o = r || i, a = n && "parentNode" === o, s = x++; return t.first ? function(t, n, r) { for (; t = t[i];) if (1 === t.nodeType || a) return e(t, n, r); return !1 } : function(t, n, l) { var u, c, d = [y, s]; if (l) { for (; t = t[i];) if ((1 === t.nodeType || a) && e(t, n, l)) return !0 } else for (; t = t[i];) if (1 === t.nodeType || a) if (c = t[v] || (t[v] = {}), r && _(t, r)) t = t[i] || t; else { if ((u = c[o]) && u[0] === y && u[1] === s) return d[2] = u[2]; if (c[o] = d, d[2] = e(t, n, l)) return !0 } return !1 } } function fe(e) { return e.length > 1 ? function(t, n, i) { for (var r = e.length; r--;) if (!e[r](t, n, i)) return !1; return !0 } : e[0] } function he(e, t, n, i, r) { for (var o, a = [], s = 0, l = e.length, u = null != t; s < l; s++)(o = e[s]) && (n && !n(o, i, r) || (a.push(o), u && t.push(s))); return a } function me(e, t, n, i, r, o) { return i && !i[v] && (i = me(i)), r && !r[v] && (r = me(r, o)), te((function(o, a, l, u) { var c, d, p, f, h = [], m = [], v = a.length, y = o || function(e, t, n) { for (var i = 0, r = t.length; i < r; i++) J(e, t[i], n); return n }(t || "*", l.nodeType ? [l] : l, []), x = !e || !o && t ? y : he(y, h, e, l, u); if (n ? n(x, f = r || (o ? e : v || i) ? [] : a, l, u) : f = x, i) for (c = he(f, m), i(c, [], l, u), d = c.length; d--;)(p = c[d]) && (f[m[d]] = !(x[m[d]] = p)); if (o) { if (r || e) { if (r) { for (c = [], d = f.length; d--;)(p = f[d]) && c.push(x[d] = p); r(null, f = [], c, u) } for (d = f.length; d--;)(p = f[d]) && (c = r ? s.call(o, p) : h[d]) > -1 && (o[c] = !(a[c] = p)) } } else f = he(f === a ? f.splice(v, f.length) : f), r ? r(null, a, f, u) : g.apply(a, f) })) } function ge(e) { for (var t, n, r, a = e.length, l = i.relative[e[0].type], u = l || i.relative[" "], c = l ? 1 : 0, d = pe((function(e) { return e === t }), u, !0), p = pe((function(e) { return s.call(t, e) > -1 }), u, !0), f = [function(e, n, i) { var r = !l && (i || n != o) || ((t = n).nodeType ? d(e, n, i) : p(e, n, i)); return t = null, r }]; c < a; c++) if (n = i.relative[e[c].type]) f = [pe(fe(f), n)]; else { if ((n = i.filter[e[c].type].apply(null, e[c].matches))[v]) { for (r = ++c; r < a && !i.relative[e[r].type]; r++); return me(c > 1 && fe(f), c > 1 && de(e.slice(0, c - 1).concat({ value: " " === e[c - 2].type ? "*" : "" })).replace(I, "$1"), n, c < r && ge(e.slice(c, r)), r < a && ge(e = e.slice(r)), r < a && de(e)) } f.push(n) } return fe(f) } function ve(e, t) { var n, r = [], a = [], s = T[e + " "]; if (!s) { for (t || (t = ce(e)), n = t.length; n--;)(s = ge(t[n]))[v] ? r.push(s) : a.push(s); s = T(e, function(e, t) { var n = t.length > 0, r = e.length > 0, a = function(a, s, l, c, d) { var f, h, m, v = 0, x = "0", b = a && [], w = [], T = o, _ = a || r && i.find.TAG("*", d), S = y += null == T ? 1 : Math.random() || .1, E = _.length; for (d && (o = s == u || s || d); x !== E && null != (f = _[x]); x++) { if (r && f) { for (h = 0, s || f.ownerDocument == u || (le(f), l = !p); m = e[h++];) if (m(f, s || u, l)) { g.call(c, f); break } d && (y = S) } n && ((f = !m && f) && v--, a && b.push(f)) } if (v += x, n && x !== v) { for (h = 0; m = t[h++];) m(b, w, s, l); if (a) { if (v > 0) for (; x--;) b[x] || w[x] || (w[x] = k.call(c)); w = he(w) } g.apply(c, w), d && !a && w.length > 0 && v + t.length > 1 && C.uniqueSort(c) } return d && (y = S, o = T), b }; return n ? te(a) : a }(a, r)), s.selector = e } return s } function ye(e, t, n, r) { var o, a, s, l, u, c = "function" == typeof e && e, d = !r && ce(e = c.selector || e); if (n = n || [], 1 === d.length) { if ((a = d[0] = d[0].slice(0)).length > 2 && "ID" === (s = a[0]).type && 9 === t.nodeType && p && i.relative[a[1].type]) { if (!(t = (i.find.ID(s.matches[0].replace(K, X), t) || [])[0])) return n; c && (t = t.parentNode), e = e.slice(a.shift().value.length) } for (o = W.needsContext.test(e) ? 0 : a.length; o-- && (s = a[o], !i.relative[l = s.type]);) if ((u = i.find[l]) && (r = u(s.matches[0].replace(K, X), V.test(a[0].type) && se(t.parentNode) || t))) { if (a.splice(o, 1), !(e = r.length && de(a))) return g.apply(n, r), n; break } } return (c || ve(e, d))(r, t, !p, n, !t || V.test(e) && se(t.parentNode) || t), n } ue.prototype = i.filters = i.pseudos, i.setFilters = new ue, f.sortStable = v.split("").sort(A).join("") === v, le(), f.sortDetached = ne((function(e) { return 1 & e.compareDocumentPosition(u.createElement("fieldset")) })), C.find = J, C.expr[":"] = C.expr.pseudos, C.unique = C.uniqueSort, J.compile = ve, J.select = ye, J.setDocument = le, J.tokenize = ce, J.escape = C.escapeSelector, J.getText = C.text, J.isXML = C.isXMLDoc, J.selectors = C.expr, J.support = C.support, J.uniqueSort = C.uniqueSort }(); var L = function(e, t, n) { for (var i = [], r = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) { if (r && C(e).is(n)) break; i.push(e) } return i }, j = function(e, t) { for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); return n }, N = C.expr.match.needsContext, F = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function R(e, t, n) { return h(t) ? C.grep(e, (function(e, i) { return !!t.call(e, i, e) !== n })) : t.nodeType ? C.grep(e, (function(e) { return e === t !== n })) : "string" != typeof t ? C.grep(e, (function(e) { return s.call(t, e) > -1 !== n })) : C.filter(t, e, n) } C.filter = function(e, t, n) { var i = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? C.find.matchesSelector(i, e) ? [i] : [] : C.find.matches(e, C.grep(t, (function(e) { return 1 === e.nodeType }))) }, C.fn.extend({ find: function(e) { var t, n, i = this.length, r = this; if ("string" != typeof e) return this.pushStack(C(e).filter((function() { for (t = 0; t < i; t++) if (C.contains(r[t], this)) return !0 }))); for (n = this.pushStack([]), t = 0; t < i; t++) C.find(e, r[t], n); return i > 1 ? C.uniqueSort(n) : n }, filter: function(e) { return this.pushStack(R(this, e || [], !1)) }, not: function(e) { return this.pushStack(R(this, e || [], !0)) }, is: function(e) { return !!R(this, "string" == typeof e && N.test(e) ? C(e) : e || [], !1).length } }); var $, H = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; (C.fn.init = function(e, t, n) { var i, r; if (!e) return this; if (n = n || $, "string" == typeof e) { if (!(i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : H.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); if (i[1]) { if (t = t instanceof C ? t[0] : t, C.merge(this, C.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : g, !0)), F.test(i[1]) && C.isPlainObject(t)) for (i in t) h(this[i]) ? this[i](t[i]) : this.attr(i, t[i]); return this } return (r = g.getElementById(i[2])) && (this[0] = r, this.length = 1), this } return e.nodeType ? (this[0] = e, this.length = 1, this) : h(e) ? void 0 !== n.ready ? n.ready(e) : e(C) : C.makeArray(e, this) }).prototype = C.fn, $ = C(g); var q = /^(?:parents|prev(?:Until|All))/, z = { children: !0, contents: !0, next: !0, prev: !0 }; function B(e, t) { for (; (e = e[t]) && 1 !== e.nodeType;); return e } C.fn.extend({ has: function(e) { var t = C(e, this), n = t.length; return this.filter((function() { for (var e = 0; e < n; e++) if (C.contains(this, t[e])) return !0 })) }, closest: function(e, t) { var n, i = 0, r = this.length, o = [], a = "string" != typeof e && C(e); if (!N.test(e)) for (; i < r; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && C.find.matchesSelector(n, e))) { o.push(n); break } return this.pushStack(o.length > 1 ? C.uniqueSort(o) : o) }, index: function(e) { return e ? "string" == typeof e ? s.call(C(e), this[0]) : s.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function(e, t) { return this.pushStack(C.uniqueSort(C.merge(this.get(), C(e, t)))) }, addBack: function(e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), C.each({ parent: function(e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function(e) { return L(e, "parentNode") }, parentsUntil: function(e, t, n) { return L(e, "parentNode", n) }, next: function(e) { return B(e, "nextSibling") }, prev: function(e) { return B(e, "previousSibling") }, nextAll: function(e) { return L(e, "nextSibling") }, prevAll: function(e) { return L(e, "previousSibling") }, nextUntil: function(e, t, n) { return L(e, "nextSibling", n) }, prevUntil: function(e, t, n) { return L(e, "previousSibling", n) }, siblings: function(e) { return j((e.parentNode || {}).firstChild, e) }, children: function(e) { return j(e.firstChild) }, contents: function(e) { return null != e.contentDocument && i(e.contentDocument) ? e.contentDocument : (_(e, "template") && (e = e.content || e), C.merge([], e.childNodes)) } }, (function(e, t) { C.fn[e] = function(n, i) { var r = C.map(this, t, n); return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (r = C.filter(i, r)), this.length > 1 && (z[e] || C.uniqueSort(r), q.test(e) && r.reverse()), this.pushStack(r) } })); var W = /[^\x20\t\r\n\f]+/g; function U(e) { return e } function Z(e) { throw e } function Y(e, t, n, i) { var r; try { e && h(r = e.promise) ? r.call(e).done(t).fail(n) : e && h(r = e.then) ? r.call(e, t, n) : t.apply(void 0, [e].slice(i)) } catch (e) { n.apply(void 0, [e]) } } C.Callbacks = function(e) { e = "string" == typeof e ? function(e) { var t = {}; return C.each(e.match(W) || [], (function(e, n) { t[n] = !0 })), t }(e) : C.extend({}, e); var t, n, i, r, o = [], a = [], s = -1, l = function() { for (r = r || e.once, i = t = !0; a.length; s = -1) for (n = a.shift(); ++s < o.length;) !1 === o[s].apply(n[0], n[1]) && e.stopOnFalse && (s = o.length, n = !1); e.memory || (n = !1), t = !1, r && (o = n ? [] : "") }, u = { add: function() { return o && (n && !t && (s = o.length - 1, a.push(n)), function t(n) { C.each(n, (function(n, i) { h(i) ? e.unique && u.has(i) || o.push(i) : i && i.length && "string" !== x(i) && t(i) })) }(arguments), n && !t && l()), this }, remove: function() { return C.each(arguments, (function(e, t) { for (var n; (n = C.inArray(t, o, n)) > -1;) o.splice(n, 1), n <= s && s-- })), this }, has: function(e) { return e ? C.inArray(e, o) > -1 : o.length > 0 }, empty: function() { return o && (o = []), this }, disable: function() { return r = a = [], o = n = "", this }, disabled: function() { return !o }, lock: function() { return r = a = [], n || t || (o = n = ""), this }, locked: function() { return !!r }, fireWith: function(e, n) { return r || (n = [e, (n = n || []).slice ? n.slice() : n], a.push(n), t || l()), this }, fire: function() { return u.fireWith(this, arguments), this }, fired: function() { return !!i } }; return u }, C.extend({ Deferred: function(t) { var n = [ ["notify", "progress", C.Callbacks("memory"), C.Callbacks("memory"), 2], ["resolve", "done", C.Callbacks("once memory"), C.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", C.Callbacks("once memory"), C.Callbacks("once memory"), 1, "rejected"] ], i = "pending", r = { state: function() { return i }, always: function() { return o.done(arguments).fail(arguments), this }, catch: function(e) { return r.then(null, e) }, pipe: function() { var e = arguments; return C.Deferred((function(t) { C.each(n, (function(n, i) { var r = h(e[i[4]]) && e[i[4]]; o[i[1]]((function() { var e = r && r.apply(this, arguments); e && h(e.promise) ? e.promise().progress(t.notify).done(t.resolve).fail(t.reject) : t[i[0] + "With"](this, r ? [e] : arguments) })) })), e = null })).promise() }, then: function(t, i, r) { var o = 0; function a(t, n, i, r) { return function() { var s = this, l = arguments, u = function() { var e, u; if (!(t < o)) { if ((e = i.apply(s, l)) === n.promise()) throw new TypeError("Thenable self-resolution"); u = e && ("object" == typeof e || "function" == typeof e) && e.then, h(u) ? r ? u.call(e, a(o, n, U, r), a(o, n, Z, r)) : (o++, u.call(e, a(o, n, U, r), a(o, n, Z, r), a(o, n, U, n.notifyWith))) : (i !== U && (s = void 0, l = [e]), (r || n.resolveWith)(s, l)) } }, c = r ? u : function() { try { u() } catch (e) { C.Deferred.exceptionHook && C.Deferred.exceptionHook(e, c.error), t + 1 >= o && (i !== Z && (s = void 0, l = [e]), n.rejectWith(s, l)) } }; t ? c() : (C.Deferred.getErrorHook ? c.error = C.Deferred.getErrorHook() : C.Deferred.getStackHook && (c.error = C.Deferred.getStackHook()), e.setTimeout(c)) } } return C.Deferred((function(e) { n[0][3].add(a(0, e, h(r) ? r : U, e.notifyWith)), n[1][3].add(a(0, e, h(t) ? t : U)), n[2][3].add(a(0, e, h(i) ? i : Z)) })).promise() }, promise: function(e) { return null != e ? C.extend(e, r) : r } }, o = {}; return C.each(n, (function(e, t) { var a = t[2], s = t[5]; r[t[1]] = a.add, s && a.add((function() { i = s }), n[3 - e][2].disable, n[3 - e][3].disable, n[0][2].lock, n[0][3].lock), a.add(t[3].fire), o[t[0]] = function() { return o[t[0] + "With"](this === o ? void 0 : this, arguments), this }, o[t[0] + "With"] = a.fireWith })), r.promise(o), t && t.call(o, o), o }, when: function(e) { var t = arguments.length, n = t, i = Array(n), o = r.call(arguments), a = C.Deferred(), s = function(e) { return function(n) { i[e] = this, o[e] = arguments.length > 1 ? r.call(arguments) : n, --t || a.resolveWith(i, o) } }; if (t <= 1 && (Y(e, a.done(s(n)).resolve, a.reject, !t), "pending" === a.state() || h(o[n] && o[n].then))) return a.then(); for (; n--;) Y(o[n], s(n), a.reject); return a.promise() } }); var V = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; C.Deferred.exceptionHook = function(t, n) { e.console && e.console.warn && t && V.test(t.name) && e.console.warn("jQuery.Deferred exception: " + t.message, t.stack, n) }, C.readyException = function(t) { e.setTimeout((function() { throw t })) }; var K = C.Deferred(); function X() { g.removeEventListener("DOMContentLoaded", X), e.removeEventListener("load", X), C.ready() } C.fn.ready = function(e) { return K.then(e).catch((function(e) { C.readyException(e) })), this }, C.extend({ isReady: !1, readyWait: 1, ready: function(e) { (!0 === e ? --C.readyWait : C.isReady) || (C.isReady = !0, !0 !== e && --C.readyWait > 0 || K.resolveWith(g, [C])) } }), C.ready.then = K.then, "complete" === g.readyState || "loading" !== g.readyState && !g.documentElement.doScroll ? e.setTimeout(C.ready) : (g.addEventListener("DOMContentLoaded", X), e.addEventListener("load", X)); var G = function(e, t, n, i, r, o, a) { var s = 0, l = e.length, u = null == n; if ("object" === x(n)) for (s in r = !0, n) G(e, t, s, n[s], !0, o, a); else if (void 0 !== i && (r = !0, h(i) || (a = !0), u && (a ? (t.call(e, i), t = null) : (u = t, t = function(e, t, n) { return u.call(C(e), n) })), t)) for (; s < l; s++) t(e[s], n, a ? i : i.call(e[s], s, t(e[s], n))); return r ? e : u ? t.call(e) : l ? t(e[0], n) : o }, Q = /^-ms-/, J = /-([a-z])/g; function ee(e, t) { return t.toUpperCase() } function te(e) { return e.replace(Q, "ms-").replace(J, ee) } var ne = function(e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }; function ie() { this.expando = C.expando + ie.uid++ } ie.uid = 1, ie.prototype = { cache: function(e) { var t = e[this.expando]; return t || (t = {}, ne(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t }, set: function(e, t, n) { var i, r = this.cache(e); if ("string" == typeof t) r[te(t)] = n; else for (i in t) r[te(i)] = t[i]; return r }, get: function(e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][te(t)] }, access: function(e, t, n) { return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) }, remove: function(e, t) { var n, i = e[this.expando]; if (void 0 !== i) { if (void 0 !== t) { n = (t = Array.isArray(t) ? t.map(te) : (t = te(t)) in i ? [t] : t.match(W) || []).length; for (; n--;) delete i[t[n]] }(void 0 === t || C.isEmptyObject(i)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) } }, hasData: function(e) { var t = e[this.expando]; return void 0 !== t && !C.isEmptyObject(t) } }; var re = new ie, oe = new ie, ae = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, se = /[A-Z]/g; function le(e, t, n) { var i; if (void 0 === n && 1 === e.nodeType) if (i = "data-" + t.replace(se, "-$&").toLowerCase(), "string" == typeof(n = e.getAttribute(i))) { try { n = function(e) { return "true" === e || "false" !== e && ("null" === e ? null : e === +e + "" ? +e : ae.test(e) ? JSON.parse(e) : e) }(n) } catch (e) {} oe.set(e, t, n) } else n = void 0; return n } C.extend({ hasData: function(e) { return oe.hasData(e) || re.hasData(e) }, data: function(e, t, n) { return oe.access(e, t, n) }, removeData: function(e, t) { oe.remove(e, t) }, _data: function(e, t, n) { return re.access(e, t, n) }, _removeData: function(e, t) { re.remove(e, t) } }), C.fn.extend({ data: function(e, t) { var n, i, r, o = this[0], a = o && o.attributes; if (void 0 === e) { if (this.length && (r = oe.get(o), 1 === o.nodeType && !re.get(o, "hasDataAttrs"))) { for (n = a.length; n--;) a[n] && 0 === (i = a[n].name).indexOf("data-") && (i = te(i.slice(5)), le(o, i, r[i])); re.set(o, "hasDataAttrs", !0) } return r } return "object" == typeof e ? this.each((function() { oe.set(this, e) })) : G(this, (function(t) { var n; if (o && void 0 === t) return void 0 !== (n = oe.get(o, e)) || void 0 !== (n = le(o, e)) ? n : void 0; this.each((function() { oe.set(this, e, t) })) }), null, t, arguments.length > 1, null, !0) }, removeData: function(e) { return this.each((function() { oe.remove(this, e) })) } }), C.extend({ queue: function(e, t, n) { var i; if (e) return t = (t || "fx") + "queue", i = re.get(e, t), n && (!i || Array.isArray(n) ? i = re.access(e, t, C.makeArray(n)) : i.push(n)), i || [] }, dequeue: function(e, t) { t = t || "fx"; var n = C.queue(e, t), i = n.length, r = n.shift(), o = C._queueHooks(e, t); "inprogress" === r && (r = n.shift(), i--), r && ("fx" === t && n.unshift("inprogress"), delete o.stop, r.call(e, (function() { C.dequeue(e, t) }), o)), !i && o && o.empty.fire() }, _queueHooks: function(e, t) { var n = t + "queueHooks"; return re.get(e, n) || re.access(e, n, { empty: C.Callbacks("once memory").add((function() { re.remove(e, [t + "queue", n]) })) }) } }), C.fn.extend({ queue: function(e, t) { var n = 2; return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? C.queue(this[0], e) : void 0 === t ? this : this.each((function() { var n = C.queue(this, e, t); C._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && C.dequeue(this, e) })) }, dequeue: function(e) { return this.each((function() { C.dequeue(this, e) })) }, clearQueue: function(e) { return this.queue(e || "fx", []) }, promise: function(e, t) { var n, i = 1, r = C.Deferred(), o = this, a = this.length, s = function() { --i || r.resolveWith(o, [o]) }; for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(n = re.get(o[a], e + "queueHooks")) && n.empty && (i++, n.empty.add(s)); return s(), r.promise(t) } }); var ue = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, ce = new RegExp("^(?:([+-])=|)(" + ue + ")([a-z%]*)$", "i"), de = ["Top", "Right", "Bottom", "Left"], pe = g.documentElement, fe = function(e) { return C.contains(e.ownerDocument, e) }, he = { composed: !0 }; pe.getRootNode && (fe = function(e) { return C.contains(e.ownerDocument, e) || e.getRootNode(he) === e.ownerDocument }); var me = function(e, t) { return "none" === (e = t || e).style.display || "" === e.style.display && fe(e) && "none" === C.css(e, "display") }; function ge(e, t, n, i) { var r, o, a = 20, s = i ? function() { return i.cur() } : function() { return C.css(e, t, "") }, l = s(), u = n && n[3] || (C.cssNumber[t] ? "" : "px"), c = e.nodeType && (C.cssNumber[t] || "px" !== u && +l) && ce.exec(C.css(e, t)); if (c && c[3] !== u) { for (l /= 2, u = u || c[3], c = +l || 1; a--;) C.style(e, t, c + u), (1 - o) * (1 - (o = s() / l || .5)) <= 0 && (a = 0), c /= o; c *= 2, C.style(e, t, c + u), n = n || [] } return n && (c = +c || +l || 0, r = n[1] ? c + (n[1] + 1) * n[2] : +n[2], i && (i.unit = u, i.start = c, i.end = r)), r } var ve = {}; function ye(e) { var t, n = e.ownerDocument, i = e.nodeName, r = ve[i]; return r || (t = n.body.appendChild(n.createElement(i)), r = C.css(t, "display"), t.parentNode.removeChild(t), "none" === r && (r = "block"), ve[i] = r, r) } function xe(e, t) { for (var n, i, r = [], o = 0, a = e.length; o < a; o++)(i = e[o]).style && (n = i.style.display, t ? ("none" === n && (r[o] = re.get(i, "display") || null, r[o] || (i.style.display = "")), "" === i.style.display && me(i) && (r[o] = ye(i))) : "none" !== n && (r[o] = "none", re.set(i, "display", n))); for (o = 0; o < a; o++) null != r[o] && (e[o].style.display = r[o]); return e } C.fn.extend({ show: function() { return xe(this, !0) }, hide: function() { return xe(this) }, toggle: function(e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each((function() { me(this) ? C(this).show() : C(this).hide() })) } }); var be, we, Ce = /^(?:checkbox|radio)$/i, Te = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, _e = /^$|^module$|\/(?:java|ecma)script/i; be = g.createDocumentFragment().appendChild(g.createElement("div")), (we = g.createElement("input")).setAttribute("type", "radio"), we.setAttribute("checked", "checked"), we.setAttribute("name", "t"), be.appendChild(we), f.checkClone = be.cloneNode(!0).cloneNode(!0).lastChild.checked, be.innerHTML = "<textarea>x</textarea>", f.noCloneChecked = !!be.cloneNode(!0).lastChild.defaultValue, be.innerHTML = "<option></option>", f.option = !!be.lastChild; var ke = { 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, "", ""] }; function Se(e, t) { var n; return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && _(e, t) ? C.merge([e], n) : n } function Ee(e, t) { for (var n = 0, i = e.length; n < i; n++) re.set(e[n], "globalEval", !t || re.get(t[n], "globalEval")) } ke.tbody = ke.tfoot = ke.colgroup = ke.caption = ke.thead, ke.th = ke.td, f.option || (ke.optgroup = ke.option = [1, "<select multiple='multiple'>", "</select>"]); var De = /<|&#?\w+;/; function Ie(e, t, n, i, r) { for (var o, a, s, l, u, c, d = t.createDocumentFragment(), p = [], f = 0, h = e.length; f < h; f++) if ((o = e[f]) || 0 === o) if ("object" === x(o)) C.merge(p, o.nodeType ? [o] : o); else if (De.test(o)) { for (a = a || d.appendChild(t.createElement("div")), s = (Te.exec(o) || ["", ""])[1].toLowerCase(), l = ke[s] || ke._default, a.innerHTML = l[1] + C.htmlPrefilter(o) + l[2], c = l[0]; c--;) a = a.lastChild; C.merge(p, a.childNodes), (a = d.firstChild).textContent = "" } else p.push(t.createTextNode(o)); for (d.textContent = "", f = 0; o = p[f++];) if (i && C.inArray(o, i) > -1) r && r.push(o); else if (u = fe(o), a = Se(d.appendChild(o), "script"), u && Ee(a), n) for (c = 0; o = a[c++];) _e.test(o.type || "") && n.push(o); return d } var Me = /^([^.]*)(?:\.(.+)|)/; function Ae() { return !0 } function Oe() { return !1 } function Pe(e, t, n, i, r, o) { var a, s; if ("object" == typeof t) { for (s in "string" != typeof n && (i = i || n, n = void 0), t) Pe(e, s, n, i, t[s], o); return e } if (null == i && null == r ? (r = n, i = n = void 0) : null == r && ("string" == typeof n ? (r = i, i = void 0) : (r = i, i = n, n = void 0)), !1 === r) r = Oe; else if (!r) return e; return 1 === o && (a = r, r = function(e) { return C().off(e), a.apply(this, arguments) }, r.guid = a.guid || (a.guid = C.guid++)), e.each((function() { C.event.add(this, t, r, i, n) })) } function Le(e, t, n) { n ? (re.set(e, t, !1), C.event.add(e, t, { namespace: !1, handler: function(e) { var n, i = re.get(this, t); if (1 & e.isTrigger && this[t]) { if (i)(C.event.special[t] || {}).delegateType && e.stopPropagation(); else if (i = r.call(arguments), re.set(this, t, i), this[t](), n = re.get(this, t), re.set(this, t, !1), i !== n) return e.stopImmediatePropagation(), e.preventDefault(), n } else i && (re.set(this, t, C.event.trigger(i[0], i.slice(1), this)), e.stopPropagation(), e.isImmediatePropagationStopped = Ae) } })) : void 0 === re.get(e, t) && C.event.add(e, t, Ae) } C.event = { global: {}, add: function(e, t, n, i, r) { var o, a, s, l, u, c, d, p, f, h, m, g = re.get(e); if (ne(e)) for (n.handler && (n = (o = n).handler, r = o.selector), r && C.find.matchesSelector(pe, r), n.guid || (n.guid = C.guid++), (l = g.events) || (l = g.events = Object.create(null)), (a = g.handle) || (a = g.handle = function(t) { return void 0 !== C && C.event.triggered !== t.type ? C.event.dispatch.apply(e, arguments) : void 0 }), u = (t = (t || "").match(W) || [""]).length; u--;) f = m = (s = Me.exec(t[u]) || [])[1], h = (s[2] || "").split(".").sort(), f && (d = C.event.special[f] || {}, f = (r ? d.delegateType : d.bindType) || f, d = C.event.special[f] || {}, c = C.extend({ type: f, origType: m, data: i, handler: n, guid: n.guid, selector: r, needsContext: r && C.expr.match.needsContext.test(r), namespace: h.join(".") }, o), (p = l[f]) || ((p = l[f] = []).delegateCount = 0, d.setup && !1 !== d.setup.call(e, i, h, a) || e.addEventListener && e.addEventListener(f, a)), d.add && (d.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), r ? p.splice(p.delegateCount++, 0, c) : p.push(c), C.event.global[f] = !0) }, remove: function(e, t, n, i, r) { var o, a, s, l, u, c, d, p, f, h, m, g = re.hasData(e) && re.get(e); if (g && (l = g.events)) { for (u = (t = (t || "").match(W) || [""]).length; u--;) if (f = m = (s = Me.exec(t[u]) || [])[1], h = (s[2] || "").split(".").sort(), f) { for (d = C.event.special[f] || {}, p = l[f = (i ? d.delegateType : d.bindType) || f] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length; o--;) c = p[o], !r && m !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || i && i !== c.selector && ("**" !== i || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, d.remove && d.remove.call(e, c)); a && !p.length && (d.teardown && !1 !== d.teardown.call(e, h, g.handle) || C.removeEvent(e, f, g.handle), delete l[f]) } else for (f in l) C.event.remove(e, f + t[u], n, i, !0); C.isEmptyObject(l) && re.remove(e, "handle events") } }, dispatch: function(e) { var t, n, i, r, o, a, s = new Array(arguments.length), l = C.event.fix(e), u = (re.get(this, "events") || Object.create(null))[l.type] || [], c = C.event.special[l.type] || {}; for (s[0] = l, t = 1; t < arguments.length; t++) s[t] = arguments[t]; if (l.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, l)) { for (a = C.event.handlers.call(this, l, u), t = 0; (r = a[t++]) && !l.isPropagationStopped();) for (l.currentTarget = r.elem, n = 0; (o = r.handlers[n++]) && !l.isImmediatePropagationStopped();) l.rnamespace && !1 !== o.namespace && !l.rnamespace.test(o.namespace) || (l.handleObj = o, l.data = o.data, void 0 !== (i = ((C.event.special[o.origType] || {}).handle || o.handler).apply(r.elem, s)) && !1 === (l.result = i) && (l.preventDefault(), l.stopPropagation())); return c.postDispatch && c.postDispatch.call(this, l), l.result } }, handlers: function(e, t) { var n, i, r, o, a, s = [], l = t.delegateCount, u = e.target; if (l && u.nodeType && !("click" === e.type && e.button >= 1)) for (; u !== this; u = u.parentNode || this) if (1 === u.nodeType && ("click" !== e.type || !0 !== u.disabled)) { for (o = [], a = {}, n = 0; n < l; n++) void 0 === a[r = (i = t[n]).selector + " "] && (a[r] = i.needsContext ? C(r, this).index(u) > -1 : C.find(r, this, null, [u]).length), a[r] && o.push(i); o.length && s.push({ elem: u, handlers: o }) } return u = this, l < t.length && s.push({ elem: u, handlers: t.slice(l) }), s }, addProp: function(e, t) { Object.defineProperty(C.Event.prototype, e, { enumerable: !0, configurable: !0, get: h(t) ? function() { if (this.originalEvent) return t(this.originalEvent) } : function() { if (this.originalEvent) return this.originalEvent[e] }, set: function(t) { Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) } }) }, fix: function(e) { return e[C.expando] ? e : new C.Event(e) }, special: { load: { noBubble: !0 }, click: { setup: function(e) { var t = this || e; return Ce.test(t.type) && t.click && _(t, "input") && Le(t, "click", !0), !1 }, trigger: function(e) { var t = this || e; return Ce.test(t.type) && t.click && _(t, "input") && Le(t, "click"), !0 }, _default: function(e) { var t = e.target; return Ce.test(t.type) && t.click && _(t, "input") && re.get(t, "click") || _(t, "a") } }, beforeunload: { postDispatch: function(e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } } }, C.removeEvent = function(e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, C.Event = function(e, t) { if (!(this instanceof C.Event)) return new C.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Ae : Oe, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && C.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[C.expando] = !0 }, C.Event.prototype = { constructor: C.Event, isDefaultPrevented: Oe, isPropagationStopped: Oe, isImmediatePropagationStopped: Oe, isSimulated: !1, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = Ae, e && !this.isSimulated && e.preventDefault() }, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = Ae, e && !this.isSimulated && e.stopPropagation() }, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = Ae, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() } }, C.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, code: !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: !0 }, C.event.addProp), C.each({ focus: "focusin", blur: "focusout" }, (function(e, t) { function n(e) { if (g.documentMode) { var n = re.get(this, "handle"), i = C.event.fix(e); i.type = "focusin" === e.type ? "focus" : "blur", i.isSimulated = !0, n(e), i.target === i.currentTarget && n(i) } else C.event.simulate(t, e.target, C.event.fix(e)) } C.event.special[e] = { setup: function() { var i; if (Le(this, e, !0), !g.documentMode) return !1; (i = re.get(this, t)) || this.addEventListener(t, n), re.set(this, t, (i || 0) + 1) }, trigger: function() { return Le(this, e), !0 }, teardown: function() { var e; if (!g.documentMode) return !1; (e = re.get(this, t) - 1) ? re.set(this, t, e): (this.removeEventListener(t, n), re.remove(this, t)) }, _default: function(t) { return re.get(t.target, e) }, delegateType: t }, C.event.special[t] = { setup: function() { var i = this.ownerDocument || this.document || this, r = g.documentMode ? this : i, o = re.get(r, t); o || (g.documentMode ? this.addEventListener(t, n) : i.addEventListener(e, n, !0)), re.set(r, t, (o || 0) + 1) }, teardown: function() { var i = this.ownerDocument || this.document || this, r = g.documentMode ? this : i, o = re.get(r, t) - 1; o ? re.set(r, t, o) : (g.documentMode ? this.removeEventListener(t, n) : i.removeEventListener(e, n, !0), re.remove(r, t)) } } })), C.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, (function(e, t) { C.event.special[e] = { delegateType: t, bindType: t, handle: function(e) { var n, i = e.relatedTarget, r = e.handleObj; return i && (i === this || C.contains(this, i)) || (e.type = r.origType, n = r.handler.apply(this, arguments), e.type = t), n } } })), C.fn.extend({ on: function(e, t, n, i) { return Pe(this, e, t, n, i) }, one: function(e, t, n, i) { return Pe(this, e, t, n, i, 1) }, off: function(e, t, n) { var i, r; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, C(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this; if ("object" == typeof e) { for (r in e) this.off(r, t, e[r]); return this } return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Oe), this.each((function() { C.event.remove(this, e, n, t) })) } }); var je = /<script|<style|<link/i, Ne = /checked\s*(?:[^=]|=\s*.checked.)/i, Fe = /^\s*<!\[CDATA\[|\]\]>\s*$/g; function Re(e, t) { return _(e, "table") && _(11 !== t.nodeType ? t : t.firstChild, "tr") && C(e).children("tbody")[0] || e } function $e(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e } function He(e) { return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e } function qe(e, t) { var n, i, r, o, a, s; if (1 === t.nodeType) { if (re.hasData(e) && (s = re.get(e).events)) for (r in re.remove(t, "handle events"), s) for (n = 0, i = s[r].length; n < i; n++) C.event.add(t, r, s[r][n]); oe.hasData(e) && (o = oe.access(e), a = C.extend({}, o), oe.set(t, a)) } } function ze(e, t) { var n = t.nodeName.toLowerCase(); "input" === n && Ce.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue) } function Be(e, t, n, i) { t = o(t); var r, a, s, l, u, c, d = 0, p = e.length, m = p - 1, g = t[0], v = h(g); if (v || p > 1 && "string" == typeof g && !f.checkClone && Ne.test(g)) return e.each((function(r) { var o = e.eq(r); v && (t[0] = g.call(this, r, o.html())), Be(o, t, n, i) })); if (p && (a = (r = Ie(t, e[0].ownerDocument, !1, e, i)).firstChild, 1 === r.childNodes.length && (r = a), a || i)) { for (l = (s = C.map(Se(r, "script"), $e)).length; d < p; d++) u = r, d !== m && (u = C.clone(u, !0, !0), l && C.merge(s, Se(u, "script"))), n.call(e[d], u, d); if (l) for (c = s[s.length - 1].ownerDocument, C.map(s, He), d = 0; d < l; d++) u = s[d], _e.test(u.type || "") && !re.access(u, "globalEval") && C.contains(c, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? C._evalUrl && !u.noModule && C._evalUrl(u.src, { nonce: u.nonce || u.getAttribute("nonce") }, c) : y(u.textContent.replace(Fe, ""), u, c)) } return e } function We(e, t, n) { for (var i, r = t ? C.filter(t, e) : e, o = 0; null != (i = r[o]); o++) n || 1 !== i.nodeType || C.cleanData(Se(i)), i.parentNode && (n && fe(i) && Ee(Se(i, "script")), i.parentNode.removeChild(i)); return e } C.extend({ htmlPrefilter: function(e) { return e }, clone: function(e, t, n) { var i, r, o, a, s = e.cloneNode(!0), l = fe(e); if (!(f.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || C.isXMLDoc(e))) for (a = Se(s), i = 0, r = (o = Se(e)).length; i < r; i++) ze(o[i], a[i]); if (t) if (n) for (o = o || Se(e), a = a || Se(s), i = 0, r = o.length; i < r; i++) qe(o[i], a[i]); else qe(e, s); return (a = Se(s, "script")).length > 0 && Ee(a, !l && Se(e, "script")), s }, cleanData: function(e) { for (var t, n, i, r = C.event.special, o = 0; void 0 !== (n = e[o]); o++) if (ne(n)) { if (t = n[re.expando]) { if (t.events) for (i in t.events) r[i] ? C.event.remove(n, i) : C.removeEvent(n, i, t.handle); n[re.expando] = void 0 } n[oe.expando] && (n[oe.expando] = void 0) } } }), C.fn.extend({ detach: function(e) { return We(this, e, !0) }, remove: function(e) { return We(this, e) }, text: function(e) { return G(this, (function(e) { return void 0 === e ? C.text(this) : this.empty().each((function() { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) })) }), null, e, arguments.length) }, append: function() { return Be(this, arguments, (function(e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Re(this, e).appendChild(e) })) }, prepend: function() { return Be(this, arguments, (function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = Re(this, e); t.insertBefore(e, t.firstChild) } })) }, before: function() { return Be(this, arguments, (function(e) { this.parentNode && this.parentNode.insertBefore(e, this) })) }, after: function() { return Be(this, arguments, (function(e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) })) }, empty: function() { for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (C.cleanData(Se(e, !1)), e.textContent = ""); return this }, clone: function(e, t) { return e = null != e && e, t = null == t ? e : t, this.map((function() { return C.clone(this, e, t) })) }, html: function(e) { return G(this, (function(e) { var t = this[0] || {}, n = 0, i = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !je.test(e) && !ke[(Te.exec(e) || ["", ""])[1].toLowerCase()]) { e = C.htmlPrefilter(e); try { for (; n < i; n++) 1 === (t = this[n] || {}).nodeType && (C.cleanData(Se(t, !1)), t.innerHTML = e); t = 0 } catch (e) {} } t && this.empty().append(e) }), null, e, arguments.length) }, replaceWith: function() { var e = []; return Be(this, arguments, (function(t) { var n = this.parentNode; C.inArray(this, e) < 0 && (C.cleanData(Se(this)), n && n.replaceChild(t, this)) }), e) } }), C.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, (function(e, t) { C.fn[e] = function(e) { for (var n, i = [], r = C(e), o = r.length - 1, s = 0; s <= o; s++) n = s === o ? this : this.clone(!0), C(r[s])[t](n), a.apply(i, n.get()); return this.pushStack(i) } })); var Ue = new RegExp("^(" + ue + ")(?!px)[a-z%]+$", "i"), Ze = /^--/, Ye = function(t) { var n = t.ownerDocument.defaultView; return n && n.opener || (n = e), n.getComputedStyle(t) }, Ve = function(e, t, n) { var i, r, o = {}; for (r in t) o[r] = e.style[r], e.style[r] = t[r]; for (r in i = n.call(e), t) e.style[r] = o[r]; return i }, Ke = new RegExp(de.join("|"), "i"); function Xe(e, t, n) { var i, r, o, a, s = Ze.test(t), l = e.style; return (n = n || Ye(e)) && (a = n.getPropertyValue(t) || n[t], s && a && (a = a.replace(I, "$1") || void 0), "" !== a || fe(e) || (a = C.style(e, t)), !f.pixelBoxStyles() && Ue.test(a) && Ke.test(t) && (i = l.width, r = l.minWidth, o = l.maxWidth, l.minWidth = l.maxWidth = l.width = a, a = n.width, l.width = i, l.minWidth = r, l.maxWidth = o)), void 0 !== a ? a + "" : a } function Ge(e, t) { return { get: function() { if (!e()) return (this.get = t).apply(this, arguments); delete this.get } } }! function() { function t() { if (c) { u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", c.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", pe.appendChild(u).appendChild(c); var t = e.getComputedStyle(c); i = "1%" !== t.top, l = 12 === n(t.marginLeft), c.style.right = "60%", a = 36 === n(t.right), r = 36 === n(t.width), c.style.position = "absolute", o = 12 === n(c.offsetWidth / 3), pe.removeChild(u), c = null } } function n(e) { return Math.round(parseFloat(e)) } var i, r, o, a, s, l, u = g.createElement("div"), c = g.createElement("div"); c.style && (c.style.backgroundClip = "content-box", c.cloneNode(!0).style.backgroundClip = "", f.clearCloneStyle = "content-box" === c.style.backgroundClip, C.extend(f, { boxSizingReliable: function() { return t(), r }, pixelBoxStyles: function() { return t(), a }, pixelPosition: function() { return t(), i }, reliableMarginLeft: function() { return t(), l }, scrollboxSize: function() { return t(), o }, reliableTrDimensions: function() { var t, n, i, r; return null == s && (t = g.createElement("table"), n = g.createElement("tr"), i = g.createElement("div"), t.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", n.style.cssText = "box-sizing:content-box;border:1px solid", n.style.height = "1px", i.style.height = "9px", i.style.display = "block", pe.appendChild(t).appendChild(n).appendChild(i), r = e.getComputedStyle(n), s = parseInt(r.height, 10) + parseInt(r.borderTopWidth, 10) + parseInt(r.borderBottomWidth, 10) === n.offsetHeight, pe.removeChild(t)), s } })) }(); var Qe = ["Webkit", "Moz", "ms"], Je = g.createElement("div").style, et = {}; function tt(e) { return C.cssProps[e] || et[e] || (e in Je ? e : et[e] = function(e) { for (var t = e[0].toUpperCase() + e.slice(1), n = Qe.length; n--;) if ((e = Qe[n] + t) in Je) return e }(e) || e) } var nt = /^(none|table(?!-c[ea]).+)/, it = { position: "absolute", visibility: "hidden", display: "block" }, rt = { letterSpacing: "0", fontWeight: "400" }; function ot(e, t, n) { var i = ce.exec(t); return i ? Math.max(0, i[2] - (n || 0)) + (i[3] || "px") : t } function at(e, t, n, i, r, o) { var a = "width" === t ? 1 : 0, s = 0, l = 0, u = 0; if (n === (i ? "border" : "content")) return 0; for (; a < 4; a += 2) "margin" === n && (u += C.css(e, n + de[a], !0, r)), i ? ("content" === n && (l -= C.css(e, "padding" + de[a], !0, r)), "margin" !== n && (l -= C.css(e, "border" + de[a] + "Width", !0, r))) : (l += C.css(e, "padding" + de[a], !0, r), "padding" !== n ? l += C.css(e, "border" + de[a] + "Width", !0, r) : s += C.css(e, "border" + de[a] + "Width", !0, r)); return !i && o >= 0 && (l += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - l - s - .5)) || 0), l + u } function st(e, t, n) { var i = Ye(e), r = (!f.boxSizingReliable() || n) && "border-box" === C.css(e, "boxSizing", !1, i), o = r, a = Xe(e, t, i), s = "offset" + t[0].toUpperCase() + t.slice(1); if (Ue.test(a)) { if (!n) return a; a = "auto" } return (!f.boxSizingReliable() && r || !f.reliableTrDimensions() && _(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === C.css(e, "display", !1, i)) && e.getClientRects().length && (r = "border-box" === C.css(e, "boxSizing", !1, i), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + at(e, t, n || (r ? "border" : "content"), o, i, a) + "px" } function lt(e, t, n, i, r) { return new lt.prototype.init(e, t, n, i, r) } C.extend({ cssHooks: { opacity: { get: function(e, t) { if (t) { var n = Xe(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { animationIterationCount: !0, aspectRatio: !0, borderImageSlice: !0, columnCount: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, scale: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeMiterlimit: !0, strokeOpacity: !0 }, cssProps: {}, style: function(e, t, n, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var r, o, a, s = te(t), l = Ze.test(t), u = e.style; if (l || (t = tt(s)), a = C.cssHooks[t] || C.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (r = a.get(e, !1, i)) ? r : u[t]; "string" == (o = typeof n) && (r = ce.exec(n)) && r[1] && (n = ge(e, t, r), o = "number"), null != n && n == n && ("number" !== o || l || (n += r && r[3] || (C.cssNumber[s] ? "" : "px")), f.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (u[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, i)) || (l ? u.setProperty(t, n) : u[t] = n)) } }, css: function(e, t, n, i) { var r, o, a, s = te(t); return Ze.test(t) || (t = tt(s)), (a = C.cssHooks[t] || C.cssHooks[s]) && "get" in a && (r = a.get(e, !0, n)), void 0 === r && (r = Xe(e, t, i)), "normal" === r && t in rt && (r = rt[t]), "" === n || n ? (o = parseFloat(r), !0 === n || isFinite(o) ? o || 0 : r) : r } }), C.each(["height", "width"], (function(e, t) { C.cssHooks[t] = { get: function(e, n, i) { if (n) return !nt.test(C.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? st(e, t, i) : Ve(e, it, (function() { return st(e, t, i) })) }, set: function(e, n, i) { var r, o = Ye(e), a = !f.scrollboxSize() && "absolute" === o.position, s = (a || i) && "border-box" === C.css(e, "boxSizing", !1, o), l = i ? at(e, t, i, s, o) : 0; return s && a && (l -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(o[t]) - at(e, t, "border", !1, o) - .5)), l && (r = ce.exec(n)) && "px" !== (r[3] || "px") && (e.style[t] = n, n = C.css(e, t)), ot(0, n, l) } } })), C.cssHooks.marginLeft = Ge(f.reliableMarginLeft, (function(e, t) { if (t) return (parseFloat(Xe(e, "marginLeft")) || e.getBoundingClientRect().left - Ve(e, { marginLeft: 0 }, (function() { return e.getBoundingClientRect().left }))) + "px" })), C.each({ margin: "", padding: "", border: "Width" }, (function(e, t) { C.cssHooks[e + t] = { expand: function(n) { for (var i = 0, r = {}, o = "string" == typeof n ? n.split(" ") : [n]; i < 4; i++) r[e + de[i] + t] = o[i] || o[i - 2] || o[0]; return r } }, "margin" !== e && (C.cssHooks[e + t].set = ot) })), C.fn.extend({ css: function(e, t) { return G(this, (function(e, t, n) { var i, r, o = {}, a = 0; if (Array.isArray(t)) { for (i = Ye(e), r = t.length; a < r; a++) o[t[a]] = C.css(e, t[a], !1, i); return o } return void 0 !== n ? C.style(e, t, n) : C.css(e, t) }), e, t, arguments.length > 1) } }), C.Tween = lt, lt.prototype = { constructor: lt, init: function(e, t, n, i, r, o) { this.elem = e, this.prop = n, this.easing = r || C.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = o || (C.cssNumber[n] ? "" : "px") }, cur: function() { var e = lt.propHooks[this.prop]; return e && e.get ? e.get(this) : lt.propHooks._default.get(this) }, run: function(e) { var t, n = lt.propHooks[this.prop]; return this.options.duration ? this.pos = t = C.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : lt.propHooks._default.set(this), this } }, lt.prototype.init.prototype = lt.prototype, lt.propHooks = { _default: { get: function(e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = C.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 }, set: function(e) { C.fx.step[e.prop] ? C.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !C.cssHooks[e.prop] && null == e.elem.style[tt(e.prop)] ? e.elem[e.prop] = e.now : C.style(e.elem, e.prop, e.now + e.unit) } } }, lt.propHooks.scrollTop = lt.propHooks.scrollLeft = { set: function(e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, C.easing = { linear: function(e) { return e }, swing: function(e) { return .5 - Math.cos(e * Math.PI) / 2 }, _default: "swing" }, C.fx = lt.prototype.init, C.fx.step = {}; var ut, ct, dt = /^(?:toggle|show|hide)$/, pt = /queueHooks$/; function ft() { ct && (!1 === g.hidden && e.requestAnimationFrame ? e.requestAnimationFrame(ft) : e.setTimeout(ft, C.fx.interval), C.fx.tick()) } function ht() { return e.setTimeout((function() { ut = void 0 })), ut = Date.now() } function mt(e, t) { var n, i = 0, r = { height: e }; for (t = t ? 1 : 0; i < 4; i += 2 - t) r["margin" + (n = de[i])] = r["padding" + n] = e; return t && (r.opacity = r.width = e), r } function gt(e, t, n) { for (var i, r = (vt.tweeners[t] || []).concat(vt.tweeners["*"]), o = 0, a = r.length; o < a; o++) if (i = r[o].call(n, t, e)) return i } function vt(e, t, n) { var i, r, o = 0, a = vt.prefilters.length, s = C.Deferred().always((function() { delete l.elem })), l = function() { if (r) return !1; for (var t = ut || ht(), n = Math.max(0, u.startTime + u.duration - t), i = 1 - (n / u.duration || 0), o = 0, a = u.tweens.length; o < a; o++) u.tweens[o].run(i); return s.notifyWith(e, [u, i, n]), i < 1 && a ? n : (a || s.notifyWith(e, [u, 1, 0]), s.resolveWith(e, [u]), !1) }, u = s.promise({ elem: e, props: C.extend({}, t), opts: C.extend(!0, { specialEasing: {}, easing: C.easing._default }, n), originalProperties: t, originalOptions: n, startTime: ut || ht(), duration: n.duration, tweens: [], createTween: function(t, n) { var i = C.Tween(e, u.opts, t, n, u.opts.specialEasing[t] || u.opts.easing); return u.tweens.push(i), i }, stop: function(t) { var n = 0, i = t ? u.tweens.length : 0; if (r) return this; for (r = !0; n < i; n++) u.tweens[n].run(1); return t ? (s.notifyWith(e, [u, 1, 0]), s.resolveWith(e, [u, t])) : s.rejectWith(e, [u, t]), this } }), c = u.props; for (function(e, t) { var n, i, r, o, a; for (n in e) if (r = t[i = te(n)], o = e[n], Array.isArray(o) && (r = o[1], o = e[n] = o[0]), n !== i && (e[i] = o, delete e[n]), (a = C.cssHooks[i]) && "expand" in a) for (n in o = a.expand(o), delete e[i], o) n in e || (e[n] = o[n], t[n] = r); else t[i] = r }(c, u.opts.specialEasing); o < a; o++) if (i = vt.prefilters[o].call(u, e, c, u.opts)) return h(i.stop) && (C._queueHooks(u.elem, u.opts.queue).stop = i.stop.bind(i)), i; return C.map(c, gt, u), h(u.opts.start) && u.opts.start.call(e, u), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always), C.fx.timer(C.extend(l, { elem: e, anim: u, queue: u.opts.queue })), u } C.Animation = C.extend(vt, { tweeners: { "*": [function(e, t) { var n = this.createTween(e, t); return ge(n.elem, e, ce.exec(t), n), n }] }, tweener: function(e, t) { h(e) ? (t = e, e = ["*"]) : e = e.match(W); for (var n, i = 0, r = e.length; i < r; i++) n = e[i], vt.tweeners[n] = vt.tweeners[n] || [], vt.tweeners[n].unshift(t) }, prefilters: [function(e, t, n) { var i, r, o, a, s, l, u, c, d = "width" in t || "height" in t, p = this, f = {}, h = e.style, m = e.nodeType && me(e), g = re.get(e, "fxshow"); for (i in n.queue || (null == (a = C._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function() { a.unqueued || s() }), a.unqueued++, p.always((function() { p.always((function() { a.unqueued--, C.queue(e, "fx").length || a.empty.fire() })) }))), t) if (r = t[i], dt.test(r)) { if (delete t[i], o = o || "toggle" === r, r === (m ? "hide" : "show")) { if ("show" !== r || !g || void 0 === g[i]) continue; m = !0 } f[i] = g && g[i] || C.style(e, i) } if ((l = !C.isEmptyObject(t)) || !C.isEmptyObject(f)) for (i in d && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (u = g && g.display) && (u = re.get(e, "display")), "none" === (c = C.css(e, "display")) && (u ? c = u : (xe([e], !0), u = e.style.display || u, c = C.css(e, "display"), xe([e]))), ("inline" === c || "inline-block" === c && null != u) && "none" === C.css(e, "float") && (l || (p.done((function() { h.display = u })), null == u && (c = h.display, u = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always((function() { h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2] }))), l = !1, f) l || (g ? "hidden" in g && (m = g.hidden) : g = re.access(e, "fxshow", { display: u }), o && (g.hidden = !m), m && xe([e], !0), p.done((function() { for (i in m || xe([e]), re.remove(e, "fxshow"), f) C.style(e, i, f[i]) }))), l = gt(m ? g[i] : 0, i, p), i in g || (g[i] = l.start, m && (l.end = l.start, l.start = 0)) }], prefilter: function(e, t) { t ? vt.prefilters.unshift(e) : vt.prefilters.push(e) } }), C.speed = function(e, t, n) { var i = e && "object" == typeof e ? C.extend({}, e) : { complete: n || !n && t || h(e) && e, duration: e, easing: n && t || t && !h(t) && t }; return C.fx.off ? i.duration = 0 : "number" != typeof i.duration && (i.duration in C.fx.speeds ? i.duration = C.fx.speeds[i.duration] : i.duration = C.fx.speeds._default), null != i.queue && !0 !== i.queue || (i.queue = "fx"), i.old = i.complete, i.complete = function() { h(i.old) && i.old.call(this), i.queue && C.dequeue(this, i.queue) }, i }, C.fn.extend({ fadeTo: function(e, t, n, i) { return this.filter(me).css("opacity", 0).show().end().animate({ opacity: t }, e, n, i) }, animate: function(e, t, n, i) { var r = C.isEmptyObject(e), o = C.speed(t, n, i), a = function() { var t = vt(this, C.extend({}, e), o); (r || re.get(this, "finish")) && t.stop(!0) }; return a.finish = a, r || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) }, stop: function(e, t, n) { var i = function(e) { var t = e.stop; delete e.stop, t(n) }; return "string" != typeof e && (n = t, t = e, e = void 0), t && this.queue(e || "fx", []), this.each((function() { var t = !0, r = null != e && e + "queueHooks", o = C.timers, a = re.get(this); if (r) a[r] && a[r].stop && i(a[r]); else for (r in a) a[r] && a[r].stop && pt.test(r) && i(a[r]); for (r = o.length; r--;) o[r].elem !== this || null != e && o[r].queue !== e || (o[r].anim.stop(n), t = !1, o.splice(r, 1)); !t && n || C.dequeue(this, e) })) }, finish: function(e) { return !1 !== e && (e = e || "fx"), this.each((function() { var t, n = re.get(this), i = n[e + "queue"], r = n[e + "queueHooks"], o = C.timers, a = i ? i.length : 0; for (n.finish = !0, C.queue(this, e, []), r && r.stop && r.stop.call(this, !0), t = o.length; t--;) o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1)); for (t = 0; t < a; t++) i[t] && i[t].finish && i[t].finish.call(this); delete n.finish })) } }), C.each(["toggle", "show", "hide"], (function(e, t) { var n = C.fn[t]; C.fn[t] = function(e, i, r) { return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(mt(t, !0), e, i, r) } })), C.each({ slideDown: mt("show"), slideUp: mt("hide"), slideToggle: mt("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, (function(e, t) { C.fn[e] = function(e, n, i) { return this.animate(t, e, n, i) } })), C.timers = [], C.fx.tick = function() { var e, t = 0, n = C.timers; for (ut = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || C.fx.stop(), ut = void 0 }, C.fx.timer = function(e) { C.timers.push(e), C.fx.start() }, C.fx.interval = 13, C.fx.start = function() { ct || (ct = !0, ft()) }, C.fx.stop = function() { ct = null }, C.fx.speeds = { slow: 600, fast: 200, _default: 400 }, C.fn.delay = function(t, n) { return t = C.fx && C.fx.speeds[t] || t, n = n || "fx", this.queue(n, (function(n, i) { var r = e.setTimeout(n, t); i.stop = function() { e.clearTimeout(r) } })) }, function() { var e = g.createElement("input"), t = g.createElement("select").appendChild(g.createElement("option")); e.type = "checkbox", f.checkOn = "" !== e.value, f.optSelected = t.selected, (e = g.createElement("input")).value = "t", e.type = "radio", f.radioValue = "t" === e.value }(); var yt, xt = C.expr.attrHandle; C.fn.extend({ attr: function(e, t) { return G(this, C.attr, e, t, arguments.length > 1) }, removeAttr: function(e) { return this.each((function() { C.removeAttr(this, e) })) } }), C.extend({ attr: function(e, t, n) { var i, r, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return void 0 === e.getAttribute ? C.prop(e, t, n) : (1 === o && C.isXMLDoc(e) || (r = C.attrHooks[t.toLowerCase()] || (C.expr.match.bool.test(t) ? yt : void 0)), void 0 !== n ? null === n ? void C.removeAttr(e, t) : r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : r && "get" in r && null !== (i = r.get(e, t)) ? i : null == (i = C.find.attr(e, t)) ? void 0 : i) }, attrHooks: { type: { set: function(e, t) { if (!f.radioValue && "radio" === t && _(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } }, removeAttr: function(e, t) { var n, i = 0, r = t && t.match(W); if (r && 1 === e.nodeType) for (; n = r[i++];) e.removeAttribute(n) } }), yt = { set: function(e, t, n) { return !1 === t ? C.removeAttr(e, n) : e.setAttribute(n, n), n } }, C.each(C.expr.match.bool.source.match(/\w+/g), (function(e, t) { var n = xt[t] || C.find.attr; xt[t] = function(e, t, i) { var r, o, a = t.toLowerCase(); return i || (o = xt[a], xt[a] = r, r = null != n(e, t, i) ? a : null, xt[a] = o), r } })); var bt = /^(?:input|select|textarea|button)$/i, wt = /^(?:a|area)$/i; function Ct(e) { return (e.match(W) || []).join(" ") } function Tt(e) { return e.getAttribute && e.getAttribute("class") || "" } function _t(e) { return Array.isArray(e) ? e : "string" == typeof e && e.match(W) || [] } C.fn.extend({ prop: function(e, t) { return G(this, C.prop, e, t, arguments.length > 1) }, removeProp: function(e) { return this.each((function() { delete this[C.propFix[e] || e] })) } }), C.extend({ prop: function(e, t, n) { var i, r, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return 1 === o && C.isXMLDoc(e) || (t = C.propFix[t] || t, r = C.propHooks[t]), void 0 !== n ? r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : e[t] = n : r && "get" in r && null !== (i = r.get(e, t)) ? i : e[t] }, propHooks: { tabIndex: { get: function(e) { var t = C.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : bt.test(e.nodeName) || wt.test(e.nodeName) && e.href ? 0 : -1 } } }, propFix: { for: "htmlFor", class: "className" } }), f.optSelected || (C.propHooks.selected = { get: function(e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null }, set: function(e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) } }), C.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], (function() { C.propFix[this.toLowerCase()] = this })), C.fn.extend({ addClass: function(e) { var t, n, i, r, o, a; return h(e) ? this.each((function(t) { C(this).addClass(e.call(this, t, Tt(this))) })) : (t = _t(e)).length ? this.each((function() { if (i = Tt(this), n = 1 === this.nodeType && " " + Ct(i) + " ") { for (o = 0; o < t.length; o++) r = t[o], n.indexOf(" " + r + " ") < 0 && (n += r + " "); a = Ct(n), i !== a && this.setAttribute("class", a) } })) : this }, removeClass: function(e) { var t, n, i, r, o, a; return h(e) ? this.each((function(t) { C(this).removeClass(e.call(this, t, Tt(this))) })) : arguments.length ? (t = _t(e)).length ? this.each((function() { if (i = Tt(this), n = 1 === this.nodeType && " " + Ct(i) + " ") { for (o = 0; o < t.length; o++) for (r = t[o]; n.indexOf(" " + r + " ") > -1;) n = n.replace(" " + r + " ", " "); a = Ct(n), i !== a && this.setAttribute("class", a) } })) : this : this.attr("class", "") }, toggleClass: function(e, t) { var n, i, r, o, a = typeof e, s = "string" === a || Array.isArray(e); return h(e) ? this.each((function(n) { C(this).toggleClass(e.call(this, n, Tt(this), t), t) })) : "boolean" == typeof t && s ? t ? this.addClass(e) : this.removeClass(e) : (n = _t(e), this.each((function() { if (s) for (o = C(this), r = 0; r < n.length; r++) i = n[r], o.hasClass(i) ? o.removeClass(i) : o.addClass(i); else void 0 !== e && "boolean" !== a || ((i = Tt(this)) && re.set(this, "__className__", i), this.setAttribute && this.setAttribute("class", i || !1 === e ? "" : re.get(this, "__className__") || "")) }))) }, hasClass: function(e) { var t, n, i = 0; for (t = " " + e + " "; n = this[i++];) if (1 === n.nodeType && (" " + Ct(Tt(n)) + " ").indexOf(t) > -1) return !0; return !1 } }); var kt = /\r/g; C.fn.extend({ val: function(e) { var t, n, i, r = this[0]; return arguments.length ? (i = h(e), this.each((function(n) { var r; 1 === this.nodeType && (null == (r = i ? e.call(this, n, C(this).val()) : e) ? r = "" : "number" == typeof r ? r += "" : Array.isArray(r) && (r = C.map(r, (function(e) { return null == e ? "" : e + "" }))), (t = C.valHooks[this.type] || C.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, r, "value") || (this.value = r)) }))) : r ? (t = C.valHooks[r.type] || C.valHooks[r.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(r, "value")) ? n : "string" == typeof(n = r.value) ? n.replace(kt, "") : null == n ? "" : n : void 0 } }), C.extend({ valHooks: { option: { get: function(e) { var t = C.find.attr(e, "value"); return null != t ? t : Ct(C.text(e)) } }, select: { get: function(e) { var t, n, i, r = e.options, o = e.selectedIndex, a = "select-one" === e.type, s = a ? null : [], l = a ? o + 1 : r.length; for (i = o < 0 ? l : a ? o : 0; i < l; i++) if (((n = r[i]).selected || i === o) && !n.disabled && (!n.parentNode.disabled || !_(n.parentNode, "optgroup"))) { if (t = C(n).val(), a) return t; s.push(t) } return s }, set: function(e, t) { for (var n, i, r = e.options, o = C.makeArray(t), a = r.length; a--;)((i = r[a]).selected = C.inArray(C.valHooks.option.get(i), o) > -1) && (n = !0); return n || (e.selectedIndex = -1), o } } } }), C.each(["radio", "checkbox"], (function() { C.valHooks[this] = { set: function(e, t) { if (Array.isArray(t)) return e.checked = C.inArray(C(e).val(), t) > -1 } }, f.checkOn || (C.valHooks[this].get = function(e) { return null === e.getAttribute("value") ? "on" : e.value }) })); var St = e.location, Et = { guid: Date.now() }, Dt = /\?/; C.parseXML = function(t) { var n, i; if (!t || "string" != typeof t) return null; try { n = (new e.DOMParser).parseFromString(t, "text/xml") } catch (e) {} return i = n && n.getElementsByTagName("parsererror")[0], n && !i || C.error("Invalid XML: " + (i ? C.map(i.childNodes, (function(e) { return e.textContent })).join("\n") : t)), n }; var It = /^(?:focusinfocus|focusoutblur)$/, Mt = function(e) { e.stopPropagation() }; C.extend(C.event, { trigger: function(t, n, i, r) { var o, a, s, l, u, d, p, f, v = [i || g], y = c.call(t, "type") ? t.type : t, x = c.call(t, "namespace") ? t.namespace.split(".") : []; if (a = f = s = i = i || g, 3 !== i.nodeType && 8 !== i.nodeType && !It.test(y + C.event.triggered) && (y.indexOf(".") > -1 && (x = y.split("."), y = x.shift(), x.sort()), u = y.indexOf(":") < 0 && "on" + y, (t = t[C.expando] ? t : new C.Event(y, "object" == typeof t && t)).isTrigger = r ? 2 : 3, t.namespace = x.join("."), t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + x.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = i), n = null == n ? [t] : C.makeArray(n, [t]), p = C.event.special[y] || {}, r || !p.trigger || !1 !== p.trigger.apply(i, n))) { if (!r && !p.noBubble && !m(i)) { for (l = p.delegateType || y, It.test(l + y) || (a = a.parentNode); a; a = a.parentNode) v.push(a), s = a; s === (i.ownerDocument || g) && v.push(s.defaultView || s.parentWindow || e) } for (o = 0; (a = v[o++]) && !t.isPropagationStopped();) f = a, t.type = o > 1 ? l : p.bindType || y, (d = (re.get(a, "events") || Object.create(null))[t.type] && re.get(a, "handle")) && d.apply(a, n), (d = u && a[u]) && d.apply && ne(a) && (t.result = d.apply(a, n), !1 === t.result && t.preventDefault()); return t.type = y, r || t.isDefaultPrevented() || p._default && !1 !== p._default.apply(v.pop(), n) || !ne(i) || u && h(i[y]) && !m(i) && ((s = i[u]) && (i[u] = null), C.event.triggered = y, t.isPropagationStopped() && f.addEventListener(y, Mt), i[y](), t.isPropagationStopped() && f.removeEventListener(y, Mt), C.event.triggered = void 0, s && (i[u] = s)), t.result } }, simulate: function(e, t, n) { var i = C.extend(new C.Event, n, { type: e, isSimulated: !0 }); C.event.trigger(i, null, t) } }), C.fn.extend({ trigger: function(e, t) { return this.each((function() { C.event.trigger(e, t, this) })) }, triggerHandler: function(e, t) { var n = this[0]; if (n) return C.event.trigger(e, t, n, !0) } }); var At = /\[\]$/, Ot = /\r?\n/g, Pt = /^(?:submit|button|image|reset|file)$/i, Lt = /^(?:input|select|textarea|keygen)/i; function jt(e, t, n, i) { var r; if (Array.isArray(t)) C.each(t, (function(t, r) { n || At.test(e) ? i(e, r) : jt(e + "[" + ("object" == typeof r && null != r ? t : "") + "]", r, n, i) })); else if (n || "object" !== x(t)) i(e, t); else for (r in t) jt(e + "[" + r + "]", t[r], n, i) } C.param = function(e, t) { var n, i = [], r = function(e, t) { var n = h(t) ? t() : t; i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) }; if (null == e) return ""; if (Array.isArray(e) || e.jquery && !C.isPlainObject(e)) C.each(e, (function() { r(this.name, this.value) })); else for (n in e) jt(n, e[n], t, r); return i.join("&") }, C.fn.extend({ serialize: function() { return C.param(this.serializeArray()) }, serializeArray: function() { return this.map((function() { var e = C.prop(this, "elements"); return e ? C.makeArray(e) : this })).filter((function() { var e = this.type; return this.name && !C(this).is(":disabled") && Lt.test(this.nodeName) && !Pt.test(e) && (this.checked || !Ce.test(e)) })).map((function(e, t) { var n = C(this).val(); return null == n ? null : Array.isArray(n) ? C.map(n, (function(e) { return { name: t.name, value: e.replace(Ot, "\r\n") } })) : { name: t.name, value: n.replace(Ot, "\r\n") } })).get() } }); var Nt = /%20/g, Ft = /#.*$/, Rt = /([?&])_=[^&]*/, $t = /^(.*?):[ \t]*([^\r\n]*)$/gm, Ht = /^(?:GET|HEAD)$/, qt = /^\/\//, zt = {}, Bt = {}, Wt = "*/".concat("*"), Ut = g.createElement("a"); function Zt(e) { return function(t, n) { "string" != typeof t && (n = t, t = "*"); var i, r = 0, o = t.toLowerCase().match(W) || []; if (h(n)) for (; i = o[r++];) "+" === i[0] ? (i = i.slice(1) || "*", (e[i] = e[i] || []).unshift(n)) : (e[i] = e[i] || []).push(n) } } function Yt(e, t, n, i) { var r = {}, o = e === Bt; function a(s) { var l; return r[s] = !0, C.each(e[s] || [], (function(e, s) { var u = s(t, n, i); return "string" != typeof u || o || r[u] ? o ? !(l = u) : void 0 : (t.dataTypes.unshift(u), a(u), !1) })), l } return a(t.dataTypes[0]) || !r["*"] && a("*") } function Vt(e, t) { var n, i, r = C.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((r[n] ? e : i || (i = {}))[n] = t[n]); return i && C.extend(!0, e, i), e } Ut.href = St.href, C.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: St.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(St.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": Wt, 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": C.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function(e, t) { return t ? Vt(Vt(e, C.ajaxSettings), t) : Vt(C.ajaxSettings, e) }, ajaxPrefilter: Zt(zt), ajaxTransport: Zt(Bt), ajax: function(t, n) { "object" == typeof t && (n = t, t = void 0), n = n || {}; var i, r, o, a, s, l, u, c, d, p, f = C.ajaxSetup({}, n), h = f.context || f, m = f.context && (h.nodeType || h.jquery) ? C(h) : C.event, v = C.Deferred(), y = C.Callbacks("once memory"), x = f.statusCode || {}, b = {}, w = {}, T = "canceled", _ = { readyState: 0, getResponseHeader: function(e) { var t; if (u) { if (!a) for (a = {}; t = $t.exec(o);) a[t[1].toLowerCase() + " "] = (a[t[1].toLowerCase() + " "] || []).concat(t[2]); t = a[e.toLowerCase() + " "] } return null == t ? null : t.join(", ") }, getAllResponseHeaders: function() { return u ? o : null }, setRequestHeader: function(e, t) { return null == u && (e = w[e.toLowerCase()] = w[e.toLowerCase()] || e, b[e] = t), this }, overrideMimeType: function(e) { return null == u && (f.mimeType = e), this }, statusCode: function(e) { var t; if (e) if (u) _.always(e[_.status]); else for (t in e) x[t] = [x[t], e[t]]; return this }, abort: function(e) { var t = e || T; return i && i.abort(t), k(0, t), this } }; if (v.promise(_), f.url = ((t || f.url || St.href) + "").replace(qt, St.protocol + "//"), f.type = n.method || n.type || f.method || f.type, f.dataTypes = (f.dataType || "*").toLowerCase().match(W) || [""], null == f.crossDomain) { l = g.createElement("a"); try { l.href = f.url, l.href = l.href, f.crossDomain = Ut.protocol + "//" + Ut.host != l.protocol + "//" + l.host } catch (e) { f.crossDomain = !0 } } if (f.data && f.processData && "string" != typeof f.data && (f.data = C.param(f.data, f.traditional)), Yt(zt, f, n, _), u) return _; for (d in (c = C.event && f.global) && 0 == C.active++ && C.event.trigger("ajaxStart"), f.type = f.type.toUpperCase(), f.hasContent = !Ht.test(f.type), r = f.url.replace(Ft, ""), f.hasContent ? f.data && f.processData && 0 === (f.contentType || "").indexOf("application/x-www-form-urlencoded") && (f.data = f.data.replace(Nt, "+")) : (p = f.url.slice(r.length), f.data && (f.processData || "string" == typeof f.data) && (r += (Dt.test(r) ? "&" : "?") + f.data, delete f.data), !1 === f.cache && (r = r.replace(Rt, "$1"), p = (Dt.test(r) ? "&" : "?") + "_=" + Et.guid++ + p), f.url = r + p), f.ifModified && (C.lastModified[r] && _.setRequestHeader("If-Modified-Since", C.lastModified[r]), C.etag[r] && _.setRequestHeader("If-None-Match", C.etag[r])), (f.data && f.hasContent && !1 !== f.contentType || n.contentType) && _.setRequestHeader("Content-Type", f.contentType), _.setRequestHeader("Accept", f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ("*" !== f.dataTypes[0] ? ", " + Wt + "; q=0.01" : "") : f.accepts["*"]), f.headers) _.setRequestHeader(d, f.headers[d]); if (f.beforeSend && (!1 === f.beforeSend.call(h, _, f) || u)) return _.abort(); if (T = "abort", y.add(f.complete), _.done(f.success), _.fail(f.error), i = Yt(Bt, f, n, _)) { if (_.readyState = 1, c && m.trigger("ajaxSend", [_, f]), u) return _; f.async && f.timeout > 0 && (s = e.setTimeout((function() { _.abort("timeout") }), f.timeout)); try { u = !1, i.send(b, k) } catch (e) { if (u) throw e; k(-1, e) } } else k(-1, "No Transport"); function k(t, n, a, l) { var d, p, g, b, w, T = n; u || (u = !0, s && e.clearTimeout(s), i = void 0, o = l || "", _.readyState = t > 0 ? 4 : 0, d = t >= 200 && t < 300 || 304 === t, a && (b = function(e, t, n) { for (var i, r, o, a, s = e.contents, l = e.dataTypes; "*" === l[0];) l.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type")); if (i) for (r in s) if (s[r] && s[r].test(i)) { l.unshift(r); break } if (l[0] in n) o = l[0]; else { for (r in n) { if (!l[0] || e.converters[r + " " + l[0]]) { o = r; break } a || (a = r) } o = o || a } if (o) return o !== l[0] && l.unshift(o), n[o] }(f, _, a)), !d && C.inArray("script", f.dataTypes) > -1 && C.inArray("json", f.dataTypes) < 0 && (f.converters["text script"] = function() {}), b = function(e, t, n, i) { var r, o, a, s, l, u = {}, c = e.dataTypes.slice(); if (c[1]) for (a in e.converters) u[a.toLowerCase()] = e.converters[a]; for (o = c.shift(); o;) if (e.responseFields[o] && (n[e.responseFields[o]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = o, o = c.shift()) if ("*" === o) o = l; else if ("*" !== l && l !== o) { if (!(a = u[l + " " + o] || u["* " + o])) for (r in u) if ((s = r.split(" "))[1] === o && (a = u[l + " " + s[0]] || u["* " + s[0]])) { !0 === a ? a = u[r] : !0 !== u[r] && (o = s[0], c.unshift(s[1])); break } if (!0 !== a) if (a && e.throws) t = a(t); else try { t = a(t) } catch (e) { return { state: "parsererror", error: a ? e : "No conversion from " + l + " to " + o } } } return { state: "success", data: t } }(f, b, _, d), d ? (f.ifModified && ((w = _.getResponseHeader("Last-Modified")) && (C.lastModified[r] = w), (w = _.getResponseHeader("etag")) && (C.etag[r] = w)), 204 === t || "HEAD" === f.type ? T = "nocontent" : 304 === t ? T = "notmodified" : (T = b.state, p = b.data, d = !(g = b.error))) : (g = T, !t && T || (T = "error", t < 0 && (t = 0))), _.status = t, _.statusText = (n || T) + "", d ? v.resolveWith(h, [p, T, _]) : v.rejectWith(h, [_, T, g]), _.statusCode(x), x = void 0, c && m.trigger(d ? "ajaxSuccess" : "ajaxError", [_, f, d ? p : g]), y.fireWith(h, [_, T]), c && (m.trigger("ajaxComplete", [_, f]), --C.active || C.event.trigger("ajaxStop"))) } return _ }, getJSON: function(e, t, n) { return C.get(e, t, n, "json") }, getScript: function(e, t) { return C.get(e, void 0, t, "script") } }), C.each(["get", "post"], (function(e, t) { C[t] = function(e, n, i, r) { return h(n) && (r = r || i, i = n, n = void 0), C.ajax(C.extend({ url: e, type: t, dataType: r, data: n, success: i }, C.isPlainObject(e) && e)) } })), C.ajaxPrefilter((function(e) { var t; for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "") })), C._evalUrl = function(e, t, n) { return C.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, converters: { "text script": function() {} }, dataFilter: function(e) { C.globalEval(e, t, n) } }) }, C.fn.extend({ wrapAll: function(e) { var t; return this[0] && (h(e) && (e = e.call(this[0])), t = C(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map((function() { for (var e = this; e.firstElementChild;) e = e.firstElementChild; return e })).append(this)), this }, wrapInner: function(e) { return h(e) ? this.each((function(t) { C(this).wrapInner(e.call(this, t)) })) : this.each((function() { var t = C(this), n = t.contents(); n.length ? n.wrapAll(e) : t.append(e) })) }, wrap: function(e) { var t = h(e); return this.each((function(n) { C(this).wrapAll(t ? e.call(this, n) : e) })) }, unwrap: function(e) { return this.parent(e).not("body").each((function() { C(this).replaceWith(this.childNodes) })), this } }), C.expr.pseudos.hidden = function(e) { return !C.expr.pseudos.visible(e) }, C.expr.pseudos.visible = function(e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) }, C.ajaxSettings.xhr = function() { try { return new e.XMLHttpRequest } catch (e) {} }; var Kt = { 0: 200, 1223: 204 }, Xt = C.ajaxSettings.xhr(); f.cors = !!Xt && "withCredentials" in Xt, f.ajax = Xt = !!Xt, C.ajaxTransport((function(t) { var n, i; if (f.cors || Xt && !t.crossDomain) return { send: function(r, o) { var a, s = t.xhr(); if (s.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields) for (a in t.xhrFields) s[a] = t.xhrFields[a]; for (a in t.mimeType && s.overrideMimeType && s.overrideMimeType(t.mimeType), t.crossDomain || r["X-Requested-With"] || (r["X-Requested-With"] = "XMLHttpRequest"), r) s.setRequestHeader(a, r[a]); n = function(e) { return function() { n && (n = i = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? o(0, "error") : o(s.status, s.statusText) : o(Kt[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? { binary: s.response } : { text: s.responseText }, s.getAllResponseHeaders())) } }, s.onload = n(), i = s.onerror = s.ontimeout = n("error"), void 0 !== s.onabort ? s.onabort = i : s.onreadystatechange = function() { 4 === s.readyState && e.setTimeout((function() { n && i() })) }, n = n("abort"); try { s.send(t.hasContent && t.data || null) } catch (e) { if (n) throw e } }, abort: function() { n && n() } } })), C.ajaxPrefilter((function(e) { e.crossDomain && (e.contents.script = !1) })), C.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function(e) { return C.globalEval(e), e } } }), C.ajaxPrefilter("script", (function(e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") })), C.ajaxTransport("script", (function(e) { var t, n; if (e.crossDomain || e.scriptAttrs) return { send: function(i, r) { t = C("<script>").attr(e.scriptAttrs || {}).prop({ charset: e.scriptCharset, src: e.url }).on("load error", n = function(e) { t.remove(), n = null, e && r("error" === e.type ? 404 : 200, e.type) }), g.head.appendChild(t[0]) }, abort: function() { n && n() } } })); var Gt, Qt = [], Jt = /(=)\?(?=&|$)|\?\?/; C.ajaxSetup({ jsonp: "callback", jsonpCallback: function() { var e = Qt.pop() || C.expando + "_" + Et.guid++; return this[e] = !0, e } }), C.ajaxPrefilter("json jsonp", (function(t, n, i) { var r, o, a, s = !1 !== t.jsonp && (Jt.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && Jt.test(t.data) && "data"); if (s || "jsonp" === t.dataTypes[0]) return r = t.jsonpCallback = h(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s ? t[s] = t[s].replace(Jt, "$1" + r) : !1 !== t.jsonp && (t.url += (Dt.test(t.url) ? "&" : "?") + t.jsonp + "=" + r), t.converters["script json"] = function() { return a || C.error(r + " was not called"), a[0] }, t.dataTypes[0] = "json", o = e[r], e[r] = function() { a = arguments }, i.always((function() { void 0 === o ? C(e).removeProp(r) : e[r] = o, t[r] && (t.jsonpCallback = n.jsonpCallback, Qt.push(r)), a && h(o) && o(a[0]), a = o = void 0 })), "script" })), f.createHTMLDocument = ((Gt = g.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Gt.childNodes.length), C.parseHTML = function(e, t, n) { return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (f.createHTMLDocument ? ((i = (t = g.implementation.createHTMLDocument("")).createElement("base")).href = g.location.href, t.head.appendChild(i)) : t = g), o = !n && [], (r = F.exec(e)) ? [t.createElement(r[1])] : (r = Ie([e], t, o), o && o.length && C(o).remove(), C.merge([], r.childNodes))); var i, r, o }, C.fn.load = function(e, t, n) { var i, r, o, a = this, s = e.indexOf(" "); return s > -1 && (i = Ct(e.slice(s)), e = e.slice(0, s)), h(t) ? (n = t, t = void 0) : t && "object" == typeof t && (r = "POST"), a.length > 0 && C.ajax({ url: e, type: r || "GET", dataType: "html", data: t }).done((function(e) { o = arguments, a.html(i ? C("<div>").append(C.parseHTML(e)).find(i) : e) })).always(n && function(e, t) { a.each((function() { n.apply(this, o || [e.responseText, t, e]) })) }), this }, C.expr.pseudos.animated = function(e) { return C.grep(C.timers, (function(t) { return e === t.elem })).length }, C.offset = { setOffset: function(e, t, n) { var i, r, o, a, s, l, u = C.css(e, "position"), c = C(e), d = {}; "static" === u && (e.style.position = "relative"), s = c.offset(), o = C.css(e, "top"), l = C.css(e, "left"), ("absolute" === u || "fixed" === u) && (o + l).indexOf("auto") > -1 ? (a = (i = c.position()).top, r = i.left) : (a = parseFloat(o) || 0, r = parseFloat(l) || 0), h(t) && (t = t.call(e, n, C.extend({}, s))), null != t.top && (d.top = t.top - s.top + a), null != t.left && (d.left = t.left - s.left + r), "using" in t ? t.using.call(e, d) : c.css(d) } }, C.fn.extend({ offset: function(e) { if (arguments.length) return void 0 === e ? this : this.each((function(t) { C.offset.setOffset(this, e, t) })); var t, n, i = this[0]; return i ? i.getClientRects().length ? (t = i.getBoundingClientRect(), n = i.ownerDocument.defaultView, { top: t.top + n.pageYOffset, left: t.left + n.pageXOffset }) : { top: 0, left: 0 } : void 0 }, position: function() { if (this[0]) { var e, t, n, i = this[0], r = { top: 0, left: 0 }; if ("fixed" === C.css(i, "position")) t = i.getBoundingClientRect(); else { for (t = this.offset(), n = i.ownerDocument, e = i.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === C.css(e, "position");) e = e.parentNode; e && e !== i && 1 === e.nodeType && ((r = C(e).offset()).top += C.css(e, "borderTopWidth", !0), r.left += C.css(e, "borderLeftWidth", !0)) } return { top: t.top - r.top - C.css(i, "marginTop", !0), left: t.left - r.left - C.css(i, "marginLeft", !0) } } }, offsetParent: function() { return this.map((function() { for (var e = this.offsetParent; e && "static" === C.css(e, "position");) e = e.offsetParent; return e || pe })) } }), C.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, (function(e, t) { var n = "pageYOffset" === t; C.fn[e] = function(i) { return G(this, (function(e, i, r) { var o; if (m(e) ? o = e : 9 === e.nodeType && (o = e.defaultView), void 0 === r) return o ? o[t] : e[i]; o ? o.scrollTo(n ? o.pageXOffset : r, n ? r : o.pageYOffset) : e[i] = r }), e, i, arguments.length) } })), C.each(["top", "left"], (function(e, t) { C.cssHooks[t] = Ge(f.pixelPosition, (function(e, n) { if (n) return n = Xe(e, t), Ue.test(n) ? C(e).position()[t] + "px" : n })) })), C.each({ Height: "height", Width: "width" }, (function(e, t) { C.each({ padding: "inner" + e, content: t, "": "outer" + e }, (function(n, i) { C.fn[i] = function(r, o) { var a = arguments.length && (n || "boolean" != typeof r), s = n || (!0 === r || !0 === o ? "margin" : "border"); return G(this, (function(t, n, r) { var o; return m(t) ? 0 === i.indexOf("outer") ? t["inner" + e] : t.document.documentElement["client" + e] : 9 === t.nodeType ? (o = t.documentElement, Math.max(t.body["scroll" + e], o["scroll" + e], t.body["offset" + e], o["offset" + e], o["client" + e])) : void 0 === r ? C.css(t, n, s) : C.style(t, n, r, s) }), t, a ? r : void 0, a) } })) })), C.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], (function(e, t) { C.fn[t] = function(e) { return this.on(t, e) } })), C.fn.extend({ bind: function(e, t, n) { return this.on(e, null, t, n) }, unbind: function(e, t) { return this.off(e, null, t) }, delegate: function(e, t, n, i) { return this.on(t, e, n, i) }, undelegate: function(e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) }, hover: function(e, t) { return this.on("mouseenter", e).on("mouseleave", t || e) } }), C.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(e, t) { C.fn[t] = function(e, n) { return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t) } })); var en = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; C.proxy = function(e, t) { var n, i, o; if ("string" == typeof t && (n = e[t], t = e, e = n), h(e)) return i = r.call(arguments, 2), o = function() { return e.apply(t || this, i.concat(r.call(arguments))) }, o.guid = e.guid = e.guid || C.guid++, o }, C.holdReady = function(e) { e ? C.readyWait++ : C.ready(!0) }, C.isArray = Array.isArray, C.parseJSON = JSON.parse, C.nodeName = _, C.isFunction = h, C.isWindow = m, C.camelCase = te, C.type = x, C.now = Date.now, C.isNumeric = function(e) { var t = C.type(e); return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)) }, C.trim = function(e) { return null == e ? "" : (e + "").replace(en, "$1") }, "function" == typeof define && define.amd && define("jquery", [], (function() { return C })); var tn = e.jQuery, nn = e.$; return C.noConflict = function(t) { return e.$ === C && (e.$ = nn), t && e.jQuery === C && (e.jQuery = tn), C }, void 0 === t && (e.jQuery = e.$ = C), C })), /*! * Modernizr v2.8.3 * www.modernizr.com * * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton * Available under the BSD and MIT licenses: www.modernizr.com/license/ */ window.Modernizr = function(e, t, n) { function i(e) { m.cssText = e } function r(e, t) { return typeof e === t } function o(e, t) { return !!~("" + e).indexOf(t) } function a(e, t) { for (var i in e) { var r = e[i]; if (!o(r, "-") && m[r] !== n) return "pfx" != t || r } return !1 } function s(e, t, i) { for (var o in e) { var a = t[e[o]]; if (a !== n) return !1 === i ? e[o] : r(a, "function") ? a.bind(i || t) : a } return !1 } function l(e, t, n) { var i = e.charAt(0).toUpperCase() + e.slice(1), o = (e + " " + w.join(i + " ") + i).split(" "); return r(t, "string") || r(t, "undefined") ? a(o, t) : s(o = (e + " " + C.join(i + " ") + i).split(" "), t, n) } var u, c, d = {}, p = t.documentElement, f = "modernizr", h = t.createElement(f), m = h.style, g = t.createElement("input"), v = ":)", y = {}.toString, x = " -webkit- -moz- -o- -ms- ".split(" "), b = "Webkit Moz O ms", w = b.split(" "), C = b.toLowerCase().split(" "), T = "http://www.w3.org/2000/svg", _ = {}, k = {}, S = {}, E = [], D = E.slice, I = function(e, n, i, r) { var o, a, s, l, u = t.createElement("div"), c = t.body, d = c || t.createElement("body"); if (parseInt(i, 10)) for (; i--;)(s = t.createElement("div")).id = r ? r[i] : f + (i + 1), u.appendChild(s); return o = ["­", '<style id="s', f, '">', e, "</style>"].join(""), u.id = f, (c ? u : d).innerHTML += o, d.appendChild(u), c || (d.style.background = "", d.style.overflow = "hidden", l = p.style.overflow, p.style.overflow = "hidden", p.appendChild(d)), a = n(u, e), c ? u.parentNode.removeChild(u) : (d.parentNode.removeChild(d), p.style.overflow = l), !!a }, M = function() { var e = { select: "input", change: "input", submit: "form", reset: "form", error: "img", load: "img", abort: "img" }; return function(i, o) { o = o || t.createElement(e[i] || "div"); var a = (i = "on" + i) in o; return a || (o.setAttribute || (o = t.createElement("div")), o.setAttribute && o.removeAttribute && (o.setAttribute(i, ""), a = r(o[i], "function"), r(o[i], "undefined") || (o[i] = n), o.removeAttribute(i))), o = null, a } }(), A = {}.hasOwnProperty; for (var O in c = r(A, "undefined") || r(A.call, "undefined") ? function(e, t) { return t in e && r(e.constructor.prototype[t], "undefined") } : function(e, t) { return A.call(e, t) }, Function.prototype.bind || (Function.prototype.bind = function(e) { var t = this; if ("function" != typeof t) throw new TypeError; var n = D.call(arguments, 1), i = function() { if (this instanceof i) { var r = function() {}; r.prototype = t.prototype; var o = new r, a = t.apply(o, n.concat(D.call(arguments))); return Object(a) === a ? a : o } return t.apply(e, n.concat(D.call(arguments))) }; return i }), _.flexbox = function() { return l("flexWrap") }, _.flexboxlegacy = function() { return l("boxDirection") }, _.canvas = function() { var e = t.createElement("canvas"); return !(!e.getContext || !e.getContext("2d")) }, _.canvastext = function() { return !(!d.canvas || !r(t.createElement("canvas").getContext("2d").fillText, "function")) }, _.webgl = function() { return !!e.WebGLRenderingContext }, _.touch = function() { var n; return "ontouchstart" in e || e.DocumentTouch && t instanceof DocumentTouch ? n = !0 : I(["@media (", x.join("touch-enabled),("), f, ")", "{#modernizr{top:9px;position:absolute}}"].join(""), (function(e) { n = 9 === e.offsetTop })), n }, _.geolocation = function() { return "geolocation" in navigator }, _.postmessage = function() { return !!e.postMessage }, _.websqldatabase = function() { return !!e.openDatabase }, _.indexedDB = function() { return !!l("indexedDB", e) }, _.hashchange = function() { return M("hashchange", e) && (t.documentMode === n || t.documentMode > 7) }, _.history = function() { return !(!e.history || !history.pushState) }, _.draganddrop = function() { var e = t.createElement("div"); return "draggable" in e || "ondragstart" in e && "ondrop" in e }, _.websockets = function() { return "WebSocket" in e || "MozWebSocket" in e }, _.rgba = function() { return i("background-color:rgba(150,255,150,.5)"), o(m.backgroundColor, "rgba") }, _.hsla = function() { return i("background-color:hsla(120,40%,100%,.5)"), o(m.backgroundColor, "rgba") || o(m.backgroundColor, "hsla") }, _.multiplebgs = function() { return i("background:url(https://),url(https://),red url(https://)"), /(url\s*\(.*?){3}/.test(m.background) }, _.backgroundsize = function() { return l("backgroundSize") }, _.borderimage = function() { return l("borderImage") }, _.borderradius = function() { return l("borderRadius") }, _.boxshadow = function() { return l("boxShadow") }, _.textshadow = function() { return "" === t.createElement("div").style.textShadow }, _.opacity = function() { return i(x.join("opacity:.55;") + ""), /^0.55$/.test(m.opacity) }, _.cssanimations = function() { return l("animationName") }, _.csscolumns = function() { return l("columnCount") }, _.cssgradients = function() { var e = "background-image:"; return i((e + "-webkit- ".split(" ").join("gradient(linear,left top,right bottom,from(#9f9),to(white));" + e) + x.join("linear-gradient(left top,#9f9, white);" + e)).slice(0, -e.length)), o(m.backgroundImage, "gradient") }, _.cssreflections = function() { return l("boxReflect") }, _.csstransforms = function() { return !!l("transform") }, _.csstransforms3d = function() { var e = !!l("perspective"); return e && "webkitPerspective" in p.style && I("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}", (function(t) { e = 9 === t.offsetLeft && 3 === t.offsetHeight })), e }, _.csstransitions = function() { return l("transition") }, _.fontface = function() { var e; return I('@font-face {font-family:"font";src:url("https://")}', (function(n, i) { var r = t.getElementById("smodernizr"), o = r.sheet || r.styleSheet, a = o ? o.cssRules && o.cssRules[0] ? o.cssRules[0].cssText : o.cssText || "" : ""; e = /src/i.test(a) && 0 === a.indexOf(i.split(" ")[0]) })), e }, _.generatedcontent = function() { var e; return I(["#", f, "{font:0/0 a}#", f, ':after{content:"', v, '";visibility:hidden;font:3px/1 a}'].join(""), (function(t) { e = t.offsetHeight >= 3 })), e }, _.video = function() { var e = t.createElement("video"), n = !1; try { (n = !!e.canPlayType) && ((n = new Boolean(n)).ogg = e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/, ""), n.h264 = e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, ""), n.webm = e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/, "")) } catch (e) {} return n }, _.audio = function() { var e = t.createElement("audio"), n = !1; try { (n = !!e.canPlayType) && ((n = new Boolean(n)).ogg = e.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), n.mp3 = e.canPlayType("audio/mpeg;").replace(/^no$/, ""), n.wav = e.canPlayType('audio/wav; codecs="1"').replace(/^no$/, ""), n.m4a = (e.canPlayType("audio/x-m4a;") || e.canPlayType("audio/aac;")).replace(/^no$/, "")) } catch (e) {} return n }, _.localstorage = function() { try { return localStorage.setItem(f, f), localStorage.removeItem(f), !0 } catch (e) { return !1 } }, _.sessionstorage = function() { try { return sessionStorage.setItem(f, f), sessionStorage.removeItem(f), !0 } catch (e) { return !1 } }, _.webworkers = function() { return !!e.Worker }, _.applicationcache = function() { return !!e.applicationCache }, _.svg = function() { return !!t.createElementNS && !!t.createElementNS(T, "svg").createSVGRect }, _.inlinesvg = function() { var e = t.createElement("div"); return e.innerHTML = "<svg/>", (e.firstChild && e.firstChild.namespaceURI) == T }, _.smil = function() { return !!t.createElementNS && /SVGAnimate/.test(y.call(t.createElementNS(T, "animate"))) }, _.svgclippaths = function() { return !!t.createElementNS && /SVGClipPath/.test(y.call(t.createElementNS(T, "clipPath"))) }, _) c(_, O) && (u = O.toLowerCase(), d[u] = _[O](), E.push((d[u] ? "" : "no-") + u)); return d.input || (d.input = function(n) { for (var i = 0, r = n.length; r > i; i++) S[n[i]] = !!(n[i] in g); return S.list && (S.list = !(!t.createElement("datalist") || !e.HTMLDataListElement)), S }("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")), d.inputtypes = function(e) { for (var i, r, o, a = 0, s = e.length; s > a; a++) g.setAttribute("type", r = e[a]), (i = "text" !== g.type) && (g.value = v, g.style.cssText = "position:absolute;visibility:hidden;", /^range$/.test(r) && g.style.WebkitAppearance !== n ? (p.appendChild(g), i = (o = t.defaultView).getComputedStyle && "textfield" !== o.getComputedStyle(g, null).WebkitAppearance && 0 !== g.offsetHeight, p.removeChild(g)) : /^(search|tel)$/.test(r) || (i = /^(url|email)$/.test(r) ? g.checkValidity && !1 === g.checkValidity() : g.value != v)), k[e[a]] = !!i; return k }("search tel url email datetime date month week time datetime-local number range color".split(" "))), d.addTest = function(e, t) { if ("object" == typeof e) for (var i in e) c(e, i) && d.addTest(i, e[i]); else { if (e = e.toLowerCase(), d[e] !== n) return d; t = "function" == typeof t ? t() : t, p.className += " " + (t ? "" : "no-") + e, d[e] = t } return d }, i(""), h = g = null, function(e, t) { function n() { var e = m.elements; return "string" == typeof e ? e.split(" ") : e } function i(e) { var t = h[e[p]]; return t || (t = {}, f++, e[p] = f, h[f] = t), t } function r(e, n, r) { return n || (n = t), l ? n.createElement(e) : (r || (r = i(n)), !(o = r.cache[e] ? r.cache[e].cloneNode() : d.test(e) ? (r.cache[e] = r.createElem(e)).cloneNode() : r.createElem(e)).canHaveChildren || c.test(e) || o.tagUrn ? o : r.frag.appendChild(o)); var o } function o(e, t) { t.cache || (t.cache = {}, t.createElem = e.createElement, t.createFrag = e.createDocumentFragment, t.frag = t.createFrag()), e.createElement = function(n) { return m.shivMethods ? r(n, e, t) : t.createElem(n) }, e.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + n().join().replace(/[\w\-]+/g, (function(e) { return t.createElem(e), t.frag.createElement(e), 'c("' + e + '")' })) + ");return n}")(m, t.frag) } function a(e) { e || (e = t); var n = i(e); return !m.shivCSS || s || n.hasCSS || (n.hasCSS = !! function(e, t) { var n = e.createElement("p"), i = e.getElementsByTagName("head")[0] || e.documentElement; return n.innerHTML = "x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>", i.insertBefore(n.lastChild, i.firstChild) }(e)), l || o(e, n), e } var s, l, u = e.html5 || {}, c = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, d = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i, p = "_html5shiv", f = 0, h = {}; ! function() { try { var e = t.createElement("a"); e.innerHTML = "<xyz></xyz>", s = "hidden" in e, l = 1 == e.childNodes.length || function() { t.createElement("a"); var e = t.createDocumentFragment(); return void 0 === e.cloneNode || void 0 === e.createDocumentFragment || void 0 === e.createElement }() } catch (e) { s = !0, l = !0 } }(); var m = { elements: u.elements || "abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video", version: "3.7.0", shivCSS: !1 !== u.shivCSS, supportsUnknownElements: l, shivMethods: !1 !== u.shivMethods, type: "default", shivDocument: a, createElement: r, createDocumentFragment: function(e, r) { if (e || (e = t), l) return e.createDocumentFragment(); for (var o = (r = r || i(e)).frag.cloneNode(), a = 0, s = n(), u = s.length; u > a; a++) o.createElement(s[a]); return o } }; e.html5 = m, a(t) }(this, t), d._version = "2.8.3", d._prefixes = x, d._domPrefixes = C, d._cssomPrefixes = w, d.mq = function(t) { var n, i = e.matchMedia || e.msMatchMedia; return i ? i(t) && i(t).matches || !1 : (I("@media " + t + " { #" + f + " { position: absolute; } }", (function(t) { n = "absolute" == (e.getComputedStyle ? getComputedStyle(t, null) : t.currentStyle).position })), n) }, d.hasEvent = M, d.testProp = function(e) { return a([e]) }, d.testAllProps = l, d.testStyles = I, d.prefixed = function(e, t, n) { return t ? l(e, t, n) : l(e, "pfx") }, p.className = p.className.replace(/(^|\s)no-js(\s|$)/, "$1$2") + " js " + E.join(" "), d }(this, this.document), function() { "use strict"; var e = !1; window.JQClass = function() {}, JQClass.classes = {}, JQClass.extend = function t(n) { function i() { !e && this._init && this._init.apply(this, arguments) } var r = this.prototype; e = !0; var o = new this; for (var a in e = !1, n) if ("function" == typeof n[a] && "function" == typeof r[a]) o[a] = function(e, t) { return function() { var n = this._super; this._super = function(t) { return r[e].apply(this, t || []) }; var i = t.apply(this, arguments); return this._super = n, i } }(a, n[a]); else if ("object" == typeof n[a] && "object" == typeof r[a] && "defaultOptions" === a) { var s, l = r[a], u = n[a], c = {}; for (s in l) c[s] = l[s]; for (s in u) c[s] = u[s]; o[a] = c } else o[a] = n[a]; return i.prototype = o, i.prototype.constructor = i, i.extend = t, i } }(), /*! Abstract base class for collection plugins v1.0.2. Written by Keith Wood (wood.keith{at}optusnet.com.au) December 2013. Licensed under the MIT license (http://keith-wood.name/licence.html). */ function($) { "use strict"; function camelCase(e) { return e.replace(/-([a-z])/g, (function(e, t) { return t.toUpperCase() })) } JQClass.classes.JQPlugin = JQClass.extend({ name: "plugin", defaultOptions: {}, regionalOptions: {}, deepMerge: !0, _getMarker: function() { return "is-" + this.name }, _init: function() { $.extend(this.defaultOptions, this.regionalOptions && this.regionalOptions[""] || {}); var e = camelCase(this.name); $[e] = this, $.fn[e] = function(t) { var n = Array.prototype.slice.call(arguments, 1), i = this, r = this; return this.each((function() { if ("string" == typeof t) { if ("_" === t[0] || !$[e][t]) throw "Unknown method: " + t; var o = $[e][t].apply($[e], [this].concat(n)); if (o !== i && void 0 !== o) return r = o, !1 } else $[e]._attach(this, t) })), r } }, setDefaults: function(e) { $.extend(this.defaultOptions, e || {}) }, _attach: function(e, t) { if (!(e = $(e)).hasClass(this._getMarker())) { e.addClass(this._getMarker()), t = $.extend(this.deepMerge, {}, this.defaultOptions, this._getMetadata(e), t || {}); var n = $.extend({ name: this.name, elem: e, options: t }, this._instSettings(e, t)); e.data(this.name, n), this._postAttach(e, n), this.option(e, t) } }, _instSettings: function(e, t) { return {} }, _postAttach: function(e, t) {}, _getMetadata: function(elem) { try { var data = elem.data(this.name.toLowerCase()) || ""; for (var key in data = data.replace(/(\\?)'/g, (function(e, t) { return t ? "'" : '"' })).replace(/([a-zA-Z0-9]+):/g, (function(e, t, n) { var i = data.substring(0, n).match(/"/g); return i && i.length % 2 != 0 ? t + ":" : '"' + t + '":' })).replace(/\\:/g, ":"), data = $.parseJSON("{" + data + "}"), data) if (data.hasOwnProperty(key)) { var value = data[key]; "string" == typeof value && value.match(/^new Date\(([-0-9,\s]*)\)$/) && (data[key] = eval(value)) } return data } catch (e) { return {} } }, _getInst: function(e) { return $(e).data(this.name) || {} }, option: function(e, t, n) { var i = (e = $(e)).data(this.name), r = t || {}; return !t || "string" == typeof t && void 0 === n ? (r = (i || {}).options) && t ? r[t] : r : void(e.hasClass(this._getMarker()) && ("string" == typeof t && (r = {}, r[t] = n), this._optionsChanged(e, i, r), $.extend(i.options, r))) }, _optionsChanged: function(e, t, n) {}, destroy: function(e) { (e = $(e)).hasClass(this._getMarker()) && (this._preDestroy(e, this._getInst(e)), e.removeData(this.name).removeClass(this._getMarker())) }, _preDestroy: function(e, t) {} }), $.JQPlugin = { createPlugin: function(e, t) { "object" == typeof e && (t = e, e = "JQPlugin"), e = camelCase(e); var n = camelCase(t.name); JQClass.classes[n] = JQClass.classes[e].extend(t), new JQClass.classes[n] } } }(jQuery), function(e) { "use strict"; var t = "countdown"; e.JQPlugin.createPlugin({ name: t, defaultOptions: { until: null, since: null, timezone: null, serverSync: null, format: "dHMS", layout: "", compact: !1, padZeroes: !1, significant: 0, description: "", expiryUrl: "", expiryText: "", alwaysExpire: !1, onExpiry: null, onTick: null, tickInterval: 1 }, regionalOptions: { "": { labels: ["Years", "Months", "Weeks", "Days", "Hours", "Minutes", "Seconds"], labels1: ["Year", "Month", "Week", "Day", "Hour", "Minute", "Second"], compactLabels: ["y", "m", "w", "d"], whichLabels: null, digits: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], timeSeparator: ":", isRTL: !1 } }, _rtlClass: t + "-rtl", _sectionClass: t + "-section", _amountClass: t + "-amount", _periodClass: t + "-period", _rowClass: t + "-row", _holdingClass: t + "-holding", _showClass: t + "-show", _descrClass: t + "-descr", _timerElems: [], _init: function() { var t = this; this._super(), this._serverSyncs = []; var n = "function" == typeof Date.now ? Date.now : function() { return (new Date).getTime() }, i = window.performance && "function" == typeof window.performance.now, r = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || null, o = 0; !r || e.noRequestAnimationFrame ? (e.noRequestAnimationFrame = null, e.countdown._timer = setInterval((function() { t._updateElems() }), 1e3)) : (o = window.animationStartTime || window.webkitAnimationStartTime || window.mozAnimationStartTime || window.oAnimationStartTime || window.msAnimationStartTime || n(), r((function e(a) { var s = a < 1e12 ? i ? window.performance.now() + window.performance.timing.navigationStart : n() : a || n(); s - o >= 1e3 && (t._updateElems(), o = s), r(e) }))) }, UTCDate: function(e, t, n, i, r, o, a, s) { "object" == typeof t && t instanceof Date && (s = t.getMilliseconds(), a = t.getSeconds(), o = t.getMinutes(), r = t.getHours(), i = t.getDate(), n = t.getMonth(), t = t.getFullYear()); var l = new Date; return l.setUTCFullYear(t), l.setUTCDate(1), l.setUTCMonth(n || 0), l.setUTCDate(i || 1), l.setUTCHours(r || 0), l.setUTCMinutes((o || 0) - (Math.abs(e) < 30 ? 60 * e : e)), l.setUTCSeconds(a || 0), l.setUTCMilliseconds(s || 0), l }, periodsToSeconds: function(e) { return 31557600 * e[0] + 2629800 * e[1] + 604800 * e[2] + 86400 * e[3] + 3600 * e[4] + 60 * e[5] + e[6] }, resync: function() { var t = this; e("." + this._getMarker()).each((function() { var n = e.data(this, t.name); if (n.options.serverSync) { for (var i = null, r = 0; r < t._serverSyncs.length; r++) if (t._serverSyncs[r][0] === n.options.serverSync) { i = t._serverSyncs[r]; break } if (t._eqNull(i[2])) { var o = e.isFunction(n.options.serverSync) ? n.options.serverSync.apply(this, []) : null; i[2] = (o ? (new Date).getTime() - o.getTime() : 0) - i[1] } n._since && n._since.setMilliseconds(n._since.getMilliseconds() + i[2]), n._until.setMilliseconds(n._until.getMilliseconds() + i[2]) } })); for (var n = 0; n < t._serverSyncs.length; n++) t._eqNull(t._serverSyncs[n][2]) || (t._serverSyncs[n][1] += t._serverSyncs[n][2], delete t._serverSyncs[n][2]) }, _instSettings: function(e, t) { return { _periods: [0, 0, 0, 0, 0, 0, 0] } }, _addElem: function(e) { this._hasElem(e) || this._timerElems.push(e) }, _hasElem: function(t) { return e.inArray(t, this._timerElems) > -1 }, _removeElem: function(t) { this._timerElems = e.map(this._timerElems, (function(e) { return e === t ? null : e })) }, _updateElems: function() { for (var e = this._timerElems.length - 1; e >= 0; e--) this._updateCountdown(this._timerElems[e]) }, _optionsChanged: function(t, n, i) { i.layout && (i.layout = i.layout.replace(/</g, "<").replace(/>/g, ">")), this._resetExtraLabels(n.options, i); var r = n.options.timezone !== i.timezone; e.extend(n.options, i), this._adjustSettings(t, n, !this._eqNull(i.until) || !this._eqNull(i.since) || r); var o = new Date; (n._since && n._since < o || n._until && n._until > o) && this._addElem(t[0]), this._updateCountdown(t, n) }, _updateCountdown: function(t, n) { if (t = t.jquery ? t : e(t), n = n || this._getInst(t)) { if (t.html(this._generateHTML(n)).toggleClass(this._rtlClass, n.options.isRTL), "pause" !== n._hold && e.isFunction(n.options.onTick)) { var i = "lap" !== n._hold ? n._periods : this._calculatePeriods(n, n._show, n.options.significant, new Date); 1 !== n.options.tickInterval && this.periodsToSeconds(i) % n.options.tickInterval != 0 || n.options.onTick.apply(t[0], [i]) } if ("pause" !== n._hold && (n._since ? n._now.getTime() < n._since.getTime() : n._now.getTime() >= n._until.getTime()) && !n._expiring) { if (n._expiring = !0, this._hasElem(t[0]) || n.options.alwaysExpire) { if (this._removeElem(t[0]), e.isFunction(n.options.onExpiry) && n.options.onExpiry.apply(t[0], []), n.options.expiryText) { var r = n.options.layout; n.options.layout = n.options.expiryText, this._updateCountdown(t[0], n), n.options.layout = r } n.options.expiryUrl && (window.location = n.options.expiryUrl) } n._expiring = !1 } else "pause" === n._hold && this._removeElem(t[0]) } }, _resetExtraLabels: function(e, t) { var n = null; for (n in t) n.match(/[Ll]abels[02-9]|compactLabels1/) && (e[n] = t[n]); for (n in e) n.match(/[Ll]abels[02-9]|compactLabels1/) && void 0 === t[n] && (e[n] = null) }, _eqNull: function(e) { return null == e }, _adjustSettings: function(t, n, i) { for (var r = null, o = 0; o < this._serverSyncs.length; o++) if (this._serverSyncs[o][0] === n.options.serverSync) { r = this._serverSyncs[o][1]; break } var a = null, s = null; if (this._eqNull(r)) { var l = e.isFunction(n.options.serverSync) ? n.options.serverSync.apply(t[0], []) : null; a = new Date, s = l ? a.getTime() - l.getTime() : 0, this._serverSyncs.push([n.options.serverSync, s]) } else a = new Date, s = n.options.serverSync ? r : 0; var u = n.options.timezone; u = this._eqNull(u) ? -a.getTimezoneOffset() : u, (i || !i && this._eqNull(n._until) && this._eqNull(n._since)) && (n._since = n.options.since, this._eqNull(n._since) || (n._since = this.UTCDate(u, this._determineTime(n._since, null)), n._since && s && n._since.setMilliseconds(n._since.getMilliseconds() + s)), n._until = this.UTCDate(u, this._determineTime(n.options.until, a)), s && n._until.setMilliseconds(n._until.getMilliseconds() + s)), n._show = this._determineShow(n) }, _preDestroy: function(e, t) { this._removeElem(e[0]), e.empty() }, pause: function(e) { this._hold(e, "pause") }, lap: function(e) { this._hold(e, "lap") }, resume: function(e) { this._hold(e, null) }, toggle: function(t) { this[(e.data(t, this.name) || {})._hold ? "resume" : "pause"](t) }, toggleLap: function(t) { this[(e.data(t, this.name) || {})._hold ? "resume" : "lap"](t) }, _hold: function(t, n) { var i = e.data(t, this.name); if (i) { if ("pause" === i._hold && !n) { i._periods = i._savePeriods; var r = i._since ? "-" : "+"; i[i._since ? "_since" : "_until"] = this._determineTime(r + i._periods[0] + "y" + r + i._periods[1] + "o" + r + i._periods[2] + "w" + r + i._periods[3] + "d" + r + i._periods[4] + "h" + r + i._periods[5] + "m" + r + i._periods[6] + "s"), this._addElem(t) } i._hold = n, i._savePeriods = "pause" === n ? i._periods : null, e.data(t, this.name, i), this._updateCountdown(t, i) } }, getTimes: function(t) { var n = e.data(t, this.name); return n ? "pause" === n._hold ? n._savePeriods : n._hold ? this._calculatePeriods(n, n._show, n.options.significant, new Date) : n._periods : null }, _determineTime: function(e, t) { var n = this, i = this._eqNull(e) ? t : "string" == typeof e ? function(e) { e = e.toLowerCase(); for (var t = new Date, i = t.getFullYear(), r = t.getMonth(), o = t.getDate(), a = t.getHours(), s = t.getMinutes(), l = t.getSeconds(), u = /([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g, c = u.exec(e); c;) { switch (c[2] || "s") { case "s": l += parseInt(c[1], 10); break; case "m": s += parseInt(c[1], 10); break; case "h": a += parseInt(c[1], 10); break; case "d": o += parseInt(c[1], 10); break; case "w": o += 7 * parseInt(c[1], 10); break; case "o": r += parseInt(c[1], 10), o = Math.min(o, n._getDaysInMonth(i, r)); break; case "y": i += parseInt(c[1], 10), o = Math.min(o, n._getDaysInMonth(i, r)) } c = u.exec(e) } return new Date(i, r, o, a, s, l, 0) }(e) : "number" == typeof e ? function(e) { var t = new Date; return t.setTime(t.getTime() + 1e3 * e), t }(e) : e; return i && i.setMilliseconds(0), i }, _getDaysInMonth: function(e, t) { return 32 - new Date(e, t, 32).getDate() }, _normalLabels: function(e) { return e }, _generateHTML: function(t) { var n = this; t._periods = t._hold ? t._periods : this._calculatePeriods(t, t._show, t.options.significant, new Date); var i = !1, r = 0, o = t.options.significant, a = e.extend({}, t._show), s = null; for (s = 0; s <= 6; s++) i = i || "?" === t._show[s] && t._periods[s] > 0, a[s] = "?" !== t._show[s] || i ? t._show[s] : null, r += a[s] ? 1 : 0, o -= t._periods[s] > 0 ? 1 : 0; var l = [!1, !1, !1, !1, !1, !1, !1]; for (s = 6; s >= 0; s--) t._show[s] && (t._periods[s] ? l[s] = !0 : (l[s] = o > 0, o--)); var u = t.options.compact ? t.options.compactLabels : t.options.labels, c = t.options.whichLabels || this._normalLabels, d = function(e) { var i = t.options["compactLabels" + c(t._periods[e])]; return a[e] ? n._translateDigits(t, t._periods[e]) + (i ? i[e] : u[e]) + " " : "" }, p = t.options.padZeroes ? 2 : 1, f = function(e) { var i = t.options["labels" + c(t._periods[e])]; return !t.options.significant && a[e] || t.options.significant && l[e] ? '<span class="' + n._sectionClass + '"><span class="' + n._amountClass + '">' + n._minDigits(t, t._periods[e], p) + '</span><span class="' + n._periodClass + '">' + (i ? i[e] : u[e]) + "</span></span>" : "" }; return t.options.layout ? this._buildLayout(t, a, t.options.layout, t.options.compact, t.options.significant, l) : (t.options.compact ? '<span class="' + this._rowClass + " " + this._amountClass + (t._hold ? " " + this._holdingClass : "") + '">' + d(0) + d(1) + d(2) + d(3) + (a[4] ? this._minDigits(t, t._periods[4], 2) : "") + (a[5] ? (a[4] ? t.options.timeSeparator : "") + this._minDigits(t, t._periods[5], 2) : "") + (a[6] ? (a[4] || a[5] ? t.options.timeSeparator : "") + this._minDigits(t, t._periods[6], 2) : "") : '<span class="' + this._rowClass + " " + this._showClass + (t.options.significant || r) + (t._hold ? " " + this._holdingClass : "") + '">' + f(0) + f(1) + f(2) + f(3) + f(4) + f(5) + f(6)) + "</span>" + (t.options.description ? '<span class="' + this._rowClass + " " + this._descrClass + '">' + t.options.description + "</span>" : "") }, _buildLayout: function(t, n, i, r, o, a) { for (var s = t.options[r ? "compactLabels" : "labels"], l = t.options.whichLabels || this._normalLabels, u = function(e) { return (t.options[(r ? "compactLabels" : "labels") + l(t._periods[e])] || s)[e] }, c = function(e, n) { return t.options.digits[Math.floor(e / n) % 10] }, d = { desc: t.options.description, sep: t.options.timeSeparator, yl: u(0), yn: this._minDigits(t, t._periods[0], 1), ynn: this._minDigits(t, t._periods[0], 2), ynnn: this._minDigits(t, t._periods[0], 3), y1: c(t._periods[0], 1), y10: c(t._periods[0], 10), y100: c(t._periods[0], 100), y1000: c(t._periods[0], 1e3), ol: u(1), on: this._minDigits(t, t._periods[1], 1), onn: this._minDigits(t, t._periods[1], 2), onnn: this._minDigits(t, t._periods[1], 3), o1: c(t._periods[1], 1), o10: c(t._periods[1], 10), o100: c(t._periods[1], 100), o1000: c(t._periods[1], 1e3), wl: u(2), wn: this._minDigits(t, t._periods[2], 1), wnn: this._minDigits(t, t._periods[2], 2), wnnn: this._minDigits(t, t._periods[2], 3), w1: c(t._periods[2], 1), w10: c(t._periods[2], 10), w100: c(t._periods[2], 100), w1000: c(t._periods[2], 1e3), dl: u(3), dn: this._minDigits(t, t._periods[3], 1), dnn: this._minDigits(t, t._periods[3], 2), dnnn: this._minDigits(t, t._periods[3], 3), d1: c(t._periods[3], 1), d10: c(t._periods[3], 10), d100: c(t._periods[3], 100), d1000: c(t._periods[3], 1e3), hl: u(4), hn: this._minDigits(t, t._periods[4], 1), hnn: this._minDigits(t, t._periods[4], 2), hnnn: this._minDigits(t, t._periods[4], 3), h1: c(t._periods[4], 1), h10: c(t._periods[4], 10), h100: c(t._periods[4], 100), h1000: c(t._periods[4], 1e3), ml: u(5), mn: this._minDigits(t, t._periods[5], 1), mnn: this._minDigits(t, t._periods[5], 2), mnnn: this._minDigits(t, t._periods[5], 3), m1: c(t._periods[5], 1), m10: c(t._periods[5], 10), m100: c(t._periods[5], 100), m1000: c(t._periods[5], 1e3), sl: u(6), sn: this._minDigits(t, t._periods[6], 1), snn: this._minDigits(t, t._periods[6], 2), snnn: this._minDigits(t, t._periods[6], 3), s1: c(t._periods[6], 1), s10: c(t._periods[6], 10), s100: c(t._periods[6], 100), s1000: c(t._periods[6], 1e3) }, p = i, f = 0; f <= 6; f++) { var h = "yowdhms".charAt(f), m = new RegExp("\\{" + h + "<\\}([\\s\\S]*)\\{" + h + ">\\}", "g"); p = p.replace(m, !o && n[f] || o && a[f] ? "$1" : "") } return e.each(d, (function(e, t) { var n = new RegExp("\\{" + e + "\\}", "g"); p = p.replace(n, t) })), p }, _minDigits: function(e, t, n) { return (t = "" + t).length >= n ? this._translateDigits(e, t) : (t = "0000000000" + t, this._translateDigits(e, t.substr(t.length - n))) }, _translateDigits: function(e, t) { return ("" + t).replace(/[0-9]/g, (function(t) { return e.options.digits[t] })) }, _determineShow: function(e) { var t = e.options.format, n = []; return n[0] = t.match("y") ? "?" : t.match("Y") ? "!" : null, n[1] = t.match("o") ? "?" : t.match("O") ? "!" : null, n[2] = t.match("w") ? "?" : t.match("W") ? "!" : null, n[3] = t.match("d") ? "?" : t.match("D") ? "!" : null, n[4] = t.match("h") ? "?" : t.match("H") ? "!" : null, n[5] = t.match("m") ? "?" : t.match("M") ? "!" : null, n[6] = t.match("s") ? "?" : t.match("S") ? "!" : null, n }, _calculatePeriods: function(e, t, n, i) { e._now = i, e._now.setMilliseconds(0); var r = new Date(e._now.getTime()); e._since ? i.getTime() < e._since.getTime() ? e._now = i = r : i = e._since : (r.setTime(e._until.getTime()), i.getTime() > e._until.getTime() && (e._now = i = r)); var o = [0, 0, 0, 0, 0, 0, 0]; if (t[0] || t[1]) { var a = this._getDaysInMonth(i.getFullYear(), i.getMonth()), s = this._getDaysInMonth(r.getFullYear(), r.getMonth()), l = r.getDate() === i.getDate() || r.getDate() >= Math.min(a, s) && i.getDate() >= Math.min(a, s), u = function(e) { return 60 * (60 * e.getHours() + e.getMinutes()) + e.getSeconds() }, c = Math.max(0, 12 * (r.getFullYear() - i.getFullYear()) + r.getMonth() - i.getMonth() + (r.getDate() < i.getDate() && !l || l && u(r) < u(i) ? -1 : 0)); o[0] = t[0] ? Math.floor(c / 12) : 0, o[1] = t[1] ? c - 12 * o[0] : 0; var d = (i = new Date(i.getTime())).getDate() === a, p = this._getDaysInMonth(i.getFullYear() + o[0], i.getMonth() + o[1]); i.getDate() > p && i.setDate(p), i.setFullYear(i.getFullYear() + o[0]), i.setMonth(i.getMonth() + o[1]), d && i.setDate(p) } var f = Math.floor((r.getTime() - i.getTime()) / 1e3), h = null, m = function(e, n) { o[e] = t[e] ? Math.floor(f / n) : 0, f -= o[e] * n }; if (m(2, 604800), m(3, 86400), m(4, 3600), m(5, 60), m(6, 1), f > 0 && !e._since) { var g = [1, 12, 4.3482, 7, 24, 60, 60], v = 6, y = 1; for (h = 6; h >= 0; h--) t[h] && (o[v] >= y && (o[v] = 0, f = 1), f > 0 && (o[h]++, f = 0, v = h, y = 1)), y *= g[h] } if (n) for (h = 0; h <= 6; h++) n && o[h] ? n-- : n || (o[h] = 0); return o } }) }(jQuery), /*! * https://github.com/umarwebdeveloper/jquery-css-skills-bar * Author: @umarwebdeveloper * Licensed under the MIT license */ function(e) { e.fn.skillBars = function(t) { var n = e.extend({ from: 0, to: !1, speed: 1e3, interval: 100, decimals: 0, onUpdate: null, onComplete: null, classes: { skillBarBar: ".skillbar-bar", skillBarPercent: ".skill-bar-percent" } }, t); return this.each((function() { var t = e(this), i = 0 != n.to ? n.to : parseInt(t.attr("data-percent")); i > 100 && (i = 100); var r = n.from, o = Math.ceil(n.speed / n.interval), a = (i - r) / o, s = 0, l = setInterval((function() { r += a, s++, e(t).find(n.classes.skillBarPercent).text(r.toFixed(n.decimals) + "%"), "function" == typeof n.onUpdate && n.onUpdate.call(t, r), s >= o && (clearInterval(l), r = i, "function" == typeof n.onComplete && n.onComplete.call(t, r)) }), n.interval); t.find(n.classes.skillBarBar).animate({ width: parseInt(t.attr("data-percent")) + "%" }, n.speed) })) } }(jQuery), function(e) { "function" == typeof define && define.amd ? define(["jquery"], e) : "object" == typeof exports ? e(require("jquery")) : e(window.jQuery || window.Zepto) }((function(e) { var t, n, i, r, o, a, s = "Close", l = "BeforeClose", u = "MarkupParse", c = "Open", d = "Change", p = "mfp", f = "." + p, h = "mfp-ready", m = "mfp-removing", g = "mfp-prevent-close", v = function() {}, y = !!window.jQuery, x = e(window), b = function(e, n) { t.ev.on(p + e + f, n) }, w = function(t, n, i, r) { var o = document.createElement("div"); return o.className = "mfp-" + t, i && (o.innerHTML = i), r ? n && n.appendChild(o) : (o = e(o), n && o.appendTo(n)), o }, C = function(n, i) { t.ev.triggerHandler(p + n, i), t.st.callbacks && (n = n.charAt(0).toLowerCase() + n.slice(1), t.st.callbacks[n] && t.st.callbacks[n].apply(t, e.isArray(i) ? i : [i])) }, T = function(n) { return n === a && t.currTemplate.closeBtn || (t.currTemplate.closeBtn = e(t.st.closeMarkup.replace("%title%", t.st.tClose)), a = n), t.currTemplate.closeBtn }, _ = function() { e.magnificPopup.instance || ((t = new v).init(), e.magnificPopup.instance = t) }; v.prototype = { constructor: v, init: function() { var n = navigator.appVersion; t.isLowIE = t.isIE8 = document.all && !document.addEventListener, t.isAndroid = /android/gi.test(n), t.isIOS = /iphone|ipad|ipod/gi.test(n), t.supportsTransition = function() { var e = document.createElement("p").style, t = ["ms", "O", "Moz", "Webkit"]; if (void 0 !== e.transition) return !0; for (; t.length;) if (t.pop() + "Transition" in e) return !0; return !1 }(), t.probablyMobile = t.isAndroid || t.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), i = e(document), t.popupsCache = {} }, open: function(n) { var r; if (!1 === n.isObj) { t.items = n.items.toArray(), t.index = 0; var a, s = n.items; for (r = 0; r < s.length; r++) if ((a = s[r]).parsed && (a = a.el[0]), a === n.el[0]) { t.index = r; break } } else t.items = e.isArray(n.items) ? n.items : [n.items], t.index = n.index || 0; if (!t.isOpen) { t.types = [], o = "", n.mainEl && n.mainEl.length ? t.ev = n.mainEl.eq(0) : t.ev = i, n.key ? (t.popupsCache[n.key] || (t.popupsCache[n.key] = {}), t.currTemplate = t.popupsCache[n.key]) : t.currTemplate = {}, t.st = e.extend(!0, {}, e.magnificPopup.defaults, n), t.fixedContentPos = "auto" === t.st.fixedContentPos ? !t.probablyMobile : t.st.fixedContentPos, t.st.modal && (t.st.closeOnContentClick = !1, t.st.closeOnBgClick = !1, t.st.showCloseBtn = !1, t.st.enableEscapeKey = !1), t.bgOverlay || (t.bgOverlay = w("bg").on("click" + f, (function() { t.close() })), t.wrap = w("wrap").attr("tabindex", -1).on("click" + f, (function(e) { t._checkIfClose(e.target) && t.close() })), t.container = w("container", t.wrap)), t.contentContainer = w("content"), t.st.preloader && (t.preloader = w("preloader", t.container, t.st.tLoading)); var l = e.magnificPopup.modules; for (r = 0; r < l.length; r++) { var d = l[r]; d = d.charAt(0).toUpperCase() + d.slice(1), t["init" + d].call(t) } C("BeforeOpen"), t.st.showCloseBtn && (t.st.closeBtnInside ? (b(u, (function(e, t, n, i) { n.close_replaceWith = T(i.type) })), o += " mfp-close-btn-in") : t.wrap.append(T())), t.st.alignTop && (o += " mfp-align-top"), t.fixedContentPos ? t.wrap.css({ overflow: t.st.overflowY, overflowX: "hidden", overflowY: t.st.overflowY }) : t.wrap.css({ top: x.scrollTop(), position: "absolute" }), (!1 === t.st.fixedBgPos || "auto" === t.st.fixedBgPos && !t.fixedContentPos) && t.bgOverlay.css({ height: i.height(), position: "absolute" }), t.st.enableEscapeKey && i.on("keyup" + f, (function(e) { 27 === e.keyCode && t.close() })), x.on("resize" + f, (function() { t.updateSize() })), t.st.closeOnContentClick || (o += " mfp-auto-cursor"), o && t.wrap.addClass(o); var p = t.wH = x.height(), m = {}; if (t.fixedContentPos && t._hasScrollBar(p)) { var g = t._getScrollbarSize(); g && (m.marginRight = g) } t.fixedContentPos && (t.isIE7 ? e("body, html").css("overflow", "hidden") : m.overflow = "hidden"); var v = t.st.mainClass; return t.isIE7 && (v += " mfp-ie7"), v && t._addClassToMFP(v), t.updateItemHTML(), C("BuildControls"), e("html").css(m), t.bgOverlay.add(t.wrap).prependTo(t.st.prependTo || e(document.body)), t._lastFocusedEl = document.activeElement, setTimeout((function() { t.content ? (t._addClassToMFP(h), t._setFocus()) : t.bgOverlay.addClass(h), i.on("focusin" + f, t._onFocusIn) }), 16), t.isOpen = !0, t.updateSize(p), C(c), n } t.updateItemHTML() }, close: function() { t.isOpen && (C(l), t.isOpen = !1, t.st.removalDelay && !t.isLowIE && t.supportsTransition ? (t._addClassToMFP(m), setTimeout((function() { t._close() }), t.st.removalDelay)) : t._close()) }, _close: function() { C(s); var n = m + " " + h + " "; if (t.bgOverlay.detach(), t.wrap.detach(), t.container.empty(), t.st.mainClass && (n += t.st.mainClass + " "), t._removeClassFromMFP(n), t.fixedContentPos) { var r = { marginRight: "" }; t.isIE7 ? e("body, html").css("overflow", "") : r.overflow = "", e("html").css(r) } i.off("keyup.mfp focusin" + f), t.ev.off(f), t.wrap.attr("class", "mfp-wrap").removeAttr("style"), t.bgOverlay.attr("class", "mfp-bg"), t.container.attr("class", "mfp-container"), !t.st.showCloseBtn || t.st.closeBtnInside && !0 !== t.currTemplate[t.currItem.type] || t.currTemplate.closeBtn && t.currTemplate.closeBtn.detach(), t.st.autoFocusLast && t._lastFocusedEl && e(t._lastFocusedEl).focus(), t.currItem = null, t.content = null, t.currTemplate = null, t.prevHeight = 0, C("AfterClose") }, updateSize: function(e) { if (t.isIOS) { var n = document.documentElement.clientWidth / window.innerWidth, i = window.innerHeight * n; t.wrap.css("height", i), t.wH = i } else t.wH = e || x.height(); t.fixedContentPos || t.wrap.css("height", t.wH), C("Resize") }, updateItemHTML: function() { var n = t.items[t.index]; t.contentContainer.detach(), t.content && t.content.detach(), n.parsed || (n = t.parseEl(t.index)); var i = n.type; if (C("BeforeChange", [t.currItem ? t.currItem.type : "", i]), t.currItem = n, !t.currTemplate[i]) { var o = !!t.st[i] && t.st[i].markup; C("FirstMarkupParse", o), t.currTemplate[i] = !o || e(o) } r && r !== n.type && t.container.removeClass("mfp-" + r + "-holder"); var a = t["get" + i.charAt(0).toUpperCase() + i.slice(1)](n, t.currTemplate[i]); t.appendContent(a, i), n.preloaded = !0, C(d, n), r = n.type, t.container.prepend(t.contentContainer), C("AfterChange") }, appendContent: function(e, n) { t.content = e, e ? t.st.showCloseBtn && t.st.closeBtnInside && !0 === t.currTemplate[n] ? t.content.find(".mfp-close").length || t.content.append(T()) : t.content = e : t.content = "", C("BeforeAppend"), t.container.addClass("mfp-" + n + "-holder"), t.contentContainer.append(t.content) }, parseEl: function(n) { var i, r = t.items[n]; if (r.tagName ? r = { el: e(r) } : (i = r.type, r = { data: r, src: r.src }), r.el) { for (var o = t.types, a = 0; a < o.length; a++) if (r.el.hasClass("mfp-" + o[a])) { i = o[a]; break } r.src = r.el.attr("data-mfp-src"), r.src || (r.src = r.el.attr("href")) } return r.type = i || t.st.type || "inline", r.index = n, r.parsed = !0, t.items[n] = r, C("ElementParse", r), t.items[n] }, addGroup: function(e, n) { var i = function(i) { i.mfpEl = this, t._openClick(i, e, n) }; n || (n = {}); var r = "click.magnificPopup"; n.mainEl = e, n.items ? (n.isObj = !0, e.off(r).on(r, i)) : (n.isObj = !1, n.delegate ? e.off(r).on(r, n.delegate, i) : (n.items = e, e.off(r).on(r, i))) }, _openClick: function(n, i, r) { if ((void 0 !== r.midClick ? r.midClick : e.magnificPopup.defaults.midClick) || !(2 === n.which || n.ctrlKey || n.metaKey || n.altKey || n.shiftKey)) { var o = void 0 !== r.disableOn ? r.disableOn : e.magnificPopup.defaults.disableOn; if (o) if (e.isFunction(o)) { if (!o.call(t)) return !0 } else if (x.width() < o) return !0; n.type && (n.preventDefault(), t.isOpen && n.stopPropagation()), r.el = e(n.mfpEl), r.delegate && (r.items = i.find(r.delegate)), t.open(r) } }, updateStatus: function(e, i) { if (t.preloader) { n !== e && t.container.removeClass("mfp-s-" + n), i || "loading" !== e || (i = t.st.tLoading); var r = { status: e, text: i }; C("UpdateStatus", r), e = r.status, i = r.text, t.preloader.html(i), t.preloader.find("a").on("click", (function(e) { e.stopImmediatePropagation() })), t.container.addClass("mfp-s-" + e), n = e } }, _checkIfClose: function(n) { if (!e(n).hasClass(g)) { var i = t.st.closeOnContentClick, r = t.st.closeOnBgClick; if (i && r) return !0; if (!t.content || e(n).hasClass("mfp-close") || t.preloader && n === t.preloader[0]) return !0; if (n === t.content[0] || e.contains(t.content[0], n)) { if (i) return !0 } else if (r && e.contains(document, n)) return !0; return !1 } }, _addClassToMFP: function(e) { t.bgOverlay.addClass(e), t.wrap.addClass(e) }, _removeClassFromMFP: function(e) { this.bgOverlay.removeClass(e), t.wrap.removeClass(e) }, _hasScrollBar: function(e) { return (t.isIE7 ? i.height() : document.body.scrollHeight) > (e || x.height()) }, _setFocus: function() { (t.st.focus ? t.content.find(t.st.focus).eq(0) : t.wrap).focus() }, _onFocusIn: function(n) { if (n.target !== t.wrap[0] && !e.contains(t.wrap[0], n.target)) return t._setFocus(), !1 }, _parseMarkup: function(t, n, i) { var r; i.data && (n = e.extend(i.data, n)), C(u, [t, n, i]), e.each(n, (function(n, i) { if (void 0 === i || !1 === i) return !0; if ((r = n.split("_")).length > 1) { var o = t.find(f + "-" + r[0]); if (o.length > 0) { var a = r[1]; "replaceWith" === a ? o[0] !== i[0] && o.replaceWith(i) : "img" === a ? o.is("img") ? o.attr("src", i) : o.replaceWith(e("<img>").attr("src", i).attr("class", o.attr("class"))) : o.attr(r[1], i) } } else t.find(f + "-" + n).html(i) })) }, _getScrollbarSize: function() { if (void 0 === t.scrollbarSize) { var e = document.createElement("div"); e.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(e), t.scrollbarSize = e.offsetWidth - e.clientWidth, document.body.removeChild(e) } return t.scrollbarSize } }, e.magnificPopup = { instance: null, proto: v.prototype, modules: [], open: function(t, n) { return _(), (t = t ? e.extend(!0, {}, t) : {}).isObj = !0, t.index = n || 0, this.instance.open(t) }, close: function() { return e.magnificPopup.instance && e.magnificPopup.instance.close() }, registerModule: function(t, n) { n.options && (e.magnificPopup.defaults[t] = n.options), e.extend(this.proto, n.proto), this.modules.push(t) }, 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...", autoFocusLast: !0 } }, e.fn.magnificPopup = function(n) { _(); var i = e(this); if ("string" == typeof n) if ("open" === n) { var r, o = y ? i.data("magnificPopup") : i[0].magnificPopup, a = parseInt(arguments[1], 10) || 0; o.items ? r = o.items[a] : (r = i, o.delegate && (r = r.find(o.delegate)), r = r.eq(a)), t._openClick({ mfpEl: r }, i, o) } else t.isOpen && t[n].apply(t, Array.prototype.slice.call(arguments, 1)); else n = e.extend(!0, {}, n), y ? i.data("magnificPopup", n) : i[0].magnificPopup = n, t.addGroup(i, n); return i }; var k, S, E, D = "inline", I = function() { E && (S.after(E.addClass(k)).detach(), E = null) }; e.magnificPopup.registerModule(D, { options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" }, proto: { initInline: function() { t.types.push(D), b(s + "." + D, (function() { I() })) }, getInline: function(n, i) { if (I(), n.src) { var r = t.st.inline, o = e(n.src); if (o.length) { var a = o[0].parentNode; a && a.tagName && (S || (k = r.hiddenClass, S = w(k), k = "mfp-" + k), E = o.after(S).detach().removeClass(k)), t.updateStatus("ready") } else t.updateStatus("error", r.tNotFound), o = e("<div>"); return n.inlineElement = o, o } return t.updateStatus("ready"), t._parseMarkup(i, {}, n), i } } }); var M, A = "ajax", O = function() { M && e(document.body).removeClass(M) }, P = function() { O(), t.req && t.req.abort() }; e.magnificPopup.registerModule(A, { options: { settings: null, cursor: "mfp-ajax-cur", tError: '<a href="%url%">The content</a> could not be loaded.' }, proto: { initAjax: function() { t.types.push(A), M = t.st.ajax.cursor, b(s + "." + A, P), b("BeforeChange." + A, P) }, getAjax: function(n) { M && e(document.body).addClass(M), t.updateStatus("loading"); var i = e.extend({ url: n.src, success: function(i, r, o) { var a = { data: i, xhr: o }; C("ParseAjax", a), t.appendContent(e(a.data), A), n.finished = !0, O(), t._setFocus(), setTimeout((function() { t.wrap.addClass(h) }), 16), t.updateStatus("ready"), C("AjaxContentAdded") }, error: function() { O(), n.finished = n.loadError = !0, t.updateStatus("error", t.st.ajax.tError.replace("%url%", n.src)) } }, t.st.ajax.settings); return t.req = e.ajax(i), "" } } }); var L, j, N = function(n) { if (n.data && void 0 !== n.data.title) return n.data.title; var i = t.st.image.titleSrc; if (i) { if (e.isFunction(i)) return i.call(t, n); if (n.el) return n.el.attr(i) || "" } return "" }; e.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 n = t.st.image, i = ".image"; t.types.push("image"), b(c + i, (function() { "image" === t.currItem.type && n.cursor && e(document.body).addClass(n.cursor) })), b(s + i, (function() { n.cursor && e(document.body).removeClass(n.cursor), x.off("resize" + f) })), b("Resize" + i, t.resizeImage), t.isLowIE && b("AfterChange", t.resizeImage) }, resizeImage: function() { var e = t.currItem; if (e && e.img && t.st.image.verticalFit) { var n = 0; t.isLowIE && (n = parseInt(e.img.css("padding-top"), 10) + parseInt(e.img.css("padding-bottom"), 10)), e.img.css("max-height", t.wH - n) } }, _onImageHasSize: function(e) { e.img && (e.hasSize = !0, L && clearInterval(L), e.isCheckingImgSize = !1, C("ImageHasSize", e), e.imgHidden && (t.content && t.content.removeClass("mfp-loading"), e.imgHidden = !1)) }, findImageSize: function(e) { var n = 0, i = e.img[0], r = function(o) { L && clearInterval(L), L = setInterval((function() { i.naturalWidth > 0 ? t._onImageHasSize(e) : (n > 200 && clearInterval(L), 3 == ++n ? r(10) : 40 === n ? r(50) : 100 === n && r(500)) }), o) }; r(1) }, getImage: function(n, i) { var r = 0, o = function() { n && (n.img[0].complete ? (n.img.off(".mfploader"), n === t.currItem && (t._onImageHasSize(n), t.updateStatus("ready")), n.hasSize = !0, n.loaded = !0, C("ImageLoadComplete")) : ++r < 200 ? setTimeout(o, 100) : a()) }, a = function() { n && (n.img.off(".mfploader"), n === t.currItem && (t._onImageHasSize(n), t.updateStatus("error", s.tError.replace("%url%", n.src))), n.hasSize = !0, n.loaded = !0, n.loadError = !0) }, s = t.st.image, l = i.find(".mfp-img"); if (l.length) { var u = document.createElement("img"); u.className = "mfp-img", n.el && n.el.find("img").length && (u.alt = n.el.find("img").attr("alt")), n.img = e(u).on("load.mfploader", o).on("error.mfploader", a), u.src = n.src, l.is("img") && (n.img = n.img.clone()), (u = n.img[0]).naturalWidth > 0 ? n.hasSize = !0 : u.width || (n.hasSize = !1) } return t._parseMarkup(i, { title: N(n), img_replaceWith: n.img }, n), t.resizeImage(), n.hasSize ? (L && clearInterval(L), n.loadError ? (i.addClass("mfp-loading"), t.updateStatus("error", s.tError.replace("%url%", n.src))) : (i.removeClass("mfp-loading"), t.updateStatus("ready")), i) : (t.updateStatus("loading"), n.loading = !0, n.hasSize || (n.imgHidden = !0, i.addClass("mfp-loading"), t.findImageSize(n)), i) } } }), e.magnificPopup.registerModule("zoom", { options: { enabled: !1, easing: "ease-in-out", duration: 300, opener: function(e) { return e.is("img") ? e : e.find("img") } }, proto: { initZoom: function() { var e, n = t.st.zoom, i = ".zoom"; if (n.enabled && t.supportsTransition) { var r, o, a = n.duration, u = function(e) { var t = e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"), i = "all " + n.duration / 1e3 + "s " + n.easing, r = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" }, o = "transition"; return r["-webkit-" + o] = r["-moz-" + o] = r["-o-" + o] = r[o] = i, t.css(r), t }, c = function() { t.content.css("visibility", "visible") }; b("BuildControls" + i, (function() { if (t._allowZoom()) { if (clearTimeout(r), t.content.css("visibility", "hidden"), !(e = t._getItemToZoom())) return void c(); (o = u(e)).css(t._getOffset()), t.wrap.append(o), r = setTimeout((function() { o.css(t._getOffset(!0)), r = setTimeout((function() { c(), setTimeout((function() { o.remove(), e = o = null, C("ZoomAnimationEnded") }), 16) }), a) }), 16) } })), b(l + i, (function() { if (t._allowZoom()) { if (clearTimeout(r), t.st.removalDelay = a, !e) { if (!(e = t._getItemToZoom())) return; o = u(e) } o.css(t._getOffset(!0)), t.wrap.append(o), t.content.css("visibility", "hidden"), setTimeout((function() { o.css(t._getOffset()) }), 16) } })), b(s + i, (function() { t._allowZoom() && (c(), o && o.remove(), e = null) })) } }, _allowZoom: function() { return "image" === t.currItem.type }, _getItemToZoom: function() { return !!t.currItem.hasSize && t.currItem.img }, _getOffset: function(n) { var i, r = (i = n ? t.currItem.img : t.st.zoom.opener(t.currItem.el || t.currItem)).offset(), o = parseInt(i.css("padding-top"), 10), a = parseInt(i.css("padding-bottom"), 10); r.top -= e(window).scrollTop() - o; var s = { width: i.width(), height: (y ? i.innerHeight() : i[0].offsetHeight) - a - o }; return void 0 === j && (j = void 0 !== document.createElement("p").style.MozTransform), j ? s["-moz-transform"] = s.transform = "translate(" + r.left + "px," + r.top + "px)" : (s.left = r.left, s.top = r.top), s } } }); var F = "iframe", R = function(e) { if (t.currTemplate[F]) { var n = t.currTemplate[F].find("iframe"); n.length && (e || (n[0].src = "//about:blank"), t.isIE8 && n.css("display", e ? "block" : "none")) } }; e.magnificPopup.registerModule(F, { 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() { t.types.push(F), b("BeforeChange", (function(e, t, n) { t !== n && (t === F ? R() : n === F && R(!0)) })), b(s + "." + F, (function() { R() })) }, getIframe: function(n, i) { var r = n.src, o = t.st.iframe; e.each(o.patterns, (function() { if (r.indexOf(this.index) > -1) return this.id && (r = "string" == typeof this.id ? r.substr(r.lastIndexOf(this.id) + this.id.length, r.length) : this.id.call(this, r)), r = this.src.replace("%id%", r), !1 })); var a = {}; return o.srcAction && (a[o.srcAction] = r), t._parseMarkup(i, a, n), t.updateStatus("ready"), i } } }); var $ = function(e) { var n = t.items.length; return e > n - 1 ? e - n : e < 0 ? n + e : e }, H = function(e, t, n) { return e.replace(/%curr%/gi, t + 1).replace(/%total%/gi, n) }; e.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 n = t.st.gallery, r = ".mfp-gallery"; if (t.direction = !0, !n || !n.enabled) return !1; o += " mfp-gallery", b(c + r, (function() { n.navigateByImgClick && t.wrap.on("click" + r, ".mfp-img", (function() { if (t.items.length > 1) return t.next(), !1 })), i.on("keydown" + r, (function(e) { 37 === e.keyCode ? t.prev() : 39 === e.keyCode && t.next() })) })), b("UpdateStatus" + r, (function(e, n) { n.text && (n.text = H(n.text, t.currItem.index, t.items.length)) })), b(u + r, (function(e, i, r, o) { var a = t.items.length; r.counter = a > 1 ? H(n.tCounter, o.index, a) : "" })), b("BuildControls" + r, (function() { if (t.items.length > 1 && n.arrows && !t.arrowLeft) { var i = n.arrowMarkup, r = t.arrowLeft = e(i.replace(/%title%/gi, n.tPrev).replace(/%dir%/gi, "left")).addClass(g), o = t.arrowRight = e(i.replace(/%title%/gi, n.tNext).replace(/%dir%/gi, "right")).addClass(g); r.click((function() { t.prev() })), o.click((function() { t.next() })), t.container.append(r.add(o)) } })), b(d + r, (function() { t._preloadTimeout && clearTimeout(t._preloadTimeout), t._preloadTimeout = setTimeout((function() { t.preloadNearbyImages(), t._preloadTimeout = null }), 16) })), b(s + r, (function() { i.off(r), t.wrap.off("click" + r), t.arrowRight = t.arrowLeft = null })) }, next: function() { t.direction = !0, t.index = $(t.index + 1), t.updateItemHTML() }, prev: function() { t.direction = !1, t.index = $(t.index - 1), t.updateItemHTML() }, goTo: function(e) { t.direction = e >= t.index, t.index = e, t.updateItemHTML() }, preloadNearbyImages: function() { var e, n = t.st.gallery.preload, i = Math.min(n[0], t.items.length), r = Math.min(n[1], t.items.length); for (e = 1; e <= (t.direction ? r : i); e++) t._preloadItem(t.index + e); for (e = 1; e <= (t.direction ? i : r); e++) t._preloadItem(t.index - e) }, _preloadItem: function(n) { if (n = $(n), !t.items[n].preloaded) { var i = t.items[n]; i.parsed || (i = t.parseEl(n)), C("LazyLoad", i), "image" === i.type && (i.img = e('<img class="mfp-img" />').on("load.mfploader", (function() { i.hasSize = !0 })).on("error.mfploader", (function() { i.hasSize = !0, i.loadError = !0, C("LazyLoadError", i) })).attr("src", i.src)), i.preloaded = !0 } } } }); var q = "retina"; e.magnificPopup.registerModule(q, { options: { replaceSrc: function(e) { return e.src.replace(/\.\w+$/, (function(e) { return "@2x" + e })) }, ratio: 1 }, proto: { initRetina: function() { if (window.devicePixelRatio > 1) { var e = t.st.retina, n = e.ratio; (n = isNaN(n) ? n() : n) > 1 && (b("ImageHasSize." + q, (function(e, t) { t.img.css({ "max-width": t.img[0].naturalWidth / n, width: "100%" }) })), b("ElementParse." + q, (function(t, i) { i.src = e.replaceSrc(i, n) }))) } } } }), _() })), /*!----------------------------------------------------------------------------- * Vegas - Fullscreen Backgrounds and Slideshows. * v2.5.4 - built 2021-01-30 * Licensed under the MIT License. * http://vegas.jaysalvat.com/ * ---------------------------------------------------------------------------- * Copyright (C) 2010-2021 Jay Salvat * http://jaysalvat.com/ * --------------------------------------------------------------------------*/ function(e) { "use strict"; var t = { slide: 0, delay: 5e3, loop: !0, preload: !1, preloadImage: !1, preloadVideo: !1, timer: !0, overlay: !1, autoplay: !0, shuffle: !1, cover: !0, color: null, align: "center", valign: "center", firstTransition: null, firstTransitionDuration: null, transition: "fade", transitionDuration: 1e3, transitionRegister: [], animation: null, animationDuration: "auto", animationRegister: [], slidesToKeep: 1, init: function() {}, play: function() {}, pause: function() {}, walk: function() {}, slides: [] }, n = {}, i = function(n, i) { this.elmt = n, this.settings = e.extend({}, t, e.vegas.defaults, i), this.slide = this.settings.slide, this.total = this.settings.slides.length, this.noshow = this.total < 2, this.paused = !this.settings.autoplay || this.noshow, this.ended = !1, this.$elmt = e(n), this.$timer = null, this.$overlay = null, this.$slide = null, this.timeout = null, this.first = !0, this.transitions = ["fade", "fade2", "blur", "blur2", "flash", "flash2", "negative", "negative2", "burn", "burn2", "slideLeft", "slideLeft2", "slideRight", "slideRight2", "slideUp", "slideUp2", "slideDown", "slideDown2", "zoomIn", "zoomIn2", "zoomOut", "zoomOut2", "swirlLeft", "swirlLeft2", "swirlRight", "swirlRight2"], this.animations = ["kenburns", "kenburnsLeft", "kenburnsRight", "kenburnsUp", "kenburnsUpLeft", "kenburnsUpRight", "kenburnsDown", "kenburnsDownLeft", "kenburnsDownRight"], this.settings.transitionRegister instanceof Array || (this.settings.transitionRegister = [this.settings.transitionRegister]), this.settings.animationRegister instanceof Array || (this.settings.animationRegister = [this.settings.animationRegister]), this.transitions = this.transitions.concat(this.settings.transitionRegister), this.animations = this.animations.concat(this.settings.animationRegister), this.support = { objectFit: "objectFit" in document.body.style, transition: "transition" in document.body.style || "WebkitTransition" in document.body.style, video: e.vegas.isVideoCompatible() }, !0 === this.settings.shuffle && this.shuffle(), this._init() }; i.prototype = { _init: function() { var t, n, i, r, o = "BODY" === this.elmt.tagName, a = this.settings.timer, s = this.settings.overlay, l = this; this._preload(), o || (n = e('<div class="vegas-content-scrollable">'), t = e('<div class="vegas-content">').css("overflow", this.$elmt.css("overflow")).css("padding", this.$elmt.css("padding")), this.$elmt.css("padding") || t.css("padding-top", this.$elmt.css("padding-top")).css("padding-bottom", this.$elmt.css("padding-bottom")).css("padding-left", this.$elmt.css("padding-left")).css("padding-right", this.$elmt.css("padding-right")), this.$elmt.css("padding", 0), this.$elmt.clone(!0).children().appendTo(t), this.elmt.innerHTML = ""), a && this.support.transition && (r = e('<div class="vegas-timer"><div class="vegas-timer-progress">'), this.$timer = r, this.$elmt.prepend(r)), s && (i = e('<div class="vegas-overlay">'), "string" == typeof s && i.css("background-image", "url(" + s + ")"), this.$overlay = i, this.$elmt.prepend(i)), this.$elmt.addClass("vegas-container"), o || (this.$elmt.append(n), n.append(t)), setTimeout((function() { l.trigger("init"), l._goto(l.slide), l.settings.autoplay && l.trigger("play") }), 1) }, _preload: function() { var e; for (e = 0; e < this.settings.slides.length; e++)(this.settings.preload || this.settings.preloadImages) && this.settings.slides[e].src && ((new Image).src = this.settings.slides[e].src), (this.settings.preload || this.settings.preloadVideos) && this.support.video && this.settings.slides[e].video && (this.settings.slides[e].video instanceof Array ? this._video(this.settings.slides[e].video) : this._video(this.settings.slides[e].video.src)) }, _random: function(e) { return e[Math.floor(Math.random() * e.length)] }, _slideShow: function() { var e = this; this.total > 1 && !this.ended && !this.paused && !this.noshow && (this.timeout = setTimeout((function() { e.next() }), this._options("delay"))) }, _timer: function(e) { var t = this; clearTimeout(this.timeout), this.$timer && (this.$timer.removeClass("vegas-timer-running").find("div").css("transition-duration", "0ms"), this.ended || this.paused || this.noshow || e && setTimeout((function() { t.$timer.addClass("vegas-timer-running").find("div").css("transition-duration", t._options("delay") - 100 + "ms") }), 100)) }, _video: function(e) { var t, i, r = e.toString(); return n[r] ? n[r] : (e instanceof Array || (e = [e]), (t = document.createElement("video")).preload = !0, e.forEach((function(e) { (i = document.createElement("source")).src = e, t.appendChild(i) })), n[r] = t, t) }, _fadeOutSound: function(e, t) { var n = this, i = t / 10, r = e.volume - .09; r > 0 ? (e.volume = r, setTimeout((function() { n._fadeOutSound(e, t) }), i)) : e.pause() }, _fadeInSound: function(e, t) { var n = this, i = t / 10, r = e.volume + .09; r < 1 && (e.volume = r, setTimeout((function() { n._fadeInSound(e, t) }), i)) }, _options: function(e, t) { return void 0 === t && (t = this.slide), void 0 !== this.settings.slides[t][e] ? this.settings.slides[t][e] : this.settings[e] }, _goto: function(t) { void 0 === this.settings.slides[t] && (t = 0), this.slide = t; var n, i, r, o, a, s = this.$elmt.children(".vegas-slide"), l = this.settings.slides[t].src, u = this.settings.slides[t].video, c = this._options("delay"), d = this._options("align"), p = this._options("valign"), f = this._options("cover"), h = this._options("color") || this.$elmt.css("background-color"), m = this, g = s.length, v = this._options("transition"), y = this._options("transitionDuration"), x = this._options("animation"), b = this._options("animationDuration"); function w() { m._timer(!0), setTimeout((function() { v && (m.support.transition ? (s.css("transition", "all " + y + "ms").addClass("vegas-transition-" + v + "-out"), s.each((function() { var e = s.find("video").get(0); e && (e.volume = 1, m._fadeOutSound(e, y)) })), n.css("transition", "all " + y + "ms").addClass("vegas-transition-" + v + "-in")) : n.fadeIn(y)); for (var e = 0; e < s.length - m.settings.slidesToKeep; e++) s.eq(e).remove(); m.trigger("walk"), m._slideShow() }), 100) } this.settings.firstTransition && this.first && (v = this.settings.firstTransition || v), this.settings.firstTransitionDuration && this.first && (y = this.settings.firstTransitionDuration || y), this.first && (this.first = !1), "repeat" !== f && (!0 === f ? f = "cover" : !1 === f && (f = "contain")), ("random" === v || v instanceof Array) && (v = v instanceof Array ? this._random(v) : this._random(this.transitions)), ("random" === x || x instanceof Array) && (x = x instanceof Array ? this._random(x) : this._random(this.animations)), ("auto" === y || y > c) && (y = c), "auto" === b && (b = c), n = e('<div class="vegas-slide"></div>'), this.support.transition && v && n.addClass("vegas-transition-" + v), this.support.video && u ? ((o = u instanceof Array ? this._video(u) : this._video(u.src)).loop = void 0 === u.loop || u.loop, o.muted = void 0 === u.mute || u.mute, !1 === o.muted ? (o.volume = 0, this._fadeInSound(o, y)) : o.pause(), r = e(o).addClass("vegas-video").css("background-color", h), this.support.objectFit ? r.css("object-position", d + " " + p).css("object-fit", f).css("width", "100%").css("height", "100%") : "contain" === f && r.css("width", "100%").css("height", "100%"), n.append(r)) : (a = new Image, i = e('<div class="vegas-slide-inner"></div>').css("background-image", 'url("' + l + '")').css("background-color", h).css("background-position", d + " " + p), "repeat" === f ? i.css("background-repeat", "repeat") : i.css("background-size", f), this.support.transition && x && i.addClass("vegas-animation-" + x).css("animation-duration", b + "ms"), n.append(i)), this.support.transition || n.css("display", "none"), g ? s.eq(g - 1).after(n) : this.$elmt.prepend(n), s.css("transition", "all 0ms").each((function() { this.className = "vegas-slide", "VIDEO" === this.tagName && (this.className += " vegas-video"), v && (this.className += " vegas-transition-" + v, this.className += " vegas-transition-" + v + "-in") })), m._timer(!1), o ? (4 === o.readyState && (o.currentTime = 0), o.play(), w()) : (a.src = l, a.complete ? w() : a.onload = w) }, _end: function() { this.ended = !this.settings.autoplay, this._timer(!1), this.trigger("end") }, shuffle: function() { for (var e, t, n = this.total - 1; n > 0; n--) t = Math.floor(Math.random() * (n + 1)), e = this.settings.slides[n], this.settings.slides[n] = this.settings.slides[t], this.settings.slides[t] = e }, play: function() { this.paused && (this.paused = !1, this.next(), this.trigger("play")) }, pause: function() { this._timer(!1), this.paused = !0, this.trigger("pause") }, toggle: function() { this.paused ? this.play() : this.pause() }, playing: function() { return !this.paused && !this.noshow }, current: function(e) { return e ? { slide: this.slide, data: this.settings.slides[this.slide] } : this.slide }, jump: function(e) { e < 0 || e > this.total - 1 || e === this.slide || (this.slide = e, this._goto(this.slide)) }, next: function() { if (this.slide++, this.slide >= this.total) { if (!this.settings.loop) return this._end(); this.slide = 0 } this._goto(this.slide) }, previous: function() { if (this.slide--, this.slide < 0) { if (!this.settings.loop) return void this.slide++; this.slide = this.total - 1 } this._goto(this.slide) }, trigger: function(e) { var t; t = "init" === e ? [this.settings] : [this.slide, this.settings.slides[this.slide]], this.$elmt.trigger("vegas" + e, t), "function" == typeof this.settings[e] && this.settings[e].apply(this.$elmt, t) }, options: function(n, i) { var r = this.settings.slides.slice(); if ("object" == typeof n) this.settings = e.extend({}, t, e.vegas.defaults, n); else { if ("string" != typeof n) return this.settings; if (void 0 === i) return this.settings[n]; this.settings[n] = i } this.settings.slides !== r && (this.total = this.settings.slides.length, this.noshow = this.total < 2, this._preload()) }, destroy: function() { clearTimeout(this.timeout), this.$elmt.removeClass("vegas-container"), this.$elmt.find("> .vegas-slide").remove(), this.$elmt.find("> .vegas-wrapper").clone(!0).children().appendTo(this.$elmt), this.$elmt.find("> .vegas-wrapper").remove(), this.settings.timer && this.$timer.remove(), this.settings.overlay && this.$overlay.remove(), this.elmt._vegas = null } }, e.fn.vegas = function(e) { var t, n = arguments, r = !1; if (void 0 === e || "object" == typeof e) return this.each((function() { this._vegas || (this._vegas = new i(this, e)) })); if ("string" == typeof e) { if (this.each((function() { var i = this._vegas; if (!i) throw new Error("No Vegas applied to this element."); "function" == typeof i[e] && "_" !== e[0] ? t = i[e].apply(i, [].slice.call(n, 1)) : r = !0 })), r) throw new Error('No method "' + e + '" in Vegas.'); return void 0 !== t ? t : this } }, e.vegas = {}, e.vegas.defaults = t, e.vegas.isVideoCompatible = function() { return !/(Android|webOS|Phone|iPad|iPod|BlackBerry|Windows Phone)/i.test(navigator.userAgent) } }(window.jQuery || window.Zepto || window.m4q), /*! PhotoSwipe - v4.1.3 - 2019-01-08 * http://photoswipe.com * Copyright (c) 2019 Dmitry Semenov; */ function(e, t) { "function" == typeof define && define.amd ? define(t) : "object" == typeof exports ? module.exports = t() : e.PhotoSwipe = t() }(this, (function() { "use strict"; return function(e, t, n, i) { var r = { features: null, bind: function(e, t, n, i) { var r = (i ? "remove" : "add") + "EventListener"; t = t.split(" "); for (var o = 0; o < t.length; o++) t[o] && e[r](t[o], n, !1) }, isArray: function(e) { return e instanceof Array }, createEl: function(e, t) { var n = document.createElement(t || "div"); return e && (n.className = e), n }, getScrollY: function() { var e = window.pageYOffset; return void 0 !== e ? e : document.documentElement.scrollTop }, unbind: function(e, t, n) { r.bind(e, t, n, !0) }, removeClass: function(e, t) { var n = new RegExp("(\\s|^)" + t + "(\\s|$)"); e.className = e.className.replace(n, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "") }, addClass: function(e, t) { r.hasClass(e, t) || (e.className += (e.className ? " " : "") + t) }, hasClass: function(e, t) { return e.className && new RegExp("(^|\\s)" + t + "(\\s|$)").test(e.className) }, getChildByClass: function(e, t) { for (var n = e.firstChild; n;) { if (r.hasClass(n, t)) return n; n = n.nextSibling } }, arraySearch: function(e, t, n) { for (var i = e.length; i--;) if (e[i][n] === t) return i; return -1 }, extend: function(e, t, n) { for (var i in t) if (t.hasOwnProperty(i)) { if (n && e.hasOwnProperty(i)) continue; e[i] = t[i] } }, easing: { sine: { out: function(e) { return Math.sin(e * (Math.PI / 2)) }, inOut: function(e) { return -(Math.cos(Math.PI * e) - 1) / 2 } }, cubic: { out: function(e) { return --e * e * e + 1 } } }, detectFeatures: function() { if (r.features) return r.features; var e = r.createEl().style, t = "", n = {}; if (n.oldIE = document.all && !document.addEventListener, n.touch = "ontouchstart" in window, window.requestAnimationFrame && (n.raf = window.requestAnimationFrame, n.caf = window.cancelAnimationFrame), n.pointerEvent = !!window.PointerEvent || navigator.msPointerEnabled, !n.pointerEvent) { var i = navigator.userAgent; if (/iP(hone|od)/.test(navigator.platform)) { var o = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/); o && o.length > 0 && (o = parseInt(o[1], 10)) >= 1 && o < 8 && (n.isOldIOSPhone = !0) } var a = i.match(/Android\s([0-9\.]*)/), s = a ? a[1] : 0; (s = parseFloat(s)) >= 1 && (s < 4.4 && (n.isOldAndroid = !0), n.androidVersion = s), n.isMobileOpera = /opera mini|opera mobi/i.test(i) } for (var l, u, c = ["transform", "perspective", "animationName"], d = ["", "webkit", "Moz", "ms", "O"], p = 0; p < 4; p++) { t = d[p]; for (var f = 0; f < 3; f++) l = c[f], u = t + (t ? l.charAt(0).toUpperCase() + l.slice(1) : l), !n[l] && u in e && (n[l] = u); t && !n.raf && (t = t.toLowerCase(), n.raf = window[t + "RequestAnimationFrame"], n.raf && (n.caf = window[t + "CancelAnimationFrame"] || window[t + "CancelRequestAnimationFrame"])) } if (!n.raf) { var h = 0; n.raf = function(e) { var t = (new Date).getTime(), n = Math.max(0, 16 - (t - h)), i = window.setTimeout((function() { e(t + n) }), n); return h = t + n, i }, n.caf = function(e) { clearTimeout(e) } } return n.svg = !!document.createElementNS && !!document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect, r.features = n, n } }; r.detectFeatures(), r.features.oldIE && (r.bind = function(e, t, n, i) { t = t.split(" "); for (var r, o = (i ? "detach" : "attach") + "Event", a = function() { n.handleEvent.call(n) }, s = 0; s < t.length; s++) if (r = t[s]) if ("object" == typeof n && n.handleEvent) { if (i) { if (!n["oldIE" + r]) return !1 } else n["oldIE" + r] = a; e[o]("on" + r, n["oldIE" + r]) } else e[o]("on" + r, n) }); var o = this, a = { allowPanToNext: !0, spacing: .12, bgOpacity: 1, mouseUsed: !1, loop: !0, pinchToClose: !0, closeOnScroll: !0, closeOnVerticalDrag: !0, verticalDragRange: .75, hideAnimationDuration: 333, showAnimationDuration: 333, showHideOpacity: !1, focus: !0, escKey: !0, arrowKeys: !0, mainScrollEndFriction: .35, panEndFriction: .35, isClickableElement: function(e) { return "A" === e.tagName }, getDoubleTapZoom: function(e, t) { return e || t.initialZoomLevel < .7 ? 1 : 1.33 }, maxSpreadZoom: 1.33, modal: !0, scaleMode: "fit" }; r.extend(a, i); var s, l, u, c, d, p, f, h, m, g, v, y, x, b, w, C, T, _, k, S, E, D, I, M, A, O, P, L, j, N, F, R, $, H, q, z, B, W, U, Z, Y, V, K, X, G, Q, J, ee, te, ne, ie, re, oe, ae, se, le, ue = { x: 0, y: 0 }, ce = { x: 0, y: 0 }, de = { x: 0, y: 0 }, pe = {}, fe = 0, he = {}, me = { x: 0, y: 0 }, ge = 0, ve = !0, ye = [], xe = {}, be = !1, we = function(e, t) { r.extend(o, t.publicMethods), ye.push(e) }, Ce = function(e) { var t = qt(); return e > t - 1 ? e - t : e < 0 ? t + e : e }, Te = {}, _e = function(e, t) { return Te[e] || (Te[e] = []), Te[e].push(t) }, ke = function(e) { var t = Te[e]; if (t) { var n = Array.prototype.slice.call(arguments); n.shift(); for (var i = 0; i < t.length; i++) t[i].apply(o, n) } }, Se = function() { return (new Date).getTime() }, Ee = function(e) { ae = e, o.bg.style.opacity = e * a.bgOpacity }, De = function(e, t, n, i, r) { (!be || r && r !== o.currItem) && (i /= r ? r.fitRatio : o.currItem.fitRatio), e[D] = y + t + "px, " + n + "px" + x + " scale(" + i + ")" }, Ie = function(e) { te && (e && (g > o.currItem.fitRatio ? be || (Xt(o.currItem, !1, !0), be = !0) : be && (Xt(o.currItem), be = !1)), De(te, de.x, de.y, g)) }, Me = function(e) { e.container && De(e.container.style, e.initialPosition.x, e.initialPosition.y, e.initialZoomLevel, e) }, Ae = function(e, t) { t[D] = y + e + "px, 0px" + x }, Oe = function(e, t) { if (!a.loop && t) { var n = c + (me.x * fe - e) / me.x, i = Math.round(e - ct.x); (n < 0 && i > 0 || n >= qt() - 1 && i < 0) && (e = ct.x + i * a.mainScrollEndFriction) } ct.x = e, Ae(e, d) }, Pe = function(e, t) { var n = dt[e] - he[e]; return ce[e] + ue[e] + n - n * (t / v) }, Le = function(e, t) { e.x = t.x, e.y = t.y, t.id && (e.id = t.id) }, je = function(e) { e.x = Math.round(e.x), e.y = Math.round(e.y) }, Ne = null, Fe = function() { Ne && (r.unbind(document, "mousemove", Fe), r.addClass(e, "pswp--has_mouse"), a.mouseUsed = !0, ke("mouseUsed")), Ne = setTimeout((function() { Ne = null }), 100) }, Re = function(e, t) { var n = Zt(o.currItem, pe, e); return t && (ee = n), n }, $e = function(e) { return e || (e = o.currItem), e.initialZoomLevel }, He = function(e) { return e || (e = o.currItem), e.w > 0 ? a.maxSpreadZoom : 1 }, qe = function(e, t, n, i) { return i === o.currItem.initialZoomLevel ? (n[e] = o.currItem.initialPosition[e], !0) : (n[e] = Pe(e, i), n[e] > t.min[e] ? (n[e] = t.min[e], !0) : n[e] < t.max[e] && (n[e] = t.max[e], !0)) }, ze = function(e) { var t = ""; a.escKey && 27 === e.keyCode ? t = "close" : a.arrowKeys && (37 === e.keyCode ? t = "prev" : 39 === e.keyCode && (t = "next")), t && (e.ctrlKey || e.altKey || e.shiftKey || e.metaKey || (e.preventDefault ? e.preventDefault() : e.returnValue = !1, o[t]())) }, Be = function(e) { e && (V || Y || ne || B) && (e.preventDefault(), e.stopPropagation()) }, We = function() { o.setScrollOffset(0, r.getScrollY()) }, Ue = {}, Ze = 0, Ye = function(e) { Ue[e] && (Ue[e].raf && O(Ue[e].raf), Ze--, delete Ue[e]) }, Ve = function(e) { Ue[e] && Ye(e), Ue[e] || (Ze++, Ue[e] = {}) }, Ke = function() { for (var e in Ue) Ue.hasOwnProperty(e) && Ye(e) }, Xe = function(e, t, n, i, r, o, a) { var s, l = Se(); Ve(e); var u = function() { if (Ue[e]) { if ((s = Se() - l) >= i) return Ye(e), o(n), void(a && a()); o((n - t) * r(s / i) + t), Ue[e].raf = A(u) } }; u() }, Ge = { shout: ke, listen: _e, viewportSize: pe, options: a, isMainScrollAnimating: function() { return ne }, getZoomLevel: function() { return g }, getCurrentIndex: function() { return c }, isDragging: function() { return U }, isZooming: function() { return Q }, setScrollOffset: function(e, t) { he.x = e, N = he.y = t, ke("updateScrollOffset", he) }, applyZoomPan: function(e, t, n, i) { de.x = t, de.y = n, g = e, Ie(i) }, init: function() { if (!s && !l) { var n; o.framework = r, o.template = e, o.bg = r.getChildByClass(e, "pswp__bg"), P = e.className, s = !0, F = r.detectFeatures(), A = F.raf, O = F.caf, D = F.transform, j = F.oldIE, o.scrollWrap = r.getChildByClass(e, "pswp__scroll-wrap"), o.container = r.getChildByClass(o.scrollWrap, "pswp__container"), d = o.container.style, o.itemHolders = C = [{ el: o.container.children[0], wrap: 0, index: -1 }, { el: o.container.children[1], wrap: 0, index: -1 }, { el: o.container.children[2], wrap: 0, index: -1 }], C[0].el.style.display = C[2].el.style.display = "none", function() { if (D) { var t = F.perspective && !M; return y = "translate" + (t ? "3d(" : "("), void(x = F.perspective ? ", 0px)" : ")") } D = "left", r.addClass(e, "pswp--ie"), Ae = function(e, t) { t.left = e + "px" }, Me = function(e) { var t = e.fitRatio > 1 ? 1 : e.fitRatio, n = e.container.style, i = t * e.w, r = t * e.h; n.width = i + "px", n.height = r + "px", n.left = e.initialPosition.x + "px", n.top = e.initialPosition.y + "px" }, Ie = function() { if (te) { var e = te, t = o.currItem, n = t.fitRatio > 1 ? 1 : t.fitRatio, i = n * t.w, r = n * t.h; e.width = i + "px", e.height = r + "px", e.left = de.x + "px", e.top = de.y + "px" } } }(), m = { resize: o.updateSize, orientationchange: function() { clearTimeout(R), R = setTimeout((function() { pe.x !== o.scrollWrap.clientWidth && o.updateSize() }), 500) }, scroll: We, keydown: ze, click: Be }; var i = F.isOldIOSPhone || F.isOldAndroid || F.isMobileOpera; for (F.animationName && F.transform && !i || (a.showAnimationDuration = a.hideAnimationDuration = 0), n = 0; n < ye.length; n++) o["init" + ye[n]](); t && (o.ui = new t(o, r)).init(), ke("firstUpdate"), c = c || a.index || 0, (isNaN(c) || c < 0 || c >= qt()) && (c = 0), o.currItem = Ht(c), (F.isOldIOSPhone || F.isOldAndroid) && (ve = !1), e.setAttribute("aria-hidden", "false"), a.modal && (ve ? e.style.position = "fixed" : (e.style.position = "absolute", e.style.top = r.getScrollY() + "px")), void 0 === N && (ke("initialLayout"), N = L = r.getScrollY()); var u = "pswp--open "; for (a.mainClass && (u += a.mainClass + " "), a.showHideOpacity && (u += "pswp--animate_opacity "), u += M ? "pswp--touch" : "pswp--notouch", u += F.animationName ? " pswp--css_animation" : "", u += F.svg ? " pswp--svg" : "", r.addClass(e, u), o.updateSize(), p = -1, ge = null, n = 0; n < 3; n++) Ae((n + p) * me.x, C[n].el.style); j || r.bind(o.scrollWrap, h, o), _e("initialZoomInEnd", (function() { o.setContent(C[0], c - 1), o.setContent(C[2], c + 1), C[0].el.style.display = C[2].el.style.display = "block", a.focus && e.focus(), r.bind(document, "keydown", o), F.transform && r.bind(o.scrollWrap, "click", o), a.mouseUsed || r.bind(document, "mousemove", Fe), r.bind(window, "resize scroll orientationchange", o), ke("bindEvents") })), o.setContent(C[1], c), o.updateCurrItem(), ke("afterInit"), ve || (b = setInterval((function() { Ze || U || Q || g !== o.currItem.initialZoomLevel || o.updateSize() }), 1e3)), r.addClass(e, "pswp--visible") } }, close: function() { s && (s = !1, l = !0, ke("close"), r.unbind(window, "resize scroll orientationchange", o), r.unbind(window, "scroll", m.scroll), r.unbind(document, "keydown", o), r.unbind(document, "mousemove", Fe), F.transform && r.unbind(o.scrollWrap, "click", o), U && r.unbind(window, f, o), clearTimeout(R), ke("unbindEvents"), zt(o.currItem, null, !0, o.destroy)) }, destroy: function() { ke("destroy"), Nt && clearTimeout(Nt), e.setAttribute("aria-hidden", "true"), e.className = P, b && clearInterval(b), r.unbind(o.scrollWrap, h, o), r.unbind(window, "scroll", o), ht(), Ke(), Te = null }, panTo: function(e, t, n) { n || (e > ee.min.x ? e = ee.min.x : e < ee.max.x && (e = ee.max.x), t > ee.min.y ? t = ee.min.y : t < ee.max.y && (t = ee.max.y)), de.x = e, de.y = t, Ie() }, handleEvent: function(e) { e = e || window.event, m[e.type] && m[e.type](e) }, goTo: function(e) { var t = (e = Ce(e)) - c; ge = t, c = e, o.currItem = Ht(c), fe -= t, Oe(me.x * fe), Ke(), ne = !1, o.updateCurrItem() }, next: function() { o.goTo(c + 1) }, prev: function() { o.goTo(c - 1) }, updateCurrZoomItem: function(e) { if (e && ke("beforeChange", 0), C[1].el.children.length) { var t = C[1].el.children[0]; te = r.hasClass(t, "pswp__zoom-wrap") ? t.style : null } else te = null; ee = o.currItem.bounds, v = g = o.currItem.initialZoomLevel, de.x = ee.center.x, de.y = ee.center.y, e && ke("afterChange") }, invalidateCurrItems: function() { w = !0; for (var e = 0; e < 3; e++) C[e].item && (C[e].item.needsUpdate = !0) }, updateCurrItem: function(e) { if (0 !== ge) { var t, n = Math.abs(ge); if (!(e && n < 2)) { o.currItem = Ht(c), be = !1, ke("beforeChange", ge), n >= 3 && (p += ge + (ge > 0 ? -3 : 3), n = 3); for (var i = 0; i < n; i++) ge > 0 ? (t = C.shift(), C[2] = t, p++, Ae((p + 2) * me.x, t.el.style), o.setContent(t, c - n + i + 1 + 1)) : (t = C.pop(), C.unshift(t), p--, Ae(p * me.x, t.el.style), o.setContent(t, c + n - i - 1 - 1)); if (te && 1 === Math.abs(ge)) { var r = Ht(T); r.initialZoomLevel !== g && (Zt(r, pe), Xt(r), Me(r)) } ge = 0, o.updateCurrZoomItem(), T = c, ke("afterChange") } } }, updateSize: function(t) { if (!ve && a.modal) { var n = r.getScrollY(); if (N !== n && (e.style.top = n + "px", N = n), !t && xe.x === window.innerWidth && xe.y === window.innerHeight) return; xe.x = window.innerWidth, xe.y = window.innerHeight, e.style.height = xe.y + "px" } if (pe.x = o.scrollWrap.clientWidth, pe.y = o.scrollWrap.clientHeight, We(), me.x = pe.x + Math.round(pe.x * a.spacing), me.y = pe.y, Oe(me.x * fe), ke("beforeResize"), void 0 !== p) { for (var i, s, l, u = 0; u < 3; u++) i = C[u], Ae((u + p) * me.x, i.el.style), l = c + u - 1, a.loop && qt() > 2 && (l = Ce(l)), (s = Ht(l)) && (w || s.needsUpdate || !s.bounds) ? (o.cleanSlide(s), o.setContent(i, l), 1 === u && (o.currItem = s, o.updateCurrZoomItem(!0)), s.needsUpdate = !1) : -1 === i.index && l >= 0 && o.setContent(i, l), s && s.container && (Zt(s, pe), Xt(s), Me(s)); w = !1 } v = g = o.currItem.initialZoomLevel, (ee = o.currItem.bounds) && (de.x = ee.center.x, de.y = ee.center.y, Ie(!0)), ke("resize") }, zoomTo: function(e, t, n, i, o) { t && (v = g, dt.x = Math.abs(t.x) - de.x, dt.y = Math.abs(t.y) - de.y, Le(ce, de)); var a = Re(e, !1), s = {}; qe("x", a, s, e), qe("y", a, s, e); var l = g, u = de.x, c = de.y; je(s); var d = function(t) { 1 === t ? (g = e, de.x = s.x, de.y = s.y) : (g = (e - l) * t + l, de.x = (s.x - u) * t + u, de.y = (s.y - c) * t + c), o && o(t), Ie(1 === t) }; n ? Xe("customZoomTo", 0, 1, n, i || r.easing.sine.inOut, d) : d(1) } }, Qe = {}, Je = {}, et = {}, tt = {}, nt = {}, it = [], rt = {}, ot = [], at = {}, st = 0, lt = { x: 0, y: 0 }, ut = 0, ct = { x: 0, y: 0 }, dt = { x: 0, y: 0 }, pt = { x: 0, y: 0 }, ft = function(e, t) { return at.x = Math.abs(e.x - t.x), at.y = Math.abs(e.y - t.y), Math.sqrt(at.x * at.x + at.y * at.y) }, ht = function() { K && (O(K), K = null) }, mt = function() { U && (K = A(mt), It()) }, gt = function(e, t) { return !(!e || e === document) && !(e.getAttribute("class") && e.getAttribute("class").indexOf("pswp__scroll-wrap") > -1) && (t(e) ? e : gt(e.parentNode, t)) }, vt = {}, yt = function(e, t) { return vt.prevent = !gt(e.target, a.isClickableElement), ke("preventDragEvent", e, t, vt), vt.prevent }, xt = function(e, t) { return t.x = e.pageX, t.y = e.pageY, t.id = e.identifier, t }, bt = function(e, t, n) { n.x = .5 * (e.x + t.x), n.y = .5 * (e.y + t.y) }, wt = function() { var e = de.y - o.currItem.initialPosition.y; return 1 - Math.abs(e / (pe.y / 2)) }, Ct = {}, Tt = {}, _t = [], kt = function(e) { for (; _t.length > 0;) _t.pop(); return I ? (le = 0, it.forEach((function(e) { 0 === le ? _t[0] = e : 1 === le && (_t[1] = e), le++ }))) : e.type.indexOf("touch") > -1 ? e.touches && e.touches.length > 0 && (_t[0] = xt(e.touches[0], Ct), e.touches.length > 1 && (_t[1] = xt(e.touches[1], Tt))) : (Ct.x = e.pageX, Ct.y = e.pageY, Ct.id = "", _t[0] = Ct), _t }, St = function(e, t) { var n, i, r, s, l = de[e] + t[e], u = t[e] > 0, c = ct.x + t.x, d = ct.x - rt.x; if (n = l > ee.min[e] || l < ee.max[e] ? a.panEndFriction : 1, l = de[e] + t[e] * n, (a.allowPanToNext || g === o.currItem.initialZoomLevel) && (te ? "h" !== ie || "x" !== e || Y || (u ? (l > ee.min[e] && (n = a.panEndFriction, ee.min[e], i = ee.min[e] - ce[e]), (i <= 0 || d < 0) && qt() > 1 ? (s = c, d < 0 && c > rt.x && (s = rt.x)) : ee.min.x !== ee.max.x && (r = l)) : (l < ee.max[e] && (n = a.panEndFriction, ee.max[e], i = ce[e] - ee.max[e]), (i <= 0 || d > 0) && qt() > 1 ? (s = c, d > 0 && c < rt.x && (s = rt.x)) : ee.min.x !== ee.max.x && (r = l))) : s = c, "x" === e)) return void 0 !== s && (Oe(s, !0), X = s !== rt.x), ee.min.x !== ee.max.x && (void 0 !== r ? de.x = r : X || (de.x += t.x * n)), void 0 !== s; ne || X || g > o.currItem.fitRatio && (de[e] += t[e] * n) }, Et = function(e) { if (!("mousedown" === e.type && e.button > 0)) if ($t) e.preventDefault(); else if (!W || "mousedown" !== e.type) { if (yt(e, !0) && e.preventDefault(), ke("pointerDown"), I) { var t = r.arraySearch(it, e.pointerId, "id"); t < 0 && (t = it.length), it[t] = { x: e.pageX, y: e.pageY, id: e.pointerId } } var n = kt(e), i = n.length; G = null, Ke(), U && 1 !== i || (U = re = !0, r.bind(window, f, o), z = se = oe = B = X = V = Z = Y = !1, ie = null, ke("firstTouchStart", n), Le(ce, de), ue.x = ue.y = 0, Le(tt, n[0]), Le(nt, tt), rt.x = me.x * fe, ot = [{ x: tt.x, y: tt.y }], H = $ = Se(), Re(g, !0), ht(), mt()), !Q && i > 1 && !ne && !X && (v = g, Y = !1, Q = Z = !0, ue.y = ue.x = 0, Le(ce, de), Le(Qe, n[0]), Le(Je, n[1]), bt(Qe, Je, pt), dt.x = Math.abs(pt.x) - de.x, dt.y = Math.abs(pt.y) - de.y, J = ft(Qe, Je)) } }, Dt = function(e) { if (e.preventDefault(), I) { var t = r.arraySearch(it, e.pointerId, "id"); if (t > -1) { var n = it[t]; n.x = e.pageX, n.y = e.pageY } } if (U) { var i = kt(e); if (ie || V || Q) G = i; else if (ct.x !== me.x * fe) ie = "h"; else { var o = Math.abs(i[0].x - tt.x) - Math.abs(i[0].y - tt.y); Math.abs(o) >= 10 && (ie = o > 0 ? "h" : "v", G = i) } } }, It = function() { if (G) { var e = G.length; if (0 !== e) if (Le(Qe, G[0]), et.x = Qe.x - tt.x, et.y = Qe.y - tt.y, Q && e > 1) { if (tt.x = Qe.x, tt.y = Qe.y, !et.x && !et.y && function(e, t) { return e.x === t.x && e.y === t.y }(G[1], Je)) return; Le(Je, G[1]), Y || (Y = !0, ke("zoomGestureStarted")); var t = ft(Qe, Je), n = Lt(t); n > o.currItem.initialZoomLevel + o.currItem.initialZoomLevel / 15 && (se = !0); var i = 1, r = $e(), s = He(); if (n < r) if (a.pinchToClose && !se && v <= o.currItem.initialZoomLevel) { var l = 1 - (r - n) / (r / 1.2); Ee(l), ke("onPinchClose", l), oe = !0 } else(i = (r - n) / r) > 1 && (i = 1), n = r - i * (r / 3); else n > s && ((i = (n - s) / (6 * r)) > 1 && (i = 1), n = s + i * r); i < 0 && (i = 0), bt(Qe, Je, lt), ue.x += lt.x - pt.x, ue.y += lt.y - pt.y, Le(pt, lt), de.x = Pe("x", n), de.y = Pe("y", n), z = n > g, g = n, Ie() } else { if (!ie) return; if (re && (re = !1, Math.abs(et.x) >= 10 && (et.x -= G[0].x - nt.x), Math.abs(et.y) >= 10 && (et.y -= G[0].y - nt.y)), tt.x = Qe.x, tt.y = Qe.y, 0 === et.x && 0 === et.y) return; if ("v" === ie && a.closeOnVerticalDrag && "fit" === a.scaleMode && g === o.currItem.initialZoomLevel) { ue.y += et.y, de.y += et.y; var u = wt(); return B = !0, ke("onVerticalDrag", u), Ee(u), void Ie() }! function(e, t, n) { if (e - H > 50) { var i = ot.length > 2 ? ot.shift() : {}; i.x = t, i.y = n, ot.push(i), H = e } }(Se(), Qe.x, Qe.y), V = !0, ee = o.currItem.bounds, St("x", et) || (St("y", et), je(de), Ie()) } } }, Mt = function(e) { if (F.isOldAndroid) { if (W && "mouseup" === e.type) return; e.type.indexOf("touch") > -1 && (clearTimeout(W), W = setTimeout((function() { W = 0 }), 600)) } var t; if (ke("pointerUp"), yt(e, !1) && e.preventDefault(), I) { var n = r.arraySearch(it, e.pointerId, "id"); n > -1 && (t = it.splice(n, 1)[0], navigator.msPointerEnabled ? (t.type = { 4: "mouse", 2: "touch", 3: "pen" }[e.pointerType], t.type || (t.type = e.pointerType || "mouse")) : t.type = e.pointerType || "mouse") } var i, s = kt(e), l = s.length; if ("mouseup" === e.type && (l = 0), 2 === l) return G = null, !0; 1 === l && Le(nt, s[0]), 0 !== l || ie || ne || (t || ("mouseup" === e.type ? t = { x: e.pageX, y: e.pageY, type: "mouse" } : e.changedTouches && e.changedTouches[0] && (t = { x: e.changedTouches[0].pageX, y: e.changedTouches[0].pageY, type: "touch" })), ke("touchRelease", e, t)); var u = -1; if (0 === l && (U = !1, r.unbind(window, f, o), ht(), Q ? u = 0 : -1 !== ut && (u = Se() - ut)), ut = 1 === l ? Se() : -1, i = -1 !== u && u < 150 ? "zoom" : "swipe", Q && l < 2 && (Q = !1, 1 === l && (i = "zoomPointerUp"), ke("zoomGestureEnded")), G = null, V || Y || ne || B) if (Ke(), q || (q = At()), q.calculateSwipeSpeed("x"), B) if (wt() < a.verticalDragRange) o.close(); else { var c = de.y, d = ae; Xe("verticalDrag", 0, 1, 300, r.easing.cubic.out, (function(e) { de.y = (o.currItem.initialPosition.y - c) * e + c, Ee((1 - d) * e + d), Ie() })), ke("onVerticalDrag", 1) } else { if ((X || ne) && 0 === l) { if (Pt(i, q)) return; i = "zoomPointerUp" } ne || ("swipe" === i ? !X && g > o.currItem.fitRatio && Ot(q) : jt()) } }, At = function() { var e, t, n = { lastFlickOffset: {}, lastFlickDist: {}, lastFlickSpeed: {}, slowDownRatio: {}, slowDownRatioReverse: {}, speedDecelerationRatio: {}, speedDecelerationRatioAbs: {}, distanceOffset: {}, backAnimDestination: {}, backAnimStarted: {}, calculateSwipeSpeed: function(i) { ot.length > 1 ? (e = Se() - H + 50, t = ot[ot.length - 2][i]) : (e = Se() - $, t = nt[i]), n.lastFlickOffset[i] = tt[i] - t, n.lastFlickDist[i] = Math.abs(n.lastFlickOffset[i]), n.lastFlickDist[i] > 20 ? n.lastFlickSpeed[i] = n.lastFlickOffset[i] / e : n.lastFlickSpeed[i] = 0, Math.abs(n.lastFlickSpeed[i]) < .1 && (n.lastFlickSpeed[i] = 0), n.slowDownRatio[i] = .95, n.slowDownRatioReverse[i] = 1 - n.slowDownRatio[i], n.speedDecelerationRatio[i] = 1 }, calculateOverBoundsAnimOffset: function(e, t) { n.backAnimStarted[e] || (de[e] > ee.min[e] ? n.backAnimDestination[e] = ee.min[e] : de[e] < ee.max[e] && (n.backAnimDestination[e] = ee.max[e]), void 0 !== n.backAnimDestination[e] && (n.slowDownRatio[e] = .7, n.slowDownRatioReverse[e] = 1 - n.slowDownRatio[e], n.speedDecelerationRatioAbs[e] < .05 && (n.lastFlickSpeed[e] = 0, n.backAnimStarted[e] = !0, Xe("bounceZoomPan" + e, de[e], n.backAnimDestination[e], t || 300, r.easing.sine.out, (function(t) { de[e] = t, Ie() }))))) }, calculateAnimOffset: function(e) { n.backAnimStarted[e] || (n.speedDecelerationRatio[e] = n.speedDecelerationRatio[e] * (n.slowDownRatio[e] + n.slowDownRatioReverse[e] - n.slowDownRatioReverse[e] * n.timeDiff / 10), n.speedDecelerationRatioAbs[e] = Math.abs(n.lastFlickSpeed[e] * n.speedDecelerationRatio[e]), n.distanceOffset[e] = n.lastFlickSpeed[e] * n.speedDecelerationRatio[e] * n.timeDiff, de[e] += n.distanceOffset[e]) }, panAnimLoop: function() { if (Ue.zoomPan && (Ue.zoomPan.raf = A(n.panAnimLoop), n.now = Se(), n.timeDiff = n.now - n.lastNow, n.lastNow = n.now, n.calculateAnimOffset("x"), n.calculateAnimOffset("y"), Ie(), n.calculateOverBoundsAnimOffset("x"), n.calculateOverBoundsAnimOffset("y"), n.speedDecelerationRatioAbs.x < .05 && n.speedDecelerationRatioAbs.y < .05)) return de.x = Math.round(de.x), de.y = Math.round(de.y), Ie(), void Ye("zoomPan") } }; return n }, Ot = function(e) { if (e.calculateSwipeSpeed("y"), ee = o.currItem.bounds, e.backAnimDestination = {}, e.backAnimStarted = {}, Math.abs(e.lastFlickSpeed.x) <= .05 && Math.abs(e.lastFlickSpeed.y) <= .05) return e.speedDecelerationRatioAbs.x = e.speedDecelerationRatioAbs.y = 0, e.calculateOverBoundsAnimOffset("x"), e.calculateOverBoundsAnimOffset("y"), !0; Ve("zoomPan"), e.lastNow = Se(), e.panAnimLoop() }, Pt = function(e, t) { var n, i, s; if (ne || (st = c), "swipe" === e) { var l = tt.x - nt.x, u = t.lastFlickDist.x < 10; l > 30 && (u || t.lastFlickOffset.x > 20) ? i = -1 : l < -30 && (u || t.lastFlickOffset.x < -20) && (i = 1) } i && ((c += i) < 0 ? (c = a.loop ? qt() - 1 : 0, s = !0) : c >= qt() && (c = a.loop ? 0 : qt() - 1, s = !0), s && !a.loop || (ge += i, fe -= i, n = !0)); var d, p = me.x * fe, f = Math.abs(p - ct.x); return n || p > ct.x == t.lastFlickSpeed.x > 0 ? (d = Math.abs(t.lastFlickSpeed.x) > 0 ? f / Math.abs(t.lastFlickSpeed.x) : 333, d = Math.min(d, 400), d = Math.max(d, 250)) : d = 333, st === c && (n = !1), ne = !0, ke("mainScrollAnimStart"), Xe("mainScroll", ct.x, p, d, r.easing.cubic.out, Oe, (function() { Ke(), ne = !1, st = -1, (n || st !== c) && o.updateCurrItem(), ke("mainScrollAnimComplete") })), n && o.updateCurrItem(!0), n }, Lt = function(e) { return 1 / J * e * v }, jt = function() { var e = g, t = $e(), n = He(); g < t ? e = t : g > n && (e = n); var i, a = ae; return oe && !z && !se && g < t ? (o.close(), !0) : (oe && (i = function(e) { Ee((1 - a) * e + a) }), o.zoomTo(e, 0, 200, r.easing.cubic.out, i), !0) }; we("Gestures", { publicMethods: { initGestures: function() { var e = function(e, t, n, i, r) { _ = e + t, k = e + n, S = e + i, E = r ? e + r : "" }; (I = F.pointerEvent) && F.touch && (F.touch = !1), I ? navigator.msPointerEnabled ? e("MSPointer", "Down", "Move", "Up", "Cancel") : e("pointer", "down", "move", "up", "cancel") : F.touch ? (e("touch", "start", "move", "end", "cancel"), M = !0) : e("mouse", "down", "move", "up"), f = k + " " + S + " " + E, h = _, I && !M && (M = navigator.maxTouchPoints > 1 || navigator.msMaxTouchPoints > 1), o.likelyTouchDevice = M, m[_] = Et, m[k] = Dt, m[S] = Mt, E && (m[E] = m[S]), F.touch && (h += " mousedown", f += " mousemove mouseup", m.mousedown = m[_], m.mousemove = m[k], m.mouseup = m[S]), M || (a.allowPanToNext = !1) } } }); var Nt, Ft, Rt, $t, Ht, qt, zt = function(t, n, i, s) { var l; Nt && clearTimeout(Nt), $t = !0, Rt = !0, t.initialLayout ? (l = t.initialLayout, t.initialLayout = null) : l = a.getThumbBoundsFn && a.getThumbBoundsFn(c); var d, p, f = i ? a.hideAnimationDuration : a.showAnimationDuration, h = function() { Ye("initialZoom"), i ? (o.template.removeAttribute("style"), o.bg.removeAttribute("style")) : (Ee(1), n && (n.style.display = "block"), r.addClass(e, "pswp--animated-in"), ke("initialZoom" + (i ? "OutEnd" : "InEnd"))), s && s(), $t = !1 }; if (!f || !l || void 0 === l.x) return ke("initialZoom" + (i ? "Out" : "In")), g = t.initialZoomLevel, Le(de, t.initialPosition), Ie(), e.style.opacity = i ? 0 : 1, Ee(1), void(f ? setTimeout((function() { h() }), f) : h()); d = u, p = !o.currItem.src || o.currItem.loadError || a.showHideOpacity, t.miniImg && (t.miniImg.style.webkitBackfaceVisibility = "hidden"), i || (g = l.w / t.w, de.x = l.x, de.y = l.y - L, o[p ? "template" : "bg"].style.opacity = .001, Ie()), Ve("initialZoom"), i && !d && r.removeClass(e, "pswp--animated-in"), p && (i ? r[(d ? "remove" : "add") + "Class"](e, "pswp--animate_opacity") : setTimeout((function() { r.addClass(e, "pswp--animate_opacity") }), 30)), Nt = setTimeout((function() { if (ke("initialZoom" + (i ? "Out" : "In")), i) { var n = l.w / t.w, o = { x: de.x, y: de.y }, a = g, s = ae, u = function(t) { 1 === t ? (g = n, de.x = l.x, de.y = l.y - N) : (g = (n - a) * t + a, de.x = (l.x - o.x) * t + o.x, de.y = (l.y - N - o.y) * t + o.y), Ie(), p ? e.style.opacity = 1 - t : Ee(s - t * s) }; d ? Xe("initialZoom", 0, 1, f, r.easing.cubic.out, u, h) : (u(1), Nt = setTimeout(h, f + 20)) } else g = t.initialZoomLevel, Le(de, t.initialPosition), Ie(), Ee(1), p ? e.style.opacity = 1 : Ee(1), Nt = setTimeout(h, f + 20) }), i ? 25 : 90) }, Bt = {}, Wt = [], Ut = { index: 0, errorMsg: '<div class="pswp__error-msg"><a href="%url%" target="_blank">The image</a> could not be loaded.</div>', forceProgressiveLoading: !1, preload: [1, 1], getNumItemsFn: function() { return Ft.length } }, Zt = function(e, t, n) { if (e.src && !e.loadError) { var i = !n; if (i && (e.vGap || (e.vGap = { top: 0, bottom: 0 }), ke("parseVerticalMargin", e)), Bt.x = t.x, Bt.y = t.y - e.vGap.top - e.vGap.bottom, i) { var r = Bt.x / e.w, o = Bt.y / e.h; e.fitRatio = r < o ? r : o; var s = a.scaleMode; "orig" === s ? n = 1 : "fit" === s && (n = e.fitRatio), n > 1 && (n = 1), e.initialZoomLevel = n, e.bounds || (e.bounds = { center: { x: 0, y: 0 }, max: { x: 0, y: 0 }, min: { x: 0, y: 0 } }) } if (!n) return; return function(e, t, n) { var i = e.bounds; i.center.x = Math.round((Bt.x - t) / 2), i.center.y = Math.round((Bt.y - n) / 2) + e.vGap.top, i.max.x = t > Bt.x ? Math.round(Bt.x - t) : i.center.x, i.max.y = n > Bt.y ? Math.round(Bt.y - n) + e.vGap.top : i.center.y, i.min.x = t > Bt.x ? 0 : i.center.x, i.min.y = n > Bt.y ? e.vGap.top : i.center.y }(e, e.w * n, e.h * n), i && n === e.initialZoomLevel && (e.initialPosition = e.bounds.center), e.bounds } return e.w = e.h = 0, e.initialZoomLevel = e.fitRatio = 1, e.bounds = { center: { x: 0, y: 0 }, max: { x: 0, y: 0 }, min: { x: 0, y: 0 } }, e.initialPosition = e.bounds.center, e.bounds }, Yt = function(e, t, n, i, r, a) { t.loadError || i && (t.imageAppended = !0, Xt(t, i, t === o.currItem && be), n.appendChild(i), a && setTimeout((function() { t && t.loaded && t.placeholder && (t.placeholder.style.display = "none", t.placeholder = null) }), 500)) }, Vt = function(e) { e.loading = !0, e.loaded = !1; var t = e.img = r.createEl("pswp__img", "img"), n = function() { e.loading = !1, e.loaded = !0, e.loadComplete ? e.loadComplete(e) : e.img = null, t.onload = t.onerror = null, t = null }; return t.onload = n, t.onerror = function() { e.loadError = !0, n() }, t.src = e.src, t }, Kt = function(e, t) { if (e.src && e.loadError && e.container) return t && (e.container.innerHTML = ""), e.container.innerHTML = a.errorMsg.replace("%url%", e.src), !0 }, Xt = function(e, t, n) { if (e.src) { t || (t = e.container.lastChild); var i = n ? e.w : Math.round(e.w * e.fitRatio), r = n ? e.h : Math.round(e.h * e.fitRatio); e.placeholder && !e.loaded && (e.placeholder.style.width = i + "px", e.placeholder.style.height = r + "px"), t.style.width = i + "px", t.style.height = r + "px" } }, Gt = function() { if (Wt.length) { for (var e, t = 0; t < Wt.length; t++)(e = Wt[t]).holder.index === e.index && Yt(e.index, e.item, e.baseDiv, e.img, 0, e.clearPlaceholder); Wt = [] } }; we("Controller", { publicMethods: { lazyLoadItem: function(e) { e = Ce(e); var t = Ht(e); t && (!t.loaded && !t.loading || w) && (ke("gettingData", e, t), t.src && Vt(t)) }, initController: function() { r.extend(a, Ut, !0), o.items = Ft = n, Ht = o.getItemAt, qt = a.getNumItemsFn, a.loop, qt() < 3 && (a.loop = !1), _e("beforeChange", (function(e) { var t, n = a.preload, i = null === e || e >= 0, r = Math.min(n[0], qt()), s = Math.min(n[1], qt()); for (t = 1; t <= (i ? s : r); t++) o.lazyLoadItem(c + t); for (t = 1; t <= (i ? r : s); t++) o.lazyLoadItem(c - t) })), _e("initialLayout", (function() { o.currItem.initialLayout = a.getThumbBoundsFn && a.getThumbBoundsFn(c) })), _e("mainScrollAnimComplete", Gt), _e("initialZoomInEnd", Gt), _e("destroy", (function() { for (var e, t = 0; t < Ft.length; t++)(e = Ft[t]).container && (e.container = null), e.placeholder && (e.placeholder = null), e.img && (e.img = null), e.preloader && (e.preloader = null), e.loadError && (e.loaded = e.loadError = !1); Wt = null })) }, getItemAt: function(e) { return e >= 0 && void 0 !== Ft[e] && Ft[e] }, allowProgressiveImg: function() { return a.forceProgressiveLoading || !M || a.mouseUsed || screen.width > 1200 }, setContent: function(e, t) { a.loop && (t = Ce(t)); var n = o.getItemAt(e.index); n && (n.container = null); var i, l = o.getItemAt(t); if (l) { ke("gettingData", t, l), e.index = t, e.item = l; var u = l.container = r.createEl("pswp__zoom-wrap"); if (!l.src && l.html && (l.html.tagName ? u.appendChild(l.html) : u.innerHTML = l.html), Kt(l), Zt(l, pe), !l.src || l.loadError || l.loaded) l.src && !l.loadError && ((i = r.createEl("pswp__img", "img")).style.opacity = 1, i.src = l.src, Xt(l, i), Yt(0, l, u, i)); else { if (l.loadComplete = function(n) { if (s) { if (e && e.index === t) { if (Kt(n, !0)) return n.loadComplete = n.img = null, Zt(n, pe), Me(n), void(e.index === c && o.updateCurrZoomItem()); n.imageAppended ? !$t && n.placeholder && (n.placeholder.style.display = "none", n.placeholder = null) : F.transform && (ne || $t) ? Wt.push({ item: n, baseDiv: u, img: n.img, index: t, holder: e, clearPlaceholder: !0 }) : Yt(0, n, u, n.img, 0, !0) } n.loadComplete = null, n.img = null, ke("imageLoadComplete", t, n) } }, r.features.transform) { var d = "pswp__img pswp__img--placeholder"; d += l.msrc ? "" : " pswp__img--placeholder--blank"; var p = r.createEl(d, l.msrc ? "img" : ""); l.msrc && (p.src = l.msrc), Xt(l, p), u.appendChild(p), l.placeholder = p } l.loading || Vt(l), o.allowProgressiveImg() && (!Rt && F.transform ? Wt.push({ item: l, baseDiv: u, img: l.img, index: t, holder: e }) : Yt(0, l, u, l.img, 0, !0)) } Rt || t !== c ? Me(l) : (te = u.style, zt(l, i || l.img)), e.el.innerHTML = "", e.el.appendChild(u) } else e.el.innerHTML = "" }, cleanSlide: function(e) { e.img && (e.img.onload = e.img.onerror = null), e.loaded = e.loading = e.img = e.imageAppended = !1 } } }); var Qt, Jt, en = {}, tn = function(e, t, n) { var i = document.createEvent("CustomEvent"), r = { origEvent: e, target: e.target, releasePoint: t, pointerType: n || "touch" }; i.initCustomEvent("pswpTap", !0, !0, r), e.target.dispatchEvent(i) }; we("Tap", { publicMethods: { initTap: function() { _e("firstTouchStart", o.onTapStart), _e("touchRelease", o.onTapRelease), _e("destroy", (function() { en = {}, Qt = null })) }, onTapStart: function(e) { e.length > 1 && (clearTimeout(Qt), Qt = null) }, onTapRelease: function(e, t) { var n, i; if (t && !V && !Z && !Ze) { var o = t; if (Qt && (clearTimeout(Qt), Qt = null, n = o, i = en, Math.abs(n.x - i.x) < 25 && Math.abs(n.y - i.y) < 25)) return void ke("doubleTap", o); if ("mouse" === t.type) return void tn(e, t, "mouse"); if ("BUTTON" === e.target.tagName.toUpperCase() || r.hasClass(e.target, "pswp__single-tap")) return void tn(e, t); Le(en, o), Qt = setTimeout((function() { tn(e, t), Qt = null }), 300) } } } }), we("DesktopZoom", { publicMethods: { initDesktopZoom: function() { j || (M ? _e("mouseUsed", (function() { o.setupDesktopZoom() })) : o.setupDesktopZoom(!0)) }, setupDesktopZoom: function(t) { Jt = {}; var n = "wheel mousewheel DOMMouseScroll"; _e("bindEvents", (function() { r.bind(e, n, o.handleMouseWheel) })), _e("unbindEvents", (function() { Jt && r.unbind(e, n, o.handleMouseWheel) })), o.mouseZoomedIn = !1; var i, a = function() { o.mouseZoomedIn && (r.removeClass(e, "pswp--zoomed-in"), o.mouseZoomedIn = !1), g < 1 ? r.addClass(e, "pswp--zoom-allowed") : r.removeClass(e, "pswp--zoom-allowed"), s() }, s = function() { i && (r.removeClass(e, "pswp--dragging"), i = !1) }; _e("resize", a), _e("afterChange", a), _e("pointerDown", (function() { o.mouseZoomedIn && (i = !0, r.addClass(e, "pswp--dragging")) })), _e("pointerUp", s), t || a() }, handleMouseWheel: function(e) { if (g <= o.currItem.fitRatio) return a.modal && (!a.closeOnScroll || Ze || U ? e.preventDefault() : D && Math.abs(e.deltaY) > 2 && (u = !0, o.close())), !0; if (e.stopPropagation(), Jt.x = 0, "deltaX" in e) 1 === e.deltaMode ? (Jt.x = 18 * e.deltaX, Jt.y = 18 * e.deltaY) : (Jt.x = e.deltaX, Jt.y = e.deltaY); else if ("wheelDelta" in e) e.wheelDeltaX && (Jt.x = -.16 * e.wheelDeltaX), e.wheelDeltaY ? Jt.y = -.16 * e.wheelDeltaY : Jt.y = -.16 * e.wheelDelta; else { if (!("detail" in e)) return; Jt.y = e.detail } Re(g, !0); var t = de.x - Jt.x, n = de.y - Jt.y; (a.modal || t <= ee.min.x && t >= ee.max.x && n <= ee.min.y && n >= ee.max.y) && e.preventDefault(), o.panTo(t, n) }, toggleDesktopZoom: function(t) { t = t || { x: pe.x / 2 + he.x, y: pe.y / 2 + he.y }; var n = a.getDoubleTapZoom(!0, o.currItem), i = g === n; o.mouseZoomedIn = !i, o.zoomTo(i ? o.currItem.initialZoomLevel : n, t, 333), r[(i ? "remove" : "add") + "Class"](e, "pswp--zoomed-in") } } }); var nn, rn, on, an, sn, ln, un, cn, dn, pn, fn, hn, mn = { history: !0, galleryUID: 1 }, gn = function() { return fn.hash.substring(1) }, vn = function() { nn && clearTimeout(nn), on && clearTimeout(on) }, yn = function() { var e = gn(), t = {}; if (e.length < 5) return t; var n, i = e.split("&"); for (n = 0; n < i.length; n++) if (i[n]) { var r = i[n].split("="); r.length < 2 || (t[r[0]] = r[1]) } if (a.galleryPIDs) { var o = t.pid; for (t.pid = 0, n = 0; n < Ft.length; n++) if (Ft[n].pid === o) { t.pid = n; break } } else t.pid = parseInt(t.pid, 10) - 1; return t.pid < 0 && (t.pid = 0), t }, xn = function() { if (on && clearTimeout(on), Ze || U) on = setTimeout(xn, 500); else { an ? clearTimeout(rn) : an = !0; var e = c + 1, t = Ht(c); t.hasOwnProperty("pid") && (e = t.pid); var n = un + "&gid=" + a.galleryUID + "&pid=" + e; cn || -1 === fn.hash.indexOf(n) && (pn = !0); var i = fn.href.split("#")[0] + "#" + n; hn ? "#" + n !== window.location.hash && history[cn ? "replaceState" : "pushState"]("", document.title, i) : cn ? fn.replace(i) : fn.hash = n, cn = !0, rn = setTimeout((function() { an = !1 }), 60) } }; we("History", { publicMethods: { initHistory: function() { if (r.extend(a, mn, !0), a.history) { fn = window.location, pn = !1, dn = !1, cn = !1, un = gn(), hn = "pushState" in history, un.indexOf("gid=") > -1 && (un = (un = un.split("&gid=")[0]).split("?gid=")[0]), _e("afterChange", o.updateURL), _e("unbindEvents", (function() { r.unbind(window, "hashchange", o.onHashChange) })); var e = function() { ln = !0, dn || (pn ? history.back() : un ? fn.hash = un : hn ? history.pushState("", document.title, fn.pathname + fn.search) : fn.hash = ""), vn() }; _e("unbindEvents", (function() { u && e() })), _e("destroy", (function() { ln || e() })), _e("firstUpdate", (function() { c = yn().pid })); var t = un.indexOf("pid="); t > -1 && "&" === (un = un.substring(0, t)).slice(-1) && (un = un.slice(0, -1)), setTimeout((function() { s && r.bind(window, "hashchange", o.onHashChange) }), 40) } }, onHashChange: function() { if (gn() === un) return dn = !0, void o.close(); an || (sn = !0, o.goTo(yn().pid), sn = !1) }, updateURL: function() { vn(), sn || (cn ? nn = setTimeout(xn, 800) : xn()) } } }), r.extend(o, Ge) } })), /*! PhotoSwipe Default UI - 4.1.3 - 2019-01-08 * http://photoswipe.com * Copyright (c) 2019 Dmitry Semenov; */ function(e, t) { "function" == typeof define && define.amd ? define(t) : "object" == typeof exports ? module.exports = t() : e.PhotoSwipeUI_Default = t() }(this, (function() { "use strict"; return function(e, t) { var n, i, r, o, a, s, l, u, c, d, p, f, h, m, g, v, y, x, b = this, w = !1, C = !0, T = !0, _ = { barsSize: { top: 44, bottom: "auto" }, closeElClasses: ["item", "caption", "zoom-wrap", "ui", "top-bar"], timeToIdle: 4e3, timeToIdleOutside: 1e3, loadingIndicatorDelay: 1e3, addCaptionHTMLFn: function(e, t) { return e.title ? (t.children[0].innerHTML = e.title, !0) : (t.children[0].innerHTML = "", !1) }, closeEl: !0, captionEl: !0, fullscreenEl: !0, zoomEl: !0, shareEl: !0, counterEl: !0, arrowEl: !0, preloaderEl: !0, tapToClose: !1, tapToToggleControls: !0, clickToCloseNonZoomable: !0, shareButtons: [{ id: "facebook", label: "Share on Facebook", url: "https://www.facebook.com/sharer/sharer.php?u={{url}}" }, { id: "twitter", label: "Tweet", url: "https://twitter.com/intent/tweet?text={{text}}&url={{url}}" }, { id: "pinterest", label: "Pin it", url: "http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}" }, { id: "download", label: "Download image", url: "{{raw_image_url}}", download: !0 }], getImageURLForShare: function() { return e.currItem.src || "" }, getPageURLForShare: function() { return window.location.href }, getTextForShare: function() { return e.currItem.title || "" }, indexIndicatorSep: " / ", fitControlsWidth: 1200 }, k = function(e) { if (v) return !0; e = e || window.event, g.timeToIdle && g.mouseUsed && !c && L(); for (var n, i, r = (e.target || e.srcElement).getAttribute("class") || "", o = 0; o < R.length; o++)(n = R[o]).onTap && r.indexOf("pswp__" + n.name) > -1 && (n.onTap(), i = !0); if (i) { e.stopPropagation && e.stopPropagation(), v = !0; var a = t.features.isOldAndroid ? 600 : 30; setTimeout((function() { v = !1 }), a) } }, S = function(e, n, i) { t[(i ? "add" : "remove") + "Class"](e, "pswp__" + n) }, E = function() { var e = 1 === g.getNumItemsFn(); e !== m && (S(i, "ui--one-slide", e), m = e) }, D = function() { S(l, "share-modal--hidden", T) }, I = function() { return (T = !T) ? (t.removeClass(l, "pswp__share-modal--fade-in"), setTimeout((function() { T && D() }), 300)) : (D(), setTimeout((function() { T || t.addClass(l, "pswp__share-modal--fade-in") }), 30)), T || A(), !1 }, M = function(t) { var n = (t = t || window.event).target || t.srcElement; return e.shout("shareLinkClick", t, n), !(!n.href || !n.hasAttribute("download") && (window.open(n.href, "pswp_share", "scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left=" + (window.screen ? Math.round(screen.width / 2 - 275) : 100)), T || I(), 1)) }, A = function() { for (var e, t, n, i, r = "", o = 0; o < g.shareButtons.length; o++) e = g.shareButtons[o], t = g.getImageURLForShare(e), n = g.getPageURLForShare(e), i = g.getTextForShare(e), r += '<a href="' + e.url.replace("{{url}}", encodeURIComponent(n)).replace("{{image_url}}", encodeURIComponent(t)).replace("{{raw_image_url}}", t).replace("{{text}}", encodeURIComponent(i)) + '" target="_blank" class="pswp__share--' + e.id + '"' + (e.download ? "download" : "") + ">" + e.label + "</a>", g.parseShareButtonOut && (r = g.parseShareButtonOut(e, r)); l.children[0].innerHTML = r, l.children[0].onclick = M }, O = function(e) { for (var n = 0; n < g.closeElClasses.length; n++) if (t.hasClass(e, "pswp__" + g.closeElClasses[n])) return !0 }, P = 0, L = function() { clearTimeout(x), P = 0, c && b.setIdle(!1) }, j = function(e) { var t = (e = e || window.event).relatedTarget || e.toElement; t && "HTML" !== t.nodeName || (clearTimeout(x), x = setTimeout((function() { b.setIdle(!0) }), g.timeToIdleOutside)) }, N = function(e) { f !== e && (S(p, "preloader--active", !e), f = e) }, F = function(n) { var a = n.vGap; if (!e.likelyTouchDevice || g.mouseUsed || screen.width > g.fitControlsWidth) { var s = g.barsSize; if (g.captionEl && "auto" === s.bottom) if (o || ((o = t.createEl("pswp__caption pswp__caption--fake")).appendChild(t.createEl("pswp__caption__center")), i.insertBefore(o, r), t.addClass(i, "pswp__ui--fit")), g.addCaptionHTMLFn(n, o, !0)) { var l = o.clientHeight; a.bottom = parseInt(l, 10) || 44 } else a.bottom = s.top; else a.bottom = "auto" === s.bottom ? 0 : s.bottom; a.top = s.top } else a.top = a.bottom = 0 }, R = [{ name: "caption", option: "captionEl", onInit: function(e) { r = e } }, { name: "share-modal", option: "shareEl", onInit: function(e) { l = e }, onTap: function() { I() } }, { name: "button--share", option: "shareEl", onInit: function(e) { s = e }, onTap: function() { I() } }, { name: "button--zoom", option: "zoomEl", onTap: e.toggleDesktopZoom }, { name: "counter", option: "counterEl", onInit: function(e) { a = e } }, { name: "button--close", option: "closeEl", onTap: e.close }, { name: "button--arrow--left", option: "arrowEl", onTap: e.prev }, { name: "button--arrow--right", option: "arrowEl", onTap: e.next }, { name: "button--fs", option: "fullscreenEl", onTap: function() { n.isFullscreen() ? n.exit() : n.enter() } }, { name: "preloader", option: "preloaderEl", onInit: function(e) { p = e } }]; b.init = function() { var a; t.extend(e.options, _, !0), g = e.options, i = t.getChildByClass(e.scrollWrap, "pswp__ui"), (d = e.listen)("onVerticalDrag", (function(e) { C && e < .95 ? b.hideControls() : !C && e >= .95 && b.showControls() })), d("onPinchClose", (function(e) { C && e < .9 ? (b.hideControls(), a = !0) : a && !C && e > .9 && b.showControls() })), d("zoomGestureEnded", (function() { (a = !1) && !C && b.showControls() })), d("beforeChange", b.update), d("doubleTap", (function(t) { var n = e.currItem.initialZoomLevel; e.getZoomLevel() !== n ? e.zoomTo(n, t, 333) : e.zoomTo(g.getDoubleTapZoom(!1, e.currItem), t, 333) })), d("preventDragEvent", (function(e, t, n) { var i = e.target || e.srcElement; i && i.getAttribute("class") && e.type.indexOf("mouse") > -1 && (i.getAttribute("class").indexOf("__caption") > 0 || /(SMALL|STRONG|EM)/i.test(i.tagName)) && (n.prevent = !1) })), d("bindEvents", (function() { t.bind(i, "pswpTap click", k), t.bind(e.scrollWrap, "pswpTap", b.onGlobalTap), e.likelyTouchDevice || t.bind(e.scrollWrap, "mouseover", b.onMouseOver) })), d("unbindEvents", (function() { T || I(), y && clearInterval(y), t.unbind(document, "mouseout", j), t.unbind(document, "mousemove", L), t.unbind(i, "pswpTap click", k), t.unbind(e.scrollWrap, "pswpTap", b.onGlobalTap), t.unbind(e.scrollWrap, "mouseover", b.onMouseOver), n && (t.unbind(document, n.eventK, b.updateFullscreen), n.isFullscreen() && (g.hideAnimationDuration = 0, n.exit()), n = null) })), d("destroy", (function() { g.captionEl && (o && i.removeChild(o), t.removeClass(r, "pswp__caption--empty")), l && (l.children[0].onclick = null), t.removeClass(i, "pswp__ui--over-close"), t.addClass(i, "pswp__ui--hidden"), b.setIdle(!1) })), g.showAnimationDuration || t.removeClass(i, "pswp__ui--hidden"), d("initialZoomIn", (function() { g.showAnimationDuration && t.removeClass(i, "pswp__ui--hidden") })), d("initialZoomOut", (function() { t.addClass(i, "pswp__ui--hidden") })), d("parseVerticalMargin", F), function() { var e, n, r, o = function(i) { if (i) for (var o = i.length, a = 0; a < o; a++) { e = i[a], n = e.className; for (var s = 0; s < R.length; s++) r = R[s], n.indexOf("pswp__" + r.name) > -1 && (g[r.option] ? (t.removeClass(e, "pswp__element--disabled"), r.onInit && r.onInit(e)) : t.addClass(e, "pswp__element--disabled")) } }; o(i.children); var a = t.getChildByClass(i, "pswp__top-bar"); a && o(a.children) }(), g.shareEl && s && l && (T = !0), E(), g.timeToIdle && d("mouseUsed", (function() { t.bind(document, "mousemove", L), t.bind(document, "mouseout", j), y = setInterval((function() { 2 == ++P && b.setIdle(!0) }), g.timeToIdle / 2) })), g.fullscreenEl && !t.features.isOldAndroid && (n || (n = b.getFullscreenAPI()), n ? (t.bind(document, n.eventK, b.updateFullscreen), b.updateFullscreen(), t.addClass(e.template, "pswp--supports-fs")) : t.removeClass(e.template, "pswp--supports-fs")), g.preloaderEl && (N(!0), d("beforeChange", (function() { clearTimeout(h), h = setTimeout((function() { e.currItem && e.currItem.loading ? (!e.allowProgressiveImg() || e.currItem.img && !e.currItem.img.naturalWidth) && N(!1) : N(!0) }), g.loadingIndicatorDelay) })), d("imageLoadComplete", (function(t, n) { e.currItem === n && N(!0) }))) }, b.setIdle = function(e) { c = e, S(i, "ui--idle", e) }, b.update = function() { C && e.currItem ? (b.updateIndexIndicator(), g.captionEl && (g.addCaptionHTMLFn(e.currItem, r), S(r, "caption--empty", !e.currItem.title)), w = !0) : w = !1, T || I(), E() }, b.updateFullscreen = function(i) { i && setTimeout((function() { e.setScrollOffset(0, t.getScrollY()) }), 50), t[(n.isFullscreen() ? "add" : "remove") + "Class"](e.template, "pswp--fs") }, b.updateIndexIndicator = function() { g.counterEl && (a.innerHTML = e.getCurrentIndex() + 1 + g.indexIndicatorSep + g.getNumItemsFn()) }, b.onGlobalTap = function(n) { var i = (n = n || window.event).target || n.srcElement; if (!v) if (n.detail && "mouse" === n.detail.pointerType) { if (O(i)) return void e.close(); t.hasClass(i, "pswp__img") && (1 === e.getZoomLevel() && e.getZoomLevel() <= e.currItem.fitRatio ? g.clickToCloseNonZoomable && e.close() : e.toggleDesktopZoom(n.detail.releasePoint)) } else if (g.tapToToggleControls && (C ? b.hideControls() : b.showControls()), g.tapToClose && (t.hasClass(i, "pswp__img") || O(i))) return void e.close() }, b.onMouseOver = function(e) { var t = (e = e || window.event).target || e.srcElement; S(i, "ui--over-close", O(t)) }, b.hideControls = function() { t.addClass(i, "pswp__ui--hidden"), C = !1 }, b.showControls = function() { C = !0, w || b.update(), t.removeClass(i, "pswp__ui--hidden") }, b.supportsFullscreen = function() { var e = document; return !!(e.exitFullscreen || e.mozCancelFullScreen || e.webkitExitFullscreen || e.msExitFullscreen) }, b.getFullscreenAPI = function() { var t, n = document.documentElement, i = "fullscreenchange"; return n.requestFullscreen ? t = { enterK: "requestFullscreen", exitK: "exitFullscreen", elementK: "fullscreenElement", eventK: i } : n.mozRequestFullScreen ? t = { enterK: "mozRequestFullScreen", exitK: "mozCancelFullScreen", elementK: "mozFullScreenElement", eventK: "moz" + i } : n.webkitRequestFullscreen ? t = { enterK: "webkitRequestFullscreen", exitK: "webkitExitFullscreen", elementK: "webkitFullscreenElement", eventK: "webkit" + i } : n.msRequestFullscreen && (t = { enterK: "msRequestFullscreen", exitK: "msExitFullscreen", elementK: "msFullscreenElement", eventK: "MSFullscreenChange" }), t && (t.enter = function() { if (u = g.closeOnScroll, g.closeOnScroll = !1, "webkitRequestFullscreen" !== this.enterK) return e.template[this.enterK](); e.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT) }, t.exit = function() { return g.closeOnScroll = u, document[this.exitK]() }, t.isFullscreen = function() { return document[this.elementK] }), t } } })), /*! Mailchimp Ajax Submit jQuery Plugin Author: Siddharth Doshi Use: === $('#form_id').ajaxchimp(options); - Form should have one <input> element with attribute 'type=email' - Form should have one label element with attribute 'for=email_input_id' (used to display error/success message) - All options are optional. Options: ======= options = { language: 'en', callback: callbackFunction, url: 'http://blahblah.us1.list-manage.com/subscribe/post?u=5afsdhfuhdsiufdba6f8802&id=4djhfdsh99f' } Notes: ===== To get the mailchimp JSONP url (undocumented), change 'post?' to 'post-json?' and add '&c=?' to the end. For e.g. 'http://blahblah.us1.list-manage.com/subscribe/post-json?u=5afsdhfuhdsiufdba6f8802&id=4djhfdsh99f&c=?', */ function(e) { "use strict"; e.ajaxChimp = { responses: { "We have sent you a confirmation email": 0, "Please enter a value": 1, "An email address must contain a single @": 2, "The domain portion of the email address is invalid (the portion after the @: )": 3, "The username portion of the email address is invalid (the portion before the @: )": 4, "This email address looks fake or invalid. Please enter a real email address": 5 }, translations: { en: null }, init: function(t, n) { e(t).ajaxChimp(n) } }, e.fn.ajaxChimp = function(t) { return e(this).each((function(n, i) { var r = e(i), o = r.find("input[type=email]"), a = r.find("label[for=" + o.attr("id") + "]"), s = e.extend({ url: r.attr("action"), language: "en" }, t), l = s.url.replace("/post?", "/post-json?").concat("&c=?"); r.attr("novalidate", "true"), o.attr("name", "EMAIL"), r.submit((function() { var t, n = {}, i = r.serializeArray(); e.each(i, (function(e, t) { n[t.name] = t.value })), e.ajax({ url: l, data: n, success: function(n) { if ("success" === n.result) t = "We have sent you a confirmation email", a.removeClass("error").addClass("valid"), o.removeClass("error").addClass("valid"); else { o.removeClass("valid").addClass("error"), a.removeClass("valid").addClass("error"); try { var i = n.msg.split(" - ", 2); void 0 === i[1] ? t = n.msg : parseInt(i[0], 10).toString() === i[0] ? (i[0], t = i[1]) : t = n.msg } catch (e) { t = n.msg } } "en" !== s.language && void 0 !== e.ajaxChimp.responses[t] && e.ajaxChimp.translations && e.ajaxChimp.translations[s.language] && e.ajaxChimp.translations[s.language][e.ajaxChimp.responses[t]] && (t = e.ajaxChimp.translations[s.language][e.ajaxChimp.responses[t]]), a.html(t), a.show(2e3), s.callback && s.callback(n) }, dataType: "jsonp", error: function(e, t) { console.log("mailchimp ajax submit error: " + t) } }); var u = "Submitting..."; return "en" !== s.language && e.ajaxChimp.translations && e.ajaxChimp.translations[s.language] && e.ajaxChimp.translations[s.language].submit && (u = e.ajaxChimp.translations[s.language].submit), a.html(u).show(2e3), !1 })) })), this } }(jQuery), function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.anime = t() }(this, (function() { "use strict"; var e = { update: null, begin: null, loopBegin: null, changeBegin: null, change: null, changeComplete: null, loopComplete: null, complete: null, loop: 1, direction: "normal", autoplay: !0, timelineOffset: 0 }, t = { duration: 1e3, delay: 0, endDelay: 0, easing: "easeOutElastic(1, .5)", round: 0 }, n = ["translateX", "translateY", "translateZ", "rotate", "rotateX", "rotateY", "rotateZ", "scale", "scaleX", "scaleY", "scaleZ", "skew", "skewX", "skewY", "perspective", "matrix", "matrix3d"], i = { CSS: {}, springs: {} }; function r(e, t, n) { return Math.min(Math.max(e, t), n) } function o(e, t) { return e.indexOf(t) > -1 } function a(e, t) { return e.apply(null, t) } var s = { arr: function(e) { return Array.isArray(e) }, obj: function(e) { return o(Object.prototype.toString.call(e), "Object") }, pth: function(e) { return s.obj(e) && e.hasOwnProperty("totalLength") }, svg: function(e) { return e instanceof SVGElement }, inp: function(e) { return e instanceof HTMLInputElement }, dom: function(e) { return e.nodeType || s.svg(e) }, str: function(e) { return "string" == typeof e }, fnc: function(e) { return "function" == typeof e }, und: function(e) { return void 0 === e }, nil: function(e) { return s.und(e) || null === e }, hex: function(e) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e) }, rgb: function(e) { return /^rgb/.test(e) }, hsl: function(e) { return /^hsl/.test(e) }, col: function(e) { return s.hex(e) || s.rgb(e) || s.hsl(e) }, key: function(n) { return !e.hasOwnProperty(n) && !t.hasOwnProperty(n) && "targets" !== n && "keyframes" !== n } }; function l(e) { var t = /\(([^)]+)\)/.exec(e); return t ? t[1].split(",").map((function(e) { return parseFloat(e) })) : [] } function u(e, t) { var n = l(e), o = r(s.und(n[0]) ? 1 : n[0], .1, 100), a = r(s.und(n[1]) ? 100 : n[1], .1, 100), u = r(s.und(n[2]) ? 10 : n[2], .1, 100), c = r(s.und(n[3]) ? 0 : n[3], .1, 100), d = Math.sqrt(a / o), p = u / (2 * Math.sqrt(a * o)), f = p < 1 ? d * Math.sqrt(1 - p * p) : 0, h = p < 1 ? (p * d - c) / f : -c + d; function m(e) { var n = t ? t * e / 1e3 : e; return n = p < 1 ? Math.exp(-n * p * d) * (1 * Math.cos(f * n) + h * Math.sin(f * n)) : (1 + h * n) * Math.exp(-n * d), 0 === e || 1 === e ? e : 1 - n } return t ? m : function() { var t = i.springs[e]; if (t) return t; for (var n = 0, r = 0;;) if (1 === m(n += 1 / 6)) { if (++r >= 16) break } else r = 0; var o = n * (1 / 6) * 1e3; return i.springs[e] = o, o } } function c(e) { return void 0 === e && (e = 10), function(t) { return Math.ceil(r(t, 1e-6, 1) * e) * (1 / e) } } var d, p, f = function() { var e = .1; function t(e, t) { return 1 - 3 * t + 3 * e } function n(e, t) { return 3 * t - 6 * e } function i(e) { return 3 * e } function r(e, r, o) { return ((t(r, o) * e + n(r, o)) * e + i(r)) * e } function o(e, r, o) { return 3 * t(r, o) * e * e + 2 * n(r, o) * e + i(r) } return function(t, n, i, a) { if (0 <= t && t <= 1 && 0 <= i && i <= 1) { var s = new Float32Array(11); if (t !== n || i !== a) for (var l = 0; l < 11; ++l) s[l] = r(l * e, t, i); return function(e) { return t === n && i === a || 0 === e || 1 === e ? e : r(u(e), n, a) } } function u(n) { for (var a = 0, l = 1; 10 !== l && s[l] <= n; ++l) a += e; var u = a + (n - s[--l]) / (s[l + 1] - s[l]) * e, c = o(u, t, i); return c >= .001 ? function(e, t, n, i) { for (var a = 0; a < 4; ++a) { var s = o(t, n, i); if (0 === s) return t; t -= (r(t, n, i) - e) / s } return t }(n, u, t, i) : 0 === c ? u : function(e, t, n, i, o) { for (var a, s, l = 0; (a = r(s = t + (n - t) / 2, i, o) - e) > 0 ? n = s : t = s, Math.abs(a) > 1e-7 && ++l < 10;); return s }(n, a, a + e, t, i) } } }(), h = (d = { linear: function() { return function(e) { return e } } }, p = { Sine: function() { return function(e) { return 1 - Math.cos(e * Math.PI / 2) } }, Circ: function() { return function(e) { return 1 - Math.sqrt(1 - e * e) } }, Back: function() { return function(e) { return e * e * (3 * e - 2) } }, Bounce: function() { return function(e) { for (var t, n = 4; e < ((t = Math.pow(2, --n)) - 1) / 11;); return 1 / Math.pow(4, 3 - n) - 7.5625 * Math.pow((3 * t - 2) / 22 - e, 2) } }, Elastic: function(e, t) { void 0 === e && (e = 1), void 0 === t && (t = .5); var n = r(e, 1, 10), i = r(t, .1, 2); return function(e) { return 0 === e || 1 === e ? e : -n * Math.pow(2, 10 * (e - 1)) * Math.sin((e - 1 - i / (2 * Math.PI) * Math.asin(1 / n)) * (2 * Math.PI) / i) } } }, ["Quad", "Cubic", "Quart", "Quint", "Expo"].forEach((function(e, t) { p[e] = function() { return function(e) { return Math.pow(e, t + 2) } } })), Object.keys(p).forEach((function(e) { var t = p[e]; d["easeIn" + e] = t, d["easeOut" + e] = function(e, n) { return function(i) { return 1 - t(e, n)(1 - i) } }, d["easeInOut" + e] = function(e, n) { return function(i) { return i < .5 ? t(e, n)(2 * i) / 2 : 1 - t(e, n)(-2 * i + 2) / 2 } }, d["easeOutIn" + e] = function(e, n) { return function(i) { return i < .5 ? (1 - t(e, n)(1 - 2 * i)) / 2 : (t(e, n)(2 * i - 1) + 1) / 2 } } })), d); function m(e, t) { if (s.fnc(e)) return e; var n = e.split("(")[0], i = h[n], r = l(e); switch (n) { case "spring": return u(e, t); case "cubicBezier": return a(f, r); case "steps": return a(c, r); default: return a(i, r) } } function g(e) { try { return document.querySelectorAll(e) } catch (e) { return } } function v(e, t) { for (var n = e.length, i = arguments.length >= 2 ? arguments[1] : void 0, r = [], o = 0; o < n; o++) if (o in e) { var a = e[o]; t.call(i, a, o, e) && r.push(a) } return r } function y(e) { return e.reduce((function(e, t) { return e.concat(s.arr(t) ? y(t) : t) }), []) } function x(e) { return s.arr(e) ? e : (s.str(e) && (e = g(e) || e), e instanceof NodeList || e instanceof HTMLCollection ? [].slice.call(e) : [e]) } function b(e, t) { return e.some((function(e) { return e === t })) } function w(e) { var t = {}; for (var n in e) t[n] = e[n]; return t } function C(e, t) { var n = w(e); for (var i in e) n[i] = t.hasOwnProperty(i) ? t[i] : e[i]; return n } function T(e, t) { var n = w(e); for (var i in t) n[i] = s.und(e[i]) ? t[i] : e[i]; return n } function _(e) { var t = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e); if (t) return t[1] } function k(e, t) { return s.fnc(e) ? e(t.target, t.id, t.total) : e } function S(e, t) { return e.getAttribute(t) } function E(e, t, n) { if (b([n, "deg", "rad", "turn"], _(t))) return t; var r = i.CSS[t + n]; if (!s.und(r)) return r; var o = document.createElement(e.tagName), a = e.parentNode && e.parentNode !== document ? e.parentNode : document.body; a.appendChild(o), o.style.position = "absolute", o.style.width = 100 + n; var l = 100 / o.offsetWidth; a.removeChild(o); var u = l * parseFloat(t); return i.CSS[t + n] = u, u } function D(e, t, n) { if (t in e.style) { var i = t.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(), r = e.style[t] || getComputedStyle(e).getPropertyValue(i) || "0"; return n ? E(e, r, n) : r } } function I(e, t) { return s.dom(e) && !s.inp(e) && (!s.nil(S(e, t)) || s.svg(e) && e[t]) ? "attribute" : s.dom(e) && b(n, t) ? "transform" : s.dom(e) && "transform" !== t && D(e, t) ? "css" : null != e[t] ? "object" : void 0 } function M(e) { if (s.dom(e)) { for (var t, n = e.style.transform || "", i = /(\w+)\(([^)]*)\)/g, r = new Map; t = i.exec(n);) r.set(t[1], t[2]); return r } } function A(e, t, n, i) { switch (I(e, t)) { case "transform": return function(e, t, n, i) { var r, a = o(t, "scale") ? 1 : 0 + (o(r = t, "translate") || "perspective" === r ? "px" : o(r, "rotate") || o(r, "skew") ? "deg" : void 0), s = M(e).get(t) || a; return n && (n.transforms.list.set(t, s), n.transforms.last = t), i ? E(e, s, i) : s }(e, t, i, n); case "css": return D(e, t, n); case "attribute": return S(e, t); default: return e[t] || 0 } } function O(e, t) { var n = /^(\*=|\+=|-=)/.exec(e); if (!n) return e; var i = _(e) || 0, r = parseFloat(t), o = parseFloat(e.replace(n[0], "")); switch (n[0][0]) { case "+": return r + o + i; case "-": return r - o + i; case "*": return r * o + i } } function P(e, t) { if (s.col(e)) return function(e) { return s.rgb(e) ? (n = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(t = e)) ? "rgba(" + n[1] + ",1)" : t : s.hex(e) ? (i = e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (function(e, t, n, i) { return t + t + n + n + i + i })), r = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i), "rgba(" + parseInt(r[1], 16) + "," + parseInt(r[2], 16) + "," + parseInt(r[3], 16) + ",1)") : s.hsl(e) ? function(e) { var t, n, i, r = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e), o = parseInt(r[1], 10) / 360, a = parseInt(r[2], 10) / 100, s = parseInt(r[3], 10) / 100, l = r[4] || 1; function u(e, t, n) { return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + 6 * (t - e) * n : n < .5 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e } if (0 == a) t = n = i = s; else { var c = s < .5 ? s * (1 + a) : s + a - s * a, d = 2 * s - c; t = u(d, c, o + 1 / 3), n = u(d, c, o), i = u(d, c, o - 1 / 3) } return "rgba(" + 255 * t + "," + 255 * n + "," + 255 * i + "," + l + ")" }(e) : void 0; var t, n, i, r }(e); if (/\s/g.test(e)) return e; var n = _(e), i = n ? e.substr(0, e.length - n.length) : e; return t ? i + t : i } function L(e, t) { return Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)) } function j(e) { for (var t, n = e.points, i = 0, r = 0; r < n.numberOfItems; r++) { var o = n.getItem(r); r > 0 && (i += L(t, o)), t = o } return i } function N(e) { if (e.getTotalLength) return e.getTotalLength(); switch (e.tagName.toLowerCase()) { case "circle": return o = e, 2 * Math.PI * S(o, "r"); case "rect": return 2 * S(r = e, "width") + 2 * S(r, "height"); case "line": return L({ x: S(i = e, "x1"), y: S(i, "y1") }, { x: S(i, "x2"), y: S(i, "y2") }); case "polyline": return j(e); case "polygon": return n = (t = e).points, j(t) + L(n.getItem(n.numberOfItems - 1), n.getItem(0)) } var t, n, i, r, o } function F(e, t) { var n = t || {}, i = n.el || function(e) { for (var t = e.parentNode; s.svg(t) && s.svg(t.parentNode);) t = t.parentNode; return t }(e), r = i.getBoundingClientRect(), o = S(i, "viewBox"), a = r.width, l = r.height, u = n.viewBox || (o ? o.split(" ") : [0, 0, a, l]); return { el: i, viewBox: u, x: u[0] / 1, y: u[1] / 1, w: a, h: l, vW: u[2], vH: u[3] } } function R(e, t, n) { function i(n) { void 0 === n && (n = 0); var i = t + n >= 1 ? t + n : 0; return e.el.getPointAtLength(i) } var r = F(e.el, e.svg), o = i(), a = i(-1), s = i(1), l = n ? 1 : r.w / r.vW, u = n ? 1 : r.h / r.vH; switch (e.property) { case "x": return (o.x - r.x) * l; case "y": return (o.y - r.y) * u; case "angle": return 180 * Math.atan2(s.y - a.y, s.x - a.x) / Math.PI } } function $(e, t) { var n = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g, i = P(s.pth(e) ? e.totalLength : e, t) + ""; return { original: i, numbers: i.match(n) ? i.match(n).map(Number) : [0], strings: s.str(e) || t ? i.split(n) : [] } } function H(e) { return v(e ? y(s.arr(e) ? e.map(x) : x(e)) : [], (function(e, t, n) { return n.indexOf(e) === t })) } function q(e) { var t = H(e); return t.map((function(e, n) { return { target: e, id: n, total: t.length, transforms: { list: M(e) } } })) } function z(e, t) { var n = w(t); if (/^spring/.test(n.easing) && (n.duration = u(n.easing)), s.arr(e)) { var i = e.length; 2 !== i || s.obj(e[0]) ? s.fnc(t.duration) || (n.duration = t.duration / i) : e = { value: e } } var r = s.arr(e) ? e : [e]; return r.map((function(e, n) { var i = s.obj(e) && !s.pth(e) ? e : { value: e }; return s.und(i.delay) && (i.delay = n ? 0 : t.delay), s.und(i.endDelay) && (i.endDelay = n === r.length - 1 ? t.endDelay : 0), i })).map((function(e) { return T(e, n) })) } function B(e, t) { var n = [], i = t.keyframes; for (var r in i && (t = T(function(e) { for (var t = v(y(e.map((function(e) { return Object.keys(e) }))), (function(e) { return s.key(e) })).reduce((function(e, t) { return e.indexOf(t) < 0 && e.push(t), e }), []), n = {}, i = function(i) { var r = t[i]; n[r] = e.map((function(e) { var t = {}; for (var n in e) s.key(n) ? n == r && (t.value = e[n]) : t[n] = e[n]; return t })) }, r = 0; r < t.length; r++) i(r); return n }(i), t)), t) s.key(r) && n.push({ name: r, tweens: z(t[r], e) }); return n } var W = { css: function(e, t, n) { return e.style[t] = n }, attribute: function(e, t, n) { return e.setAttribute(t, n) }, object: function(e, t, n) { return e[t] = n }, transform: function(e, t, n, i, r) { if (i.list.set(t, n), t === i.last || r) { var o = ""; i.list.forEach((function(e, t) { o += t + "(" + e + ") " })), e.style.transform = o } } }; function U(e, t) { q(e).forEach((function(e) { for (var n in t) { var i = k(t[n], e), r = e.target, o = _(i), a = A(r, n, o, e), s = O(P(i, o || _(a)), a), l = I(r, n); W[l](r, n, s, e.transforms, !0) } })) } function Z(e, t) { return v(y(e.map((function(e) { return t.map((function(t) { return function(e, t) { var n = I(e.target, t.name); if (n) { var i = function(e, t) { var n; return e.tweens.map((function(i) { var r = function(e, t) { var n = {}; for (var i in e) { var r = k(e[i], t); s.arr(r) && 1 === (r = r.map((function(e) { return k(e, t) }))).length && (r = r[0]), n[i] = r } return n.duration = parseFloat(n.duration), n.delay = parseFloat(n.delay), n }(i, t), o = r.value, a = s.arr(o) ? o[1] : o, l = _(a), u = A(t.target, e.name, l, t), c = n ? n.to.original : u, d = s.arr(o) ? o[0] : c, p = _(d) || _(u), f = l || p; return s.und(a) && (a = c), r.from = $(d, f), r.to = $(O(a, d), f), r.start = n ? n.end : 0, r.end = r.start + r.delay + r.duration + r.endDelay, r.easing = m(r.easing, r.duration), r.isPath = s.pth(o), r.isPathTargetInsideSVG = r.isPath && s.svg(t.target), r.isColor = s.col(r.from.original), r.isColor && (r.round = 1), n = r, r })) }(t, e), r = i[i.length - 1]; return { type: n, property: t.name, animatable: e, tweens: i, duration: r.end, delay: i[0].delay, endDelay: r.endDelay } } }(e, t) })) }))), (function(e) { return !s.und(e) })) } function Y(e, t) { var n = e.length, i = function(e) { return e.timelineOffset ? e.timelineOffset : 0 }, r = {}; return r.duration = n ? Math.max.apply(Math, e.map((function(e) { return i(e) + e.duration }))) : t.duration, r.delay = n ? Math.min.apply(Math, e.map((function(e) { return i(e) + e.delay }))) : t.delay, r.endDelay = n ? r.duration - Math.max.apply(Math, e.map((function(e) { return i(e) + e.duration - e.endDelay }))) : t.endDelay, r } var V = 0, K = [], X = function() { var e; function t(n) { for (var i = K.length, r = 0; r < i;) { var o = K[r]; o.paused ? (K.splice(r, 1), i--) : (o.tick(n), r++) } e = r > 0 ? requestAnimationFrame(t) : void 0 } return "undefined" != typeof document && document.addEventListener("visibilitychange", (function() { Q.suspendWhenDocumentHidden && (G() ? e = cancelAnimationFrame(e) : (K.forEach((function(e) { return e._onDocumentVisibility() })), X())) })), function() { e || G() && Q.suspendWhenDocumentHidden || !(K.length > 0) || (e = requestAnimationFrame(t)) } }(); function G() { return !!document && document.hidden } function Q(n) { void 0 === n && (n = {}); var i, o = 0, a = 0, s = 0, l = 0, u = null; function c(e) { var t = window.Promise && new Promise((function(e) { return u = e })); return e.finished = t, t } var d, p, f, h, m, g, y, x, b = (p = C(e, d = n), h = B(f = C(t, d), d), y = Y(g = Z(m = q(d.targets), h), f), x = V, V++, T(p, { id: x, children: [], animatables: m, animations: g, duration: y.duration, delay: y.delay, endDelay: y.endDelay })); function w() { var e = b.direction; "alternate" !== e && (b.direction = "normal" !== e ? "normal" : "reverse"), b.reversed = !b.reversed, i.forEach((function(e) { return e.reversed = b.reversed })) } function _(e) { return b.reversed ? b.duration - e : e } function k() { o = 0, a = _(b.currentTime) * (1 / Q.speed) } function S(e, t) { t && t.seek(e - t.timelineOffset) } function E(e) { for (var t = 0, n = b.animations, i = n.length; t < i;) { var o = n[t], a = o.animatable, s = o.tweens, l = s.length - 1, u = s[l]; l && (u = v(s, (function(t) { return e < t.end }))[0] || u); for (var c = r(e - u.start - u.delay, 0, u.duration) / u.duration, d = isNaN(c) ? 1 : u.easing(c), p = u.to.strings, f = u.round, h = [], m = u.to.numbers.length, g = void 0, y = 0; y < m; y++) { var x = void 0, w = u.to.numbers[y], C = u.from.numbers[y] || 0; x = u.isPath ? R(u.value, d * w, u.isPathTargetInsideSVG) : C + d * (w - C), f && (u.isColor && y > 2 || (x = Math.round(x * f) / f)), h.push(x) } var T = p.length; if (T) { g = p[0]; for (var _ = 0; _ < T; _++) { p[_]; var k = p[_ + 1], S = h[_]; isNaN(S) || (g += k ? S + k : S + " ") } } else g = h[0]; W[o.type](a.target, o.property, g, a.transforms), o.currentValue = g, t++ } } function D(e) { b[e] && !b.passThrough && b[e](b) } function I(e) { var t = b.duration, n = b.delay, d = t - b.endDelay, p = _(e); b.progress = r(p / t * 100, 0, 100), b.reversePlayback = p < b.currentTime, i && function(e) { if (b.reversePlayback) for (var t = l; t--;) S(e, i[t]); else for (var n = 0; n < l; n++) S(e, i[n]) }(p), !b.began && b.currentTime > 0 && (b.began = !0, D("begin")), !b.loopBegan && b.currentTime > 0 && (b.loopBegan = !0, D("loopBegin")), p <= n && 0 !== b.currentTime && E(0), (p >= d && b.currentTime !== t || !t) && E(t), p > n && p < d ? (b.changeBegan || (b.changeBegan = !0, b.changeCompleted = !1, D("changeBegin")), D("change"), E(p)) : b.changeBegan && (b.changeCompleted = !0, b.changeBegan = !1, D("changeComplete")), b.currentTime = r(p, 0, t), b.began && D("update"), e >= t && (a = 0, b.remaining && !0 !== b.remaining && b.remaining--, b.remaining ? (o = s, D("loopComplete"), b.loopBegan = !1, "alternate" === b.direction && w()) : (b.paused = !0, b.completed || (b.completed = !0, D("loopComplete"), D("complete"), !b.passThrough && "Promise" in window && (u(), c(b))))) } return c(b), b.reset = function() { var e = b.direction; b.passThrough = !1, b.currentTime = 0, b.progress = 0, b.paused = !0, b.began = !1, b.loopBegan = !1, b.changeBegan = !1, b.completed = !1, b.changeCompleted = !1, b.reversePlayback = !1, b.reversed = "reverse" === e, b.remaining = b.loop, i = b.children; for (var t = l = i.length; t--;) b.children[t].reset(); (b.reversed && !0 !== b.loop || "alternate" === e && 1 === b.loop) && b.remaining++, E(b.reversed ? b.duration : 0) }, b._onDocumentVisibility = k, b.set = function(e, t) { return U(e, t), b }, b.tick = function(e) { s = e, o || (o = s), I((s + (a - o)) * Q.speed) }, b.seek = function(e) { I(_(e)) }, b.pause = function() { b.paused = !0, k() }, b.play = function() { b.paused && (b.completed && b.reset(), b.paused = !1, K.push(b), k(), X()) }, b.reverse = function() { w(), b.completed = !b.reversed, k() }, b.restart = function() { b.reset(), b.play() }, b.remove = function(e) { ee(H(e), b) }, b.reset(), b.autoplay && b.play(), b } function J(e, t) { for (var n = t.length; n--;) b(e, t[n].animatable.target) && t.splice(n, 1) } function ee(e, t) { var n = t.animations, i = t.children; J(e, n); for (var r = i.length; r--;) { var o = i[r], a = o.animations; J(e, a), a.length || o.children.length || i.splice(r, 1) } n.length || i.length || t.pause() } return Q.version = "3.2.1", Q.speed = 1, Q.suspendWhenDocumentHidden = !0, Q.running = K, Q.remove = function(e) { for (var t = H(e), n = K.length; n--;) ee(t, K[n]) }, Q.get = A, Q.set = U, Q.convertPx = E, Q.path = function(e, t) { var n = s.str(e) ? g(e)[0] : e, i = t || 100; return function(e) { return { property: e, el: n, svg: F(n), totalLength: N(n) * (i / 100) } } }, Q.setDashoffset = function(e) { var t = N(e); return e.setAttribute("stroke-dasharray", t), t }, Q.stagger = function(e, t) { void 0 === t && (t = {}); var n = t.direction || "normal", i = t.easing ? m(t.easing) : null, r = t.grid, o = t.axis, a = t.from || 0, l = "first" === a, u = "center" === a, c = "last" === a, d = s.arr(e), p = d ? parseFloat(e[0]) : parseFloat(e), f = d ? parseFloat(e[1]) : 0, h = _(d ? e[1] : e) || 0, g = t.start || 0 + (d ? p : 0), v = [], y = 0; return function(e, t, s) { if (l && (a = 0), u && (a = (s - 1) / 2), c && (a = s - 1), !v.length) { for (var m = 0; m < s; m++) { if (r) { var x = u ? (r[0] - 1) / 2 : a % r[0], b = u ? (r[1] - 1) / 2 : Math.floor(a / r[0]), w = x - m % r[0], C = b - Math.floor(m / r[0]), T = Math.sqrt(w * w + C * C); "x" === o && (T = -w), "y" === o && (T = -C), v.push(T) } else v.push(Math.abs(a - m)); y = Math.max.apply(Math, v) } i && (v = v.map((function(e) { return i(e / y) * y }))), "reverse" === n && (v = v.map((function(e) { return o ? e < 0 ? -1 * e : -e : Math.abs(y - e) }))) } return g + (d ? (f - p) / y : p) * (Math.round(100 * v[t]) / 100) + h } }, Q.timeline = function(e) { void 0 === e && (e = {}); var n = Q(e); return n.duration = 0, n.add = function(i, r) { var o = K.indexOf(n), a = n.children; function l(e) { e.passThrough = !0 } o > -1 && K.splice(o, 1); for (var u = 0; u < a.length; u++) l(a[u]); var c = T(i, C(t, e)); c.targets = c.targets || e.targets; var d = n.duration; c.autoplay = !1, c.direction = n.direction, c.timelineOffset = s.und(r) ? d : O(r, d), l(n), n.seek(c.timelineOffset); var p = Q(c); l(p), a.push(p); var f = Y(a, e); return n.delay = f.delay, n.endDelay = f.endDelay, n.duration = f.duration, n.seek(0), n.reset(), n.autoplay && n.play(), n }, n }, Q.easing = m, Q.penner = h, Q.random = function(e, t) { return Math.floor(Math.random() * (t - e + 1)) + e }, Q })), /*! ------------------------------------------------ * Project Name: Finley Template * Project Description: Finley - Stylish HTML Template for Creative Projects * Tags: mix_design, coming soon, under construction, template, landing page, portfolio, one page, responsive, html5, css3, creative, clean, agency, personal page * Version: 1.0.2 * Build Date: May 2023 * Last Update: March 2025 * This product is available exclusively on Themeforest * Author: mix_design * Author URI: https://themeforest.net/user/mix_design * File name: app.js * ------------------------------------------------ * ------------------------------------------------ * Table of Contents * ------------------------------------------------ * * 1. SVG Fallback * 2. Chrome Smooth Scroll * 3. Images moving ban * 4. Main Menu & Sections Behavior * 5. Popup Open/Close * 6. Header Appearance Change on Scroll * 7. Popups Behavior * 8. Buttons Hover Effect * * ------------------------------------------------ * Table of Contents End * ------------------------------------------------ */ $((function() { "use strict"; Modernizr.svg || $("img[src*='svg']").attr("src", (function() { return $(this).attr("src").replace(".svg", ".png") })); try { $.browserSelector(), $("html").hasClass("chrome") && $.smoothScroll() } catch (e) {} $("img, a").on("dragstart", (function(e) { e.preventDefault() })); var e = $("#notify"), t = $("#notify-trigger"), n = $("#notify-close"); t.on("click", (function(t) { t.preventDefault(), e.addClass("animate-in").one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", (function() { n.addClass("is-visible") })) })), n.on("click", (function(t) { t.preventDefault(), n.removeClass("is-visible"), setTimeout((function() { e.addClass("animate-out") }), 300), setTimeout((function() { e.removeClass("animate-in animate-out") }), 1600) })); var i = $("#header"), r = $("#about"), o = $("#works"), a = $("#contact"); (c = $("#main")).on("scroll", (function() { i.addClass("header-scroll"), $(".main__intro").offset().top < -50 ? i.addClass("header-scroll") : i.removeClass("header-scroll") })), r.on("scroll", (function() { i.addClass("header-scroll"), $("#about .inner__container").offset().top < -50 ? i.addClass("header-scroll") : i.removeClass("header-scroll") })), o.on("scroll", (function() { i.addClass("header-scroll"), $("#works .inner__container").offset().top < -50 ? i.addClass("header-scroll") : i.removeClass("header-scroll") })), a.on("scroll", (function() { i.addClass("header-scroll"), $("#contact .inner__container").offset().top < -50 ? i.addClass("header-scroll") : i.removeClass("header-scroll") })); var s, l = $("#menu-trigger"), u = $("#nav"), c = (i = $("#header"), $("#main")), d = (r = $("#about"), o = $("#works"), a = $("#contact"), $("#home-trigger")), p = $("#about-trigger"), f = $("#works-trigger"), h = $("#contact-trigger"); l.on("click", (function(e) { e.preventDefault(), u.hasClass("animate-in") ? (l.removeClass("menu-opened"), u.addClass("animate-out"), setTimeout((function() { i.removeClass("menu-is-visible"), $(".active").addClass("animate-in") }), 1e3), setTimeout((function() { $("body").removeClass("overflow-hidden"), u.removeClass("animate-in animate-out"), $(".inner").hasClass("active") && i.addClass("inner-is-visible") }), 1200)) : ($(".active").addClass("animate-out"), l.addClass("menu-opened"), $("body").addClass("overflow-hidden"), setTimeout((function() { u.addClass("animate-in"), i.removeClass("inner-is-visible"), i.addClass("menu-is-visible"), $(".active").animate({ scrollTop: 0 }, 100) }), 500), setTimeout((function() { $(".active").removeClass("animate-out animate-in") }), 1200)) })), $(".menu__link").on("click", (function(e) { $(".active").removeClass("active"), $(".active-link").removeClass("active-link"), u.addClass("animate-out"), $("body").removeClass("overflow-hidden"), setTimeout((function() { l.removeClass("menu-opened"), u.removeClass("animate-in animate-out"), i.removeClass("menu-is-visible") }), 1e3) })), d.on("click", (function(e) { e.preventDefault(), setTimeout((function() { i.removeClass("menu-is-visible"), c.addClass("active animate-in"), d.addClass("active-link") }), 1e3) })), p.on("click", (function(e) { e.preventDefault(), setTimeout((function() { i.addClass("inner-is-visible"), r.addClass("active animate-in"), p.addClass("active-link") }), 1e3) })), f.on("click", (function(e) { e.preventDefault(), setTimeout((function() { i.addClass("inner-is-visible"), o.addClass("active animate-in"), f.addClass("active-link") }), 1e3) })), h.on("click", (function(e) { e.preventDefault(), setTimeout((function() { i.addClass("inner-is-visible"), a.addClass("active animate-in"), h.addClass("active-link") }), 1e3) })), /Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? $("html").addClass("touch") : $("html").addClass("no-touch"), /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /MSIE 10/i.test(navigator.userAgent) || /Edge\/\d+/.test(navigator.userAgent), s = $(".cursor"), $(window).on("mousemove", (function(e) { var t = e.clientX + "px", n = e.clientY + "px"; anime({ targets: ".cursor", duration: 30, left: t, top: n, easing: "linear" }) })), $(".link-s").on("mouseenter", (function() { s.addClass("cursor-s") })), $(".link-s").on("mouseleave", (function() { s.removeClass("cursor-s") })), $(".link-l").on("mouseenter", (function() { s.addClass("cursor-l") })), $(".link-l").on("mouseleave", (function() { s.removeClass("cursor-l") })), $(".link-xl").on("mouseenter", (function() { s.addClass("cursor-xl") })), $(".link-xl").on("mouseleave", (function() { s.removeClass("cursor-xl") })), $('a[href*="#"]').not('[href="#"]').not('[href="#0"]').click((function(e) { if (location.pathname.replace(/^\//, "") == this.pathname.replace(/^\//, "") && location.hostname == this.hostname) { var t = $(this.hash); (t = t.length ? t : $("[name=" + this.hash.slice(1) + "]")).length && (e.preventDefault(), $("html, body").animate({ scrollTop: t.offset().top }, scrollDuration, (function() { var e = $(t); if (e.focus(), e.is(":focus")) return !1; e.attr("tabindex", "-1"), e.focus() }))) } })) }));